diff --git a/Client/CentrED.lpi b/Client/CentrED.lpi
index 669ff6a..0fd4cbe 100644
--- a/Client/CentrED.lpi
+++ b/Client/CentrED.lpi
@@ -78,131 +78,138 @@
-
-
-
-
-
+
-
-
+
+
+
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Client/CentrED.lpr b/Client/CentrED.lpr
index 562a4c3..21b295f 100644
--- a/Client/CentrED.lpr
+++ b/Client/CentrED.lpr
@@ -38,7 +38,7 @@ uses
UfrmElevateSettings, UOverlayUI, UResourceManager, UfrmConfirmation,
UfrmMoveSettings, UfrmAbout, UfrmHueSettings, UfrmRadar,
UfrmLargeScaleCommand, UfrmVirtualLayer, UfrmFilter, UfrmTileInfo,
- UGUIPlatformUtils, UPlatformTypes;
+ UGUIPlatformUtils, UPlatformTypes, UfrmRegionControl;
{$IFDEF Windows}
{$R *.res}
diff --git a/Client/Tools/UfrmDrawSettings.lfm b/Client/Tools/UfrmDrawSettings.lfm
index 318e066..160a074 100644
--- a/Client/Tools/UfrmDrawSettings.lfm
+++ b/Client/Tools/UfrmDrawSettings.lfm
@@ -1,25 +1,29 @@
object frmDrawSettings: TfrmDrawSettings
- Left = 290
- Height = 138
- Top = 171
- Width = 186
- HorzScrollBar.Page = 185
- VertScrollBar.Page = 137
+ Left = 268
+ Height = 181
+ Top = 165
+ Width = 243
ActiveControl = rbTileList
BorderIcons = []
BorderStyle = bsToolWindow
Caption = 'Draw settings'
- ClientHeight = 138
- ClientWidth = 186
+ ClientHeight = 181
+ ClientWidth = 243
FormStyle = fsStayOnTop
OnClose = FormClose
OnDeactivate = FormDeactivate
OnShow = FormShow
+ LCLVersion = '0.9.25'
object rbTileList: TRadioButton
Left = 8
- Height = 15
+ Height = 21
Top = 8
- Width = 113
+ Width = 227
+ Align = alTop
+ BorderSpacing.Left = 8
+ BorderSpacing.Top = 8
+ BorderSpacing.Right = 8
+ BorderSpacing.Bottom = 4
Caption = 'Use tile from the list'
Checked = True
State = cbChecked
@@ -28,47 +32,93 @@ object frmDrawSettings: TfrmDrawSettings
end
object rbRandom: TRadioButton
Left = 8
- Height = 15
- Top = 32
- Width = 164
+ Height = 21
+ Top = 33
+ Width = 227
+ Align = alTop
+ BorderSpacing.Left = 8
+ BorderSpacing.Top = 4
+ BorderSpacing.Right = 8
Caption = 'Use tiles from the random pool'
TabOrder = 1
UseOnChange = True
end
- object cbForceAltitude: TCheckBox
- Left = 8
- Height = 15
- Top = 60
- Width = 89
- Caption = 'Force altitude:'
- TabOrder = 2
- end
- object seForceAltitude: TSpinEdit
- Left = 104
- Height = 23
- Top = 56
- Width = 50
- MaxValue = 127
- MinValue = -128
- OnChange = seForceAltitudeChange
- TabOrder = 3
- end
object gbHue: TGroupBox
+ Left = 8
Height = 49
- Top = 88
- Width = 185
+ Top = 124
+ Width = 227
+ Align = alTop
+ BorderSpacing.Around = 8
Caption = 'Hue (Statics only)'
- ClientHeight = 31
- ClientWidth = 181
- TabOrder = 4
+ ClientHeight = 30
+ ClientWidth = 221
+ TabOrder = 2
object pbHue: TPaintBox
Cursor = crHandPoint
- Left = 6
- Height = 16
- Top = 1
- Width = 169
+ Left = 4
+ Height = 26
+ Width = 213
+ Align = alClient
+ BorderSpacing.Left = 4
+ BorderSpacing.Right = 4
+ BorderSpacing.Bottom = 4
OnClick = pbHueClick
OnPaint = pbHuePaint
end
end
+ object Panel1: TPanel
+ Left = 8
+ Height = 23
+ Top = 62
+ Width = 227
+ Align = alTop
+ BorderSpacing.Around = 8
+ BevelOuter = bvNone
+ ClientHeight = 23
+ ClientWidth = 227
+ TabOrder = 3
+ object seForceAltitude: TSpinEdit
+ Left = 177
+ Height = 23
+ Width = 50
+ Align = alRight
+ MaxValue = 127
+ MinValue = -128
+ TabOrder = 0
+ end
+ object cbForceAltitude: TCheckBox
+ Height = 23
+ Width = 177
+ Align = alClient
+ Caption = 'Force altitude:'
+ TabOrder = 1
+ end
+ end
+ object Panel2: TPanel
+ Left = 8
+ Height = 23
+ Top = 93
+ Width = 227
+ Align = alTop
+ BorderSpacing.Around = 8
+ BevelOuter = bvNone
+ ClientHeight = 23
+ ClientWidth = 227
+ TabOrder = 4
+ object seRandomHeight: TSpinEdit
+ Left = 177
+ Height = 23
+ Width = 50
+ Align = alRight
+ TabOrder = 0
+ end
+ object cbRandomHeight: TCheckBox
+ Height = 23
+ Width = 177
+ Align = alClient
+ Caption = 'Add Random Altitude'
+ TabOrder = 1
+ end
+ end
end
diff --git a/Client/Tools/UfrmDrawSettings.pas b/Client/Tools/UfrmDrawSettings.pas
index e49b136..8181422 100644
--- a/Client/Tools/UfrmDrawSettings.pas
+++ b/Client/Tools/UfrmDrawSettings.pas
@@ -37,19 +37,24 @@ type
{ TfrmDrawSettings }
- TfrmDrawSettings = class(TForm)
- cbForceAltitude: TCheckBox;
- gbHue: TGroupBox;
+ TfrmDrawSettings = class(TForm)
+ cbForceAltitude: TCheckBox;
+ cbRandomHeight: TCheckBox;
+ gbHue: TGroupBox;
+ Panel1: TPanel;
+ Panel2: TPanel;
pbHue: TPaintBox;
rbRandom: TRadioButton;
- rbTileList: TRadioButton;
- seForceAltitude: TSpinEdit;
+ rbTileList: TRadioButton;
+ seForceAltitude: TSpinEdit;
+ seRandomHeight: TSpinEdit;
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
procedure FormDeactivate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure pbHueClick(Sender: TObject);
procedure pbHuePaint(Sender: TObject);
procedure seForceAltitudeChange(Sender: TObject);
+ procedure seRandomHeightChange(Sender: TObject);
protected
procedure MouseLeave(var msg: TLMessage); message CM_MouseLeave;
public
@@ -115,6 +120,11 @@ begin
cbForceAltitude.Checked := True;
end;
+procedure TfrmDrawSettings.seRandomHeightChange(Sender: TObject);
+begin
+ cbRandomHeight.Checked := True;
+end;
+
procedure TfrmDrawSettings.MouseLeave(var msg: TLMessage);
begin
try
diff --git a/Client/UdmNetwork.pas b/Client/UdmNetwork.pas
index 54d83ec..399b8a1 100644
--- a/Client/UdmNetwork.pas
+++ b/Client/UdmNetwork.pas
@@ -78,7 +78,7 @@ uses
UGameResources, UfrmAccountControl, UfrmEditAccount, UfrmDrawSettings,
UfrmBoundaries, UfrmElevateSettings, UfrmConfirmation, UfrmMoveSettings,
UfrmAbout, UfrmHueSettings, UfrmRadar, UfrmLargeScaleCommand,
- UfrmVirtualLayer, UfrmFilter, UfrmTileInfo;
+ UfrmVirtualLayer, UfrmFilter, UfrmTileInfo, UfrmRegionControl;
{$I version.inc}
@@ -209,6 +209,7 @@ begin
frmRadarMap := TfrmRadarMap.Create(frmMain);
frmLargeScaleCommand := TfrmLargeScaleCommand.Create(frmMain);
frmTileInfo := TfrmTileInfo.Create(frmMain);
+ frmRegionControl := TfrmRegionControl.Create(frmMain);
frmMain.Show;
frmInitialize.Hide;
tmNoOp.Enabled := True;
@@ -301,6 +302,7 @@ begin
if frmFilter <> nil then FreeAndNil(frmFilter);
if frmVirtualLayer <> nil then FreeAndNil(frmVirtualLayer);
if frmAbout <> nil then FreeAndNil(frmAbout);
+ if frmRegionControl <> nil then FreeAndNil(frmRegionControl);
if frmRadarMap <> nil then FreeAndNil(frmRadarMap);
if frmMain <> nil then
begin
diff --git a/Client/UfrmAccountControl.lfm b/Client/UfrmAccountControl.lfm
index b7c281c..1c05367 100644
--- a/Client/UfrmAccountControl.lfm
+++ b/Client/UfrmAccountControl.lfm
@@ -3,8 +3,6 @@ object frmAccountControl: TfrmAccountControl
Height = 378
Top = 171
Width = 369
- HorzScrollBar.Page = 368
- VertScrollBar.Page = 377
ActiveControl = vstAccounts
BorderIcons = [biSystemMenu]
BorderStyle = bsDialog
@@ -16,6 +14,7 @@ object frmAccountControl: TfrmAccountControl
OnDestroy = FormDestroy
OnShow = FormShow
Position = poOwnerFormCenter
+ LCLVersion = '0.9.25'
object tbMain: TToolBar
Height = 26
Width = 369
@@ -106,684 +105,269 @@ object frmAccountControl: TfrmAccountControl
object ilToolbar: TImageList
left = 144
Bitmap = {
- 6C69040000001000000010000000F00700002F2A2058504D202A2F0A73746174
- 69632063686172202A677261706869635B5D203D207B0A223136203136203838
- 2032222C0A222E2E2063204E6F6E65222C0A222E2C2063202334463939343722
- 2C0A222E2D20632023343939313431222C0A222E2A2063202336354234354222
- 2C0A222E6120632023354641443536222C0A222E622063202335414136353022
- 2C0A222E6320632023353339453442222C0A222E642063202334443936343522
- 2C0A222E6520632023363841383630222C0A222E662063202336324132354222
- 2C0A222E6720632023334137453334222C0A222E682063202336384239354522
- 2C0A222E6920632023383343333739222C0A222E6A2063202339324341383922
- 2C0A222E6B20632023394344303934222C0A222E6C2063202339454431393522
- 2C0A222E6D20632023393943463930222C0A222E6E2063202339344342384322
- 2C0A222E6F20632023384643393837222C0A222E702063202338374334383022
- 2C0A222E7120632023353439353445222C0A222E722063202332433644323722
- 2C0A222E7320632023363742363543222C0A222E742063202338454339383522
- 2C0A222E7520632023413444343942222C0A222E762063202339384345384622
- 2C0A222E7720632023394143463932222C0A222E782063202339354343384422
- 2C0A222E7920632023393043413838222C0A222E7A2063202338424336383322
- 2C0A222E4120632023383543343745222C0A222E422063202337464331373922
- 2C0A222E4320632023344338443437222C0A222E442063202332353635323222
- 2C0A222E4520632023374542463735222C0A222E462063202341314432393822
- 2C0A222E4720632023394343463934222C0A222E482063202338444337383622
- 2C0A222E4920632023363541373545222C0A222E4A2063202334303836333922
- 2C0A222E4B20632023333337363245222C0A222E4C2063202334463930343922
- 2C0A222E4D20632023344138423435222C0A222E4E2063202332343633323022
- 2C0A222E4F20632023354541423534222C0A222E502063202338394333383022
- 2C0A222E5120632023384143343833222C0A222E522063202334343842334422
- 2C0A222E5320632023334538333337222C0A222E542063202332373636323322
- 2C0A222E5520632023323336313146222C0A222E562063202335354131344422
- 2C0A222E5720632023343238383342222C0A222E582063202333433830333522
- 2C0A222E5920632023364543303633222C0A222E5A2063202336414242354622
- 2C0A222E3020632023384543363836222C0A222E312063202338464339383822
- 2C0A222E3220632023373642333646222C0A222E332063202336444245363222
- 2C0A222E3420632023383543373742222C0A222E352063202338314332373722
- 2C0A222E3620632023353741333445222C0A222E372063202335313942343922
- 2C0A222E3820632023364241433633222C0A222E392063202338424333383322
- 2C0A222E4020632023383943363832222C0A222E232063202335363937353022
- 2C0A222E3B20632023364342433630222C0A222E3A2063202338334334373922
- 2C0A222E3D20632023413744373945222C0A222E2B2063202339464432393722
- 2C0A222E2520632023383243323741222C0A222E242063202336334134354422
- 2C0A222E2820632023324136423236222C0A222E292063202337434244373322
- 2C0A222E5B20632023394644313936222C0A222E5D2063202339364344384622
- 2C0A222C2E20632023393143413841222C0A222C2C2063202338424337383522
- 2C0A222C2D20632023383142453741222C0A222C2A2063202336434144363522
- 2C0A222C6120632023353139323442222C0A222C622063202332393638323422
- 2C0A222C6320632023364542303636222C0A222C642063202336384141363122
- 2C0A222C6520632023333737423332222C0A222C662063202333323734324322
- 2C0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E
- 2E2E2E222C0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2C2E2D2E2E2E
- 2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E2A2E612E622E632E642E652E
- 662E672E2E2E2E2E2E2E2E222C0A222E2E2E2E2E682E692E6A2E6B2E6C2E6D2E
- 6E2E6F2E702E712E722E2E2E2E2E2E222C0A222E2E2E732E742E752E762E772E
- 782E792E7A2E412E422E432E442E2E2E2E2E2E222C0A222E2E2E452E462E472E
- 482E492E4A2E672E4B2E4C2E4D2E4E2E2E2E2E2E2E2E2E222C0A222E4F2E502E
- 782E512E522E532E2E2E2E2E2E2E542E552E2E2E2E2E2E2E2E2E2E222C0A222E
- 562E2C2E2D2E572E582E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E22
- 2C0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E562E2C2E2D2E
- 572E58222C0A222E2E2E2E2E2E2E2E2E2E2E592E5A2E2E2E2E2E2E2E632E642E
- 302E312E322E4B222C0A222E2E2E2E2E2E2E2E2E332E342E352E4F2E362E372E
- 382E392E6F2E402E232E2E222C0A222E2E2E2E2E2E2E3B2E3A2E3D2E752E2B2E
- 772E782E792E252E412E242E282E2E222C0A222E2E2E2E2E2E2E2A2E292E5B2E
- 472E5D2C2E2C2C2C2D2C2A2C612C622E2E2E2E222C0A222E2E2E2E2E2E2E2E2E
- 362C632C642E522E532C652C662E722E2E2E2E2E2E2E2E222C0A222E2E2E2E2E
- 2E2E2E2E2E2E2D2E572E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E222C0A222E
- 2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E22
- 7D0A310A00002F2A2058504D202A2F0A7374617469632063686172202A677261
- 706869635B5D203D207B0A223136203136203132342032222C0A222E2E206320
- 4E6F6E65222C0A222E2C20632023384434383132222C0A222E2D206320233930
- 34423130222C0A222E2A20632023384134383046222C0A222E61206320233744
- 34323131222C0A222E6220632023354233333135222C0A222E63206320233936
- 34453131222C0A222E6420632023394235383132222C0A222E65206320233939
- 35383132222C0A222E6620632023393335333131222C0A222E67206320233837
- 34413046222C0A222E6820632023373133453045222C0A222E69206320233442
- 32453133222C0A222E6A20632023393734423046222C0A222E6B206320233946
- 35383132222C0A222E6C20632023384134413046222C0A222E6D206320233837
- 34423046222C0A222E6E20632023383734423131222C0A222E6F206320233835
- 34433135222C0A222E7020632023373534313132222C0A222E71206320233543
- 33333046222C0A222E7220632023383733453043222C0A222E73206320234238
- 39373743222C0A222E7420632023453442373841222C0A222E75206320234338
- 39433731222C0A222E7620632023364534303135222C0A222E77206320233732
- 34343139222C0A222E7820632023364234353232222C0A222E79206320233636
- 33423131222C0A222E7A20632023394235453146222C0A222E41206320234637
- 45384439222C0A222E4220632023463143353937222C0A222E43206320234535
- 42423845222C0A222E4420632023443141393746222C0A222E45206320234446
- 42353839222C0A222E4620632023454544464344222C0A222E47206320234137
- 36383233222C0A222E4820632023393235423241222C0A222E49206320234545
- 43414136222C0A222E4A20632023454143434142222C0A222E4B206320234636
- 44304137222C0A222E4C20632023463644304138222C0A222E4D206320234545
- 43444137222C0A222E4E20632023394136323244222C0A222E4F206320233235
- 33433641222C0A222E5020632023413736443334222C0A222E51206320234638
- 43433943222C0A222E5220632023463744344146222C0A222E53206320234636
- 43464135222C0A222E5420632023414537343334222C0A222E55206320233244
- 33453638222C0A222E5620632023314334384243222C0A222E57206320234434
- 45324634222C0A222E5820632023413937423445222C0A222E59206320234138
- 37423444222C0A222E5A20632023433344364633222C0A222E30206320233143
- 34364245222C0A222E3120632023314634434334222C0A222E32206320234436
- 45344636222C0A222E3320632023413445344646222C0A222E34206320233732
- 44344646222C0A222E3520632023363943394646222C0A222E36206320233633
- 43304646222C0A222E3720632023354642364646222C0A222E38206320233738
- 41424145222C0A222E3920632023373239373630222C0A222E40206320233636
- 38453446222C0A222E2320632023353738333432222C0A222E3B206320233434
- 35343841222C0A222E3A20632023414243384643222C0A222E3D206320233938
- 44314646222C0A222E2B20632023364443374645222C0A222E25206320233638
- 42464645222C0A222E2420632023363442394645222C0A222E28206320233545
- 42314645222C0A222E2920632023363139424137222C0A222E5B206320233831
- 41423631222C0A222E5D20632023423444343935222C0A222C2E206320234430
- 45364241222C0A222C2C20632023384642423641222C0A222C2D206320233537
- 38463244222C0A222C2A20632023333736423139222C0A222C61206320234345
- 37433238222C0A222C6220632023454142333738222C0A222C63206320233934
- 39454233222C0A222C6420632023363042374646222C0A222C65206320233633
- 42364646222C0A222C6620632023363142324645222C0A222C67206320233544
- 41434645222C0A222C6820632023353941354645222C0A222C69206320233544
- 38383441222C0A222C6A20632023423144333930222C0A222C6B206320234231
- 44363932222C0A222C6C20632023464646464646222C0A222C6D206320233843
- 42433635222C0A222C6E20632023384642433637222C0A222C6F206320234431
- 37443239222C0A222C7020632023454542413832222C0A222C71206320233538
- 36363946222C0A222C7220632023383442424635222C0A222C73206320233542
- 41434646222C0A222C7420632023354141384645222C0A222C75206320233537
- 41324645222C0A222C7620632023353339434645222C0A222C77206320233443
- 37423331222C0A222C7820632023423644343943222C0A222C79206320234232
- 44323935222C0A222C7A20632023434437393235222C0A222C41206320233631
- 36313836222C0A222C4220632023333536304246222C0A222C43206320233631
- 42394645222C0A222C4420632023363242394645222C0A222C45206320233341
- 36453232222C0A222C4620632023384242413632222C0A222C47206320233837
- 42413630222C0A222C4820632023383742393630222C0A222C49206320233230
- 35304233222C0A222C4A20632023314634304130222C0A222C4B206320233232
- 34354141222C0A222C4C20632023323234364143222C0A222C4D206320233232
- 34344142222C0A222C4E20632023324435373543222C0A222C4F206320233533
- 38433238222C0A222C5020632023384442413634222C0A222E2E2E2E2E2E2E2E
- 2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E222C0A222E2E2E2E
- 2E2E2E2E2E2E2E2E2E2C2E2D2E2A2E612E622E2E2E2E2E2E2E2E2E2E222C0A22
- 2E2E2E2E2E2E2E2E2E2E2E632E642E652E662E672E682E692E2E2E2E2E2E2E2E
- 222C0A222E2E2E2E2E2E2E2E2E6A2E6B2E6C2E6D2E6E2E6F2E702E712E2E2E2E
- 2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E722E732E742E752E762E772E782E79
- 2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E7A2E412E422E432E442E45
- 2E462E472E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E482E492E4A2E4B
- 2E4C2E4A2E4D2E4E2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E4F2E50
- 2E512E522E522E532E542E552E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E
- 2E562E572E582E592E592E582E5A2E302E2E2E2E2E2E2E2E222C0A222E2E2E2E
- 2E2E2E312E322E332E342E352E362E372E382E392E402E232E2E2E2E222C0A22
- 2E2E2E2E2E3B2E3A2E3D2E2B2E252E242E282E292E5B2E5D2C2E2C2C2C2D2C2A
- 222C0A222E2E2C612C622C632C642C652C662C672C682C692C6A2C6B2C6C2C6D
- 2C6E2C2A222C0A222E2E2C6F2C702C712C722C732C742C752C762C772C782C6C
- 2C6C2C6C2C792C2A222C0A222E2E2E2E2C7A2C412C422C432C442C442C442C45
- 2C462C472C6C2C482C6E2C2A222C0A222E2E2E2E2E2E2E2E2C492C4A2C4B2C4C
- 2C4D2C4E2C4F2C502C792C502C4F2C2A222C0A222E2E2E2E2E2E2E2E2E2E2E2E
- 2E2E2E2E2E2E2E2E2C2A2C2A2C2A2C2A2C2A2E2E227D0AF10B00002F2A205850
- 4D202A2F0A7374617469632063686172202A677261706869635B5D203D207B0A
- 223136203136203135322032222C0A222E2E2063204E6F6E65222C0A222E2C20
- 632023384434383132222C0A222E2D20632023393034423130222C0A222E2A20
- 632023384134383046222C0A222E6120632023374434323131222C0A222E6220
- 632023354233333135222C0A222E6320632023393634453131222C0A222E6420
- 632023394235383132222C0A222E6520632023393935383132222C0A222E6620
- 632023393335333131222C0A222E6720632023383734413046222C0A222E6820
- 632023373133453045222C0A222E6920632023344232453133222C0A222E6A20
- 632023393734423046222C0A222E6B20632023394635383132222C0A222E6C20
- 632023384134413046222C0A222E6D20632023383734423046222C0A222E6E20
- 632023383734423131222C0A222E6F20632023383534433135222C0A222E7020
- 632023373534313132222C0A222E7120632023354333333046222C0A222E7220
- 632023383733453043222C0A222E7320632023423839373743222C0A222E7420
- 632023453442373841222C0A222E7520632023433839433731222C0A222E7620
- 632023364534303135222C0A222E7720632023373234343139222C0A222E7820
- 632023364234353232222C0A222E7920632023363633423131222C0A222E7A20
- 632023394235453146222C0A222E4120632023463745384439222C0A222E4220
- 632023463143353937222C0A222E4320632023453542423845222C0A222E4420
- 632023443141393746222C0A222E4520632023444642353839222C0A222E4620
- 632023454544464344222C0A222E4720632023413736383233222C0A222E4820
- 632023443841353538222C0A222E4920632023444242313835222C0A222E4A20
- 632023443039443436222C0A222E4B20632023393235423241222C0A222E4C20
- 632023454543414136222C0A222E4D20632023454143434142222C0A222E4E20
- 632023463644304137222C0A222E4F20632023463644304138222C0A222E5020
- 632023454543444137222C0A222E5120632023423738343238222C0A222E5220
- 632023453742453737222C0A222E5320632023463044324234222C0A222E5420
- 632023464646334535222C0A222E5520632023454644324143222C0A222E5620
- 632023433738433438222C0A222E5720632023323533433641222C0A222E5820
- 632023413736443334222C0A222E5920632023463843433943222C0A222E5A20
- 632023463744344146222C0A222E3020632023463643464135222C0A222E3120
- 632023424638413245222C0A222E3220632023454244333745222C0A222E3320
- 632023463945334232222C0A222E3420632023453743303842222C0A222E3520
- 632023463644334145222C0A222E3620632023464345304334222C0A222E3720
- 632023443339463636222C0A222E3820632023314334384243222C0A222E3920
- 632023443445324634222C0A222E4020632023413937423445222C0A222E2320
- 632023413837423444222C0A222E3B20632023424138433432222C0A222E3A20
- 632023454544343744222C0A222E3D20632023464446364334222C0A222E2B20
- 632023463644443643222C0A222E2520632023454443413644222C0A222E2420
- 632023443741333633222C0A222E2820632023443239423544222C0A222E2920
- 632023314634434334222C0A222E5B20632023443645344636222C0A222E5D20
- 632023413445344646222C0A222C2E20632023373244344646222C0A222C2C20
- 632023363943394646222C0A222C2D20632023383642424246222C0A222C2A20
- 632023454544333739222C0A222C6120632023464446374337222C0A222C6220
- 632023463544433546222C0A222C6320632023463745323542222C0A222C6420
- 632023463244363741222C0A222C6520632023444639393430222C0A222C6620
- 632023343435343841222C0A222C6720632023414243384643222C0A222C6820
- 632023393844314646222C0A222C6920632023364443374645222C0A222C6A20
- 632023363842464645222C0A222C6B20632023383041374230222C0A222C6C20
- 632023453743423737222C0A222C6D20632023463544433545222C0A222C6E20
- 632023463745313541222C0A222C6F20632023463144343742222C0A222C7020
- 632023443439313436222C0A222C7120632023373236363638222C0A222C7220
- 632023434537433238222C0A222C7320632023454142333738222C0A222C7420
- 632023393439454233222C0A222C7520632023363042374646222C0A222C7620
- 632023363342364646222C0A222C7720632023374441334233222C0A222C7820
- 632023443342383736222C0A222C7920632023464446364332222C0A222C7A20
- 632023463744463633222C0A222C4120632023463845323544222C0A222C4220
- 632023463044333739222C0A222C4320632023443839353437222C0A222C4420
- 632023454142323735222C0A222C4520632023433737343239222C0A222C4620
- 632023443137443239222C0A222C4720632023454542413832222C0A222C4820
- 632023353836363946222C0A222C4920632023383442424635222C0A222C4A20
- 632023373439324137222C0A222C4B20632023443542363741222C0A222C4C20
- 632023443142373930222C0A222C4D20632023453443393535222C0A222C4E20
- 632023463544463542222C0A222C4F20632023454444303738222C0A222C5020
- 632023443239363531222C0A222C5120632023354436343936222C0A222C5220
- 632023454642433833222C0A222C5320632023434137373241222C0A222C5420
- 632023434437393235222C0A222C5520632023363136313836222C0A222C5620
- 632023333536304246222C0A222C5720632023414138393433222C0A222C5820
- 632023464646324530222C0A222C5920632023443839413534222C0A222C5A20
- 632023424537413141222C0A222C3020632023433539383439222C0A222C3120
- 632023423738383439222C0A222C3220632023343235343943222C0A222C3320
- 632023364436343741222C0A222C3420632023434537453245222C0A222C3520
- 632023443341323644222C0A222C3620632023323035304233222C0A222C3720
- 632023383136343244222C0A222C3820632023463943373934222C0A222C3920
- 632023463943393931222C0A222C4020632023433938353431222C0A222C2320
- 632023413436323233222C0A222C3B20632023334434393839222C0A222C3A20
- 632023323434464232222C0A222C3D20632023353533443131222C0A222C2B20
- 632023383735463238222C0A222C2520632023424438383439222C0A222C2420
- 632023424338443432222C0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E
- 2E2E2E2E2E2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E2E2E2C2E2D2E
- 2A2E612E622E2E2E2E2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E632E
- 642E652E662E672E682E692E2E2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E
- 6A2E6B2E6C2E6D2E6E2E6F2E702E712E2E2E2E2E2E2E2E2E2E222C0A222E2E2E
- 2E2E2E2E722E732E742E752E762E772E782E792E2E2E2E2E2E2E2E2E2E222C0A
- 222E2E2E2E2E2E2E7A2E412E422E432E442E452E462E472E2E2E482E492E4A2E
- 2E222C0A222E2E2E2E2E2E2E4B2E4C2E4D2E4E2E4F2E4D2E502E512E522E532E
- 542E552E56222C0A222E2E2E2E2E2E2E572E582E592E5A2E5A2E302E312E322E
- 332E342E352E362E37222C0A222E2E2E2E2E2E2E382E392E402E232E232E3B2E
- 3A2E3D2E2B2E252E242E282E2E222C0A222E2E2E2E2E292E5B2E5D2C2E2C2C2C
- 2D2C2A2C612C622C632C642C652E2E2E2E222C0A222E2E2C662C672C682C692C
- 6A2C6B2C6C2C612C6D2C6E2C6F2C702C712E2E2E2E222C0A222C722C732C742C
- 752C762C772C782C792C7A2C412C422C432C442C452E2E2E2E222C0A222C462C
- 472C482C492C4A2C4B2C4C2C4D2C4E2C4F2C502C512C522C532E2E2E2E222C0A
- 222E2E2C542C552C562C572C582C592C5A2C302C312C322C332C342C352E2E2E
- 2E222C0A222E2E2E2E2E2E2C362C372C382C392C402C232C3B2C3A2E2E2E2E2E
- 2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2C3D2C2B2C252C242E2E2E2E2E2E2E
- 2E2E2E2E2E2E2E2E2E227D0AB10A00002F2A2058504D202A2F0A737461746963
- 2063686172202A677261706869635B5D203D207B0A2231362031362031333220
- 32222C0A222E2E2063204E6F6E65222C0A222E2C20632023384434383132222C
- 0A222E2D20632023393034423130222C0A222E2A20632023384134383046222C
- 0A222E6120632023374434323131222C0A222E6220632023354233333135222C
- 0A222E6320632023393634453131222C0A222E6420632023394235383132222C
- 0A222E6520632023393935383132222C0A222E6620632023393335333131222C
- 0A222E6720632023383734413046222C0A222E6820632023373133453045222C
- 0A222E6920632023344232453133222C0A222E6A20632023393734423046222C
- 0A222E6B20632023394635383132222C0A222E6C20632023384134413046222C
- 0A222E6D20632023383734423046222C0A222E6E20632023383734423131222C
- 0A222E6F20632023383534433135222C0A222E7020632023373534313132222C
- 0A222E7120632023354333333046222C0A222E7220632023383733453043222C
- 0A222E7320632023423839373743222C0A222E7420632023453442373841222C
- 0A222E7520632023433839433731222C0A222E7620632023364534303135222C
- 0A222E7720632023373234343139222C0A222E7820632023364234353232222C
- 0A222E7920632023363633423131222C0A222E7A20632023394235453146222C
- 0A222E4120632023463745384439222C0A222E4220632023463143353937222C
- 0A222E4320632023453542423845222C0A222E4420632023443141393746222C
- 0A222E4520632023444642353839222C0A222E4620632023454544464344222C
- 0A222E4720632023413736383233222C0A222E4820632023393235423241222C
- 0A222E4920632023454543414136222C0A222E4A20632023454143434142222C
- 0A222E4B20632023463644304137222C0A222E4C20632023463644304138222C
- 0A222E4D20632023454543444137222C0A222E4E20632023394136323244222C
- 0A222E4F20632023323533433641222C0A222E5020632023413736443334222C
- 0A222E5120632023463843433943222C0A222E5220632023463744344146222C
- 0A222E5320632023463643464135222C0A222E5420632023414537343334222C
- 0A222E5520632023324433453638222C0A222E5620632023314334384243222C
- 0A222E5720632023443445324634222C0A222E5820632023413937423445222C
- 0A222E5920632023413837423444222C0A222E5A20632023433344364633222C
- 0A222E3020632023314334364245222C0A222E3120632023314634434334222C
- 0A222E3220632023443645344636222C0A222E3320632023413445344646222C
- 0A222E3420632023373244344646222C0A222E3520632023363943394646222C
- 0A222E3620632023363343304646222C0A222E3720632023354642364646222C
- 0A222E3820632023413039303935222C0A222E3920632023433135443239222C
- 0A222E4020632023424234323035222C0A222E2320632023423034353042222C
- 0A222E3B20632023343435343841222C0A222E3A20632023414243384643222C
- 0A222E3D20632023393844314646222C0A222E2B20632023364443374645222C
- 0A222E2520632023363842464645222C0A222E2420632023363442394645222C
- 0A222E2820632023354542314645222C0A222E2920632023384238323935222C
- 0A222E5B20632023434537343344222C0A222E5D20632023463742353844222C
- 0A222C2E20632023464544364238222C0A222C2C20632023463541383732222C
- 0A222C2D20632023434136423244222C0A222C2A20632023434537433238222C
- 0A222C6120632023454142333738222C0A222C6220632023393439454233222C
- 0A222C6320632023363042374646222C0A222C6420632023363342364646222C
- 0A222C6520632023363142324645222C0A222C6620632023354441434645222C
- 0A222C6720632023353941354645222C0A222C6820632023414235303234222C
- 0A222C6920632023463642353844222C0A222C6A20632023464639323444222C
- 0A222C6B20632023464637373131222C0A222C6C20632023464638363231222C
- 0A222C6D20632023454238413430222C0A222C6E20632023423934343033222C
- 0A222C6F20632023443137443239222C0A222C7020632023454542413832222C
- 0A222C7120632023353836363946222C0A222C7220632023383442424635222C
- 0A222C7320632023354241434646222C0A222C7420632023354141384645222C
- 0A222C7520632023353741324645222C0A222C7620632023353339434645222C
- 0A222C7720632023424334323035222C0A222C7820632023464543444145222C
- 0A222C7920632023464646464646222C0A222C7A20632023454637463138222C
- 0A222C4120632023424334323034222C0A222C4220632023434437393235222C
- 0A222C4320632023363136313836222C0A222C4420632023333536304246222C
- 0A222C4520632023363142394645222C0A222C4620632023363242394645222C
- 0A222C4720632023414635323146222C0A222C4820632023463439443633222C
- 0A222C4920632023464637463138222C0A222C4A20632023463837363030222C
- 0A222C4B20632023454537363030222C0A222C4C20632023453136383033222C
- 0A222C4D20632023423934353033222C0A222C4E20632023323035304233222C
- 0A222C4F20632023314634304130222C0A222C5020632023323234354141222C
- 0A222C5120632023323234364143222C0A222C5220632023323234344142222C
- 0A222C5320632023373434433546222C0A222C5420632023433636333237222C
- 0A222C5520632023453637373231222C0A222C5620632023454137393035222C
- 0A222C5720632023444436343031222C0A222C5820632023424434443034222C
- 0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E
- 2E2E222C0A222E2E2E2E2E2E2E2E2E2E2E2E2E2C2E2D2E2A2E612E622E2E2E2E
- 2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E2E2E632E642E652E662E672E68
- 2E692E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E6A2E6B2E6C2E6D2E6E
- 2E6F2E702E712E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E722E732E74
- 2E752E762E772E782E792E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E7A
- 2E412E422E432E442E452E462E472E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E
- 2E2E2E482E492E4A2E4B2E4C2E4A2E4D2E4E2E2E2E2E2E2E2E2E222C0A222E2E
- 2E2E2E2E2E2E2E4F2E502E512E522E522E532E542E552E2E2E2E2E2E2E2E222C
- 0A222E2E2E2E2E2E2E2E2E562E572E582E592E592E582E5A2E302E2E2E2E2E2E
- 2E2E222C0A222E2E2E2E2E2E2E312E322E332E342E352E362E372E382E392E40
- 2E232E2E2E2E222C0A222E2E2E2E2E3B2E3A2E3D2E2B2E252E242E282E292E5B
- 2E5D2C2E2C2C2C2D2E2E222C0A222E2E2C2A2C612C622C632C642C652C662C67
- 2C682C692C6A2C6B2C6C2C6D2C6E222C0A222E2E2C6F2C702C712C722C732C74
- 2C752C762C772C782C792C792C792C7A2C41222C0A222E2E2E2E2C422C432C44
- 2C452C462C462C462C472C482C492C4A2C4B2C4C2C4D222C0A222E2E2E2E2E2E
- 2E2E2C4E2C4F2C502C512C522C532C542C552C562C572C582E2E222C0A222E2E
- 2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2C4D2C412C4D2E2E2E2E227D
- 0A
+ 4C69040000001000000010000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000000047994FFF419149FF000000000000
+ 0000000000000000000000000000000000000000000000000000000000005BB4
+ 65FF56AD5FFF50A65AFF4B9E53FF45964DFF60A868FF5BA262FF347E3AFF0000
+ 000000000000000000000000000000000000000000005EB968FF79C383FF89CA
+ 92FF94D09CFF95D19EFF90CF99FF8CCB94FF87C98FFF80C487FF4E9554FF276D
+ 2CFF000000000000000000000000000000005CB667FF85C98EFF9BD4A4FF8FCE
+ 98FF92CF9AFF8DCC95FF88CA90FF83C68BFF7EC485FF79C17FFF478D4CFF2265
+ 25FF0000000000000000000000000000000075BF7EFF98D2A1FF94CF9CFF86C7
+ 8DFF5EA765FF398640FF347E3AFF2E7633FF49904FFF458B4AFF206324FF0000
+ 000000000000000000000000000054AB5EFF80C389FF8DCC95FF83C48AFF3D8B
+ 44FF37833EFF000000000000000000000000236627FF1F6123FF000000000000
+ 00000000000000000000000000004DA155FF47994FFF419149FF3B8842FF3580
+ 3CFF000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000000000000000000000004DA155FF4799
+ 4FFF419149FF3B8842FF35803CFF000000000000000000000000000000000000
+ 000063C06EFF5FBB6AFF0000000000000000000000004B9E53FF45964DFF86C6
+ 8EFF88C98FFF6FB376FF2E7633FF0000000000000000000000000000000062BE
+ 6DFF7BC785FF77C281FF54AB5EFF4EA357FF499B51FF63AC6BFF83C38BFF87C9
+ 8FFF82C689FF509756FF0000000000000000000000000000000060BC6CFF79C4
+ 83FF9ED7A7FF9BD4A4FF97D29FFF92CF9AFF8DCC95FF88CA90FF7AC282FF7EC4
+ 85FF5DA463FF266B2AFF000000000000000000000000000000005BB465FF73BD
+ 7CFF96D19FFF94CF9CFF8FCD96FF8ACA91FF85C78BFF7ABE81FF65AD6CFF4B92
+ 51FF246829FF0000000000000000000000000000000000000000000000004EA3
+ 57FF66B06EFF61AA68FF3D8B44FF37833EFF327B37FF2C7432FF276D2CFF0000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000419149FF3B8842FF00000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000012488DFF104B90FF0F488AFF11427DFF15335BFF000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000114E96FF12589BFF125899FF115393FF0F4A87FF0E3E71FF132E4BFF0000
+ 0000000000000000000000000000000000000000000000000000000000000F4B
+ 97FF12589FFF0F4A8AFF0F4B87FF114B87FF154C85FF124175FF0F335CFF0000
+ 0000000000000000000000000000000000000000000000000000000000000C3E
+ 87FF7C97B8FF8AB7E4FF719CC8FF15406EFF194472FF22456BFF113B66FF0000
+ 0000000000000000000000000000000000000000000000000000000000001F5E
+ 9BFFD9E8F7FF97C5F1FF8EBBE5FF7FA9D1FF89B5DFFFCDDFEEFF2368A7FF0000
+ 0000000000000000000000000000000000000000000000000000000000002A5B
+ 92FFA6CAEEFFABCCEAFFA7D0F6FFA8D0F6FFABCCEAFFA7CDEEFF2D629AFF0000
+ 0000000000000000000000000000000000000000000000000000000000006A3C
+ 25FF346DA7FF9CCCF8FFAFD4F7FFAFD4F7FFA5CFF6FF3474AEFF683E2DFF0000
+ 000000000000000000000000000000000000000000000000000000000000BC48
+ 1CFFF4E2D4FF4E7BA9FF4D7BA8FF4D7BA8FF4E7BA9FFF3D6C3FFBE461CFF0000
+ 0000000000000000000000000000000000000000000000000000C44C1FFFF6E4
+ D6FFFFE4A4FFFFD472FFFFC969FFFFC063FFFFB65FFFAEAB78FF609772FF4F8E
+ 66FF428357FF000000000000000000000000000000008A5444FFFCC8ABFFFFD1
+ 98FFFEC76DFFFEBF68FFFEB964FFFEB15EFFA79B61FF61AB81FF95D4B4FFBAE6
+ D0FF6ABB8FFF2D8F57FF196B37FF00000000287CCEFF78B3EAFFB39E94FFFFB7
+ 60FFFFB663FFFEB261FFFEAC5DFFFEA559FF4A885DFF90D3B1FF92D6B1FFFFFF
+ FFFF65BC8CFF67BC8FFF196B37FF00000000297DD1FF82BAEEFF9F6658FFF5BB
+ 84FFFFAC5BFFFEA85AFFFEA257FFFE9C53FF317B4CFF9CD4B6FFFFFFFFFFFFFF
+ FFFFFFFFFFFF95D2B2FF196B37FF00000000000000002579CDFF866161FFBF60
+ 35FFFEB961FFFEB962FFFEB962FFFEB962FF226E3AFF62BA8BFF60BA87FFFFFF
+ FFFF60B987FF67BC8FFF196B37FF00000000000000000000000000000000B350
+ 20FFA0401FFFAA4522FFAC4622FFAB4422FF5C572DFF288C53FF64BA8DFF95D2
+ B2FF64BA8DFF288C53FF196B37FF000000000000000000000000000000000000
+ 00000000000000000000000000000000000000000000196B37FF196B37FF196B
+ 37FF196B37FF196B37FF00000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000012488DFF104B90FF0F488AFF11427DFF15335BFF00000000000000000000
+ 000000000000000000000000000000000000000000000000000000000000114E
+ 96FF12589BFF125899FF115393FF0F4A87FF0E3E71FF132E4BFF000000000000
+ 00000000000000000000000000000000000000000000000000000F4B97FF1258
+ 9FFF0F4A8AFF0F4B87FF114B87FF154C85FF124175FF0F335CFF000000000000
+ 00000000000000000000000000000000000000000000000000000C3E87FF7C97
+ B8FF8AB7E4FF719CC8FF15406EFF194472FF22456BFF113B66FF000000000000
+ 00000000000000000000000000000000000000000000000000001F5E9BFFD9E8
+ F7FF97C5F1FF8EBBE5FF7FA9D1FF89B5DFFFCDDFEEFF2368A7FF0000000058A5
+ D8FF85B1DBFF469DD0FF000000000000000000000000000000002A5B92FFA6CA
+ EEFFABCCEAFFA7D0F6FFA8D0F6FFABCCEAFFA7CDEEFF2884B7FF77BEE7FFB4D2
+ F0FFE5F3FFFFACD2EFFF488CC7FF0000000000000000000000006A3C25FF346D
+ A7FF9CCCF8FFAFD4F7FFAFD4F7FFA5CFF6FF2E8ABFFF7ED3EBFFB2E3F9FF8BC0
+ E7FFAED3F6FFC4E0FCFF669FD3FF000000000000000000000000BC481CFFF4E2
+ D4FF4E7BA9FF4D7BA8FF4D7BA8FF428CBAFF7DD4EEFFC4F6FDFF6CDDF6FF6DCA
+ EDFF63A3D7FF5D9BD2FF000000000000000000000000C44C1FFFF6E4D6FFFFE4
+ A4FFFFD472FFFFC969FFBFBB86FF79D3EEFFC7F7FDFF5FDCF5FF5BE2F7FF7AD6
+ F2FF4099DFFF0000000000000000000000008A5444FFFCC8ABFFFFD198FFFEC7
+ 6DFFFEBF68FFB0A780FF77CBE7FFC7F7FDFF5EDCF5FF5AE1F7FF7BD4F1FF4691
+ D4FF686672FF0000000000000000287CCEFF78B3EAFFB39E94FFFFB760FFFFB6
+ 63FFB3A37DFF76B8D3FFC2F6FDFF63DFF7FF5DE2F8FF79D3F0FF4795D8FF75B2
+ EAFF2974C7FF0000000000000000297DD1FF82BAEEFF9F6658FFF5BB84FFA792
+ 74FF7AB6D5FF90B7D1FF55C9E4FF5BDFF5FF78D0EDFF5196D2FF96645DFF83BC
+ EFFF2A77CAFF0000000000000000000000002579CDFF866161FFBF6035FF4389
+ AAFFE0F2FFFF549AD8FF1A7ABEFF4998C5FF4988B7FF9C5442FF7A646DFF2E7E
+ CEFF6DA2D3FF0000000000000000000000000000000000000000B35020FF2D64
+ 81FF94C7F9FF91C9F9FF4185C9FF2362A4FF89493DFFB24F24FF000000000000
+ 000000000000000000000000000000000000000000000000000000000000113D
+ 55FF285F87FF4988BDFF428DBCFF000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000012488DFF104B90FF0F488AFF11427DFF15335BFF000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000114E96FF12589BFF125899FF115393FF0F4A87FF0E3E71FF132E4BFF0000
+ 0000000000000000000000000000000000000000000000000000000000000F4B
+ 97FF12589FFF0F4A8AFF0F4B87FF114B87FF154C85FF124175FF0F335CFF0000
+ 0000000000000000000000000000000000000000000000000000000000000C3E
+ 87FF7C97B8FF8AB7E4FF719CC8FF15406EFF194472FF22456BFF113B66FF0000
+ 0000000000000000000000000000000000000000000000000000000000001F5E
+ 9BFFD9E8F7FF97C5F1FF8EBBE5FF7FA9D1FF89B5DFFFCDDFEEFF2368A7FF0000
+ 0000000000000000000000000000000000000000000000000000000000002A5B
+ 92FFA6CAEEFFABCCEAFFA7D0F6FFA8D0F6FFABCCEAFFA7CDEEFF2D629AFF0000
+ 0000000000000000000000000000000000000000000000000000000000006A3C
+ 25FF346DA7FF9CCCF8FFAFD4F7FFAFD4F7FFA5CFF6FF3474AEFF683E2DFF0000
+ 000000000000000000000000000000000000000000000000000000000000BC48
+ 1CFFF4E2D4FF4E7BA9FF4D7BA8FF4D7BA8FF4E7BA9FFF3D6C3FFBE461CFF0000
+ 0000000000000000000000000000000000000000000000000000C44C1FFFF6E4
+ D6FFFFE4A4FFFFD472FFFFC969FFFFC063FFFFB65FFF9590A0FF295DC1FF0542
+ BBFF0B45B0FF000000000000000000000000000000008A5444FFFCC8ABFFFFD1
+ 98FFFEC76DFFFEBF68FFFEB964FFFEB15EFF95828BFF3D74CEFF8DB5F7FFB8D6
+ FEFF72A8F5FF2D6BCAFF0000000000000000287CCEFF78B3EAFFB39E94FFFFB7
+ 60FFFFB663FFFEB261FFFEAC5DFFFEA559FF2450ABFF8DB5F6FF4D92FFFF1177
+ FFFF2186FFFF408AEBFF0344B9FF00000000297DD1FF82BAEEFF9F6658FFF5BB
+ 84FFFFAC5BFFFEA85AFFFEA257FFFE9C53FF0542BCFFAECDFEFFFFFFFFFFFFFF
+ FFFFFFFFFFFF187FEFFF0442BCFF00000000000000002579CDFF866161FFBF60
+ 35FFFEB961FFFEB962FFFEB962FFFEB962FF1F52AFFF639DF4FF187FFFFF0076
+ F8FF0076EEFF0368E1FF0345B9FF00000000000000000000000000000000B350
+ 20FFA0401FFFAA4522FFAC4622FFAB4422FF5F4C74FF2763C6FF2177E6FF0579
+ EAFF0164DDFF044DBDFF00000000000000000000000000000000000000000000
+ 00000000000000000000000000000000000000000000000000000345B9FF0442
+ BCFF0345B9FF0000000000000000
}
end
object ilAccesslevel: TImageList
left = 176
Bitmap = {
- 6C69040000001000000010000000F10C00002F2A2058504D202A2F0A73746174
- 69632063686172202A677261706869635B5D203D207B0A223136203136203136
- 382032222C0A222E2E2063204E6F6E65222C0A222E2C20632023413341334133
- 222C0A222E2D20632023413041304130222C0A222E2A20632023394439443944
- 222C0A222E6120632023394139413941222C0A222E6220632023393739373937
- 222C0A222E6320632023393439343934222C0A222E6420632023413241324132
- 222C0A222E6520632023424342434243222C0A222E6620632023434143414341
- 222C0A222E6720632023434343434343222C0A222E6820632023433243324332
- 222C0A222E6920632023414441444144222C0A222E6A20632023384338433843
- 222C0A222E6B20632023413141314131222C0A222E6C20632023433443344334
- 222C0A222E6D20632023424542454245222C0A222E6E20632023393639363936
- 222C0A222E6F20632023393339333933222C0A222E7020632023414541454145
- 222C0A222E7120632023383438343834222C0A222E7220632023424142414241
- 222C0A222E7320632023424642464246222C0A222E7420632023393839383938
- 222C0A222E7520632023383738373837222C0A222E7620632023413841384138
- 222C0A222E7720632023394539453945222C0A222E7820632023383938393839
- 222C0A222E7920632023413941394139222C0A222E7A20632023373937393739
- 222C0A222E4120632023393939393939222C0A222E4220632023433643364336
- 222C0A222E4320632023374437443744222C0A222E4420632023414241424142
- 222C0A222E4520632023373637363736222C0A222E4620632023453143333631
- 222C0A222E4720632023413841303838222C0A222E4820632023393139313931
- 222C0A222E4920632023384538453845222C0A222E4A20632023444342393541
- 222C0A222E4B20632023444642383535222C0A222E4C20632023444542353531
- 222C0A222E4D20632023444442313444222C0A222E4E20632023444341443439
- 222C0A222E4F20632023443741383436222C0A222E5020632023373837383738
- 222C0A222E5120632023384437453635222C0A222E5220632023443839393331
- 222C0A222E5320632023453143323630222C0A222E5420632023464346334339
- 222C0A222E5520632023464446334342222C0A222E5620632023464546364434
- 222C0A222E5720632023464646364437222C0A222E5820632023464646344438
- 222C0A222E5920632023464646384530222C0A222E5A20632023464646384446
- 222C0A222E3020632023464646354441222C0A222E3120632023464346314344
- 222C0A222E3220632023464145444332222C0A222E3320632023464145424244
- 222C0A222E3420632023443639333242222C0A222E3520632023453042463543
- 222C0A222E3620632023464346334338222C0A222E3720632023463944463735
- 222C0A222E3820632023464445363839222C0A222E3920632023464645373935
- 222C0A222E4020632023464645353941222C0A222E2320632023464645454141
- 222C0A222E3B20632023464645444138222C0A222E3A20632023464645333939
- 222C0A222E3D20632023463944353734222C0A222E2B20632023463343433539
- 222C0A222E2520632023463143383446222C0A222E2420632023464145394242
- 222C0A222E2820632023443538443234222C0A222E2920632023444642423538
- 222C0A222E5B20632023464346314337222C0A222E5D20632023463944433646
- 222C0A222C2E20632023454442423536222C0A222C2C20632023454642443631
- 222C0A222C2D20632023464645373942222C0A222C2A20632023453241363335
- 222C0A222C6120632023453141343442222C0A222C6220632023464645323930
- 222C0A222C6320632023453941443439222C0A222C6420632023453341343338
- 222C0A222C6520632023463043343439222C0A222C6620632023463945384238
- 222C0A222C6720632023443438383145222C0A222C6820632023444542373533
- 222C0A222C6920632023464346304336222C0A222C6A20632023463844393641
- 222C0A222C6B20632023464445323743222C0A222C6C20632023464645383930
- 222C0A222C6D20632023464645393939222C0A222C6E20632023444639463332
- 222C0A222C6F20632023423238423534222C0A222C7020632023464645323841
- 222C0A222C7120632023463944303641222C0A222C7220632023463143353530
- 222C0A222C7320632023463043313436222C0A222C7420632023463945374236
- 222C0A222C7520632023443338333138222C0A222C7620632023444442323445
- 222C0A222C7720632023464245464333222C0A222C7820632023463844363635
- 222C0A222C7920632023454342363443222C0A222C7A20632023454642443541
- 222C0A222C4120632023464645423935222C0A222C4220632023444439373330
- 222C0A222C4320632023414238323444222C0A222C4420632023464645313834
- 222C0A222C4520632023453941393431222C0A222C4620632023453139463332
- 222C0A222C4720632023454642453432222C0A222C4820632023463945354234
- 222C0A222C4920632023443237453133222C0A222C4A20632023464245454331
- 222C0A222C4B20632023463744333546222C0A222C4C20632023464344423643
- 222C0A222C4D20632023464645353746222C0A222C4E20632023464645443846
- 222C0A222C4F20632023464646323937222C0A222C5020632023464645443933
- 222C0A222C5120632023464644463743222C0A222C5220632023463843433542
- 222C0A222C5320632023454642453436222C0A222C5420632023454542413343
- 222C0A222C5520632023463945334233222C0A222C5620632023443137393045
- 222C0A222C5720632023444241383433222C0A222C5820632023464245434246
- 222C0A222C5920632023463543463539222C0A222C5A20632023454342303431
- 222C0A222C3020632023454642413445222C0A222C3120632023454643323541
- 222C0A222C3220632023454643363630222C0A222C3320632023454643343543
- 222C0A222C3420632023454642363443222C0A222C3520632023453641353337
- 222C0A222C3620632023453139413241222C0A222C3720632023454542383338
- 222C0A222C3820632023463845334231222C0A222C3920632023443037353039
- 222C0A222C4020632023444141333344222C0A222C2320632023464145424243
- 222C0A222C3B20632023464345424243222C0A222C3A20632023464545454246
- 222C0A222C3D20632023464646344336222C0A222C2B20632023464646384345
- 222C0A222C2520632023464646414433222C0A222C2420632023464646384430
- 222C0A222C2820632023464646324337222C0A222C2920632023464345394241
- 222C0A222C5B20632023463945344233222C0A222C5D20632023463845324230
- 222C0A222D2E20632023434637313035222C0A222D2C20632023443939443336
- 222C0A222D2D20632023443739343243222C0A222D2A20632023443639303238
- 222C0A222D6120632023443538433233222C0A222D6220632023443338343141
- 222C0A222D6320632023443238303135222C0A222D6420632023443137433131
- 222C0A222D6520632023443037363041222C0A222D6620632023434637333037
- 222C0A222D6720632023434637303034222C0A222D6820632023434536453031
- 222C0A222E2E2E2E2E2E2E2E2E2E2E2C2E2D2E2A2E612E622E632E2E2E2E2E2E
- 2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E642E652E662E672E662E682E692E6A
- 2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E6B2E6C2E6D2E6B2E6E2E6F2E62
- 2E702E702E712E2E2E2E2E2E222C0A222E2E2E2E2E2E2E722E732E742E2E2E2E
- 2E2E2E2E2E752E762E772E2E2E2E2E2E222C0A222E2E2E2E2E2A2E6C2E6B2E2E
- 2E2E2E2E2E2E2E2E2E2E2E782E792E7A2E2E2E2E222C0A222E2E2E2E2E412E42
- 2E632E2E2E2E2E2E2E2E2E2E2E2E2E432E442E452E2E2E2E222C0A222E2E2E46
- 2E472E482E492E4A2E4B2E4C2E4D2E4E2E4F2E502E452E512E522E2E222C0A22
- 2E2E2E532E542E552E562E572E582E592E5A2E302E312E322E332E332E342E2E
- 222C0A222E2E2E352E362E372E382E392E402E232E3B2E3A2E3D2E2B2E252E24
- 2E282E2E222C0A222E2E2E292E5B2E5D2C2E2C2C2C2D2C2A2C612C622C632C64
- 2C652C662C672E2E222C0A222E2E2C682C692C6A2C6B2C6C2C6D2C6E2C6F2C70
- 2C712C722C732C742C752E2E222C0A222E2E2C762C772C782C792C7A2C412C42
- 2C432C442C452C462C472C482C492E2E222C0A222E2E2E4E2C4A2C4B2C4C2C4D
- 2C4E2C4F2C502C512C522C532C542C552C562E2E222C0A222E2E2C572C582C59
- 2C5A2C302C312C322C332C342C352C362C372C382C392E2E222C0A222E2E2C40
- 2C232C3B2C3A2C3D2C2B2C252C242C282C292C5B2C5D2C5D2D2E2E2E222C0A22
- 2E2E2D2C2E522D2D2D2A2D612C672D622D632D642C562D652D662D672D682E2E
- 227D0A410900002F2A2058504D202A2F0A7374617469632063686172202A6772
- 61706869635B5D203D207B0A223136203136203130392032222C0A222E2E2063
- 204E6F6E65222C0A222E2C20632023363835443536222C0A222E2D2063202337
- 4133463133222C0A222E2A20632023374433453044222C0A222E612063202337
- 3633433043222C0A222E6220632023363933393132222C0A222E632063202336
- 3335363445222C0A222E6420632023363936333546222C0A222E652063202337
- 4434443238222C0A222E6620632023393636313244222C0A222E672063202338
- 3834393046222C0A222E6820632023393336303243222C0A222E692063202337
- 3333453043222C0A222E6A20632023363033443142222C0A222E6B2063202336
- 3335453539222C0A222E6C20632023373935323337222C0A222E6D2063202339
- 3335413235222C0A222E6E20632023373633453043222C0A222E6F2063202338
- 3535343234222C0A222E7020632023373333453045222C0A222E712063202338
- 3435353236222C0A222E7220632023363933453136222C0A222E732063202335
- 3033303134222C0A222E7420632023363733363131222C0A222E752063202337
- 3134423241222C0A222E7620632023394537353443222C0A222E772063202338
- 4536333342222C0A222E7820632023354233353131222C0A222E792063202337
- 4235323238222C0A222E7A20632023353933393143222C0A222E412063202335
- 3533323130222C0A222E4220632023373834383138222C0A222E432063202344
- 3142373942222C0A222E4420632023454443394133222C0A222E452063202345
- 3843353946222C0A222E4620632023434441313734222C0A222E472063202344
- 4442303831222C0A222E4820632023434542333936222C0A222E492063202337
- 4534433141222C0A222E4A20632023384635443330222C0A222E4B2063202345
- 4543414136222C0A222E4C20632023454143434142222C0A222E4D2063202346
- 3644304137222C0A222E4E20632023463644304138222C0A222E4F2063202345
- 4543444137222C0A222E5020632023394136323245222C0A222E512063202333
- 4433443344222C0A222E5220632023394536463431222C0A222E532063202346
- 3843433943222C0A222E5420632023463744344146222C0A222E552063202346
- 3643464135222C0A222E5620632023413637363431222C0A222E572063202333
- 3733373337222C0A222E5820632023343934393439222C0A222E592063202334
- 4234423442222C0A222E5A20632023393839383938222C0A222E302063202335
- 4335433543222C0A222E3120632023413337433535222C0A222E322063202334
- 4334433443222C0A222E3320632023344534453445222C0A222E342063202337
- 3737373737222C0A222E3520632023393739373937222C0A222E362063202335
- 3935393539222C0A222E3720632023414241424142222C0A222E382063202341
- 3541354135222C0A222E3920632023353435343534222C0A222E402063202338
- 3638363836222C0A222E2320632023363236323632222C0A222E3B2063202334
- 4134413441222C0A222E3A20632023363336333633222C0A222E3D2063202341
- 3441344134222C0A222E2B20632023353035303530222C0A222E252063202335
- 3235323532222C0A222E2420632023354235423542222C0A222E282063202342
- 3842384238222C0A222E2920632023433143314331222C0A222E5B2063202335
- 3735373537222C0A222E5D20632023344434443444222C0A222C2E2063202335
- 4135413541222C0A222C2C20632023374537453745222C0A222C2D2063202336
- 3036303630222C0A222C2A20632023434537433238222C0A222C612063202345
- 4142333738222C0A222C6220632023374137413741222C0A222C632063202338
- 3338333833222C0A222C6420632023354435443544222C0A222C652063202335
- 3535353535222C0A222C6620632023363436343634222C0A222C672063202335
- 4635463546222C0A222C6820632023364436443644222C0A222C692063202345
- 4442383745222C0A222C6A20632023433737343239222C0A222C6B2063202344
- 3137443239222C0A222C6C20632023454542413832222C0A222C6D2063202338
- 4638463846222C0A222C6E20632023373237323732222C0A222C6F2063202336
- 4636463646222C0A222C7020632023383438343834222C0A222C712063202345
- 4642433833222C0A222C7220632023434137373241222C0A222C732063202343
- 4437393235222C0A222C7420632023354535453545222C0A222C752063202334
- 4634463446222C0A222C7620632023383038303830222C0A222C772063202334
- 3534353435222C0A222C7820632023434537453245222C0A222C792063202344
- 3341323644222C0A222C7A20632023343734373437222C0A222C412063202333
- 3833383338222C0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E
- 2E2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E2E2E2C2E2D2E2A2E612E
- 622E632E2E2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E642E652E662E
- 672E682E692E6A2E6B2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E6C2E
- 6D2E6E2E6F2E702E712E722E732E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E
- 2E2E742E752E762E772E782E792E7A2E412E2E2E2E2E2E2E2E222C0A222E2E2E
- 2E2E2E2E2E2E422E432E442E452E462E472E482E492E2E2E2E2E2E2E2E222C0A
- 222E2E2E2E2E2E2E2E2E4A2E4B2E4C2E4D2E4E2E4C2E4F2E502E2E2E2E2E2E2E
- 2E222C0A222E2E2E2E2E2E2E2E2E512E522E532E542E542E552E562E572E2E2E
- 2E2E2E2E2E222C0A222E2E2E2E2E2E2E582E592E5A2E302E312E312E322E5A2E
- 332E322E2E2E2E2E2E222C0A222E2E2E2E2E342E322E332E352E362E372E382E
- 392E402E232E3B2E2E2E2E2E2E222C0A222E2E2E2E2E3A2E3D2E2B2E252E242E
- 282E292E5B2E5D2C2E2C2C2C2D2E2E2E2E222C0A222E2E2C2A2C612C622C632C
- 2C2C642E582E322C652C662C672C682C692C6A2E2E222C0A222E2E2C6B2C6C2C
- 672C6D2C622E342C682E332C6E2C6F2C702C652C712C722E2E222C0A222E2E2E
- 2E2C732C742C752C702C702C762E392C632C702E3B2C772C782C792E2E222C0A
- 222E2E2E2E2E2E2E2E2E512E5D2E582C7A2C7A2C772C7A2C412E2E2E2E2E2E2E
- 2E222C0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E
- 2E2E2E2E2E227D0A210A00002F2A2058504D202A2F0A73746174696320636861
- 72202A677261706869635B5D203D207B0A223136203136203132332032222C0A
- 222E2E2063204E6F6E65222C0A222E2C20632023453542323237222C0A222E2D
- 20632023463341373142222C0A222E2A20632023463441433143222C0A222E61
- 20632023463441383143222C0A222E6220632023463141313142222C0A222E63
- 20632023444541433237222C0A222E6420632023453542353238222C0A222E65
- 20632023463542363142222C0A222E6620632023463542363143222C0A222E67
- 20632023463542323143222C0A222E6820632023463441423143222C0A222E69
- 20632023463041413144222C0A222E6A20632023453042303238222C0A222E6B
- 20632023463542413144222C0A222E6C20632023463441413143222C0A222E6D
- 20632023463341433143222C0A222E6E20632023463041313143222C0A222E6F
- 20632023453439333143222C0A222E7020632023463339453142222C0A222E71
- 20632023434541423632222C0A222E7220632023453442373841222C0A222E73
- 20632023454243363345222C0A222E7420632023454439463143222C0A222E75
- 20632023454541343144222C0A222E7620632023454241353145222C0A222E77
- 20632023453939413143222C0A222E7820632023414436443145222C0A222E79
- 20632023454644374244222C0A222E7A20632023454443394133222C0A222E41
- 20632023453843353944222C0A222E4220632023454643453434222C0A222E43
- 20632023454643443542222C0A222E4420632023463144434138222C0A222E45
- 20632023424437433230222C0A222E4620632023384536313243222C0A222E47
- 20632023454543414136222C0A222E4820632023454143434142222C0A222E49
- 20632023463644304137222C0A222E4A20632023463644304138222C0A222E4B
- 20632023454543444137222C0A222E4C20632023393936323244222C0A222E4D
- 20632023343937323443222C0A222E4E20632023393937343334222C0A222E4F
- 20632023463843433943222C0A222E5020632023463744344146222C0A222E51
- 20632023463643464135222C0A222E5220632023413137413335222C0A222E53
- 20632023343636413441222C0A222E5420632023354439333739222C0A222E55
- 20632023344538353237222C0A222E5620632023433846354233222C0A222E57
- 20632023384638393439222C0A222E5820632023413037463442222C0A222E59
- 20632023424145384139222C0A222E5A20632023344438343236222C0A222E30
- 20632023353938433733222C0A222E3120632023414345304146222C0A222E32
- 20632023354439343337222C0A222E3320632023433646443946222C0A222E34
- 20632023423845463931222C0A222E3520632023394644363738222C0A222E36
- 20632023393643443646222C0A222E3720632023384643363639222C0A222E38
- 20632023383842463632222C0A222E3920632023393843463733222C0A222E40
- 20632023423946303934222C0A222E2320632023353138383330222C0A222E3B
- 20632023353438373738222C0A222E3A20632023364339443834222C0A222E3D
- 20632023364241323435222C0A222E2B20632023413945303832222C0A222E25
- 20632023393043373639222C0A222E2420632023384243323634222C0A222E28
- 20632023383542433545222C0A222E2920632023374542353537222C0A222E5B
- 20632023373741453530222C0A222E5D20632023393143383642222C0A222C2E
- 20632023384143303637222C0A222C2C20632023363639413446222C0A222C2D
- 20632023363439323736222C0A222C2A20632023434537433238222C0A222C61
- 20632023454142333738222C0A222C6220632023383142383541222C0A222C63
- 20632023383943303632222C0A222C6420632023383642443546222C0A222C65
- 20632023374342333535222C0A222C6620632023373641443446222C0A222C67
- 20632023373041373439222C0A222C6820632023363739453431222C0A222C69
- 20632023373441423444222C0A222C6A20632023454442383745222C0A222C6B
- 20632023433737343239222C0A222C6C20632023443137443239222C0A222C6D
- 20632023454542413832222C0A222C6E20632023363739453430222C0A222C6F
- 20632023393543433645222C0A222C7020632023383142383542222C0A222C71
- 20632023374542353538222C0A222C7220632023374142313533222C0A222C73
- 20632023373541433446222C0A222C7420632023374142313534222C0A222C75
- 20632023373641443531222C0A222C7620632023384143313637222C0A222C77
- 20632023354339323342222C0A222C7820632023454642433833222C0A222C79
- 20632023434137373241222C0A222C7A20632023434437393235222C0A222C41
- 20632023363739443432222C0A222C4220632023353838463331222C0A222C43
- 20632023384143313633222C0A222C4420632023353338413244222C0A222C45
- 20632023353338383246222C0A222C4620632023434537453245222C0A222C47
- 20632023443341323644222C0A222C4820632023353738433636222C0A222C49
- 20632023353538423432222C0A222C4A20632023353238393333222C0A222C4B
- 20632023353138383245222C0A222C4C20632023353038373244222C0A222C4D
- 20632023344538353245222C0A222C4E20632023344538353339222C0A222C4F
- 20632023344538323446222C0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E
- 2E2E2E2E2E2E2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E2E2E2C2E2D
- 2E2A2E612E622E632E2E2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E64
- 2E652E662E662E672E682E692E6A2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E
- 2E2E2E6B2E662E6C2E2A2E2A2E6D2E6E2E6F2E2E2E2E2E2E2E2E222C0A222E2E
- 2E2E2E2E2E2E2E702E712E722E732E742E752E762E772E2E2E2E2E2E2E2E222C
- 0A222E2E2E2E2E2E2E2E2E782E792E7A2E412E422E432E442E452E2E2E2E2E2E
- 2E2E222C0A222E2E2E2E2E2E2E2E2E462E472E482E492E4A2E482E4B2E4C2E2E
- 2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E4D2E4E2E4F2E502E502E512E52
- 2E532E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E542E552E562E572E582E58
- 2E572E592E5A2E302E2E2E2E2E2E222C0A222E2E2E2E2E312E322E332E342E35
- 2E362E372E382E392E402E232E3B2E2E2E2E222C0A222E2E2E3A2E3D2E2B2E2B
- 2E362E252E242E282E292E5B2E5D2C2E2C2C2C2D2E2E222C0A222E2E2C2A2C61
- 2C622C632C632C642C622C652C662C672C682C692C6A2C6B2E2E222C0A222E2E
- 2C6C2C6D2C6E2C6F2C702C712C722C732C742C752C762C772C782C792E2E222C
- 0A222E2E2E2E2C7A2C412C422C432C432C432C432C432C432C442C452C462C47
- 2E2E222C0A222E2E2E2E2E2E2E2E2C482C492C4A2C4B2C4C2C4D2C4E2C4F2E2E
- 2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E
- 2E2E2E2E2E2E2E2E2E2E227D0AA10A00002F2A2058504D202A2F0A7374617469
- 632063686172202A677261706869635B5D203D207B0A22313620313620313331
- 2032222C0A222E2E2063204E6F6E65222C0A222E2C2063202336383544353622
- 2C0A222E2D20632023374133463133222C0A222E2A2063202337443345304422
- 2C0A222E6120632023373633433043222C0A222E622063202336393339313222
- 2C0A222E6320632023363335363445222C0A222E642063202336393633354622
- 2C0A222E6520632023374434443238222C0A222E662063202338413439304622
- 2C0A222E6720632023383834393046222C0A222E682063202338313435304522
- 2C0A222E6920632023373333453043222C0A222E6A2063202336303344314222
- 2C0A222E6B20632023363335453539222C0A222E6C2063202337393532333722
- 2C0A222E6D20632023384634393046222C0A222E6E2063202337363345304322
- 2C0A222E6F20632023373333453045222C0A222E702063202337303346313122
- 2C0A222E7120632023363133363046222C0A222E722063202335303330313422
- 2C0A222E7320632023373333373130222C0A222E742063202342353933373822
- 2C0A222E7520632023453442373841222C0A222E762063202343333933363722
- 2C0A222E7720632023354233353131222C0A222E782063202335463339313522
- 2C0A222E7920632023353933393143222C0A222E7A2063202335353332313022
- 2C0A222E4120632023393935433146222C0A222E422063202345464437424422
- 2C0A222E4320632023454443394133222C0A222E442063202345384335394622
- 2C0A222E4520632023434441313734222C0A222E462063202344444230383122
- 2C0A222E4720632023454244334237222C0A222E482063202341343635323322
- 2C0A222E4920632023383935463339222C0A222E4A2063202345454341413622
- 2C0A222E4B20632023454143434142222C0A222E4C2063202346364430413722
- 2C0A222E4D20632023463644304138222C0A222E4E2063202345454344413722
- 2C0A222E4F20632023393936323246222C0A222E502063202333453642393622
- 2C0A222E5120632023393137323533222C0A222E522063202346384343394322
- 2C0A222E5320632023463744344146222C0A222E542063202346364346413522
- 2C0A222E5520632023394137393531222C0A222E562063202333433634384322
- 2C0A222E5720632023343537364135222C0A222E582063202333463744423122
- 2C0A222E5920632023413042454438222C0A222E5A2063202337313832393622
- 2C0A222E3020632023413437323535222C0A222E312063202342353545343322
- 2C0A222E3220632023354637394132222C0A222E332063202341304245443922
- 2C0A222E3420632023343238304234222C0A222E352063202334363735413822
- 2C0A222E3620632023373039414332222C0A222E372063202334313744423222
- 2C0A222E3820632023394542464443222C0A222E392063202334433841424522
- 2C0A222E4020632023424342364334222C0A222E232063202343383637354522
- 2C0A222E3B20632023344438314233222C0A222E3A2063202338384230443322
- 2C0A222E3D20632023353939314332222C0A222E2B2063202333453741414622
- 2C0A222E2520632023343136463946222C0A222E242063202334413737413522
- 2C0A222E2820632023354239324333222C0A222E292063202342304341453222
- 2C0A222E5B20632023343438324236222C0A222E5D2063202334353833423722
- 2C0A222C2E20632023353538384238222C0A222C2C2063202344303542344122
- 2C0A222C2D20632023443236303530222C0A222C2A2063202334433837424122
- 2C0A222C6120632023343137464233222C0A222C622063202334453841424622
- 2C0A222C6320632023374441394430222C0A222C642063202335373844424522
- 2C0A222C6520632023343636463943222C0A222C662063202343453743323822
- 2C0A222C6720632023454142333738222C0A222C682063202337394136434522
- 2C0A222C6920632023383341454432222C0A222C6A2063202335393838423722
- 2C0A222C6B20632023413634453444222C0A222C6C2063202337433632373722
- 2C0A222C6D20632023344238344236222C0A222C6E2063202335433933433422
- 2C0A222C6F20632023353538454331222C0A222C702063202336373941433722
- 2C0A222C7120632023454442383745222C0A222C722063202343373734323922
- 2C0A222C7320632023443137443239222C0A222C742063202345454241383222
- 2C0A222C7520632023353538464331222C0A222C762063202339344239443822
- 2C0A222C7720632023373841364345222C0A222C782063202337354133434322
- 2C0A222C7920632023373039334241222C0A222C7A2063202334343746423222
- 2C0A222C4120632023364539464341222C0A222C422063202336393943433822
- 2C0A222C4320632023383541454433222C0A222C442063202334393834423822
- 2C0A222C4520632023454642433833222C0A222C462063202343413737324122
- 2C0A222C4720632023434437393235222C0A222C482063202335343845433022
- 2C0A222C4920632023343338314235222C0A222C4A2063202338354146443322
- 2C0A222C4B20632023374641424431222C0A222C4C2063202334373835423922
- 2C0A222C4D20632023334637424230222C0A222C4E2063202333433736413922
- 2C0A222C4F20632023434537453245222C0A222C502063202344334132364422
- 2C0A222C5120632023333436363939222C0A222C522063202334313741414622
- 2C0A222C5320632023334437394145222C0A222C542063202333433738414422
- 2C0A222C5520632023333937354141222C0A222C562063202333433735414122
- 2C0A222C5720632023333136313933222C0A222E2E2E2E2E2E2E2E2E2E2E2E2E
- 2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E
- 2E2E2C2E2D2E2A2E612E622E632E2E2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E
- 2E2E2E2E642E652E662E672E682E692E6A2E6B2E2E2E2E2E2E2E2E222C0A222E
- 2E2E2E2E2E2E2E2E6C2E6D2E6E2E692E6F2E702E712E722E2E2E2E2E2E2E2E22
- 2C0A222E2E2E2E2E2E2E2E2E732E742E752E762E772E782E792E7A2E2E2E2E2E
- 2E2E2E222C0A222E2E2E2E2E2E2E2E2E412E422E432E442E452E462E472E482E
- 2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E492E4A2E4B2E4C2E4D2E4B2E
- 4E2E4F2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E502E512E522E532E
- 532E542E552E562E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E572E582E592E
- 5A2E302E312E322E332E342E352E2E2E2E2E2E222C0A222E2E2E2E2E362E372E
- 342E382E392E402E232E3B2E3A2E3D2E2B2E252E2E2E2E222C0A222E2E2E242E
- 282E292E5B2E5D2C2E2C2C2C2D2C2A2C612C622C632C642C652E2E222C0A222E
- 2E2C662C672C682C692C632C6A2C6B2C6C2C6D2C6E2C6F2C702C712C722E2E22
- 2C0A222E2E2C732C742C752C762C772C782C792C7A2C412C422C432C442C452C
- 462E2E222C0A222E2E2E2E2C472C482C492C4A2C4A2C4B2C4C2C692C4A2C4D2C
- 4E2C4F2C502E2E222C0A222E2E2E2E2E2E2E2E2C512C522C532C542C542C552C
- 562C572E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E
- 2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E227D0A
+ 4C69040000001000000010000000000000000000000000000000000000000000
+ 0000A3A3A3FFA0A0A0FF9D9D9DFF9A9A9AFF979797FF949494FF000000000000
+ 000000000000000000000000000000000000000000000000000000000000A2A2
+ A2FFBCBCBCFFCACACAFFCCCCCCFFCACACAFFC2C2C2FFADADADFF8C8C8CFF0000
+ 0000000000000000000000000000000000000000000000000000A1A1A1FFC4C4
+ C4FFBEBEBEFFA1A1A1FF969696FF939393FF979797FFAEAEAEFFAEAEAEFF8484
+ 84FF000000000000000000000000000000000000000000000000BABABAFFBFBF
+ BFFF989898FF00000000000000000000000000000000878787FFA8A8A8FF9E9E
+ 9EFF00000000000000000000000000000000000000009D9D9DFFC4C4C4FFA1A1
+ A1FF000000000000000000000000000000000000000000000000898989FFA9A9
+ A9FF797979FF00000000000000000000000000000000999999FFC6C6C6FF9494
+ 94FF0000000000000000000000000000000000000000000000007D7D7DFFABAB
+ ABFF767676FF00000000000000000000000061C3E1FF88A0A8FF919191FF8E8E
+ 8EFF5AB9DCFF55B8DFFF51B5DEFF4DB1DDFF49ADDCFF46A8D7FF787878FF7676
+ 76FF657E8DFF3199D8FF000000000000000060C2E1FFC9F3FCFFCBF3FDFFD4F6
+ FEFFD7F6FFFFD8F4FFFFE0F8FFFFDFF8FFFFDAF5FFFFCDF1FCFFC2EDFAFFBDEB
+ FAFFBDEBFAFF2B93D6FF00000000000000005CBFE0FFC8F3FCFF75DFF9FF89E6
+ FDFF95E7FFFF9AE5FFFFAAEEFFFFA8EDFFFF99E3FFFF74D5F9FF59CCF3FF4FC8
+ F1FFBBE9FAFF248DD5FF000000000000000058BBDFFFC7F1FCFF6FDCF9FF56BB
+ EDFF61BDEFFF9BE7FFFF35A6E2FF4BA4E1FF90E2FFFF49ADE9FF38A4E3FF49C4
+ F0FFB8E8F9FF1E88D4FF000000000000000053B7DEFFC6F0FCFF6AD9F8FF7CE2
+ FDFF90E8FFFF99E9FFFF329FDFFF548BB2FF8AE2FFFF6AD0F9FF50C5F1FF46C1
+ F0FFB6E7F9FF1883D3FF00000000000000004EB2DDFFC3EFFBFF65D6F8FF4CB6
+ ECFF5ABDEFFF95EBFFFF3097DDFF4D82ABFF84E1FFFF41A9E9FF329FE1FF42BE
+ EFFFB4E5F9FF137ED2FF000000000000000049ADDCFFC1EEFBFF5FD3F7FF6CDB
+ FCFF7FE5FFFF8FEDFFFF97F2FFFF93EDFFFF7CDFFFFF5BCCF8FF46BEEFFF3CBA
+ EEFFB3E3F9FF0E79D1FF000000000000000043A8DBFFBFECFBFF59CFF5FF41B0
+ ECFF4EBAEFFF5AC2EFFF60C6EFFF5CC4EFFF4CB6EFFF37A5E6FF2A9AE1FF38B8
+ EEFFB1E3F8FF0975D0FF00000000000000003DA3DAFFBCEBFAFFBCEBFCFFBFEE
+ FEFFC6F4FFFFCEF8FFFFD3FAFFFFD0F8FFFFC7F2FFFFBAE9FCFFB3E4F9FFB0E2
+ F8FFB0E2F8FF0571CFFF0000000000000000369DD9FF3199D8FF2C94D7FF2890
+ D6FF238CD5FF1E88D4FF1A84D3FF1580D2FF117CD1FF0E79D1FF0A76D0FF0773
+ CFFF0470CFFF016ECEFF00000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000565D68FF133F7AFF0D3E7DFF0C3C76FF123969FF4E5663FF000000000000
+ 0000000000000000000000000000000000000000000000000000000000005F63
+ 69FF284D7DFF2D6196FF0F4988FF2C6093FF0C3E73FF1B3D60FF595E63FF0000
+ 0000000000000000000000000000000000000000000000000000000000003752
+ 79FF255A93FF0C3E76FF245485FF0E3E73FF265584FF163E69FF143050FF0000
+ 0000000000000000000000000000000000000000000000000000000000001136
+ 67FF2A4B71FF4C759EFF3B638EFF11355BFF28527BFF1C3959FF103255FF0000
+ 0000000000000000000000000000000000000000000000000000000000001848
+ 78FF9BB7D1FFA3C9EDFF9FC5E8FF74A1CDFF81B0DDFF96B3CEFF1A4C7EFF0000
+ 000000000000000000000000000000000000000000000000000000000000305D
+ 8FFFA6CAEEFFABCCEAFFA7D0F6FFA8D0F6FFABCCEAFFA7CDEEFF2E629AFF0000
+ 0000000000000000000000000000000000000000000000000000000000003D3D
+ 3DFF416F9EFF9CCCF8FFAFD4F7FFAFD4F7FFA5CFF6FF4176A6FF373737FF0000
+ 0000000000000000000000000000000000000000000000000000494949FF4B4B
+ 4BFF989898FF5C5C5CFF557CA3FF557CA3FF4C4C4CFF989898FF4E4E4EFF4C4C
+ 4CFF0000000000000000000000000000000000000000777777FF4C4C4CFF4E4E
+ 4EFF979797FF595959FFABABABFFA5A5A5FF545454FF868686FF626262FF4A4A
+ 4AFF0000000000000000000000000000000000000000636363FFA4A4A4FF5050
+ 50FF525252FF5B5B5BFFB8B8B8FFC1C1C1FF575757FF4D4D4DFF5A5A5AFF7E7E
+ 7EFF606060FF000000000000000000000000287CCEFF78B3EAFF7A7A7AFF8383
+ 83FF7E7E7EFF5D5D5DFF494949FF4C4C4CFF555555FF646464FF5F5F5FFF6D6D
+ 6DFF7EB8EDFF2974C7FF0000000000000000297DD1FF82BAEEFF5F5F5FFF8F8F
+ 8FFF7A7A7AFF777777FF6D6D6DFF4E4E4EFF727272FF6F6F6FFF848484FF5555
+ 55FF83BCEFFF2A77CAFF0000000000000000000000002579CDFF5E5E5EFF4F4F
+ 4FFF848484FF848484FF808080FF545454FF838383FF848484FF4A4A4AFF4545
+ 45FF2E7ECEFF6DA2D3FF00000000000000000000000000000000000000003D3D
+ 3DFF4D4D4DFF494949FF474747FF474747FF454545FF474747FF383838FF0000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000027B2E5FF1BA7F3FF1CACF4FF1CA8F4FF1BA1F1FF27ACDEFF000000000000
+ 00000000000000000000000000000000000000000000000000000000000028B5
+ E5FF1BB6F5FF1CB6F5FF1CB6F5FF1CB2F5FF1CABF4FF1DAAF0FF28B0E0FF0000
+ 0000000000000000000000000000000000000000000000000000000000001DBA
+ F5FF1CB6F5FF1CAAF4FF1CACF4FF1CACF4FF1CACF3FF1CA1F0FF1C93E4FF0000
+ 0000000000000000000000000000000000000000000000000000000000001B9E
+ F3FF62ABCEFF8AB7E4FF3EC6EBFF1C9FEDFF1DA4EEFF1EA5EBFF1C9AE9FF0000
+ 0000000000000000000000000000000000000000000000000000000000001E6D
+ ADFFBDD7EFFFA3C9EDFF9DC5E8FF44CEEFFF5BCDEFFFA8DCF1FF207CBDFF0000
+ 0000000000000000000000000000000000000000000000000000000000002C61
+ 8EFFA6CAEEFFABCCEAFFA7D0F6FFA8D0F6FFABCCEAFFA7CDEEFF2D6299FF0000
+ 0000000000000000000000000000000000000000000000000000000000004C72
+ 49FF347499FF9CCCF8FFAFD4F7FFAFD4F7FFA5CFF6FF357AA1FF4A6A46FF0000
+ 000000000000000000000000000000000000000000000000000079935DFF2785
+ 4EFFB3F5C8FF49898FFF4B7FA0FF4B7FA0FF49898FFFA9E8BAFF26844DFF738C
+ 59FF0000000000000000000000000000000000000000AFE0ACFF37945DFF9FFD
+ C6FF91EFB8FF78D69FFF6FCD96FF69C68FFF62BF88FF73CF98FF94F0B9FF3088
+ 51FF788754FF000000000000000000000000849D6CFF45A26BFF82E0A9FF82E0
+ A9FF6FCD96FF69C790FF64C28BFF5EBC85FF57B57EFF50AE77FF6BC891FF67C0
+ 8AFF4F9A66FF769264FF0000000000000000287CCEFF78B3EAFF5AB881FF62C0
+ 89FF62C089FF5FBD86FF5AB881FF55B37CFF4FAD76FF49A770FF419E67FF4DAB
+ 74FF7EB8EDFF2974C7FF0000000000000000297DD1FF82BAEEFF409E67FF6ECC
+ 95FF5BB881FF58B57EFF53B17AFF4FAC75FF54B17AFF51AD76FF67C18AFF3B92
+ 5CFF83BCEFFF2A77CAFF0000000000000000000000002579CDFF429D67FF318F
+ 58FF63C18AFF63C18AFF63C18AFF63C18AFF63C18AFF63C18AFF2D8A53FF2F88
+ 53FF2E7ECEFF6DA2D3FF0000000000000000000000000000000000000000668C
+ 57FF428B55FF338952FF2E8851FF2D8750FF2E854EFF39854EFF4F824EFF0000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000565D68FF133F7AFF0D3E7DFF0C3C76FF123969FF4E5663FF000000000000
+ 0000000000000000000000000000000000000000000000000000000000005F63
+ 69FF284D7DFF0F498AFF0F4988FF0E4581FF0C3E73FF1B3D60FF595E63FF0000
+ 0000000000000000000000000000000000000000000000000000000000003752
+ 79FF0F498FFF0C3E76FF0C3E73FF0E3E73FF113F70FF0F3661FF143050FF0000
+ 0000000000000000000000000000000000000000000000000000000000001037
+ 73FF7893B5FF8AB7E4FF6793C3FF11355BFF15395FFF1C3959FF103255FF0000
+ 0000000000000000000000000000000000000000000000000000000000001F5C
+ 99FFBDD7EFFFA3C9EDFF9FC5E8FF74A1CDFF81B0DDFFB7D3EBFF2365A4FF0000
+ 000000000000000000000000000000000000000000000000000000000000395F
+ 89FFA6CAEEFFABCCEAFFA7D0F6FFA8D0F6FFABCCEAFFA7CDEEFF2F6299FF0000
+ 000000000000000000000000000000000000000000000000000000000000966B
+ 3EFF537291FF9CCCF8FFAFD4F7FFAFD4F7FFA5CFF6FF51799AFF8C643CFF0000
+ 0000000000000000000000000000000000000000000000000000A57645FFB17D
+ 3FFFD8BEA0FF968271FF5572A4FF435EB5FFA2795FFFD9BEA0FFB48042FFA875
+ 46FF0000000000000000000000000000000000000000C29A70FFB27D41FFB480
+ 42FFDCBF9EFFBE8A4CFFC4B6BCFF5E67C8FFB3814DFFD3B088FFC29159FFAF7A
+ 3EFF9F6F41FF000000000000000000000000A5774AFFC3925BFFE2CAB0FFB682
+ 44FFB78345FFB88855FF4A5BD0FF5060D2FFBA874CFFB37F41FFBF8A4EFFD0A9
+ 7DFFBE8D57FF9C6F46FF0000000000000000287CCEFF78B3EAFFCEA679FFD2AE
+ 83FFD0A97DFFB78859FF4D4EA6FF77627CFFB6844BFFC4935CFFC18E55FFC79A
+ 67FF7EB8EDFF2974C7FF0000000000000000297DD1FF82BAEEFFC18F55FFD8B9
+ 94FFCEA678FFCCA375FFBA9370FFB27F44FFCA9F6EFFC89C69FFD3AE85FFB884
+ 49FF83BCEFFF2A77CAFF0000000000000000000000002579CDFFC08E54FFB581
+ 43FFD3AF85FFD3AF85FFD1AB7FFFB98547FFD2AE83FFD3AF85FFB07B3FFFA976
+ 3CFF2E7ECEFF6DA2D3FF00000000000000000000000000000000000000009966
+ 34FFAF7A41FFAE793DFFAD783CFFAD783CFFAA7539FFAA753CFF936131FF0000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000
}
end
end
diff --git a/Client/UfrmAccountControl.pas b/Client/UfrmAccountControl.pas
index f507c70..9a2434b 100644
--- a/Client/UfrmAccountControl.pas
+++ b/Client/UfrmAccountControl.pas
@@ -1,354 +1,363 @@
-(*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at
- * http://www.opensource.org/licenses/cddl1.php.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at
- * http://www.opensource.org/licenses/cddl1.php. If applicable,
- * add the following below this CDDL HEADER, with the fields enclosed
- * by brackets "[]" replaced with your own identifying * information:
- * Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- *
- *
- * Portions Copyright 2007 Andreas Schneider
- *)
-unit UfrmAccountControl;
-
-{$mode objfpc}{$H+}
-
-interface
-
-uses
- Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, ComCtrls,
- VirtualTrees, VTHeaderPopup, UEnhancedMemoryStream, UEnums;
-
-type
-
- { TfrmAccountControl }
-
- TfrmAccountControl = class(TForm)
- ilToolbar: TImageList;
- ilAccesslevel: TImageList;
- tbMain: TToolBar;
- tbRefresh: TToolButton;
- tbAddUser: TToolButton;
- tbEditUser: TToolButton;
- tbDeleteUser: TToolButton;
- tbSeparator1: TToolButton;
- vstAccounts: TVirtualStringTree;
- procedure tbEditUserClick(Sender: TObject);
- procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
- procedure FormCreate(Sender: TObject);
- procedure FormDestroy(Sender: TObject);
- procedure FormShow(Sender: TObject);
- procedure tbAddUserClick(Sender: TObject);
- procedure tbDeleteUserClick(Sender: TObject);
- procedure tbRefreshClick(Sender: TObject);
- procedure vstAccountsDblClick(Sender: TObject);
- procedure vstAccountsGetImageIndex(Sender: TBaseVirtualTree;
- Node: PVirtualNode; Kind: TVTImageKind; Column: TColumnIndex;
- var Ghosted: Boolean; var ImageIndex: Integer);
- procedure vstAccountsGetText(Sender: TBaseVirtualTree; Node: PVirtualNode;
- Column: TColumnIndex; TextType: TVSTTextType; var CellText: WideString);
- protected
- procedure OnModifyUserResponse(ABuffer: TEnhancedMemoryStream);
- procedure OnDeleteUserResponse(ABuffer: TEnhancedMemoryStream);
- procedure OnListUsersPacket(ABuffer: TEnhancedMemoryStream);
- function FindNode(AUsername: string): PVirtualNode;
- public
- { public declarations }
- end;
-
-var
- frmAccountControl: TfrmAccountControl;
-
-implementation
-
-uses
- UdmNetwork, UPacket, UPacketHandlers, UAdminHandling, UfrmEditAccount;
-
-type
- PAccountInfo = ^TAccountInfo;
- TAccountInfo = record
- Username: string;
- AccessLevel: TAccessLevel;
- end;
-
- { TModifyUserPacket }
-
- TModifyUserPacket = class(TPacket)
- constructor Create(AUsername, APassword: string; AAccessLevel: TAccessLevel);
- end;
-
- { TDeleteUserPacket }
-
- TDeleteUserPacket = class(TPacket)
- constructor Create(AUsername: string);
- end;
-
- { TRequestUserListPacket }
-
- TRequestUserListPacket = class(TPacket)
- constructor Create;
- end;
-
-{ TModifyUserPacket }
-
-constructor TModifyUserPacket.Create(AUsername, APassword: string;
- AAccessLevel: TAccessLevel);
-begin
- inherited Create($03, 0);
- FStream.WriteByte($05);
- FStream.WriteStringNull(AUsername);
- FStream.WriteStringNull(APassword);
- FStream.WriteByte(Byte(AAccessLevel));
-end;
-
-{ TDeleteUserPacket }
-
-constructor TDeleteUserPacket.Create(AUsername: string);
-begin
- inherited Create($03, 0);
- FStream.WriteByte($06);
- FStream.WriteStringNull(AUsername);
-end;
-
-{ TRequestUserListPacket }
-
-constructor TRequestUserListPacket.Create;
-begin
- inherited Create($03, 0);
- FStream.WriteByte($07);
-end;
-
-{ TfrmAccountControl }
-
-procedure TfrmAccountControl.FormCreate(Sender: TObject);
-begin
- vstAccounts.NodeDataSize := SizeOf(TAccountInfo);
-
- AdminPacketHandlers[$05] := TPacketHandler.Create(0, @OnModifyUserResponse);
- AdminPacketHandlers[$06] := TPacketHandler.Create(0, @OnDeleteUserResponse);
- AdminPacketHandlers[$07] := TPacketHandler.Create(0, @OnListUsersPacket);
-end;
-
-procedure TfrmAccountControl.FormClose(Sender: TObject;
- var CloseAction: TCloseAction);
-begin
- CloseAction := caHide;
-end;
-
-procedure TfrmAccountControl.tbEditUserClick(Sender: TObject);
-var
- selected: PVirtualNode;
- accountInfo: PAccountInfo;
-begin
- selected := vstAccounts.GetFirstSelected;
- if selected <> nil then
- begin
- accountInfo := vstAccounts.GetNodeData(selected);
- with frmEditAccount do
- begin
- edUsername.Text := accountInfo^.Username;
- edUsername.Color := clBtnFace;
- edUsername.ReadOnly := True;
- edPassword.Text := '';
- lblPasswordHint.Visible := True;
- SetAccessLevel(accountInfo^.AccessLevel);
- if ShowModal = mrOK then
- dmNetwork.Send(TModifyUserPacket.Create(edUsername.Text, edPassword.Text, GetAccessLevel));
- end;
- end;
-end;
-
-procedure TfrmAccountControl.FormDestroy(Sender: TObject);
-begin
- if AdminPacketHandlers[$05] <> nil then FreeAndNil(AdminPacketHandlers[$05]);
- if AdminPacketHandlers[$06] <> nil then FreeAndNil(AdminPacketHandlers[$06]);
- if AdminPacketHandlers[$07] <> nil then FreeAndNil(AdminPacketHandlers[$07]);
-end;
-
-procedure TfrmAccountControl.FormShow(Sender: TObject);
-begin
- tbRefreshClick(Sender);
-end;
-
-procedure TfrmAccountControl.tbAddUserClick(Sender: TObject);
-begin
- with frmEditAccount do
- begin
- edUsername.Text := '';
- edUsername.Color := clWindow;
- edUsername.ReadOnly := False;
- edPassword.Text := '';
- lblPasswordHint.Visible := False;
- cbAccessLevel.ItemIndex := 2;
- if ShowModal = mrOK then
- dmNetwork.Send(TModifyUserPacket.Create(edUsername.Text, edPassword.Text, GetAccessLevel));
- end;
-end;
-
-procedure TfrmAccountControl.tbDeleteUserClick(Sender: TObject);
-var
- selected: PVirtualNode;
- accountInfo: PAccountInfo;
-begin
- selected := vstAccounts.GetFirstSelected;
- if selected <> nil then
- begin
- accountInfo := vstAccounts.GetNodeData(selected);
- if MessageDlg('Confirmation', Format('Do you really want to delete "%s"?', [accountInfo^.Username]), mtConfirmation, [mbYes, mbNo], 0) = mrYes then
- dmNetwork.Send(TDeleteUserPacket.Create(accountInfo^.Username));
- end;
-end;
-
-procedure TfrmAccountControl.tbRefreshClick(Sender: TObject);
-begin
- dmNetwork.Send(TRequestUserListPacket.Create);
-end;
-
-procedure TfrmAccountControl.vstAccountsDblClick(Sender: TObject);
-begin
- tbEditUserClick(Sender);
-end;
-
-procedure TfrmAccountControl.vstAccountsGetImageIndex(Sender: TBaseVirtualTree;
- Node: PVirtualNode; Kind: TVTImageKind; Column: TColumnIndex;
- var Ghosted: Boolean; var ImageIndex: Integer);
-var
- accountInfo: PAccountInfo;
-begin
- if Column = 0 then
- begin
- accountInfo := Sender.GetNodeData(Node);
- case accountInfo^.AccessLevel of
- alNone: ImageIndex := 0;
- alView: ImageIndex := 1;
- alNormal: ImageIndex := 2;
- alAdministrator: ImageIndex := 3;
- end;
- end;
-end;
-
-procedure TfrmAccountControl.vstAccountsGetText(Sender: TBaseVirtualTree;
- Node: PVirtualNode; Column: TColumnIndex; TextType: TVSTTextType;
- var CellText: WideString);
-var
- accountInfo: PAccountInfo;
-begin
- accountInfo := Sender.GetNodeData(Node);
- case Column of
- 1: CellText := accountInfo^.Username;
- 2: CellText := GetAccessLevelString(accountInfo^.AccessLevel);
- else
- CellText := '';
- end;
-end;
-
-procedure TfrmAccountControl.OnModifyUserResponse(ABuffer: TEnhancedMemoryStream);
-var
- node: PVirtualNode;
- modifyStatus: TModifyUserStatus;
- username: string;
- accountInfo: PAccountInfo;
-begin
- modifyStatus := TModifyUserStatus(ABuffer.ReadByte);
- username := ABuffer.ReadStringNull;
- case modifyStatus of
- muAdded:
- begin
- node := vstAccounts.AddChild(nil);
- accountInfo := vstAccounts.GetNodeData(node);
- accountInfo^.Username := username;
- accountInfo^.AccessLevel := TAccessLevel(ABuffer.ReadByte);
- Messagedlg('Success', Format('The user "%s" has been added.', [username]), mtInformation, [mbOK], 0);
- end;
- muModified:
- begin
- node := FindNode(username);
- if node <> nil then
- begin
- accountInfo := vstAccounts.GetNodeData(node);
- accountInfo^.AccessLevel := TAccessLevel(ABuffer.ReadByte);
- Messagedlg('Success', Format('The user "%s" has been modified.', [username]), mtInformation, [mbOK], 0);
- end;
- end;
- muInvalidUsername:
- MessageDlg('Error', Format('The username "%s" is not valid.', [username]), mtError, [mbOK], 0);
- end;
-end;
-
-procedure TfrmAccountControl.OnDeleteUserResponse(ABuffer: TEnhancedMemoryStream);
-var
- node: PVirtualNode;
- deleteStatus: TDeleteUserStatus;
- username: string;
-begin
- deleteStatus := TDeleteUserStatus(ABuffer.ReadByte);
- username := ABuffer.ReadStringNull;
- case deleteStatus of
- duDeleted:
- begin
- node := FindNode(username);
- if node <> nil then
- begin
- vstAccounts.DeleteNode(node);
- Messagedlg('Success', Format('The user "%s" has been deleted.', [username]), mtInformation, [mbOK], 0);
- end;
- end;
- duNotFound:
- MessageDlg('Error', Format('The user "%s" could not be deleted. Maybe your list is out of date or you tried to delete yourself.', [username]), mtError, [mbOK], 0);
- end;
-end;
-
-procedure TfrmAccountControl.OnListUsersPacket(ABuffer: TEnhancedMemoryStream);
-var
- node: PVirtualNode;
- accountInfo: PAccountInfo;
- i, count: Word;
-begin
- vstAccounts.BeginUpdate;
- vstAccounts.Clear;
- count := ABuffer.ReadWord;
- for i := 1 to count do
- begin
- node := vstAccounts.AddChild(nil);
- accountInfo := vstAccounts.GetNodeData(node);
- accountInfo^.Username := ABuffer.ReadStringNull;
- accountInfo^.AccessLevel := TAccessLevel(ABuffer.ReadByte);
- end;
- vstAccounts.EndUpdate;
-end;
-
-function TfrmAccountControl.FindNode(AUsername: string): PVirtualNode;
-var
- node: PVirtualNode;
- accountInfo: PAccountInfo;
-begin
- Result := nil;
- node := vstAccounts.GetFirst;
- while (node <> nil) and (Result = nil) do
- begin
- accountInfo := vstAccounts.GetNodeData(node);
- if accountInfo^.Username = AUsername then
- Result := node;
- node := vstAccounts.GetNext(node);
- end;
-end;
-
-initialization
- {$I UfrmAccountControl.lrs}
-
-end.
-
+(*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at
+ * http://www.opensource.org/licenses/cddl1.php.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at
+ * http://www.opensource.org/licenses/cddl1.php. If applicable,
+ * add the following below this CDDL HEADER, with the fields enclosed
+ * by brackets "[]" replaced with your own identifying * information:
+ * Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ *
+ *
+ * Portions Copyright 2008 Andreas Schneider
+ *)
+unit UfrmAccountControl;
+
+{$mode objfpc}{$H+}
+
+interface
+
+uses
+ Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, ComCtrls,
+ VirtualTrees, VTHeaderPopup, UEnhancedMemoryStream, UEnums;
+
+type
+
+ { TfrmAccountControl }
+
+ TfrmAccountControl = class(TForm)
+ ilToolbar: TImageList;
+ ilAccesslevel: TImageList;
+ tbMain: TToolBar;
+ tbRefresh: TToolButton;
+ tbAddUser: TToolButton;
+ tbEditUser: TToolButton;
+ tbDeleteUser: TToolButton;
+ tbSeparator1: TToolButton;
+ vstAccounts: TVirtualStringTree;
+ procedure tbEditUserClick(Sender: TObject);
+ procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
+ procedure FormCreate(Sender: TObject);
+ procedure FormDestroy(Sender: TObject);
+ procedure FormShow(Sender: TObject);
+ procedure tbAddUserClick(Sender: TObject);
+ procedure tbDeleteUserClick(Sender: TObject);
+ procedure tbRefreshClick(Sender: TObject);
+ procedure vstAccountsDblClick(Sender: TObject);
+ procedure vstAccountsGetImageIndex(Sender: TBaseVirtualTree;
+ Node: PVirtualNode; Kind: TVTImageKind; Column: TColumnIndex;
+ var Ghosted: Boolean; var ImageIndex: Integer);
+ procedure vstAccountsGetText(Sender: TBaseVirtualTree; Node: PVirtualNode;
+ Column: TColumnIndex; TextType: TVSTTextType; var CellText: WideString);
+ protected
+ procedure OnModifyUserResponse(ABuffer: TEnhancedMemoryStream);
+ procedure OnDeleteUserResponse(ABuffer: TEnhancedMemoryStream);
+ procedure OnListUsersPacket(ABuffer: TEnhancedMemoryStream);
+ function FindNode(AUsername: string): PVirtualNode;
+ public
+ { public declarations }
+ end;
+
+var
+ frmAccountControl: TfrmAccountControl;
+
+implementation
+
+uses
+ UdmNetwork, UPacket, UPacketHandlers, UAdminHandling, UfrmEditAccount;
+
+type
+ PAccountInfo = ^TAccountInfo;
+ TAccountInfo = record
+ Username: string;
+ AccessLevel: TAccessLevel;
+ end;
+
+ { TModifyUserPacket }
+
+ TModifyUserPacket = class(TPacket)
+ constructor Create(AUsername, APassword: string; AAccessLevel: TAccessLevel);
+ end;
+
+ { TDeleteUserPacket }
+
+ TDeleteUserPacket = class(TPacket)
+ constructor Create(AUsername: string);
+ end;
+
+ { TRequestUserListPacket }
+
+ TRequestUserListPacket = class(TPacket)
+ constructor Create;
+ end;
+
+{ TModifyUserPacket }
+
+constructor TModifyUserPacket.Create(AUsername, APassword: string;
+ AAccessLevel: TAccessLevel);
+begin
+ inherited Create($03, 0);
+ FStream.WriteByte($05);
+ FStream.WriteStringNull(AUsername);
+ FStream.WriteStringNull(APassword);
+ FStream.WriteByte(Byte(AAccessLevel));
+end;
+
+{ TDeleteUserPacket }
+
+constructor TDeleteUserPacket.Create(AUsername: string);
+begin
+ inherited Create($03, 0);
+ FStream.WriteByte($06);
+ FStream.WriteStringNull(AUsername);
+end;
+
+{ TRequestUserListPacket }
+
+constructor TRequestUserListPacket.Create;
+begin
+ inherited Create($03, 0);
+ FStream.WriteByte($07);
+end;
+
+{ TfrmAccountControl }
+
+procedure TfrmAccountControl.FormCreate(Sender: TObject);
+begin
+ vstAccounts.NodeDataSize := SizeOf(TAccountInfo);
+
+ AdminPacketHandlers[$05] := TPacketHandler.Create(0, @OnModifyUserResponse);
+ AdminPacketHandlers[$06] := TPacketHandler.Create(0, @OnDeleteUserResponse);
+ AdminPacketHandlers[$07] := TPacketHandler.Create(0, @OnListUsersPacket);
+end;
+
+procedure TfrmAccountControl.FormClose(Sender: TObject;
+ var CloseAction: TCloseAction);
+begin
+ CloseAction := caHide;
+end;
+
+procedure TfrmAccountControl.tbEditUserClick(Sender: TObject);
+var
+ selected: PVirtualNode;
+ accountInfo: PAccountInfo;
+begin
+ selected := vstAccounts.GetFirstSelected;
+ if selected <> nil then
+ begin
+ accountInfo := vstAccounts.GetNodeData(selected);
+ with frmEditAccount do
+ begin
+ edUsername.Text := accountInfo^.Username;
+ edUsername.Color := clBtnFace;
+ edUsername.ReadOnly := True;
+ edPassword.Text := '';
+ lblPasswordHint.Visible := True;
+ SetAccessLevel(accountInfo^.AccessLevel);
+ if ShowModal = mrOK then
+ dmNetwork.Send(TModifyUserPacket.Create(edUsername.Text,
+ edPassword.Text, GetAccessLevel));
+ end;
+ end;
+end;
+
+procedure TfrmAccountControl.FormDestroy(Sender: TObject);
+begin
+ if AdminPacketHandlers[$05] <> nil then FreeAndNil(AdminPacketHandlers[$05]);
+ if AdminPacketHandlers[$06] <> nil then FreeAndNil(AdminPacketHandlers[$06]);
+ if AdminPacketHandlers[$07] <> nil then FreeAndNil(AdminPacketHandlers[$07]);
+end;
+
+procedure TfrmAccountControl.FormShow(Sender: TObject);
+begin
+ tbRefreshClick(Sender);
+end;
+
+procedure TfrmAccountControl.tbAddUserClick(Sender: TObject);
+begin
+ with frmEditAccount do
+ begin
+ edUsername.Text := '';
+ edUsername.Color := clWindow;
+ edUsername.ReadOnly := False;
+ edPassword.Text := '';
+ lblPasswordHint.Visible := False;
+ cbAccessLevel.ItemIndex := 2;
+ if ShowModal = mrOK then
+ dmNetwork.Send(TModifyUserPacket.Create(edUsername.Text, edPassword.Text,
+ GetAccessLevel));
+ end;
+end;
+
+procedure TfrmAccountControl.tbDeleteUserClick(Sender: TObject);
+var
+ selected: PVirtualNode;
+ accountInfo: PAccountInfo;
+begin
+ selected := vstAccounts.GetFirstSelected;
+ if selected <> nil then
+ begin
+ accountInfo := vstAccounts.GetNodeData(selected);
+ if MessageDlg('Confirmation', Format('Do you really want to delete "%s"?',
+ [accountInfo^.Username]), mtConfirmation, [mbYes, mbNo], 0) = mrYes then
+ dmNetwork.Send(TDeleteUserPacket.Create(accountInfo^.Username));
+ end;
+end;
+
+procedure TfrmAccountControl.tbRefreshClick(Sender: TObject);
+begin
+ dmNetwork.Send(TRequestUserListPacket.Create);
+end;
+
+procedure TfrmAccountControl.vstAccountsDblClick(Sender: TObject);
+begin
+ tbEditUserClick(Sender);
+end;
+
+procedure TfrmAccountControl.vstAccountsGetImageIndex(Sender: TBaseVirtualTree;
+ Node: PVirtualNode; Kind: TVTImageKind; Column: TColumnIndex;
+ var Ghosted: Boolean; var ImageIndex: Integer);
+var
+ accountInfo: PAccountInfo;
+begin
+ if Column = 0 then
+ begin
+ accountInfo := Sender.GetNodeData(Node);
+ case accountInfo^.AccessLevel of
+ alNone: ImageIndex := 0;
+ alView: ImageIndex := 1;
+ alNormal: ImageIndex := 2;
+ alAdministrator: ImageIndex := 3;
+ end;
+ end;
+end;
+
+procedure TfrmAccountControl.vstAccountsGetText(Sender: TBaseVirtualTree;
+ Node: PVirtualNode; Column: TColumnIndex; TextType: TVSTTextType;
+ var CellText: WideString);
+var
+ accountInfo: PAccountInfo;
+begin
+ accountInfo := Sender.GetNodeData(Node);
+ case Column of
+ 1: CellText := accountInfo^.Username;
+ 2: CellText := GetAccessLevelString(accountInfo^.AccessLevel);
+ else
+ CellText := '';
+ end;
+end;
+
+procedure TfrmAccountControl.OnModifyUserResponse(ABuffer: TEnhancedMemoryStream);
+var
+ node: PVirtualNode;
+ modifyStatus: TModifyUserStatus;
+ username: string;
+ accountInfo: PAccountInfo;
+begin
+ modifyStatus := TModifyUserStatus(ABuffer.ReadByte);
+ username := ABuffer.ReadStringNull;
+ case modifyStatus of
+ muAdded:
+ begin
+ node := vstAccounts.AddChild(nil);
+ accountInfo := vstAccounts.GetNodeData(node);
+ accountInfo^.Username := username;
+ accountInfo^.AccessLevel := TAccessLevel(ABuffer.ReadByte);
+ Messagedlg('Success', Format('The user "%s" has been added.', [username]),
+ mtInformation, [mbOK], 0);
+ end;
+ muModified:
+ begin
+ node := FindNode(username);
+ if node <> nil then
+ begin
+ accountInfo := vstAccounts.GetNodeData(node);
+ accountInfo^.AccessLevel := TAccessLevel(ABuffer.ReadByte);
+ Messagedlg('Success', Format('The user "%s" has been modified.', [username]),
+ mtInformation, [mbOK], 0);
+ end;
+ end;
+ muInvalidUsername:
+ MessageDlg('Error', Format('The username "%s" is not valid.', [username]),
+ mtError, [mbOK], 0);
+ end;
+end;
+
+procedure TfrmAccountControl.OnDeleteUserResponse(ABuffer: TEnhancedMemoryStream);
+var
+ node: PVirtualNode;
+ deleteStatus: TDeleteUserStatus;
+ username: string;
+begin
+ deleteStatus := TDeleteUserStatus(ABuffer.ReadByte);
+ username := ABuffer.ReadStringNull;
+ case deleteStatus of
+ duDeleted:
+ begin
+ node := FindNode(username);
+ if node <> nil then
+ begin
+ vstAccounts.DeleteNode(node);
+ Messagedlg('Success', Format('The user "%s" has been deleted.', [username]),
+ mtInformation, [mbOK], 0);
+ end;
+ end;
+ duNotFound:
+ MessageDlg('Error', Format('The user "%s" could not be deleted. Maybe ' +
+ 'your list is out of date or you tried to delete yourself.', [username]),
+ mtError, [mbOK], 0);
+ end;
+end;
+
+procedure TfrmAccountControl.OnListUsersPacket(ABuffer: TEnhancedMemoryStream);
+var
+ node: PVirtualNode;
+ accountInfo: PAccountInfo;
+ i, count: Word;
+begin
+ vstAccounts.BeginUpdate;
+ vstAccounts.Clear;
+ count := ABuffer.ReadWord;
+ for i := 1 to count do
+ begin
+ node := vstAccounts.AddChild(nil);
+ accountInfo := vstAccounts.GetNodeData(node);
+ accountInfo^.Username := ABuffer.ReadStringNull;
+ accountInfo^.AccessLevel := TAccessLevel(ABuffer.ReadByte);
+ end;
+ vstAccounts.EndUpdate;
+end;
+
+function TfrmAccountControl.FindNode(AUsername: string): PVirtualNode;
+var
+ node: PVirtualNode;
+ accountInfo: PAccountInfo;
+begin
+ Result := nil;
+ node := vstAccounts.GetFirst;
+ while (node <> nil) and (Result = nil) do
+ begin
+ accountInfo := vstAccounts.GetNodeData(node);
+ if accountInfo^.Username = AUsername then
+ Result := node;
+ node := vstAccounts.GetNext(node);
+ end;
+end;
+
+initialization
+ {$I UfrmAccountControl.lrs}
+
+end.
+
diff --git a/Client/UfrmMain.pas b/Client/UfrmMain.pas
index 42e5a93..9ef4a22 100644
--- a/Client/UfrmMain.pas
+++ b/Client/UfrmMain.pas
@@ -79,6 +79,7 @@ type
lblY: TLabel;
lbClients: TListBox;
MainMenu1: TMainMenu;
+ mnuRegionControl: TMenuItem;
mnuVirtualLayer: TMenuItem;
mnuGrabTileID: TMenuItem;
mnuGrabHue: TMenuItem;
@@ -201,6 +202,7 @@ type
procedure mnuGrabHueClick(Sender: TObject);
procedure mnuGrabTileIDClick(Sender: TObject);
procedure mnuLargeScaleCommandsClick(Sender: TObject);
+ procedure mnuRegionControlClick(Sender: TObject);
procedure mnuShutdownClick(Sender: TObject);
procedure oglGameWindowDblClick(Sender: TObject);
procedure oglGameWindowMouseDown(Sender: TObject; Button: TMouseButton;
@@ -314,7 +316,8 @@ uses
UfrmAccountControl, UGraphicHelper, ImagingComponents, UfrmDrawSettings,
UfrmBoundaries, UfrmElevateSettings, UfrmConfirmation, UfrmMoveSettings,
UfrmAbout, UPacketHandlers, UfrmHueSettings, UfrmRadar, UfrmLargeScaleCommand,
- UfrmLogin, UResourceManager, UfrmVirtualLayer, UfrmFilter, UfrmTileInfo;
+ UfrmLogin, UResourceManager, UfrmVirtualLayer, UfrmFilter, UfrmTileInfo,
+ UfrmRegionControl;
type
TGLArrayf4 = array[0..3] of GLfloat;
@@ -392,6 +395,11 @@ begin
frmLargeScaleCommand.Show;
end;
+procedure TfrmMain.mnuRegionControlClick(Sender: TObject);
+begin
+ frmRegionControl.Show;
+end;
+
procedure TfrmMain.mnuShutdownClick(Sender: TObject);
begin
dmNetwork.Send(TQuitServerPacket.Create(''));
@@ -541,6 +549,8 @@ begin
map := FLandscape.MapCell[tileX, tileY];
if frmDrawSettings.cbForceAltitude.Checked then
map.Altitude := frmDrawSettings.seForceAltitude.Value;
+ if frmDrawSettings.cbRandomHeight.Checked then
+ Inc(map.Altitude, Random(frmDrawSettings.seRandomHeight.Value));
dmNetwork.Send(TDrawMapPacket.Create(map.X, map.Y, map.Z, tileInfo^.ID));
end else
begin