diff --git a/official/2.20/Demos/1 Basic All Data Access/ADO/Project1.bdsproj b/official/2.20/Demos/1 Basic All Data Access/ADO/Project1.bdsproj
new file mode 100644
index 0000000..e5735e3
--- /dev/null
+++ b/official/2.20/Demos/1 Basic All Data Access/ADO/Project1.bdsproj
@@ -0,0 +1,492 @@
+
+
+
+
+
+
+
+
+
+
+
+ Project1.dpr
+
+
+ 7.0
+
+
+ 8
+ 0
+ 1
+ 1
+ 0
+ 0
+ 1
+ 1
+ 1
+ 0
+ 0
+ 1
+ 0
+ 1
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ True
+ True
+ WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+
+ False
+
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ False
+ False
+ False
+ True
+ True
+ True
+ True
+ True
+ True
+
+
+
+ 3
+ 0
+ False
+ 1
+ True
+ True
+ False
+ 16384
+ 1048576
+ 4194304
+ Teste basico do usercontrol
+
+
+
+
+
+
+ $(DELPHI)\Lib\Debug
+ vcl;rtl;vclx;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;visualclx;visualdbclx;vclactnband;vclshlctrls;IntrawebDB_50_70;Intraweb_50_70;Rave50CLX;Rave50VCL;dclOffice2k;RxCtl7;RxBDE7;RxDB7;QmDToolz;rbTDBC77;rbDBDE77;rbDAD77;rbDIDE77;rbUSER77;rbRCL77;rbBDE77;rbIDE77;rbCIDE77;rbRIDE77;rbRAP77;xtradev7;Halcyon6D7;lmd60_d7;SWTools_RT;VCLZipD7;XPCompz;SwUserLockD7;IndyCore70;IndySystem70;IndyProtocols70
+ EUREKALOG;EUREKALOG_VER5
+
+ False
+
+
+
+
+
+ False
+
+
+ True
+ False
+
+
+
+ $00000000
+ C:\Arquivos de programas\Borland\Delphi7\Bin\
+
+
+ False
+ False
+ 1
+ 0
+ 0
+ 0
+ False
+ False
+ False
+ False
+ False
+ 1046
+ 1252
+
+
+
+
+ 1.0.0.0
+
+
+
+
+
+ 1.0.0.0
+
+
+
+
+
diff --git a/official/2.20/Demos/1 Basic All Data Access/ADO/Project1.cfg b/official/2.20/Demos/1 Basic All Data Access/ADO/Project1.cfg
new file mode 100644
index 0000000..cdd5b66
--- /dev/null
+++ b/official/2.20/Demos/1 Basic All Data Access/ADO/Project1.cfg
@@ -0,0 +1,44 @@
+-$A8
+-$B-
+-$C+
+-$D+
+-$E-
+-$F-
+-$G+
+-$H+
+-$I+
+-$J-
+-$K-
+-$L+
+-$M-
+-$N+
+-$O-
+-$P+
+-$Q-
+-$R-
+-$S-
+-$T-
+-$U-
+-$V+
+-$W+
+-$X+
+-$YD
+-$Z1
+-cg
+-vn
+-vr
+-AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+-H+
+-W+
+-M
+-$M16384,1048576
+-K$00400000
+-LE"e:\arquivos de programas\borland\delphi7\Projects\Bpl"
+-LN"e:\arquivos de programas\borland\delphi7\Projects\Bpl"
+-U"e:\arquivos de programas\borland\delphi7\Lib\Debug"
+-O"e:\arquivos de programas\borland\delphi7\Lib\Debug"
+-I"e:\arquivos de programas\borland\delphi7\Lib\Debug"
+-R"e:\arquivos de programas\borland\delphi7\Lib\Debug"
+-w-UNSAFE_TYPE
+-w-UNSAFE_CODE
+-w-UNSAFE_CAST
diff --git a/official/2.20/Demos/1 Basic All Data Access/ADO/Project1.dof b/official/2.20/Demos/1 Basic All Data Access/ADO/Project1.dof
new file mode 100644
index 0000000..9d6f6fe
--- /dev/null
+++ b/official/2.20/Demos/1 Basic All Data Access/ADO/Project1.dof
@@ -0,0 +1,142 @@
+[FileVersion]
+Version=7.0
+[Compiler]
+A=8
+B=0
+C=1
+D=1
+E=0
+F=0
+G=1
+H=1
+I=1
+J=0
+K=0
+L=1
+M=0
+N=1
+O=0
+P=1
+Q=0
+R=0
+S=0
+T=0
+U=0
+V=1
+W=1
+X=1
+Y=1
+Z=1
+ShowHints=1
+ShowWarnings=1
+UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+NamespacePrefix=
+SymbolDeprecated=1
+SymbolLibrary=1
+SymbolPlatform=1
+UnitLibrary=1
+UnitPlatform=1
+UnitDeprecated=1
+HResultCompat=1
+HidingMember=1
+HiddenVirtual=1
+Garbage=1
+BoundsError=1
+ZeroNilCompat=1
+StringConstTruncated=1
+ForLoopVarVarPar=1
+TypedConstVarPar=1
+AsgToTypedConst=1
+CaseLabelRange=1
+ForVariable=1
+ConstructingAbstract=1
+ComparisonFalse=1
+ComparisonTrue=1
+ComparingSignedUnsigned=1
+CombiningSignedUnsigned=1
+UnsupportedConstruct=1
+FileOpen=1
+FileOpenUnitSrc=1
+BadGlobalSymbol=1
+DuplicateConstructorDestructor=1
+InvalidDirective=1
+PackageNoLink=1
+PackageThreadVar=1
+ImplicitImport=1
+HPPEMITIgnored=1
+NoRetVal=1
+UseBeforeDef=1
+ForLoopVarUndef=1
+UnitNameMismatch=1
+NoCFGFileFound=1
+MessageDirective=1
+ImplicitVariants=1
+UnicodeToLocale=1
+LocaleToUnicode=1
+ImagebaseMultiple=1
+SuspiciousTypecast=1
+PrivatePropAccessor=1
+UnsafeType=0
+UnsafeCode=0
+UnsafeCast=0
+[Linker]
+MapFile=0
+OutputObjs=0
+ConsoleApp=1
+DebugInfo=1
+RemoteSymbols=1
+MinStackSize=16384
+MaxStackSize=1048576
+ImageBase=4194304
+ExeDescription=Teste basico do usercontrol
+[Directories]
+OutputDir=
+UnitOutputDir=
+PackageDLLOutputDir=
+PackageDCPOutputDir=
+SearchPath=$(DELPHI)\Lib\Debug
+Packages=vcl;rtl;vclx;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;visualclx;visualdbclx;vclactnband;vclshlctrls;IntrawebDB_50_70;Intraweb_50_70;Rave50CLX;Rave50VCL;dclOffice2k;RxCtl7;RxBDE7;RxDB7;QmDToolz;rbTDBC77;rbDBDE77;rbDAD77;rbDIDE77;rbUSER77;rbRCL77;rbBDE77;rbIDE77;rbCIDE77;rbRIDE77;rbRAP77;xtradev7;Halcyon6D7;lmd60_d7;SWTools_RT;VCLZipD7;XPCompz;SwUserLockD7;IndyCore70;IndySystem70;IndyProtocols70
+Conditionals=
+DebugSourceDirs=
+UsePackages=0
+[Parameters]
+RunParams=
+HostApplication=
+Launcher=
+UseLauncher=0
+DebugCWD=
+[Language]
+ActiveLang=
+ProjectLang=
+RootDir=C:\Arquivos de programas\Borland\Delphi7\Bin\
+[Version Info]
+IncludeVerInfo=0
+AutoIncBuild=0
+MajorVer=1
+MinorVer=0
+Release=0
+Build=0
+Debug=0
+PreRelease=0
+Special=0
+Private=0
+DLL=0
+Locale=1046
+CodePage=1252
+[Version Info Keys]
+CompanyName=
+FileDescription=
+FileVersion=1.0.0.0
+InternalName=
+LegalCopyright=
+LegalTrademarks=
+OriginalFilename=
+ProductName=
+ProductVersion=1.0.0.0
+Comments=
+[Excluded Packages]
+c:\arquivos de programas\borland\delphi7\Bin\dcldss70.bpl=Borland Decision Cube Components
+c:\arquivos de programas\borland\delphi7\Projects\Bpl\QDBGridz.bpl=QmD DBGrid
+[HistoryLists\hlUnitAliases]
+Count=1
+Item0=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
diff --git a/official/2.20/Demos/1 Basic All Data Access/ADO/Project1.dpr b/official/2.20/Demos/1 Basic All Data Access/ADO/Project1.dpr
new file mode 100644
index 0000000..8e656b4
--- /dev/null
+++ b/official/2.20/Demos/1 Basic All Data Access/ADO/Project1.dpr
@@ -0,0 +1,15 @@
+program Project1;
+
+uses
+
+ ExceptionLog,
+ Forms,
+ Unit1 in 'Unit1.pas' {Form1};
+
+{$R *.res}
+
+begin
+ Application.Initialize;
+ Application.CreateForm(TForm1, Form1);
+ Application.Run;
+end.
diff --git a/official/2.20/Demos/1 Basic All Data Access/ADO/Project1.drc b/official/2.20/Demos/1 Basic All Data Access/ADO/Project1.drc
new file mode 100644
index 0000000..485f359
--- /dev/null
+++ b/official/2.20/Demos/1 Basic All Data Access/ADO/Project1.drc
@@ -0,0 +1,940 @@
+/* VER180
+ Generated by the Borland Delphi Pascal Compiler
+ because -GD or --drc was supplied to the compiler.
+
+ This file contains compiler-generated resources that
+ were bound to the executable.
+ If this file is empty, then no compiler-generated
+ resources were bound to the produced executable.
+*/
+
+#define VDBConsts_SRemoteLogin 65072
+#define ADOConst_SMissingConnection 65073
+#define ADOConst_SNoDetailFilter 65074
+#define ADOConst_SBookmarksRequired 65075
+#define ADOConst_SMissingCommandText 65076
+#define ADOConst_SNoResultSet 65077
+#define ADOConst_SADOCreateError 65078
+#define ADOConst_SEventsNotSupported 65079
+#define ADOConst_SUsupportedFieldType 65080
+#define ADOConst_SConnectionRequired 65081
+#define ADOConst_SCantRequery 65082
+#define ADOConst_SNoFilterOptions 65083
+#define ADOConst_SRecordsetNotOpen 65084
+#define ADOConst_sNameAttr 65085
+#define ADOConst_sValueAttr 65086
+#define ComStrs_sFailsetCalSelRange 65088
+#define VDBConsts_SFirstRecord 65089
+#define VDBConsts_SPriorRecord 65090
+#define VDBConsts_SNextRecord 65091
+#define VDBConsts_SLastRecord 65092
+#define VDBConsts_SInsertRecord 65093
+#define VDBConsts_SDeleteRecord 65094
+#define VDBConsts_SEditRecord 65095
+#define VDBConsts_SPostEdit 65096
+#define VDBConsts_SCancelEdit 65097
+#define VDBConsts_SRefreshRecord 65098
+#define VDBConsts_SDeleteRecordQuestion 65099
+#define VDBConsts_SDeleteMultipleRecordsQuestion 65100
+#define VDBConsts_SDataSourceFixed 65101
+#define VDBConsts_SPropDefByLookup 65102
+#define VDBConsts_STooManyColumns 65103
+#define ComStrs_sTabFailDelete 65104
+#define ComStrs_sTabFailRetrieve 65105
+#define ComStrs_sTabFailGetObject 65106
+#define ComStrs_sTabFailSet 65107
+#define ComStrs_sTabFailSetObject 65108
+#define ComStrs_sTabMustBeMultiLine 65109
+#define ComStrs_sInvalidIndex 65110
+#define ComStrs_sInsertError 65111
+#define ComStrs_sPageIndexError 65112
+#define ComStrs_sInvalidComCtl32 65113
+#define ComStrs_sDateTimeMax 65114
+#define ComStrs_sDateTimeMin 65115
+#define ComStrs_sNeedAllowNone 65116
+#define ComStrs_sFailSetCalDateTime 65117
+#define ComStrs_sFailSetCalMaxSelRange 65118
+#define ComStrs_sFailSetCalMinMaxRange 65119
+#define IdResourceStrings_RSSocksServerRespondError 65120
+#define IdResourceStrings_RSSocksAuthMethodError 65121
+#define IdResourceStrings_RSSocksAuthError 65122
+#define IdResourceStrings_RSSocksServerGeneralError 65123
+#define IdResourceStrings_RSSocksServerPermissionError 65124
+#define IdResourceStrings_RSSocksServerNetUnreachableError 65125
+#define IdResourceStrings_RSSocksServerHostUnreachableError 65126
+#define IdResourceStrings_RSSocksServerConnectionRefusedError 65127
+#define IdResourceStrings_RSSocksServerTTLExpiredError 65128
+#define IdResourceStrings_RSSocksServerCommandError 65129
+#define IdResourceStrings_RSSocksServerAddressError 65130
+#define IdResourceStrings_RSUnevenSizeInDecodeStream 65131
+#define IdResourceStrings_RSUnevenSizeInEncodeStream 65132
+#define IdResourceStrings_RSMessageEncoderNotFound 65133
+#define IdResourceStrings_RSUnrecognizedUUEEncodingScheme 65134
+#define ComStrs_sTabFailClear 65135
+#define IdResourceStrings_RSStackENOTCONN 65136
+#define IdResourceStrings_RSStackESHUTDOWN 65137
+#define IdResourceStrings_RSStackETOOMANYREFS 65138
+#define IdResourceStrings_RSStackETIMEDOUT 65139
+#define IdResourceStrings_RSStackECONNREFUSED 65140
+#define IdResourceStrings_RSStackELOOP 65141
+#define IdResourceStrings_RSStackENAMETOOLONG 65142
+#define IdResourceStrings_RSStackEHOSTDOWN 65143
+#define IdResourceStrings_RSStackEHOSTUNREACH 65144
+#define IdResourceStrings_RSStackENOTEMPTY 65145
+#define IdResourceStrings_RSStackHOST_NOT_FOUND 65146
+#define IdResourceStrings_RSTIdMessagePartCreate 65147
+#define IdResourceStrings_RSSocksRequestFailed 65148
+#define IdResourceStrings_RSSocksRequestServerFailed 65149
+#define IdResourceStrings_RSSocksRequestIdentFailed 65150
+#define IdResourceStrings_RSSocksUnknownError 65151
+#define IdResourceStrings_RSStackEPROTOTYPE 65152
+#define IdResourceStrings_RSStackENOPROTOOPT 65153
+#define IdResourceStrings_RSStackEPROTONOSUPPORT 65154
+#define IdResourceStrings_RSStackESOCKTNOSUPPORT 65155
+#define IdResourceStrings_RSStackEOPNOTSUPP 65156
+#define IdResourceStrings_RSStackEPFNOSUPPORT 65157
+#define IdResourceStrings_RSStackEAFNOSUPPORT 65158
+#define IdResourceStrings_RSStackEADDRINUSE 65159
+#define IdResourceStrings_RSStackEADDRNOTAVAIL 65160
+#define IdResourceStrings_RSStackENETDOWN 65161
+#define IdResourceStrings_RSStackENETUNREACH 65162
+#define IdResourceStrings_RSStackENETRESET 65163
+#define IdResourceStrings_RSStackECONNABORTED 65164
+#define IdResourceStrings_RSStackECONNRESET 65165
+#define IdResourceStrings_RSStackENOBUFS 65166
+#define IdResourceStrings_RSStackEISCONN 65167
+#define IdResourceStrings_RSMsgClientInvalidEncoding 65168
+#define IdResourceStrings_RSInvalidServiceName 65169
+#define IdResourceStrings_RSStackError 65170
+#define IdResourceStrings_RSStackInvalidIP 65171
+#define IdResourceStrings_RSStackEINTR 65172
+#define IdResourceStrings_RSStackEBADF 65173
+#define IdResourceStrings_RSStackEACCES 65174
+#define IdResourceStrings_RSStackEFAULT 65175
+#define IdResourceStrings_RSStackEINVAL 65176
+#define IdResourceStrings_RSStackEMFILE 65177
+#define IdResourceStrings_RSStackEWOULDBLOCK 65178
+#define IdResourceStrings_RSStackEINPROGRESS 65179
+#define IdResourceStrings_RSStackEALREADY 65180
+#define IdResourceStrings_RSStackENOTSOCK 65181
+#define IdResourceStrings_RSStackEDESTADDRREQ 65182
+#define IdResourceStrings_RSStackEMSGSIZE 65183
+#define IdResourceStrings_RSInvalidPortRange 65184
+#define IdResourceStrings_RSReadTimeout 65185
+#define IdResourceStrings_RSReadLnMaxLineLengthExceeded 65186
+#define IdResourceStrings_RSEMailSymbolOutsideAddress 65187
+#define IdResourceStrings_RSWS2CallError 65188
+#define IdResourceStrings_RSWS2LoadError 65189
+#define IdResourceStrings_RSStatusResolving 65190
+#define IdResourceStrings_RSStatusConnecting 65191
+#define IdResourceStrings_RSStatusConnected 65192
+#define IdResourceStrings_RSStatusDisconnecting 65193
+#define IdResourceStrings_RSStatusDisconnected 65194
+#define IdResourceStrings_RSStatusText 65195
+#define IdResourceStrings_RSConnectTimeout 65196
+#define IdResourceStrings_RSMsgClientEncodingText 65197
+#define IdResourceStrings_RSMsgClientEncodingAttachment 65198
+#define IdResourceStrings_RSMsgClientUnkownMessagePartType 65199
+#define ComConst_SVarNotObject 65200
+#define ComConst_STooManyParams 65201
+#define IdResourceStrings_RSAlreadyConnected 65202
+#define IdResourceStrings_RSCannotAllocateSocket 65203
+#define IdResourceStrings_RSConnectionClosedGracefully 65204
+#define IdResourceStrings_RSCouldNotBindSocket 65205
+#define IdResourceStrings_RSFailedTimeZoneInfo 65206
+#define IdResourceStrings_RSNotEnoughDataInBuffer 65207
+#define IdResourceStrings_RSWinsockInitializationError 65208
+#define IdResourceStrings_RSSetSizeExceeded 65209
+#define IdResourceStrings_RSFileNotFound 65210
+#define IdResourceStrings_RSOnlyOneAntiFreeze 65211
+#define IdResourceStrings_RSNotConnected 65212
+#define IdResourceStrings_RSObjectTypeNotSupported 65213
+#define IdResourceStrings_RSIdNoDataToRead 65214
+#define IdResourceStrings_RSCanNotBindRange 65215
+#define DBConsts_STextTrue 65216
+#define DBConsts_SParameterNotFound 65217
+#define DBConsts_SInvalidVersion 65218
+#define DBConsts_SBadFieldType 65219
+#define DBConsts_SProviderSQLNotSupported 65220
+#define DBConsts_SProviderExecuteNotSupported 65221
+#define DBConsts_SDataSetUnidirectional 65222
+#define DBConsts_SUnassignedVar 65223
+#define DBConsts_SRecordNotFound 65224
+#define DBConsts_SBcdOverflow 65225
+#define DBConsts_SInvalidBcdValue 65226
+#define DBConsts_SInvalidFormatType 65227
+#define DBConsts_SCouldNotParseTimeStamp 65228
+#define DBConsts_SInvalidSqlTimeStamp 65229
+#define ComConst_SOleError 65230
+#define ComConst_SNoMethod 65231
+#define DBConsts_SFieldRequired 65232
+#define DBConsts_SDataSetMissing 65233
+#define DBConsts_SInvalidCalcType 65234
+#define DBConsts_SFieldReadOnly 65235
+#define DBConsts_SNoIndexForFields 65236
+#define DBConsts_SIndexNotFound 65237
+#define DBConsts_SCircularDataLink 65238
+#define DBConsts_SLookupInfoError 65239
+#define DBConsts_SDataSourceChange 65240
+#define DBConsts_SDataSetOpen 65241
+#define DBConsts_SNotEditing 65242
+#define DBConsts_SDataSetClosed 65243
+#define DBConsts_SDataSetEmpty 65244
+#define DBConsts_SDataSetReadOnly 65245
+#define DBConsts_SNestedDataSetClass 65246
+#define DBConsts_STextFalse 65247
+#define DBConsts_SInvalidFieldKind 65248
+#define DBConsts_SUnknownFieldType 65249
+#define DBConsts_SFieldNameMissing 65250
+#define DBConsts_SDuplicateFieldName 65251
+#define DBConsts_SFieldNotFound 65252
+#define DBConsts_SFieldAccessError 65253
+#define DBConsts_SFieldValueError 65254
+#define DBConsts_SFieldRangeError 65255
+#define DBConsts_SBcdFieldRangeError 65256
+#define DBConsts_SInvalidIntegerValue 65257
+#define DBConsts_SInvalidBoolValue 65258
+#define DBConsts_SInvalidFloatValue 65259
+#define DBConsts_SFieldTypeMismatch 65260
+#define DBConsts_SFieldSizeMismatch 65261
+#define DBConsts_SInvalidVarByteArray 65262
+#define DBConsts_SFieldOutOfRange 65263
+#define Consts_SNoName 65264
+#define Consts_SCirularReferencesNotAllowed 65265
+#define Consts_SCannotHideActionBand 65266
+#define Consts_SErrorSettingCount 65267
+#define Consts_SListBoxMustBeVirtual 65268
+#define Consts_SUnableToSaveSettings 65269
+#define Consts_SRestoreDefaultSchedule 65270
+#define Consts_SActionBarStyleMissing 65271
+#define Consts_SANSIEncoding 65272
+#define Consts_SASCIIEncoding 65273
+#define Consts_SUnicodeEncoding 65274
+#define Consts_SBigEndianEncoding 65275
+#define Consts_SUTF8Encoding 65276
+#define Consts_SUTF7Encoding 65277
+#define Consts_SPageControlNotSet 65278
+#define DBConsts_SInvalidFieldSize 65279
+#define Consts_SIconToClipboard 65280
+#define Consts_SCannotOpenClipboard 65281
+#define Consts_SInvalidMemoSize 65282
+#define Consts_SDuplicateMenus 65283
+#define Consts_SDockedCtlNeedsName 65284
+#define Consts_SDockTreeRemoveError 65285
+#define Consts_SDockZoneNotFound 65286
+#define Consts_SDockZoneHasNoCtl 65287
+#define Consts_SDockZoneVersionConflict 65288
+#define Consts_SMultiSelectRequired 65289
+#define Consts_SAssignSubItemError 65290
+#define Consts_SDeleteItemWithSubItems 65291
+#define Consts_SDeleteNotAllowed 65292
+#define Consts_SMoveNotAllowed 65293
+#define Consts_SExpand 65294
+#define Consts_SErrorLoadingFile 65295
+#define Consts_SmkcSpace 65296
+#define Consts_SmkcPgUp 65297
+#define Consts_SmkcPgDn 65298
+#define Consts_SmkcEnd 65299
+#define Consts_SmkcHome 65300
+#define Consts_SmkcLeft 65301
+#define Consts_SmkcUp 65302
+#define Consts_SmkcRight 65303
+#define Consts_SmkcDown 65304
+#define Consts_SmkcIns 65305
+#define Consts_SmkcDel 65306
+#define Consts_SmkcShift 65307
+#define Consts_SmkcCtrl 65308
+#define Consts_SmkcAlt 65309
+#define Consts_SInsertLineError 65310
+#define Consts_SInvalidClipFmt 65311
+#define Consts_SMsgDlgConfirm 65312
+#define Consts_SMsgDlgYes 65313
+#define Consts_SMsgDlgNo 65314
+#define Consts_SMsgDlgOK 65315
+#define Consts_SMsgDlgCancel 65316
+#define Consts_SMsgDlgHelp 65317
+#define Consts_SMsgDlgAbort 65318
+#define Consts_SMsgDlgRetry 65319
+#define Consts_SMsgDlgIgnore 65320
+#define Consts_SMsgDlgAll 65321
+#define Consts_SMsgDlgNoToAll 65322
+#define Consts_SMsgDlgYesToAll 65323
+#define Consts_SmkcBkSp 65324
+#define Consts_SmkcTab 65325
+#define Consts_SmkcEsc 65326
+#define Consts_SmkcEnter 65327
+#define Consts_SHelpButton 65328
+#define Consts_SCloseButton 65329
+#define Consts_SIgnoreButton 65330
+#define Consts_SRetryButton 65331
+#define Consts_SAbortButton 65332
+#define Consts_SAllButton 65333
+#define Consts_SCannotDragForm 65334
+#define Consts_SVMetafiles 65335
+#define Consts_SVEnhMetafiles 65336
+#define Consts_SVIcons 65337
+#define Consts_SVBitmaps 65338
+#define Consts_SMaskErr 65339
+#define Consts_SMaskEditErr 65340
+#define Consts_SMsgDlgWarning 65341
+#define Consts_SMsgDlgError 65342
+#define Consts_SMsgDlgInformation 65343
+#define Consts_SParentGivenNotAParent 65344
+#define Consts_SMDIChildNotVisible 65345
+#define Consts_SVisibleChanged 65346
+#define Consts_SCannotShowModal 65347
+#define Consts_SPropertyOutOfRange 65348
+#define Consts_SMenuIndexError 65349
+#define Consts_SMenuReinserted 65350
+#define Consts_SMenuNotFound 65351
+#define Consts_SNoTimers 65352
+#define Consts_SGroupIndexTooLow 65353
+#define Consts_SNoMDIForm 65354
+#define Consts_SControlParentSetToSelf 65355
+#define Consts_SOKButton 65356
+#define Consts_SCancelButton 65357
+#define Consts_SYesButton 65358
+#define Consts_SNoButton 65359
+#define Consts_SInvalidPixelFormat 65360
+#define Consts_SScanLine 65361
+#define Consts_SChangeIconSize 65362
+#define Consts_SUnknownClipboardFormat 65363
+#define Consts_SOutOfResources 65364
+#define Consts_SNoCanvasHandle 65365
+#define Consts_SInvalidImageSize 65366
+#define Consts_SInvalidImageList 65367
+#define Consts_SReplaceImage 65368
+#define Consts_SImageIndexError 65369
+#define Consts_SImageReadFail 65370
+#define Consts_SImageWriteFail 65371
+#define Consts_SWindowDCError 65372
+#define Consts_SWindowClass 65373
+#define Consts_SCannotFocus 65374
+#define Consts_SParentRequired 65375
+#define RTLConsts_STooManyDeleted 65376
+#define RTLConsts_SUnknownGroup 65377
+#define RTLConsts_SUnknownProperty 65378
+#define RTLConsts_SWriteError 65379
+#define RTLConsts_SThreadCreateError 65380
+#define RTLConsts_SThreadError 65381
+#define HelpIntfs_hNoTableOfContents 65382
+#define HelpIntfs_hNothingFound 65383
+#define HelpIntfs_hNoContext 65384
+#define HelpIntfs_hNoContextFound 65385
+#define HelpIntfs_hNoTopics 65386
+#define Consts_SInvalidTabPosition 65387
+#define Consts_SInvalidTabStyle 65388
+#define Consts_SInvalidBitmap 65389
+#define Consts_SInvalidIcon 65390
+#define Consts_SInvalidMetafile 65391
+#define RTLConsts_SInvalidPropertyPath 65392
+#define RTLConsts_SInvalidPropertyType 65393
+#define RTLConsts_SInvalidPropertyValue 65394
+#define RTLConsts_SInvalidRegType 65395
+#define RTLConsts_SInvalidStringGridOp 65396
+#define RTLConsts_SListCapacityError 65397
+#define RTLConsts_SListCountError 65398
+#define RTLConsts_SListIndexError 65399
+#define RTLConsts_SMemoryStreamError 65400
+#define RTLConsts_SPropertyException 65401
+#define RTLConsts_SReadError 65402
+#define RTLConsts_SReadOnlyProperty 65403
+#define RTLConsts_SRegGetDataFailed 65404
+#define RTLConsts_SResNotFound 65405
+#define RTLConsts_SSeekNotImplemented 65406
+#define RTLConsts_SSortedListError 65407
+#define RTLConsts_SCheckSynchronizeError 65408
+#define RTLConsts_SClassNotFound 65409
+#define RTLConsts_SDuplicateClass 65410
+#define RTLConsts_SDuplicateItem 65411
+#define RTLConsts_SDuplicateName 65412
+#define RTLConsts_SDuplicateString 65413
+#define RTLConsts_SFCreateErrorEx 65414
+#define RTLConsts_SFixedColTooBig 65415
+#define RTLConsts_SFixedRowTooBig 65416
+#define RTLConsts_SFOpenErrorEx 65417
+#define RTLConsts_SGridTooLarge 65418
+#define RTLConsts_SIndexOutOfRange 65419
+#define RTLConsts_SInvalidImage 65420
+#define RTLConsts_SInvalidName 65421
+#define RTLConsts_SInvalidProperty 65422
+#define RTLConsts_SInvalidPropertyElement 65423
+#define SysConst_SShortDayNameTue 65424
+#define SysConst_SShortDayNameWed 65425
+#define SysConst_SShortDayNameThu 65426
+#define SysConst_SShortDayNameFri 65427
+#define SysConst_SShortDayNameSat 65428
+#define SysConst_SLongDayNameSun 65429
+#define SysConst_SLongDayNameMon 65430
+#define SysConst_SLongDayNameTue 65431
+#define SysConst_SLongDayNameWed 65432
+#define SysConst_SLongDayNameThu 65433
+#define SysConst_SLongDayNameFri 65434
+#define SysConst_SLongDayNameSat 65435
+#define RTLConsts_SAncestorNotFound 65436
+#define RTLConsts_SAssignError 65437
+#define RTLConsts_SBitsIndexError 65438
+#define RTLConsts_SCantWriteResourceStreamError 65439
+#define SysConst_SShortMonthNameNov 65440
+#define SysConst_SShortMonthNameDec 65441
+#define SysConst_SLongMonthNameJan 65442
+#define SysConst_SLongMonthNameFeb 65443
+#define SysConst_SLongMonthNameMar 65444
+#define SysConst_SLongMonthNameApr 65445
+#define SysConst_SLongMonthNameMay 65446
+#define SysConst_SLongMonthNameJun 65447
+#define SysConst_SLongMonthNameJul 65448
+#define SysConst_SLongMonthNameAug 65449
+#define SysConst_SLongMonthNameSep 65450
+#define SysConst_SLongMonthNameOct 65451
+#define SysConst_SLongMonthNameNov 65452
+#define SysConst_SLongMonthNameDec 65453
+#define SysConst_SShortDayNameSun 65454
+#define SysConst_SShortDayNameMon 65455
+#define SysConst_SAssertError 65456
+#define SysConst_SAbstractError 65457
+#define SysConst_SModuleAccessViolation 65458
+#define SysConst_SOSError 65459
+#define SysConst_SUnkOSError 65460
+#define SysConst_SNL 65461
+#define SysConst_SShortMonthNameJan 65462
+#define SysConst_SShortMonthNameFeb 65463
+#define SysConst_SShortMonthNameMar 65464
+#define SysConst_SShortMonthNameApr 65465
+#define SysConst_SShortMonthNameMay 65466
+#define SysConst_SShortMonthNameJun 65467
+#define SysConst_SShortMonthNameJul 65468
+#define SysConst_SShortMonthNameAug 65469
+#define SysConst_SShortMonthNameSep 65470
+#define SysConst_SShortMonthNameOct 65471
+#define SysConst_SInvalidVarOpWithHResultWithPrefix 65472
+#define SysConst_SVarTypeOutOfRangeWithPrefix 65473
+#define SysConst_SVarTypeAlreadyUsedWithPrefix 65474
+#define SysConst_SVarTypeNotUsableWithPrefix 65475
+#define SysConst_SVarTypeTooManyCustom 65476
+#define SysConst_SVarTypeCouldNotConvert 65477
+#define SysConst_SVarTypeConvertOverflow 65478
+#define SysConst_SVarOverflow 65479
+#define SysConst_SVarInvalid 65480
+#define SysConst_SVarBadType 65481
+#define SysConst_SVarNotImplemented 65482
+#define SysConst_SVarUnexpected 65483
+#define SysConst_SExternalException 65484
+#define SysConst_SAssertionFailed 65485
+#define SysConst_SIntfCastError 65486
+#define SysConst_SSafecallException 65487
+#define SysConst_SPrivilege 65488
+#define SysConst_SOperationAborted 65489
+#define SysConst_SException 65490
+#define SysConst_SExceptTitle 65491
+#define SysConst_SInvalidFormat 65492
+#define SysConst_SArgumentMissing 65493
+#define SysConst_SDispatchError 65494
+#define SysConst_SReadAccess 65495
+#define SysConst_SWriteAccess 65496
+#define SysConst_SFormatTooLong 65497
+#define SysConst_SVarArrayCreate 65498
+#define SysConst_SVarArrayBounds 65499
+#define SysConst_SVarArrayLocked 65500
+#define SysConst_SInvalidVarCast 65501
+#define SysConst_SInvalidVarOp 65502
+#define SysConst_SInvalidVarNullOp 65503
+#define SysConst_SEndOfFile 65504
+#define SysConst_SDiskFull 65505
+#define SysConst_SInvalidInput 65506
+#define SysConst_SDivByZero 65507
+#define SysConst_SRangeError 65508
+#define SysConst_SIntOverflow 65509
+#define SysConst_SInvalidOp 65510
+#define SysConst_SZeroDivide 65511
+#define SysConst_SOverflow 65512
+#define SysConst_SUnderflow 65513
+#define SysConst_SInvalidPointer 65514
+#define SysConst_SInvalidCast 65515
+#define SysConst_SAccessViolationArg3 65516
+#define SysConst_SAccessViolationNoArg 65517
+#define SysConst_SStackOverflow 65518
+#define SysConst_SControlC 65519
+#define SysConst_SInvalidInteger 65520
+#define SysConst_SInvalidFloat 65521
+#define SysConst_SInvalidDate 65522
+#define SysConst_SInvalidTime 65523
+#define SysConst_SInvalidDateTime 65524
+#define SysConst_SInvalidTimeStamp 65525
+#define SysConst_SInvalidGUID 65526
+#define SysConst_SInvalidBoolean 65527
+#define SysConst_STimeEncodeError 65528
+#define SysConst_SDateEncodeError 65529
+#define SysConst_SOutOfMemory 65530
+#define SysConst_SInOutError 65531
+#define SysConst_SFileNotFound 65532
+#define SysConst_SInvalidFilename 65533
+#define SysConst_STooManyOpenFiles 65534
+#define SysConst_SAccessDenied 65535
+STRINGTABLE
+BEGIN
+ VDBConsts_SRemoteLogin, "Remote Login"
+ ADOConst_SMissingConnection, "Missing Connection or ConnectionString"
+ ADOConst_SNoDetailFilter, "Filter property cannot be used for detail tables"
+ ADOConst_SBookmarksRequired, "Dataset does not support bookmarks, which are required for multi-record data controls"
+ ADOConst_SMissingCommandText, "Missing %s property"
+ ADOConst_SNoResultSet, "CommandText does not return a result set"
+ ADOConst_SADOCreateError, "Error creating object. Please verify that the Microsoft Data Access Components 2.1 (or later) have been properly installed"
+ ADOConst_SEventsNotSupported, "Events are not supported with server side TableDirect cursors"
+ ADOConst_SUsupportedFieldType, "Unsupported field type (%s) in field %s"
+ ADOConst_SConnectionRequired, "A connection component is required for async ExecuteOptions"
+ ADOConst_SCantRequery, "Cannot perform a requery after connection has changed"
+ ADOConst_SNoFilterOptions, "FilterOptions are not supported"
+ ADOConst_SRecordsetNotOpen, "Recordset is not open"
+ ADOConst_sNameAttr, "Name"
+ ADOConst_sValueAttr, "Value"
+ ComStrs_sFailsetCalSelRange, "Failed to set calendar selected range"
+ VDBConsts_SFirstRecord, "First record"
+ VDBConsts_SPriorRecord, "Prior record"
+ VDBConsts_SNextRecord, "Next record"
+ VDBConsts_SLastRecord, "Last record"
+ VDBConsts_SInsertRecord, "Insert record"
+ VDBConsts_SDeleteRecord, "Delete record"
+ VDBConsts_SEditRecord, "Edit record"
+ VDBConsts_SPostEdit, "Post edit"
+ VDBConsts_SCancelEdit, "Cancel edit"
+ VDBConsts_SRefreshRecord, "Refresh data"
+ VDBConsts_SDeleteRecordQuestion, "Delete record?"
+ VDBConsts_SDeleteMultipleRecordsQuestion, "Delete all selected records?"
+ VDBConsts_SDataSourceFixed, "Operation not allowed in a DBCtrlGrid"
+ VDBConsts_SPropDefByLookup, "Property already defined by lookup field"
+ VDBConsts_STooManyColumns, "Grid requested to display more than 256 columns"
+ ComStrs_sTabFailDelete, "Failed to delete tab at index %d"
+ ComStrs_sTabFailRetrieve, "Failed to retrieve tab at index %d"
+ ComStrs_sTabFailGetObject, "Failed to get object at index %d"
+ ComStrs_sTabFailSet, "Failed to set tab \"%s\" at index %d"
+ ComStrs_sTabFailSetObject, "Failed to set object at index %d"
+ ComStrs_sTabMustBeMultiLine, "MultiLine must be True when TabPosition is tpLeft or tpRight"
+ ComStrs_sInvalidIndex, "Invalid index"
+ ComStrs_sInsertError, "Unable to insert an item"
+ ComStrs_sPageIndexError, "%d is an invalid PageIndex value. PageIndex must be between 0 and %d"
+ ComStrs_sInvalidComCtl32, "This control requires version 4.70 or greater of COMCTL32.DLL"
+ ComStrs_sDateTimeMax, "Date exceeds maximum of %s"
+ ComStrs_sDateTimeMin, "Date is less than minimum of %s"
+ ComStrs_sNeedAllowNone, "You must be in ShowCheckbox mode to set to this date"
+ ComStrs_sFailSetCalDateTime, "Failed to set calendar date or time"
+ ComStrs_sFailSetCalMaxSelRange, "Failed to set maximum selection range"
+ ComStrs_sFailSetCalMinMaxRange, "Failed to set calendar min/max range"
+ IdResourceStrings_RSSocksServerRespondError, "Socks server did not respond."
+ IdResourceStrings_RSSocksAuthMethodError, "Invalid socks authentication method."
+ IdResourceStrings_RSSocksAuthError, "Authentication error to socks server."
+ IdResourceStrings_RSSocksServerGeneralError, "General SOCKS server failure."
+ IdResourceStrings_RSSocksServerPermissionError, "Connection not allowed by ruleset."
+ IdResourceStrings_RSSocksServerNetUnreachableError, "Network unreachable."
+ IdResourceStrings_RSSocksServerHostUnreachableError, "Host unreachable."
+ IdResourceStrings_RSSocksServerConnectionRefusedError, "Connection refused."
+ IdResourceStrings_RSSocksServerTTLExpiredError, "TTL expired."
+ IdResourceStrings_RSSocksServerCommandError, "Command not supported."
+ IdResourceStrings_RSSocksServerAddressError, "Address type not supported."
+ IdResourceStrings_RSUnevenSizeInDecodeStream, "Uneven size in DecodeToStream."
+ IdResourceStrings_RSUnevenSizeInEncodeStream, "Uneven size in Encode."
+ IdResourceStrings_RSMessageEncoderNotFound, "Message encoder not found"
+ IdResourceStrings_RSUnrecognizedUUEEncodingScheme, "Unrecognized UUE encoding scheme."
+ ComStrs_sTabFailClear, "Failed to clear tab control"
+ IdResourceStrings_RSStackENOTCONN, "Socket is not connected."
+ IdResourceStrings_RSStackESHUTDOWN, "Cannot send or receive after socket is closed."
+ IdResourceStrings_RSStackETOOMANYREFS, "Too many references, cannot splice."
+ IdResourceStrings_RSStackETIMEDOUT, "Connection timed out."
+ IdResourceStrings_RSStackECONNREFUSED, "Connection refused."
+ IdResourceStrings_RSStackELOOP, "Too many levels of symbolic links."
+ IdResourceStrings_RSStackENAMETOOLONG, "File name too long."
+ IdResourceStrings_RSStackEHOSTDOWN, "Host is down."
+ IdResourceStrings_RSStackEHOSTUNREACH, "No route to host."
+ IdResourceStrings_RSStackENOTEMPTY, "Directory not empty"
+ IdResourceStrings_RSStackHOST_NOT_FOUND, "Host not found."
+ IdResourceStrings_RSTIdMessagePartCreate, "TIdMessagePart can not be created. Use descendant classes. "
+ IdResourceStrings_RSSocksRequestFailed, "Request rejected or failed."
+ IdResourceStrings_RSSocksRequestServerFailed, "Request rejected because SOCKS server cannot connect."
+ IdResourceStrings_RSSocksRequestIdentFailed, "Request rejected because the client program and identd report different user-ids."
+ IdResourceStrings_RSSocksUnknownError, "Unknown socks error."
+ IdResourceStrings_RSStackEPROTOTYPE, "Protocol wrong type for socket."
+ IdResourceStrings_RSStackENOPROTOOPT, "Bad protocol option."
+ IdResourceStrings_RSStackEPROTONOSUPPORT, "Protocol not supported."
+ IdResourceStrings_RSStackESOCKTNOSUPPORT, "Socket type not supported."
+ IdResourceStrings_RSStackEOPNOTSUPP, "Operation not supported on socket."
+ IdResourceStrings_RSStackEPFNOSUPPORT, "Protocol family not supported."
+ IdResourceStrings_RSStackEAFNOSUPPORT, "Address family not supported by protocol family."
+ IdResourceStrings_RSStackEADDRINUSE, "Address already in use."
+ IdResourceStrings_RSStackEADDRNOTAVAIL, "Cannot assign requested address."
+ IdResourceStrings_RSStackENETDOWN, "Network is down."
+ IdResourceStrings_RSStackENETUNREACH, "Network is unreachable."
+ IdResourceStrings_RSStackENETRESET, "Net dropped connection or reset."
+ IdResourceStrings_RSStackECONNABORTED, "Software caused connection abort."
+ IdResourceStrings_RSStackECONNRESET, "Connection reset by peer."
+ IdResourceStrings_RSStackENOBUFS, "No buffer space available."
+ IdResourceStrings_RSStackEISCONN, "Socket is already connected."
+ IdResourceStrings_RSMsgClientInvalidEncoding, "Invalid Encoding. UU only allows Body and Attachments"
+ IdResourceStrings_RSInvalidServiceName, "%s is not a valid service."
+ IdResourceStrings_RSStackError, "Socket Error # %d\r\n%s"
+ IdResourceStrings_RSStackInvalidIP, "%s is not a valid IP address."
+ IdResourceStrings_RSStackEINTR, "Interrupted system call."
+ IdResourceStrings_RSStackEBADF, "Bad file number."
+ IdResourceStrings_RSStackEACCES, "Access denied."
+ IdResourceStrings_RSStackEFAULT, "Bad address."
+ IdResourceStrings_RSStackEINVAL, "Invalid argument."
+ IdResourceStrings_RSStackEMFILE, "Too many open files."
+ IdResourceStrings_RSStackEWOULDBLOCK, "Operation would block. "
+ IdResourceStrings_RSStackEINPROGRESS, "Operation now in progress."
+ IdResourceStrings_RSStackEALREADY, "Operation already in progress."
+ IdResourceStrings_RSStackENOTSOCK, "Socket operation on non-socket."
+ IdResourceStrings_RSStackEDESTADDRREQ, "Destination address required."
+ IdResourceStrings_RSStackEMSGSIZE, "Message too long."
+ IdResourceStrings_RSInvalidPortRange, "Invalid Port Range (%d - %d)"
+ IdResourceStrings_RSReadTimeout, "Read Timeout"
+ IdResourceStrings_RSReadLnMaxLineLengthExceeded, "Max line length exceeded."
+ IdResourceStrings_RSEMailSymbolOutsideAddress, "@ Outside address"
+ IdResourceStrings_RSWS2CallError, "Error on call Winsock2 library function %s"
+ IdResourceStrings_RSWS2LoadError, "Error on loading Winsock2 library (%s)"
+ IdResourceStrings_RSStatusResolving, "Resolving hostname %s."
+ IdResourceStrings_RSStatusConnecting, "Connecting to %s."
+ IdResourceStrings_RSStatusConnected, "Connected."
+ IdResourceStrings_RSStatusDisconnecting, "Disconnecting."
+ IdResourceStrings_RSStatusDisconnected, "Disconnected."
+ IdResourceStrings_RSStatusText, "%s"
+ IdResourceStrings_RSConnectTimeout, "Connect timed out."
+ IdResourceStrings_RSMsgClientEncodingText, "Encoding text"
+ IdResourceStrings_RSMsgClientEncodingAttachment, "Encoding attachment"
+ IdResourceStrings_RSMsgClientUnkownMessagePartType, "Unknown Message Part Type."
+ ComConst_SVarNotObject, "Variant does not reference an automation object"
+ ComConst_STooManyParams, "Dispatch methods do not support more than 64 parameters"
+ IdResourceStrings_RSAlreadyConnected, "Already connected."
+ IdResourceStrings_RSCannotAllocateSocket, "Cannot allocate socket."
+ IdResourceStrings_RSConnectionClosedGracefully, "Connection Closed Gracefully."
+ IdResourceStrings_RSCouldNotBindSocket, "Could not bind socket. Address and port are already in use."
+ IdResourceStrings_RSFailedTimeZoneInfo, "Failed attempting to retrieve time zone information."
+ IdResourceStrings_RSNotEnoughDataInBuffer, "Not enough data in buffer."
+ IdResourceStrings_RSWinsockInitializationError, "Winsock Initialization Error."
+ IdResourceStrings_RSSetSizeExceeded, "Set Size Exceeded."
+ IdResourceStrings_RSFileNotFound, "File \"%s\" not found"
+ IdResourceStrings_RSOnlyOneAntiFreeze, "Only one TIdAntiFreeze can exist per application."
+ IdResourceStrings_RSNotConnected, "Not Connected"
+ IdResourceStrings_RSObjectTypeNotSupported, "Object type not supported."
+ IdResourceStrings_RSIdNoDataToRead, "No data to read."
+ IdResourceStrings_RSCanNotBindRange, "Can not bind in port range (%d - %d)"
+ DBConsts_STextTrue, "True"
+ DBConsts_SParameterNotFound, "Parameter '%s' not found"
+ DBConsts_SInvalidVersion, "Unable to load bind parameters"
+ DBConsts_SBadFieldType, "Field '%s' is of an unsupported type"
+ DBConsts_SProviderSQLNotSupported, "SQL not supported: %s"
+ DBConsts_SProviderExecuteNotSupported, "Execute not supported: %s"
+ DBConsts_SDataSetUnidirectional, "Operation not allowed on a unidirectional dataset"
+ DBConsts_SUnassignedVar, "Unassigned variant value"
+ DBConsts_SRecordNotFound, "Record not found"
+ DBConsts_SBcdOverflow, "BCD overflow"
+ DBConsts_SInvalidBcdValue, "%s is not a valid BCD value"
+ DBConsts_SInvalidFormatType, "Invalid format type for BCD"
+ DBConsts_SCouldNotParseTimeStamp, "Could not parse SQL TimeStamp string"
+ DBConsts_SInvalidSqlTimeStamp, "Invalid SQL date/time values"
+ ComConst_SOleError, "OLE error %.8x"
+ ComConst_SNoMethod, "Method '%s' not supported by automation object"
+ DBConsts_SFieldRequired, "Field '%s' must have a value"
+ DBConsts_SDataSetMissing, "Field '%s' has no dataset"
+ DBConsts_SInvalidCalcType, "Field '%s' cannot be a calculated or lookup field"
+ DBConsts_SFieldReadOnly, "Field '%s' cannot be modified"
+ DBConsts_SNoIndexForFields, "No index for fields '%s'"
+ DBConsts_SIndexNotFound, "Index '%s' not found"
+ DBConsts_SCircularDataLink, "Circular datalinks are not allowed"
+ DBConsts_SLookupInfoError, "Lookup information for field '%s' is incomplete"
+ DBConsts_SDataSourceChange, "DataSource cannot be changed"
+ DBConsts_SDataSetOpen, "Cannot perform this operation on an open dataset"
+ DBConsts_SNotEditing, "Dataset not in edit or insert mode"
+ DBConsts_SDataSetClosed, "Cannot perform this operation on a closed dataset"
+ DBConsts_SDataSetEmpty, "Cannot perform this operation on an empty dataset"
+ DBConsts_SDataSetReadOnly, "Cannot modify a read-only dataset"
+ DBConsts_SNestedDataSetClass, "Nested dataset must inherit from %s"
+ DBConsts_STextFalse, "False"
+ DBConsts_SInvalidFieldKind, "Invalid FieldKind"
+ DBConsts_SUnknownFieldType, "Field '%s' is of an unknown type"
+ DBConsts_SFieldNameMissing, "Field name missing"
+ DBConsts_SDuplicateFieldName, "Duplicate field name '%s'"
+ DBConsts_SFieldNotFound, "Field '%s' not found"
+ DBConsts_SFieldAccessError, "Cannot access field '%s' as type %s"
+ DBConsts_SFieldValueError, "Invalid value for field '%s'"
+ DBConsts_SFieldRangeError, "%g is not a valid value for field '%s'. The allowed range is %g to %g"
+ DBConsts_SBcdFieldRangeError, "%s is not a valid value for field '%s'. The allowed range is %s to %s"
+ DBConsts_SInvalidIntegerValue, "'%s' is not a valid integer value for field '%s'"
+ DBConsts_SInvalidBoolValue, "'%s' is not a valid boolean value for field '%s'"
+ DBConsts_SInvalidFloatValue, "'%s' is not a valid floating point value for field '%s'"
+ DBConsts_SFieldTypeMismatch, "Type mismatch for field '%s', expecting: %s actual: %s"
+ DBConsts_SFieldSizeMismatch, "Size mismatch for field '%s', expecting: %d actual: %d"
+ DBConsts_SInvalidVarByteArray, "Invalid variant type or size for field '%s'"
+ DBConsts_SFieldOutOfRange, "Value of field '%s' is out of range"
+ Consts_SNoName, "(No Name)"
+ Consts_SCirularReferencesNotAllowed, "Circular references not allowed"
+ Consts_SCannotHideActionBand, "%s does not allow hiding"
+ Consts_SErrorSettingCount, "Error setting %s.Count"
+ Consts_SListBoxMustBeVirtual, "Listbox (%s) style must be virtual in order to set Count"
+ Consts_SUnableToSaveSettings, "Unable to save settings"
+ Consts_SRestoreDefaultSchedule, "Would you like to reset to the default Priority Schedule?"
+ Consts_SActionBarStyleMissing, "No ActionBand style unit present in the uses clause.\rYour application must include either XPStyleActnCtrls, StdStyleActnCtrls or a third party ActionBand style unit in its uses clause"
+ Consts_SANSIEncoding, "ANSI"
+ Consts_SASCIIEncoding, "ASCII"
+ Consts_SUnicodeEncoding, "Unicode"
+ Consts_SBigEndianEncoding, "Big Endian Unicode"
+ Consts_SUTF8Encoding, "UTF-8"
+ Consts_SUTF7Encoding, "UTF-7"
+ Consts_SPageControlNotSet, "PageControl must first be assigned"
+ DBConsts_SInvalidFieldSize, "Invalid field size"
+ Consts_SIconToClipboard, "Clipboard does not support Icons"
+ Consts_SCannotOpenClipboard, "Cannot open clipboard"
+ Consts_SInvalidMemoSize, "Text exceeds memo capacity"
+ Consts_SDuplicateMenus, "Menu '%s' is already being used by another form"
+ Consts_SDockedCtlNeedsName, "Docked control must have a name"
+ Consts_SDockTreeRemoveError, "Error removing control from dock tree"
+ Consts_SDockZoneNotFound, " - Dock zone not found"
+ Consts_SDockZoneHasNoCtl, " - Dock zone has no control"
+ Consts_SDockZoneVersionConflict, "Error loading dock zone from the stream. Expecting version %d, but found %d."
+ Consts_SMultiSelectRequired, "Multiselect mode must be on for this feature"
+ Consts_SAssignSubItemError, "Cannot assign a subitem to an actionbar when one of it's parent's is already assigned to an actionbar"
+ Consts_SDeleteItemWithSubItems, "Item %s has subitems, delete anyway?"
+ Consts_SDeleteNotAllowed, "You are not allowed to delete this item"
+ Consts_SMoveNotAllowed, "Item %s is not allowed to be moved"
+ Consts_SExpand, "Expand"
+ Consts_SErrorLoadingFile, "Error loading previously saved settings file: %s\rWould you like to delete it?"
+ Consts_SmkcSpace, "Space"
+ Consts_SmkcPgUp, "PgUp"
+ Consts_SmkcPgDn, "PgDn"
+ Consts_SmkcEnd, "End"
+ Consts_SmkcHome, "Home"
+ Consts_SmkcLeft, "Left"
+ Consts_SmkcUp, "Up"
+ Consts_SmkcRight, "Right"
+ Consts_SmkcDown, "Down"
+ Consts_SmkcIns, "Ins"
+ Consts_SmkcDel, "Del"
+ Consts_SmkcShift, "Shift+"
+ Consts_SmkcCtrl, "Ctrl+"
+ Consts_SmkcAlt, "Alt+"
+ Consts_SInsertLineError, "Unable to insert a line"
+ Consts_SInvalidClipFmt, "Invalid clipboard format"
+ Consts_SMsgDlgConfirm, "Confirm"
+ Consts_SMsgDlgYes, "&Yes"
+ Consts_SMsgDlgNo, "&No"
+ Consts_SMsgDlgOK, "OK"
+ Consts_SMsgDlgCancel, "Cancel"
+ Consts_SMsgDlgHelp, "&Help"
+ Consts_SMsgDlgAbort, "&Abort"
+ Consts_SMsgDlgRetry, "&Retry"
+ Consts_SMsgDlgIgnore, "&Ignore"
+ Consts_SMsgDlgAll, "&All"
+ Consts_SMsgDlgNoToAll, "N&o to All"
+ Consts_SMsgDlgYesToAll, "Yes to &All"
+ Consts_SmkcBkSp, "BkSp"
+ Consts_SmkcTab, "Tab"
+ Consts_SmkcEsc, "Esc"
+ Consts_SmkcEnter, "Enter"
+ Consts_SHelpButton, "&Help"
+ Consts_SCloseButton, "&Close"
+ Consts_SIgnoreButton, "&Ignore"
+ Consts_SRetryButton, "&Retry"
+ Consts_SAbortButton, "Abort"
+ Consts_SAllButton, "&All"
+ Consts_SCannotDragForm, "Cannot drag a form"
+ Consts_SVMetafiles, "Metafiles"
+ Consts_SVEnhMetafiles, "Enhanced Metafiles"
+ Consts_SVIcons, "Icons"
+ Consts_SVBitmaps, "Bitmaps"
+ Consts_SMaskErr, "Invalid input value"
+ Consts_SMaskEditErr, "Invalid input value. Use escape key to abandon changes"
+ Consts_SMsgDlgWarning, "Warning"
+ Consts_SMsgDlgError, "Error"
+ Consts_SMsgDlgInformation, "Information"
+ Consts_SParentGivenNotAParent, "Parent given is not a parent of '%s'"
+ Consts_SMDIChildNotVisible, "Cannot hide an MDI Child Form"
+ Consts_SVisibleChanged, "Cannot change Visible in OnShow or OnHide"
+ Consts_SCannotShowModal, "Cannot make a visible window modal"
+ Consts_SPropertyOutOfRange, "%s property out of range"
+ Consts_SMenuIndexError, "Menu index out of range"
+ Consts_SMenuReinserted, "Menu inserted twice"
+ Consts_SMenuNotFound, "Sub-menu is not in menu"
+ Consts_SNoTimers, "Not enough timers available"
+ Consts_SGroupIndexTooLow, "GroupIndex cannot be less than a previous menu item's GroupIndex"
+ Consts_SNoMDIForm, "Cannot create form. No MDI forms are currently active"
+ Consts_SControlParentSetToSelf, "A control cannot have itself as its parent"
+ Consts_SOKButton, "OK"
+ Consts_SCancelButton, "Cancel"
+ Consts_SYesButton, "&Yes"
+ Consts_SNoButton, "&No"
+ Consts_SInvalidPixelFormat, "Invalid pixel format"
+ Consts_SScanLine, "Scan line index out of range"
+ Consts_SChangeIconSize, "Cannot change the size of an icon"
+ Consts_SUnknownClipboardFormat, "Unsupported clipboard format"
+ Consts_SOutOfResources, "Out of system resources"
+ Consts_SNoCanvasHandle, "Canvas does not allow drawing"
+ Consts_SInvalidImageSize, "Invalid image size"
+ Consts_SInvalidImageList, "Invalid ImageList"
+ Consts_SReplaceImage, "Unable to Replace Image"
+ Consts_SImageIndexError, "Invalid ImageList Index"
+ Consts_SImageReadFail, "Failed to read ImageList data from stream"
+ Consts_SImageWriteFail, "Failed to write ImageList data to stream"
+ Consts_SWindowDCError, "Error creating window device context"
+ Consts_SWindowClass, "Error creating window class"
+ Consts_SCannotFocus, "Cannot focus a disabled or invisible window"
+ Consts_SParentRequired, "Control '%s' has no parent window"
+ RTLConsts_STooManyDeleted, "Too many rows or columns deleted"
+ RTLConsts_SUnknownGroup, "%s not in a class registration group"
+ RTLConsts_SUnknownProperty, "Property %s does not exist"
+ RTLConsts_SWriteError, "Stream write error"
+ RTLConsts_SThreadCreateError, "Thread creation error: %s"
+ RTLConsts_SThreadError, "Thread Error: %s (%d)"
+ HelpIntfs_hNoTableOfContents, "Unable to find a Table of Contents"
+ HelpIntfs_hNothingFound, "No help found for %s"
+ HelpIntfs_hNoContext, "No context-sensitive help installed"
+ HelpIntfs_hNoContextFound, "No help found for context"
+ HelpIntfs_hNoTopics, "No topic-based help system installed"
+ Consts_SInvalidTabPosition, "Tab position incompatible with current tab style"
+ Consts_SInvalidTabStyle, "Tab style incompatible with current tab position"
+ Consts_SInvalidBitmap, "Bitmap image is not valid"
+ Consts_SInvalidIcon, "Icon image is not valid"
+ Consts_SInvalidMetafile, "Metafile is not valid"
+ RTLConsts_SInvalidPropertyPath, "Invalid property path"
+ RTLConsts_SInvalidPropertyType, "Invalid property type: %s"
+ RTLConsts_SInvalidPropertyValue, "Invalid property value"
+ RTLConsts_SInvalidRegType, "Invalid data type for '%s'"
+ RTLConsts_SInvalidStringGridOp, "Cannot insert or delete rows from grid"
+ RTLConsts_SListCapacityError, "List capacity out of bounds (%d)"
+ RTLConsts_SListCountError, "List count out of bounds (%d)"
+ RTLConsts_SListIndexError, "List index out of bounds (%d)"
+ RTLConsts_SMemoryStreamError, "Out of memory while expanding memory stream"
+ RTLConsts_SPropertyException, "Error reading %s%s%s: %s"
+ RTLConsts_SReadError, "Stream read error"
+ RTLConsts_SReadOnlyProperty, "Property is read-only"
+ RTLConsts_SRegGetDataFailed, "Failed to get data for '%s'"
+ RTLConsts_SResNotFound, "Resource %s not found"
+ RTLConsts_SSeekNotImplemented, "%s.Seek not implemented"
+ RTLConsts_SSortedListError, "Operation not allowed on sorted list"
+ RTLConsts_SCheckSynchronizeError, "CheckSynchronize called from thread $%x, which is NOT the main thread"
+ RTLConsts_SClassNotFound, "Class %s not found"
+ RTLConsts_SDuplicateClass, "A class named %s already exists"
+ RTLConsts_SDuplicateItem, "List does not allow duplicates ($0%x)"
+ RTLConsts_SDuplicateName, "A component named %s already exists"
+ RTLConsts_SDuplicateString, "String list does not allow duplicates"
+ RTLConsts_SFCreateErrorEx, "Cannot create file \"%s\". %s"
+ RTLConsts_SFixedColTooBig, "Fixed column count must be less than column count"
+ RTLConsts_SFixedRowTooBig, "Fixed row count must be less than row count"
+ RTLConsts_SFOpenErrorEx, "Cannot open file \"%s\". %s"
+ RTLConsts_SGridTooLarge, "Grid too large for operation"
+ RTLConsts_SIndexOutOfRange, "Grid index out of range"
+ RTLConsts_SInvalidImage, "Invalid stream format"
+ RTLConsts_SInvalidName, "''%s'' is not a valid component name"
+ RTLConsts_SInvalidProperty, "Invalid property value"
+ RTLConsts_SInvalidPropertyElement, "Invalid property element: %s"
+ SysConst_SShortDayNameTue, "Tue"
+ SysConst_SShortDayNameWed, "Wed"
+ SysConst_SShortDayNameThu, "Thu"
+ SysConst_SShortDayNameFri, "Fri"
+ SysConst_SShortDayNameSat, "Sat"
+ SysConst_SLongDayNameSun, "Sunday"
+ SysConst_SLongDayNameMon, "Monday"
+ SysConst_SLongDayNameTue, "Tuesday"
+ SysConst_SLongDayNameWed, "Wednesday"
+ SysConst_SLongDayNameThu, "Thursday"
+ SysConst_SLongDayNameFri, "Friday"
+ SysConst_SLongDayNameSat, "Saturday"
+ RTLConsts_SAncestorNotFound, "Ancestor for '%s' not found"
+ RTLConsts_SAssignError, "Cannot assign a %s to a %s"
+ RTLConsts_SBitsIndexError, "Bits index out of range"
+ RTLConsts_SCantWriteResourceStreamError, "Can't write to a read-only resource stream"
+ SysConst_SShortMonthNameNov, "Nov"
+ SysConst_SShortMonthNameDec, "Dec"
+ SysConst_SLongMonthNameJan, "January"
+ SysConst_SLongMonthNameFeb, "February"
+ SysConst_SLongMonthNameMar, "March"
+ SysConst_SLongMonthNameApr, "April"
+ SysConst_SLongMonthNameMay, "May"
+ SysConst_SLongMonthNameJun, "June"
+ SysConst_SLongMonthNameJul, "July"
+ SysConst_SLongMonthNameAug, "August"
+ SysConst_SLongMonthNameSep, "September"
+ SysConst_SLongMonthNameOct, "October"
+ SysConst_SLongMonthNameNov, "November"
+ SysConst_SLongMonthNameDec, "December"
+ SysConst_SShortDayNameSun, "Sun"
+ SysConst_SShortDayNameMon, "Mon"
+ SysConst_SAssertError, "%s (%s, line %d)"
+ SysConst_SAbstractError, "Abstract Error"
+ SysConst_SModuleAccessViolation, "Access violation at address %p in module '%s'. %s of address %p"
+ SysConst_SOSError, "System Error. Code: %d.\r\n%s"
+ SysConst_SUnkOSError, "A call to an OS function failed"
+ SysConst_SNL, "Application is not licensed to use this feature"
+ SysConst_SShortMonthNameJan, "Jan"
+ SysConst_SShortMonthNameFeb, "Feb"
+ SysConst_SShortMonthNameMar, "Mar"
+ SysConst_SShortMonthNameApr, "Apr"
+ SysConst_SShortMonthNameMay, "May"
+ SysConst_SShortMonthNameJun, "Jun"
+ SysConst_SShortMonthNameJul, "Jul"
+ SysConst_SShortMonthNameAug, "Aug"
+ SysConst_SShortMonthNameSep, "Sep"
+ SysConst_SShortMonthNameOct, "Oct"
+ SysConst_SInvalidVarOpWithHResultWithPrefix, "Invalid variant operation (%s%.8x)\n%s"
+ SysConst_SVarTypeOutOfRangeWithPrefix, "Custom variant type (%s%.4x) is out of range"
+ SysConst_SVarTypeAlreadyUsedWithPrefix, "Custom variant type (%s%.4x) already used by %s"
+ SysConst_SVarTypeNotUsableWithPrefix, "Custom variant type (%s%.4x) is not usable"
+ SysConst_SVarTypeTooManyCustom, "Too many custom variant types have been registered"
+ SysConst_SVarTypeCouldNotConvert, "Could not convert variant of type (%s) into type (%s)"
+ SysConst_SVarTypeConvertOverflow, "Overflow while converting variant of type (%s) into type (%s)"
+ SysConst_SVarOverflow, "Variant overflow"
+ SysConst_SVarInvalid, "Invalid argument"
+ SysConst_SVarBadType, "Invalid variant type"
+ SysConst_SVarNotImplemented, "Operation not supported"
+ SysConst_SVarUnexpected, "Unexpected variant error"
+ SysConst_SExternalException, "External exception %x"
+ SysConst_SAssertionFailed, "Assertion failed"
+ SysConst_SIntfCastError, "Interface not supported"
+ SysConst_SSafecallException, "Exception in safecall method"
+ SysConst_SPrivilege, "Privileged instruction"
+ SysConst_SOperationAborted, "Operation aborted"
+ SysConst_SException, "Exception %s in module %s at %p.\r\n%s%s\r\n"
+ SysConst_SExceptTitle, "Application Error"
+ SysConst_SInvalidFormat, "Format '%s' invalid or incompatible with argument"
+ SysConst_SArgumentMissing, "No argument for format '%s'"
+ SysConst_SDispatchError, "Variant method calls not supported"
+ SysConst_SReadAccess, "Read"
+ SysConst_SWriteAccess, "Write"
+ SysConst_SFormatTooLong, "Format string too long"
+ SysConst_SVarArrayCreate, "Error creating variant or safe array"
+ SysConst_SVarArrayBounds, "Variant or safe array index out of bounds"
+ SysConst_SVarArrayLocked, "Variant or safe array is locked"
+ SysConst_SInvalidVarCast, "Invalid variant type conversion"
+ SysConst_SInvalidVarOp, "Invalid variant operation"
+ SysConst_SInvalidVarNullOp, "Invalid NULL variant operation"
+ SysConst_SEndOfFile, "Read beyond end of file"
+ SysConst_SDiskFull, "Disk full"
+ SysConst_SInvalidInput, "Invalid numeric input"
+ SysConst_SDivByZero, "Division by zero"
+ SysConst_SRangeError, "Range check error"
+ SysConst_SIntOverflow, "Integer overflow"
+ SysConst_SInvalidOp, "Invalid floating point operation"
+ SysConst_SZeroDivide, "Floating point division by zero"
+ SysConst_SOverflow, "Floating point overflow"
+ SysConst_SUnderflow, "Floating point underflow"
+ SysConst_SInvalidPointer, "Invalid pointer operation"
+ SysConst_SInvalidCast, "Invalid class typecast"
+ SysConst_SAccessViolationArg3, "Access violation at address %p. %s of address %p"
+ SysConst_SAccessViolationNoArg, "Access violation"
+ SysConst_SStackOverflow, "Stack overflow"
+ SysConst_SControlC, "Control-C hit"
+ SysConst_SInvalidInteger, "'%s' is not a valid integer value"
+ SysConst_SInvalidFloat, "'%s' is not a valid floating point value"
+ SysConst_SInvalidDate, "'%s' is not a valid date"
+ SysConst_SInvalidTime, "'%s' is not a valid time"
+ SysConst_SInvalidDateTime, "'%s' is not a valid date and time"
+ SysConst_SInvalidTimeStamp, "'%d.%d' is not a valid timestamp"
+ SysConst_SInvalidGUID, "'%s' is not a valid GUID value"
+ SysConst_SInvalidBoolean, "'%s' is not a valid boolean value"
+ SysConst_STimeEncodeError, "Invalid argument to time encode"
+ SysConst_SDateEncodeError, "Invalid argument to date encode"
+ SysConst_SOutOfMemory, "Out of memory"
+ SysConst_SInOutError, "I/O error %d"
+ SysConst_SFileNotFound, "File not found"
+ SysConst_SInvalidFilename, "Invalid filename"
+ SysConst_STooManyOpenFiles, "Too many open files"
+ SysConst_SAccessDenied, "File access denied"
+END
+
diff --git a/official/2.20/Demos/1 Basic All Data Access/ADO/Project1.exe b/official/2.20/Demos/1 Basic All Data Access/ADO/Project1.exe
new file mode 100644
index 0000000..3c0a439
Binary files /dev/null and b/official/2.20/Demos/1 Basic All Data Access/ADO/Project1.exe differ
diff --git a/official/2.20/Demos/1 Basic All Data Access/ADO/Project1.res b/official/2.20/Demos/1 Basic All Data Access/ADO/Project1.res
new file mode 100644
index 0000000..03109fc
Binary files /dev/null and b/official/2.20/Demos/1 Basic All Data Access/ADO/Project1.res differ
diff --git a/official/2.20/Demos/1 Basic All Data Access/ADO/Project1.rsm b/official/2.20/Demos/1 Basic All Data Access/ADO/Project1.rsm
new file mode 100644
index 0000000..39bc30f
Binary files /dev/null and b/official/2.20/Demos/1 Basic All Data Access/ADO/Project1.rsm differ
diff --git a/official/2.20/Demos/1 Basic All Data Access/ADO/Unit1.dfm b/official/2.20/Demos/1 Basic All Data Access/ADO/Unit1.dfm
new file mode 100644
index 0000000..ccd7f35
--- /dev/null
+++ b/official/2.20/Demos/1 Basic All Data Access/ADO/Unit1.dfm
@@ -0,0 +1,1588 @@
+object Form1: TForm1
+ Left = 170
+ Top = 180
+ Caption = 'User Control - ADO Basic Demo'
+ ClientHeight = 296
+ ClientWidth = 602
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ Menu = MainMenu1
+ OldCreateOrder = False
+ OnCreate = FormCreate
+ PixelsPerInch = 96
+ TextHeight = 13
+ object GroupBox1: TGroupBox
+ Left = 272
+ Top = 72
+ Width = 233
+ Height = 177
+ Caption = 'Verifica acesso: Componente x Login x Senha'
+ TabOrder = 0
+ object Label1: TLabel
+ Left = 16
+ Top = 56
+ Width = 32
+ Height = 13
+ Margins.Bottom = 0
+ Caption = 'Login :'
+ end
+ object Label2: TLabel
+ Left = 16
+ Top = 88
+ Width = 37
+ Height = 13
+ Margins.Bottom = 0
+ Caption = 'Senha :'
+ end
+ object Label3: TLabel
+ Left = 16
+ Top = 32
+ Width = 63
+ Height = 13
+ Margins.Bottom = 0
+ Caption = 'Componente:'
+ end
+ object edLogin: TEdit
+ Left = 88
+ Top = 56
+ Width = 121
+ Height = 21
+ TabOrder = 0
+ Text = 'Admin'
+ end
+ object edSenha: TEdit
+ Left = 88
+ Top = 88
+ Width = 121
+ Height = 21
+ TabOrder = 1
+ Text = '#delphi'
+ end
+ object Button1: TButton
+ Left = 86
+ Top = 136
+ Width = 75
+ Height = 25
+ Caption = 'Verifica'
+ TabOrder = 2
+ OnClick = Button1Click
+ end
+ object edComp: TEdit
+ Left = 88
+ Top = 24
+ Width = 121
+ Height = 21
+ TabOrder = 3
+ Text = 'Cadastrodeusuarios1'
+ end
+ end
+ object ADOConnection1: TADOConnection
+ ConnectionString =
+ 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=T:\Componentes\User' +
+ 'Control\Demos\Base.mdb;Persist Security Info=False'
+ LoginPrompt = False
+ Mode = cmShareDenyNone
+ Provider = 'Microsoft.Jet.OLEDB.4.0'
+ Left = 56
+ Top = 88
+ end
+ object UCADOConn1: TUCADOConn
+ Connection = ADOConnection1
+ Left = 88
+ Top = 88
+ end
+ object UserControl1: TUserControl
+ AutoStart = True
+ ApplicationID = 'ADOBasic'
+ ControlRight.MainMenu = MainMenu1
+ LogControl.TableLog = 'UCLog'
+ LogControl.MenuItem = logdosistema
+ Language = ucSpanish
+ EncryptKey = 0
+ Login.InitialLogin.User = 'Admin'
+ Login.InitialLogin.Email = 'qmd@onda.com.br'
+ Login.InitialLogin.Password = '#delphi'
+ Login.MaxLoginAttempts = 0
+ ExtraRights = <>
+ TableUsers.FieldUserID = 'UCIdUser'
+ TableUsers.FieldUserName = 'UCUserName'
+ TableUsers.FieldLogin = 'UCLogin'
+ TableUsers.FieldPassword = 'UCPassword'
+ TableUsers.FieldEmail = 'UCEmail'
+ TableUsers.FieldPrivileged = 'UCPrivileged'
+ TableUsers.FieldTypeRec = 'UCTypeRec'
+ TableUsers.FieldProfile = 'UCProfile'
+ TableUsers.FieldKey = 'UCKey'
+ TableUsers.FieldDateExpired = 'UCPASSEXPIRED'
+ TableUsers.FieldUserExpired = 'UCUserExpired'
+ TableUsers.FieldUserDaysSun = 'UCUserDaysSun'
+ TableUsers.TableName = 'UCTabUsers'
+ TableRights.FieldUserID = 'UCIdUser'
+ TableRights.FieldModule = 'UCModule'
+ TableRights.FieldComponentName = 'UCCompName'
+ TableRights.FieldFormName = 'UCFormName'
+ TableRights.FieldKey = 'UCKey'
+ TableRights.TableName = 'UCTabRights'
+ TableUsersLogged.FieldLogonID = 'UCIdLogon'
+ TableUsersLogged.FieldUserID = 'UCIdUser'
+ TableUsersLogged.FieldApplicationID = 'UCApplicationId'
+ TableUsersLogged.FieldMachineName = 'UCMachineName'
+ TableUsersLogged.FieldData = 'UCData'
+ TableUsersLogged.TableName = 'UCTabUsersLogged'
+ TableHistory.TableName = 'UCTABHistory'
+ TableHistory.FieldApplicationID = 'ApplicationID'
+ TableHistory.FieldUserID = 'UserID'
+ TableHistory.FieldEventDate = 'EventDate'
+ TableHistory.FieldEventTime = 'EventTime'
+ TableHistory.FieldForm = 'Form'
+ TableHistory.FieldCaptionForm = 'FormCaption'
+ TableHistory.FieldEvent = 'Event'
+ TableHistory.FieldObs = 'Obs'
+ TableHistory.FieldTableName = 'tName'
+ DataConnector = UCADOConn1
+ Left = 120
+ Top = 88
+ end
+ object MainMenu1: TMainMenu
+ AutoHotkeys = maManual
+ OwnerDraw = True
+ Left = 56
+ Top = 56
+ object Arquivo1: TMenuItem
+ Caption = 'Arquivo'
+ object Abrir1: TMenuItem
+ Caption = 'Abrir'
+ end
+ object Salvar1: TMenuItem
+ Caption = '-'
+ end
+ object Salvar2: TMenuItem
+ Caption = 'Salvar'
+ end
+ object Salvarcomo1: TMenuItem
+ Caption = 'Salvar como...'
+ end
+ object Fechar1: TMenuItem
+ Caption = 'Fechar'
+ end
+ object N2: TMenuItem
+ Caption = '-'
+ end
+ object Dados1: TMenuItem
+ Caption = 'Dados'
+ object Importar1: TMenuItem
+ Caption = 'Importar'
+ end
+ object Exportar1: TMenuItem
+ Caption = 'Exportar'
+ end
+ object N4: TMenuItem
+ Caption = '-'
+ end
+ object Vincular1: TMenuItem
+ Caption = 'Vincular'
+ end
+ end
+ object N3: TMenuItem
+ Caption = '-'
+ end
+ object Sair2: TMenuItem
+ Caption = 'Sair'
+ end
+ end
+ object Editar1: TMenuItem
+ Caption = 'Editar'
+ object Copiar1: TMenuItem
+ Caption = 'Copiar'
+ end
+ object Colar1: TMenuItem
+ Caption = 'Colar'
+ end
+ object Recortar1: TMenuItem
+ Caption = 'Recortar'
+ end
+ object N1: TMenuItem
+ Caption = '-'
+ end
+ object Selecionartudo1: TMenuItem
+ Caption = 'Selecionar tudo'
+ end
+ object N5: TMenuItem
+ Caption = '-'
+ end
+ object AreadeTransferencia1: TMenuItem
+ Caption = 'Area de Transferencia'
+ object Exibir2: TMenuItem
+ Caption = 'Exibir'
+ end
+ object Esvaziar1: TMenuItem
+ Caption = 'Esvaziar'
+ end
+ end
+ end
+ object Exibir1: TMenuItem
+ Caption = 'Exibir'
+ object Zoom1: TMenuItem
+ Caption = 'Zoom...'
+ object Normal1: TMenuItem
+ Caption = 'Normal'
+ Checked = True
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object Grande1: TMenuItem
+ Caption = 'Grande'
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object Ajustarnajanela1: TMenuItem
+ Caption = 'Ajustar na janela'
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object N6: TMenuItem
+ Caption = '-'
+ GroupIndex = 1
+ end
+ object Personalizar1: TMenuItem
+ Caption = 'Personalizar'
+ GroupIndex = 1
+ end
+ end
+ object amanhonormal1: TMenuItem
+ Caption = 'Tamanho normal'
+ end
+ object elacheia1: TMenuItem
+ Caption = 'Tela cheia'
+ end
+ end
+ object Relatorios1: TMenuItem
+ Caption = 'Relatorios'
+ object Relatorio11: TMenuItem
+ Caption = 'Relatorio 1'
+ end
+ object Relatorio21: TMenuItem
+ Caption = 'Relatorio 2'
+ end
+ object Relatorio31: TMenuItem
+ Caption = 'Relatorio 3'
+ end
+ object Relatorio41: TMenuItem
+ Caption = 'Relatorio 4'
+ end
+ end
+ object Segurana1: TMenuItem
+ Caption = 'Seguran'#231'a'
+ object Cadastrodeusuarios1: TMenuItem
+ Caption = 'Cadastro de usuarios'
+ end
+ object Perfildeusurios1: TMenuItem
+ Caption = 'Perfil de usuarios'
+ end
+ object logdosistema: TMenuItem
+ Caption = 'Log do Sistema'
+ end
+ object N7: TMenuItem
+ Caption = '-'
+ end
+ object rocarsenha1: TMenuItem
+ Caption = 'Trocar senha'
+ end
+ object EfetuarLogoff1: TMenuItem
+ Caption = 'Efetuar Logoff'
+ OnClick = EfetuarLogoff1Click
+ end
+ end
+ end
+ object UCSettings1: TUCSettings
+ AppMessages.MsgsForm_BtNew = '&Nuevo Mensaje'
+ AppMessages.MsgsForm_BtReplay = '&Responder'
+ AppMessages.MsgsForm_BtForward = '&Reenviar'
+ AppMessages.MsgsForm_BtDelete = '&Borrar'
+ AppMessages.MsgsForm_BtClose = '&Cerrar'
+ AppMessages.MsgsForm_WindowCaption = 'Mensajes de Sistema'
+ AppMessages.MsgsForm_ColFrom = 'Remitente'
+ AppMessages.MsgsForm_ColSubject = 'Asunto'
+ AppMessages.MsgsForm_ColDate = 'Fecha'
+ AppMessages.MsgsForm_PromptDelete = #191'Est'#225' seguro de eliminar los mensajes seleccionados?'
+ AppMessages.MsgsForm_PromptDelete_WindowCaption = 'Eliminar mensajes'
+ AppMessages.MsgsForm_NoMessagesSelected = '!Ning'#250'n mensaje seleccionado'#161
+ AppMessages.MsgsForm_NoMessagesSelected_WindowCaption = 'Informaci'#243'n'
+ AppMessages.MsgRec_BtClose = '&Cerrar'
+ AppMessages.MsgRec_WindowCaption = 'Mensaje'
+ AppMessages.MsgRec_Title = 'Mensaje Recibido'
+ AppMessages.MsgRec_LabelFrom = 'De:'
+ AppMessages.MsgRec_LabelDate = 'Fecha'
+ AppMessages.MsgRec_LabelSubject = 'Asunto'
+ AppMessages.MsgRec_LabelMessage = 'Mensaje'
+ AppMessages.MsgSend_BtSend = '&Enviar'
+ AppMessages.MsgSend_BtCancel = '&Cancelar'
+ AppMessages.MsgSend_WindowCaption = 'Mensaje'
+ AppMessages.MsgSend_Title = 'Enviar Nuevo Mensaje'
+ AppMessages.MsgSend_GroupTo = 'Para:'
+ AppMessages.MsgSend_RadioUser = 'Usuario:'
+ AppMessages.MsgSend_RadioAll = 'Todos'
+ AppMessages.MsgSend_GroupMessage = 'Mensaje'
+ AppMessages.MsgSend_LabelSubject = 'Asunto'
+ AppMessages.MsgSend_LabelMessageText = 'Texto del mensaje'
+ CommonMessages.AutoLogonError =
+ 'Error de Ingreso Autom'#225'tico!'#13#10'Especifique un Usuario y Contrase'#241 +
+ 'a V'#225'lidos.'
+ CommonMessages.ChangePasswordError.InvalidCurrentPassword = #161'Contrase'#241'a Actual Incorrecta!'
+ CommonMessages.ChangePasswordError.NewPasswordError =
+ 'Los campos Contrase'#241'a Nueva y Confirme Contrase'#241'a deben ser igua' +
+ 'les'
+ CommonMessages.ChangePasswordError.NewEqualCurrent = 'Nueva Contrase'#241'a y Contrase'#241'a Actual deben ser diferentes'
+ CommonMessages.ChangePasswordError.PasswordRequired = #161'La Contrase'#241'a es obligatoria!'
+ CommonMessages.ChangePasswordError.MinPasswordLength = 'La Contrase'#241'a debe tener un m'#237'nimo de %d caracteres'
+ CommonMessages.ChangePasswordError.InvalidNewPassword = #161'Prohibido utilizar contrase'#241'as NO Seguras!'
+ CommonMessages.InvalidLogin = 'Usuario y/o Contrase'#241'a Incorrectos!'
+ CommonMessages.InitialMessage.Strings = (
+ 'ATENCION! Conecci'#243'n Inicial:'
+ ''
+ 'Usuario : :user'
+ 'Contrase'#241'a : :password'
+ ''
+ 'Defina permisos para este usuario')
+ CommonMessages.MaxLoginAttemptsError = '%d Intentos de conecci'#243'n inv'#225'lidos !'
+ CommonMessages.PasswordChanged = #161'Se ha cambiado la Contrase'#241'a con '#233'xito!'
+ CommonMessages.BlankPassword = 'Contrase'#241'a vac'#237'a para el Usuario %s'
+ CommonMessages.UsuarioExiste = 'O Usu'#225'rio "%s" j'#225' est'#225' cadastrado no sistema !!'
+ CommonMessages.PasswordExpired = 'Aten'#231#227'o, sua senha expirou, favor troca-la'
+ CommonMessages.ForcaTrocaSenha = 'Mudan'#231'a de senha obrigat'#243'ria'
+ Login.WindowCaption = 'Conecci'#243'n'
+ Login.LabelUser = 'Usuario: '
+ Login.LabelPassword = 'Contrase'#241'a:'
+ Login.BtOk = 'Aceptar'
+ Login.BtCancel = '&Cancelar'
+ Login.TopImage.Data = {
+ 07544269746D6170B6790000424DB67900000000000036040000280000007601
+ 0000500000000100080000000000807500000000000000000000000100000000
+ 00009BB5D8007493BA00ACC2E000BBBBBB00CBD9EB007D9BC20051719900F6F8
+ FB00F2F5FA0095B0D500FCFDFE00EDF2F800A7B6BC0055759D00F8FAFC00B1C5
+ E1005979A10089A8D200CDD5D9003E5E88004D7199003D5D8700FAFBFD008888
+ 8800E5ECF500DDE6F200DDDDDD00E2EAF400A5BDDD00405F880042628C0089A6
+ CC008297A0005D7DA500C5D4E900A1B9DA006685AD004569920045679000B4C8
+ E300EEEEEE00BDCEE60099B3D600A9C0DE008BA8CD009EA5B0006181A9006E8D
+ B400D0DCED006989B10099999900809DC40085A2C80044638C00C1D1E8004462
+ 8C008EAACF0091ACD100486890005579A100E7EEF6003E5F890040608A005D82
+ AB00C0CBCF008CAAD400D5E0EF00496C950042618A004A6A93008FACD500D8E3
+ F0004C6C9400D2DEEE007795BD0046668E004E6E960050709700B8CBE400BBCD
+ E500CCCCCC00C8D7EA00648BB2006D93BA0044648E00A2BADB004A6B94009BAC
+ B300708EB5004E6F980085A5CF00DAE4F10058789E0043638D0050759D00506E
+ 9600D6E1EF00F4F7FB00A7BEDE00829FC600FDFEFE0041608B0054749A007A98
+ BF0093AFD600BECFE60044628A00666666004060880086A6D0004C6B92004867
+ 8E00EAEFF700AAAAAA0049688E006C8AB1004D6E940053729A00476690006584
+ AB007290B8005C7CA300333333005F7EA60046648E005A7DA50056779E00E6EA
+ EC0046648C0044444400777777004869920044678E0080A0C900E0E8F3006D8C
+ B3005576A000AAAEB50090ADD5006080A7009EB7DA006486AF00486A93006185
+ AC00F9FAFD004C6A92003C5B85004C6E96006988AF0049699100C6CFDC0093AE
+ D20051729B00597AA30045648B004E6D94004A6992004A6C92004D6D96006786
+ AD00B6BCC40056769E003D5A82003F628B006383A900698DB500555555005A7F
+ A7005B7AA1003A5A8400527399005A7BA200426188004668900039577F007D9F
+ C70047668D00EBF1F8004C6B940087A3CA00405F8600486990004E6D96004C6D
+ 9400222222006287AF0083A3CC00FBFCFD00779BC2004A6A9100D1DDEE005473
+ 9C003C5C87006B8BB20092ADD200D3DFEF00E1E5E900426189006C8BB5008B8F
+ 940045658D005878A00042638B003F5C84005C7BA4001111110084A3CC006183
+ AB00CDD6E1006A8AB3006282AB00808285006787B0006483AC00A5BCDB004061
+ 8A004F5153003E40420043637000FEFEFE0091AED600FEFFFF00758D9600F2F5
+ F5008FA0A900D9E0E200506D7A00EFF4F9005C788300BFD0E700B5C1C60091AE
+ D500E3EBF50069828D00C3D3E900D2DDEE0097B2D700DFE7F300F7F9FC00A3BB
+ DC006F8FB7007B7E830094AFD3007998C1002F3032007396BE00909296008FAB
+ D000686C7100A4BBDA00D2D9E400D9DEE600FEFEFF0088A7D20000000000FFFF
+ FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCFCFCFCFCFCFC
+ FCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB6464640A0A0A0ABBBBBBBBBB16
+ 16160E0E0EEEEEEE07EE0707616161070761070707EEEEEEEEEE90161616BB16
+ BB0ABB0A0A0A0ADB64646464DBDB64FCFFFCDBDB64DBDB0A640A0A0A0ABBBBBB
+ 16160EEEEE07610808E30BB1703C18E886195B47424930045122EA36294F4E27
+ 0F0F0F022B621CEF55558C8C000000ECECECECEC68096868DCDCDC8A8A8A8A8A
+ 8A46464646464646464646464646464646464646464646464646464646464646
+ 4646464646464646464646464646464646464646464646464646464646464646
+ 4646464646464646464646464646464646464646464646EC0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFC
+ FCFCFCDBDBDBDBDBDBDBDBDB64DB640A0A0A0A0ABBBBBBBB16161616160E0EEE
+ EE07EEEEEEEE6107070707EEEEEEEE0E0E0E0E161616BBBBBB0A0A0ADB0A6464
+ DBDBFCDBDBFCFCFFFFDBFCDDDBFCDBDB64640A0A0A0A0ABBBB16900EEE076108
+ 08E30BB1703C181B86195B4742BE3004512236694F4E27270F022B2B1CEF238C
+ 8C0000ECECEC09688A8A46464646414141111111111111111111FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCDB
+ DBDBDBDBDBDBDB6464640A0A0A0ABBBBBBBBBB161616160E0EEE0E0EEEEEEEEE
+ EEEEEEEEEE0E0E16901616BB16BBBB0A0A0A0A0A64DBDBFCFCDBFCFCFCFCFCFF
+ FFFCFCFFDDFFFCFCFCFF0A640A0A0ABB0A1616900EEE07070808E30BB1703C18
+ 1B1B195B604230040422EAE5294F4E270F02022B1C1C558C8C0000ECEC6868DC
+ DCE78A464646414141414111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCDBDBDBDBDBDB
+ DBDB64640A640A0A0ABBBBBB161616160E0E160E0E0E0E90EE0E0E9090901616
+ 161616BBBBBB0A0A640A0A64FCFCFCFCFCFFFFFCFFDDFFFCFCFFFFFFFCFFFCFF
+ FCDBFCDBDB0A0A0A0ABBBB16160E0EEE616108E30BB1703CE81BED5B47604930
+ 04512236E54F4E270F0F022B621CEF238C8C00ECECEC6809DCDC8A4646464641
+ 4141114111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB640A0A
+ 0A0A0ABBBBBBBB1616161616160E0E169090161616161616BBBBBBBB0ABB0A0A
+ 640A64DBDBFCFCDBFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFCFCFCFCFFFCFC0A0A
+ 0A0ABB1616160EEE07610808E30BB13C3C1B86195B4742BE3004222236294E27
+ 270F0F022B1CEF558C8C8C00ECECEC68DCE7DC8A464641414141411111111111
+ FD11FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB64640A0A0A0ABBBBBB
+ BBBBBB1616161616161616161616BBBB0ABB0A0A0A0A0A64FC64DBFCFCFCDDFC
+ FFDDFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFDDFCFFFCDDDB64640ABBBBBB160E0E
+ EE076108E30BB1703C181BED194760493004512236E54F4E270F0F022B621C55
+ 238C8C00ECECEC096868E7464646414141414111111111111111FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FCFFFFFCFCFCFCFCFCFCDBDBDBDBDBDB64640A0A0A0A0ABBBBBBBBBBBBBBBB16
+ BBBBBBBBBBBB0ABB0A0A0A0A640ADBDB64FCFCDBFCDDDDFCFFDDFFDDFFFFFFFF
+ FFFFFFFFFFDDFFFFFFDDFFFCFFFCDBDB64640ABBBBBB16900EEE070808E30B70
+ 703CE81B195B4742BE300451EAE5294F27270F022B2B1CEF558C8C0000ECECEC
+ 68DC8A8A464646464141414111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFCFC
+ FCFCFCFCFCDBDBDBDBDBDB64640A0A0A0ABBBBBBBBBBBBBBBBBB0ABBBB0A0A0A
+ 0A0A0A0A646464DBFCFCDDDBDBFCDDFCFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDBDB640A0ABBBBBB16900E07070808E3B1703C181BED194760
+ 493004512236694F4E270F02022B1C1C55238C00ECECECEC6809DC8A8A464641
+ 414141411111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFFFCFCFCDBFCFCDB
+ DBDBDBDBDB64640A0A0A0A0A0ABBBBBBBB0A0A0A0A0A0A0A0A0A0A64DBDBDBDB
+ DBFFFFDDDDDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFC
+ FC64640A0ABBBB16160EEE070808E30BB1703CE81BED5B4742BE300422EAE529
+ 4E27270F022B621C55238C8C00ECECEC0909DCE78A4646414641414111111111
+ 1111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCDBDBDBDBDBDB6464
+ 640A0A0A0A0ABBBBBB6464640A0A0A6464DB0ADB64DBDBFCFFFFFFDDDDFFFFFF
+ DDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFFDDDBFC640ABBBB16
+ BB0E0EEE070808E30B703C181B86194760C33004512236694F4E270F02022B1C
+ 1C55238C0000ECEC0968E7E78A8A41464141414141111111111111FDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A
+ 0A0A6464640A0A6464DBDBDBFCDBDBFCFCFFFFDDDDFFDDFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFCFCFC64640ABB16160EEE076108E3
+ 0BB1703CE81B195B47423004042236E54F4E270F02022B621C55238C00000909
+ C239382C1FCE85AF3305F3F5015353F5AF8585BC53B93F3F3FA7993B885E5E98
+ 98981414438E599E434343145E5E98593F52B9A7251E3D3D653E3E3E3E3E3ED7
+ 1E1E1E5D545D5DCA3E1E1E3B3B5DD7C03ED7A38E434354A365D7D76565D7D765
+ 6513153E3EC092AE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A6464646464
+ FCFCFCFCFCDBDBFCFCFFFFFFFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFCFCFCDB0A0A0ABB16160EEE070808E3B1703C181BED19
+ 4760BE3004512236694E270F0F022B621C558C00EC0997381F1F346333670101
+ F02F318DCF2EA7A78F52A5B97D14934393438E258E568E8E8E8E254325251459
+ 1414143B3FB93FA75E5E5E5E93985943438E8E25252525252676767683838326
+ 6554267DA78E263E3E3D15A33DA33D3E3D3D3D3D3D3D3D3D3E133D1E1E1592AE
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCFCFCFCDBDBDBDBDBDBDBDBDB646464646464FCFC6464FC64FCFCFCFCFCFCDB
+ FCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFF
+ FFFFFCFC64640A0ABBBB160E0E07610808E3B1703CE81B195B60C3BE04512236
+ 694F4E270F022B62D6558C002AF297382CB3633367677858319FA42E7BA8A87B
+ 21C9660648B5B53A4B4B8035CA6A6AC5353E1D1D3E1D3E1ECA268E883B3B4325
+ 26262654542626262626262626252525562543255EA77D5E2525262626262626
+ 252626262654262554252525431443255D1E2606433DA9A90000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE11212FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFF1212E1FFFFFFFFFFFFFFFFFF1212E1FFFFFFFFFF
+ FFFFFFFFDF121212FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE11212
+ E1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBFCFC
+ DBDBDBDBDB64646464646464FCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFF
+ DDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFDDFCFCFCFC0A0A
+ BBBB16160EEE610808E30B703C181BED194742BE300422EAE54F4E270F0F022B
+ 1C5523002A09C2382CB36333674A0158879F9F2E7B5CA10D21A1064D48BDBD72
+ 809A3535C56C6C6C13131D44441D1D3E1D1ECA438E263D3D3D3D3D1313131313
+ 3D131313133D3D3D3D3DA3A3435E435DA33E3D3D3D3E3E3EA33EA3A3A3D7A354
+ 5426268E5E88592665D75D765D3D15A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE120DADADADADAE940FFFFFF12DADA0C
+ FFFFFFFFFFFF0CDADADADADADADADEFFFFDADA12FFFFFFFF0CDADADAFFFFFFFF
+ FFFFE0DADADADAE440FFFFFFFF40E9DADADADADA20E1FFFFFFFF12DEDADADADA
+ DADE12FFFFFFDADADEFFFF7FDADADEFFFFFFDFE0E2DADADADADEFF12DADADADA
+ DADADADAFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB
+ DBDBDBDBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFC64646464BBBB160EEEEE61
+ 08E30BB1703CE886194760493004512236294E270F0F022B62D6238C2A09F239
+ 381F6333054A0158879F772E7B5C5CA1210D4C9B91726F6FC8C83535CA6AC5C5
+ 1D6C6C1DB41D6C6C1D3E5D4354A33D1E653E3E1D3D3D3D3D1313131313131313
+ 15133D3D8E14263D3D1315C015151515C0C0151313133DD7151315A343935492
+ 133D3DC0C0133DA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFE6E2DADAE00C57E4DADAE0FFFF7FDADA0CFFFFFFFFFFFF0CDA
+ DAE9DEDEDEDE57FFFFDEDA12FFFFFF7FDADADADAFFFFFFFFFFFFDADE0C0CE4DA
+ DA7FFFFF57DADAE2570CE0E2DADAE6FFFF12DADADA200CE0DADADA40FFFFE4DA
+ DEFFFF0CDADAE1FFFFE1E2DADA200C0CE0E4FF12DADAE4DEDEDEDEDEFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFDDFCFFFCFC6464640A64BB16160EEE070808E3B1703C181B
+ ED5B47C33004512236694F4E270F022B62EF238C0009F239381FB36305674A58
+ 2F9F772E21A1100D21BF5F9B9B91BD6FC8C83535CA6A6AC56A35441D1D1D6C1D
+ 15C0359E5DD71D441D1D1D131313131313131515151515151313C01526595465
+ 653E131515151515C0C0C0C0C0C0C0159215C0151E5D3E13C015C0A9921515AE
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FE2
+ DAE97FFFFFFFFFE0DADA40FFFFDADA0CFFFFFFFFFFFF0CDADAE6FFFFFFFFFFFF
+ FFDEDA12FFFFFFDEDADADADAFFFFFFFFFFFFDFFFFFFFDFDADA0CFF40DADAE0DF
+ FFFFFFDFE9DAE27FFF20DADA0CFFFFFF12DADADEFFFFDEDADEFFFFE4DAE0FFFF
+ FFE9DAE2E1FFFFFFFFFFFF12DADAE0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFCFCFCFCFCFCFCFCDBFCDBDBFCDBFFFFFCFCFCFCFCFCFCFFFF
+ FFFFFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFCFCFCFCFC64640ABBBB160EEE076108E30B703C181B86194742BE300422
+ EAE54F4E270F0202621C558C8C2A099739382CB3343333674A78589477A85C75
+ CC754D4D0606065F4D4D4D4C4C4C4C4C9191919191913AC83792449E3E151D13
+ 1D1D1D1D1D1D1D1D1D1D1D13131313151D13C092764565653E13131513131313
+ 131315151515C092921315C03D651E5415C092C0151592AE0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0CDADA7FFFFFFFFFFFFF
+ DEDAE4FFFFDADA0CFFFFFFFFFFFF12DADA0CFFFFFFFFFFFFFFDEDA0CFFFF40DA
+ DA0CDADAFFFFFFFFFFFFFFFFFFFF40DADAE6FF20DAE4FFFFFFFFFFFFDFE2DAE0
+ FFDEDADADFFFFFFFFFE4DADAFFFFDEDADEFFE6DAE2DFFFFFE1DADAE6FFFFFFFF
+ FFFFFFFFDADADEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFCFCFCFCFFFCFCFCFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFFFFFCFC6464
+ 640A0ABB160E0EEE070808E3B1703C1B86195B6049300451EA36694E270F0202
+ 2B1C55238C2A09F2C2382CB3346305674A4A017873A4C975CCBF4D0D0D667506
+ 4C4C4C9B4C4C9B4C064D9B9B4C9B4C4C9B131E593E1D373735353535357C7C4B
+ 54545454543535353737543EB69C1D1D3E1D13133E6565653E3E3E3E3E653E1D
+ 131392C03D3E13133DC092151315C0A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFDEDAE9FFFFFFFFFFFFFF0CDADA7FFFDADA0C
+ E1127FFFFFFF12DADAE012121212DFFFFFE0DA0CFFDFE4DA20E1DADAFFFFFFFF
+ FFFFFFFFFFE6DADAE9FFFFDADA57FFFFFFFFFFFFFF20DAE4FFDEDADAFFFFFFFF
+ FFDEDADAFFFFDEDADEFFE4DA0CFFFFFF0CDADADFFFFFFFFFFFFFFFFFDADAE912
+ 1212127FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFC
+ FCFCFCFCFCFCFFFFFCFFFCFFFFFCFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCDDFCFCFC64640A0ABB1616EEEE
+ 076108E3B1703C181BED5B60423004512236294E4E270F022B62EF2300002AF2
+ 97382C1FB33405336767582F8794C9BF210D98A10D755F744D4D4C4C4D4C4D4D
+ 4C48489B48B5BD4C06131E593D1D767C353535359A8080C854547C7C7C545435
+ 3735833E984BCBCB1E1E65651E1E1E1E651E1E1E1E5D3765371E3D3D1E3E9292
+ 3E15C013131513A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFDEDADEFFFFFFFFFFFFFF12DADA12FFDADA0CE2DADAE4E1FF12DA
+ DADADADADADA12FFFF0CDA0CFF0CDAE27FFFDADAE1FFFFFFFFFFFFFF0CDADAE9
+ DFFFFFDADA0CFFFFFFFFFFFFFF0CDADAFFDEDADAFFFFFFFFFFDEDADAFFFF20DA
+ DEE6DADA2012FFFF0CDADAFFFFFFFFFFFFFFFFFFDADADADADADADA0CFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCFCFCFCFFFFFF
+ FFFFFFFCFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFDDFCFFFCFC640A0ABBBBBB16EE076108E30BB13C18
+ 1BED5B4742BE040422EA694F4E270F022B62EF238C002A09C2F7381F1F1F63B3
+ B33401785831C9A121A10DC97EAA4D4C4C4C4C4C4C4C4D4C9B5F7E21104C6E4C
+ 0D444BBF3E1D76809A35CACACACACA355454C8C8C8C85454C8C8483E0D541D13
+ 1E1E653E3E3E3E3D651E1E651E1E1E3E1D1E653D3E139213133E3E13131313A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20DA
+ E4FFFFFFFFFFFFFF12DADA12FFDEDA571240E9DAE2DF12DADADE0C0C0C0C7FFF
+ FF0CDA577FDADA0CFFFFDADA12FFFFFFFFFFFFE0DADAE0DFFFFFFFE2DAE0FFFF
+ FFFFFFFFFF0CDADAFFDEDADAFFFFFFFFFFDEDADAFFFF0CDADEE1120CE2DA57FF
+ 0CDADA7FFFFFFFFFFFFFFFFFDADAE40C0C0C0C12FFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFFFFFFFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFC
+ FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFF
+ FFFFFFDDFCDDFC6464640A0ABBBB160EEE070808E3B1703CE81B194760493004
+ 2236E54F4E270F02022BD6558C000009F239381F1F2C3333676778585873100D
+ 215C66A80D664D5F066E4D4D4D0674AA9B21F031AB484C06BF1E26BF3E133AB0
+ 6F446C9A541E5454353A76C6D1B6767C6F9545CAC9D713151E445D4465443D3E
+ 655D651E4BD5761DCACA351E3E15C0153E15C0133E1315A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6DADA12FFFFFFFFFFFF
+ 57DADADFFFDEDA0CFFFF7FDADAE612DADA0CFFFFFFFFFFFFFF0CDADEDEDAE4FF
+ FFFFDADA12FFFFFFFFFF12DADAE0FFFFFFFFFFE0DAE2DFFFFFFFFFFFFFE9DAE9
+ FF0CDADA12FFFFFFFF0CDADAFFFF0CDADEFFFFFFE6DADA7F7FDADA0CFFFFFFFF
+ FFFFFFFFDADADEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFCFC
+ FC640A0A0ABB160EEE076108E3B1703CE81BED5B60493004512236294E270F02
+ 022B1CEF2300000997C2382CB32CB33463334A7858C1C90D79C9AA1010A87E5C
+ 754C75064D4D744D0D242EB74D4C4C06754426BFD71D953A3AB54BCA543E3A76
+ 9CC875D4213A3A243A9145357ED7131D5D3E3E3E1D13543E1E1E1E3D9EC6BF54
+ 9A35351E3E1515136513C0C0151313A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFDFE2DAE9DFFFFFFFFFE1E2DAE0FFFFDEDA0C
+ FFFFDFDADA0C12DADA0CFFFFFFFFFFFFFF0CDAE2DADA12FFFFFFE4DA12FFFFFF
+ FFFF0CDADAFFFFFFFFFFFF12DADAE0FFFFFFFFFFE6DADAE6FF0CDADA12FFFFFF
+ FF0CDADA12FF0CDADEFFFFFF40DADA12FFDEDADA12FFFFFFFFFFFFFFDADADEFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFC64640A0ABB160E
+ EE076108E30B703C181BED5B47C33004512236294F27270F022B62EF23002A09
+ 09C2382C1F2C386363054A017887A8BF7B10065C5C0DAA66664D66754D064D06
+ AA2E24AA4C4D0D4D063E26BF3E3E9C9CC8B5CA6C76548335443A0DCC45542ED5
+ 95484584BFD7134454831E13761D5D1E5D9265452EC698544BC8351E1D15133E
+ 653E15C0153E3EA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFF12E2DAE40C121257E2DAE2DFFFFFDEDADE0C0CDEDADA4012DA
+ DADE0C0C0C0C0C7FFF40DADADA20FFFFFFFFDEDAE6FFFFFFFFFF40DADA201212
+ 0CE1FFFF0CDADADEE61240E0DADADEFFFF0CDADA12FFFFFFFF0CDADA12FF0CDA
+ E40C0C57E2DADADFFFDFE9DADAE040124057E1FFDADAE40C0C0C0C0C12FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFC640A640ABB1616EE076108080B7070
+ 181B861947423004512236694F27270F022B62D6230000EC0997F72C1FB33834
+ 056701787887CC0D79AB4DAB215C5CA16606AAAA4D4D4D060101F3C1A84C6606
+ 061DAD986C44959C9A95449A7676761E1E567D7D84B7F0069148953A063E1337
+ 5D1E5D13763E443E54C05488D12F983A6FC835441D151D1E3D3E3E133D653EA2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ E1DEDADADADADADADEDFFFFFFFDEDADADADADADAE0FF12DADADADADADADADA12
+ FF12DADADA7FFFFFFFFFDEDA0CFFFFFFFFFFFFE0DADADADADA7FFFFFFF40E4DA
+ DADADADADA57FFFFFF0CDADA12FFFFFFFF0CDADA12FF0CDADADADADADAE2E6FF
+ FFFFDFE0DADADADADADA12FFDADADADADADADADA0CFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ DDFFFFFFFFFFFFFCFCFC640A0ABB16160EEE070808E3B1703CE886194742BE30
+ 042236694F4E270F022B62EF238C00EC09C2F72C1FB3B36367670101782FCC0D
+ 10794D2121A15CAAAAAA4D4D064C4C064D7E797B945C9B4D061D9598131E763A
+ C83A449544541D54C8138806A3AD9826914895569E1D153576924B1E3E5D543E
+ 155D83982E4AD47B6FC81E3E13151D1E3D3E3D13133E3DA20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FE60C0CE67F
+ FFFFFFFFFFE112121212127FFFFFDF1212121212121212DFFFDF1212E1FFFFFF
+ FFFFE1127FFFFFFFFFFFFFFFE10C0C0CE1FFFFFFFFFFFFE10C0C0C40DFFFFFFF
+ FF7F1212DFFFFFFFFF7F1212DFFF7F121212121212FFFFFFFFFFFFFFDF400C0C
+ 0C40DFFF12121212121212127FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
+ FF64640A640ABB160EEE070808E3B1703CE88619476049300451EAE54F4E270F
+ 020262D6558C002A0997F7381FB3343305674A0178C121A15C794D7910667BAA
+ 75790D4DAA4C4C06AA064C6E0D7506AA981D45061335763A4844443A1EB21E76
+ 3A4B764B563A7648919B9593563D157C5D4B5D13441EC01E65541E5476983AC8
+ 6FC81E3E1315134465131515151513A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFCFFFCFC64640A0ABB16
+ 0EEE076108E3B1703CE81B195B4749300451EAE54F4E270F022B2B1C55238C2A
+ 09F239381FB3343305676701782F8BA1C9AB4D211021019F0D2FA4AA66064D06
+ AA4CA1AA4D74664CBF1D43981354769CC8C8D101F0D19E1D3EB2443A453A453A
+ 6E4C9506831D15763D8313831E44541E3D15135D3A761E3A4B8035441D151365
+ 6513131E1E1315CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCDDFFFCDB64640ABB1616EE076108E30B70
+ 3C181BED5B47C330045122E5294E270F02022B1C55238C00099738382CB33463
+ 05674A0178782EA199CC06215C210558A1F32FBF66AA4D4D4C75AA4D5C4D0610
+ BF1D4898134B3A913AC5940D7676C8837C7CA87B3A9C3A486E4C45983A1D1576
+ 3A1376D15DB2C6761E1E5D15765454354B80351E1D15133E3D151E833A65C0A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFDDDDFCFFFCFCFC640A0ABBBB16EEEE6108E30BB170181BED5B474230
+ 0451EA36294E272702022B62558C8C2AEC9739381FB3343305674A01782FD5C9
+ 79A866A8109F874A8DC6F30DA10D4D66AA666666AA06BFA1A11D9EBF549A9C3A
+ 83D7F578787BBDBD5648D4C90DD276833ABF76C94B441D761E769CC65978B67C
+ 54351E5D54545476763A1D761315374465153DD13E1365A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFF
+ FFFCFC64640ABB16160EEE610808E37070181BED5B4742300451EA36694E270F
+ 02022B62EF8C8C002AF239F71F1FB36333054A017858775CAB8B06791078A4C1
+ 0521587779A1A8A85C5C5C5C0DAA66A10D15C999A34B9C3A4B83F0BF5966486E
+ AA4CD198CC109E839C9EADD2C81E443A54139EF3C6785FB695764B4B4B5D5D5D
+ 763AC83A1E445D44156583D41E3E1EA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFFFCFC646464BBBB
+ 160EEE070808E3B1703CE886194742BE04042236694F27270F022B1CD6238C2A
+ 09F2C2381FB3B3633305674A01F024107B2FA1AB7901AB2E0599D42410107966
+ 5C5C5C5C7E0D0DA10DD78F2ECA95569148B6016701774D100D4CD24810065945
+ 595643A5AD54C8953E9EC9CC88C6CC83599EB2B2453A767654358335D7441E3E
+ 135D59995D76B26F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC64DB640ABBBB160EEE070808E3B1
+ 703CE886194742BE30512236694F27270F022B1CEF238C002AF297382C1F3463
+ 3305674A015824A8CF2F7BC9102E0D10C9BF107E66ABAB105C5C5CA8105C5C10
+ BF458F8BAD9D6E6E9E3A065906AA9D0D0DAA0D06BF9806599893143143C8C876
+ 48567DF0317B59594C9E489E48569C9C45959826C8C84B848399F57899454B6A
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFDDFFFFFC64646464BBBB160E0E076108E3B1703CE886194742BE
+ 04042236694F4E270F022B62EF23000009F239382CB3343305674A4A78879F8B
+ 249FCF7E7E0DAA664D754D064D4DB7664D4C4C4D06060606459E0D06B5843A3A
+ 959B48B03A984C934C4D954C9D4D9E4C4343933B43C85454CAD7CA3ACA845426
+ 3A6F6F3A833A3A3A4B26AA8444D7A3D7543D1E44545D37B40000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
+ FFFCFCFC640A0ABB160E0E076108E30B703C181BED5B604930042236694F4E27
+ 0F022B1CEF23002A0939382C1F3433054A0158879FA47B21CCA10DBFB7489195
+ 91726F4856987DC972B09AB06FB0B0B04445C835AD9A9A6FB0356A953A4B4C3B
+ 3A6F9AC84B9A4BC835268326434B544B54CAD7CACA985E43C89ACA9A9A353554
+ 4B9598B76FC89ACA3D5D76B6833E1D6A0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFC64640A0ABB
+ 1616EE070808E3E3B1703CE81B1947C3300422EA694F27270F022B1C5523002A
+ F2C2382C1F3433676701583194778B7BCC5C0D6606065F9B6E6EBD3AC8067B8E
+ 6EB5B0B0B0C880804435CAC5C89A6AB09AB09A80C53599A79572729A6F35C835
+ 1E35C8CA26C8354B6ACA4B1D440D7D8E6FC89A9A35CA1E35C580C83A35C5CA6C
+ 3D767610597613AE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFCFC640A0ABB160EEE0761610808
+ 08E3E3B17018ED4749045136694F4E270F022B1C5523002A0939381F1F343367
+ 677858739FA47BA85C5C0D4C5F9B9191726E72C826563B846E729A9A80356A6A
+ 801D4B356A80AC806A9A6AC8D73D3B8872726F806A806A6A35441E543E354435
+ B01D6FCACAAD7E95B56FC89A9ACACA353580CBC8AC6A4B353D7615BF76541ECB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDDFFFCDDFC0A0A0ABB160EEE07076107EE0E0E0EEE0708B11B
+ 473051EAE54F4E270F022B1C5523002A0939381FB33433674A015873772E8BCC
+ 5C66665F5F4C6F953A72B03ACAB73B546F3A1D806AB4C580B0B46AB46FB46AB4
+ 449A1D4435157D9880B09A8080C5C5C57C15443735351D351D441DCA1E4B0635
+ 6F6F44C8445D1D3E1D443E44541E1DC81E443E4BC81E54CB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
+ FCFFFC6464640ABB160EEE07077F71176B818181170316081B4204EA694F4E27
+ 0F022B1CD623002A0939381FB36333674A0158872F739F777B9F7BA81066A14D
+ 9B483AC815837ECAB43A3A6EC84C6F95484806486E4806483A953A6FC8152193
+ 6CB09A6ACBC5657C44351D5415C854547C541EC8D73A4844CA6FC515A95D3544
+ 1D3A35443E1E44C01E441D351E1D35CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFC6464640ABB
+ BB0EEE070781FEFEFEFEFEFEFEFEA60AE31904EAE54F4E270F022B621CEF8C00
+ EC97381F1F63333305676778788773739424A4249F79C9AB5C5CBF486C43AB84
+ 80064C4C9B5F664C485C065F5C0D6E5F4D4C75064C448F43B46A6F4B959C3AB2
+ 9CB2B29CB6B61D459C6F6F8ECA4C3A1DCACA6C9A4B4B1D1D1EC03A4B153A159C
+ 35441D4413C044A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC640A64BB160EEE0707CDFE7A
+ 82D36BCDFEFEFE17EE1B3022E5294F4E270F0F022BD655002A97381FB3343333
+ 33674A01015887947377247B7B2E218B10ABA806A34899CA954D489BAA48664C
+ 754D75BF064C75A10D454D9806CA8F26CA3548C8B2445D54C8543A359E35483A
+ 954B4593AD0D351D1DCAC56C1D134445761E1D833E3E3E1D351E1D3EC09244A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFCFC64640A0ABBBB160EEE07D312610808E3C4F4FEFEB8
+ 163C495136E5E56969294F4E270262232AF2381FB334333305670505782F8794
+ 942424014A947B7EA8A8CC98D75699A3B5484C0DAA774D669B7506664A78D1C6
+ 779E4C98BF3524841D3A6E541E3A75B676563A563A54F021BD4B45483AA1C51D
+ 6C4BC54410D5BF131D35BF4859D10D5D35353E3E15C044A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFF
+ FCDDFCDBDB64640ABBBB90EE07616161616108E3F6FEFEFEBB70425122220430
+ 604242490436271C0009F71F1F3433330505336301C1C1949F24335831059458
+ 79AB21A1CA437D844B0D0648D4A8F04C0D4CAABFF0F30188787E060DBF268DAD
+ A94CC85676D478884B3A3A8376450DF05F6E489DB598356A6CB0CA6CBF990676
+ 764483D1313A44445D5D3E3E131535A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5003030328FFFFFFFFFFFFFFFF
+ FF5003031AFFFFFFFFFFFFFFFFFF280303031AFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFF1A03030328FFFFFFFFFFFFFFFF28030350FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A030350FFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFF50030328FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A03031AFFFFFFFFFFFFFFFFFFFF
+ FF28030350FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF030303FCFC6464
+ FC0A16EE0761EE1A030316EE12FEFEFE50B1600404428670E68903890B1B0402
+ 23EC381F34343333336767670578873131948B01F301F52E215C990DD73A99CA
+ BD4C064C66F0AB0D740DBF9E8DF30501D20D4D9859842ECA6C5935B29C244A83
+ 45C83A7659C926F0064CB7959D4D9A6AC89ACA562E103A44C0440DD2249C354B
+ 5D351D1D15135DA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFF03A6FEFEFEFEFEFEB86B1AFFFFFFFF6BFEFEFEFEFEB871FF
+ FFFFFFFF17B8FEFEFEFEFEFE17FFFF03FEFEFE28FFFFFFFFFFFFFFFFFFFFFFFF
+ FFFF036BCDFEFEFEFEFECD32FFFFFFFF717AFEFEFEFECD6B28FFFFFFFFFEFEFE
+ 03FFFFFFFFFF81FEFE17FFFFFFFF6BFEFEFEFE82FF03FEFEFE28FFFFFFFFFFFF
+ 286BCDFEFEFEFE7A71FFFFFFFF03FEFEFEFFFFFFFFFFFFFFFFFF17FEFEFE03FF
+ FFFFFFFFFFFFFFFF71B8FEFEFEFE3217FEFE81FFFFFFFF037AFEFEFEFEFE17FF
+ FF03FEFEFEFFFFFFFF81FEFECD50286BFEFEFEFEB8FCCDFEFE03BB0E615081FE
+ FEFECD17BBFEFEFE03B147EB47A0A6FEFEFEFEFEFEB8D04E2309381F34343333
+ 336733673487942F24A424F0317B7B7D215CAB5CCA8399A33A0606AA31A49F06
+ 667445BFD4054A7B4D4D060D4D56CFCA3E453A3A76B2013A564BCA3A932E01D2
+ 484848B5B7486AB49AC844C8CCA13A3E1E35C8C9D54476765D1E1315C01D54CB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B
+ FEFEFEFEFEFEFEFEFEFEFE32FFFFFFB8FEFEFEFEFEFEFE71FFFFFF81FEFEFECD
+ 8181CDFE81FFFF03FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF286BFEFEFEFEFEFE
+ FEFEFE81FFFFFF6BFEFEFEFEFEFEFEFECD50FFFFFF7AFEFE03FFFFFFFFFF82FE
+ FE17FFFFFF71FEFEFEFEFE81FF03FEFEFEFFFFFFFFFFFF50CDFEFEFEFEFEFEFE
+ FE6BFFFFFF50FEFEFEFFFFFFFFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFFFFFF1A
+ CDFEFE8117173203FEFE81FFFFFF32FEFEFEFEFEFEFE81FFFF1AFEFEFEFFFFFF
+ 71FEFEFE32FF82FEFECD8217822881FEFE030A9050CDFEFEFEFEFEFE6BFEFEFE
+ 030B5B47E0CDFEFEFEF4D9F4FEFE2D272309381FB363333305674A67012FC194
+ 9F772E944AF02179795C10A1444B885DC8754D75BF7E4C064C4C9B06107821C9
+ 4D4D66665993ABC81D455654543A3A54B09A4B6F5624F00D5F48834806543E1D
+ 5D54351E1E351E1E3DD78399064B44765D5D139213653ECB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFEFE6B71033281
+ FEFEFEFE03FFFF827128FF1A7AFEFEA6FFFF17FEFECD17FFFFFFFF1A32FFFF03
+ FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF7AFEFEFECD82710303176B7AFFFF71FE
+ FEFE1728FF037AFEFEB828FFFF81FEFE71FFFFFFFFFF17FEFE82FFFFFF17FEFE
+ FE03FF71FF03FEFEFEFFFFFFFFFFFF7AFEFE7A03FF2817FEFEFE17FFFFFFFEFE
+ FEFFFFFFFFFFFFFFFFFF03FEFEFE03FFFFFFFFFFFFFFFF17FEFEB8FFFFFFFF1A
+ FEFE7AFFFF1ACDFEFE7A71FFFF1A32FFFFFFFEFEFEFFFF28B8FEFE6BFFFFCDFE
+ FE32DDDDDB646BFEFE710A1681FEFECD32EEC4D3FEFEFEFE030BEDFACDFEFE81
+ 9647305151E0E0028C09381F34B3330505674A0178878731249FA4A4247B108B
+ 10AB21BF35450D546EAA744859069E0606BD594C48C9064C4DAA75754D14211D
+ 54487676543A353A3A9A4BCA3A59453A95B25643BF541D929C3E441D761D5D35
+ D7541E35134B3A541E1E3DC01D4465CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF7AFEFEFE17FFFFFFFFFF6BFEFEFE6BFFFFFF
+ FFFFFFFF82FEFEA6FFFFB8FEFE17FFFFFFFFFFFFFFFFFF1AFEFEFEFFFFFFFFFF
+ FFFFFFFFFFFFFF17FEFEFE8128FFFFFFFFFFFFFFFFFFB8FEFE17FFFFFFFF28CD
+ FEFE17FFFF81FEFE17FFFFFFFFFF17FEFE81FFFFFF17FEFEB8FFFFFFFF1AFEFE
+ FEFFFFFFFFFF32FEFECD28FFFFFFFF17FEFECDFFFFFFFEFEFEFFFFFFFFFFFFFF
+ FFFF03FEFEFE03FFFFFFFFFFFFFFFF17FEFE7AFFFFFFFFFFFEFEFEFFFF17FEFE
+ CD28FFFFFFFFFFFFFFFFFEFEFEFFFF82FEFEB828FFFFFEFEFE71FFDD646417FE
+ FE170A7FFEFEFE3290E3703CD3FEFEFE03E31BC7FEFEB8C4190436294F4E0F2B
+ 8C2AC21F3434333305674A017887C19F9F9FA48B8B21797B5C797BBF35565E54
+ C84D664C750659590D6EBFAABF1010994D660666B798211D92483A4576453E3A
+ C86E4B9D459A4583B2594C83C9C81EC5441E4B5D5D131D3ED73ED74B3E441E54
+ 1D1E3E133E3E3DCB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFEFEFEFEFFFFFFFFFFFF28FEFEFEB8FFFFFFFFFFFF71CDFEFE71
+ FF50FEFEFE28FFFFFFFFFFFFFFFFFFFFFEFEFE03FFFFFFFFFFFFFFFFFFFFFFCD
+ FEFEB828FFFFFFFFFFFFFFFFFF1AFEFEFE1AFFFFFFFFFF82FEFE81FFFF17FEFE
+ 17FFFFFFFFFF17FEFE81FFFFFF71FEFE7AFFFFFFFFFFFEFEFE03FFFFFFFF6BFE
+ FE6BFFFFFFFFFF28FEFEFE03FFFFFEFEFE03FFFFFFFFFFFFFFFF03FEFEFE03FF
+ FFFFFFFFFFFFFF1AFEFEFEA61AFFFFFFFEFEFEFFFFA6FEFE6BFFFFFFFFFFFFFF
+ FFFFFEFEFEFF50FEFEFE50FFFFFF6BFEFECD32FFFCFC17FEFE170A03FEFEFE28
+ 070B18E818B8FEFE0308E8D8FEFE820B4704223636694F0FD600971FB3343333
+ 330501782F582F9494772E2E2E778BA8AB10107ECA8399264D4D4D0694F0774C
+ 4C0D4C749F78D5C6934D5F0D95AB999C765935C8CCD4BF4B4CACB5C8458BC976
+ 9C5643AD7D4B35353A5444C910CC834B26458821593E1576445D1E3E653E1DB4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFE
+ FE7AFFFFFFFFFFFFFF7AFEFEFEFFFFFFFFFF82FEFEFE17FFFF03FEFEFEFFFFFF
+ FFFFFFFFFFFFFFFFFEFEFE03FFFFFFFFFFFFFFFFFFFF03FEFEFE32FFFFFFFFFF
+ FFFFFFFFFF03FEFEFEFFFFFFFFFFFF03FEFEFEFFFF17FEFE82FFFFFFFFFF03FE
+ FE7AFFFFFF03FEFEFEFFFFFFFFFFFEFEFE03FFFFFFFF81FEFE17FFFFFFFFFFFF
+ 81FEFE17FFFFFEFEFE03FFFFFFFFFFFFFFFF03FEFEFE03FFFFFFFFFFFFFFFFFF
+ 32CDFEFEFE7A825081FEFE50FF81FEFE17FFFFFFFFFFFFFFFFFF81FEFE507AFE
+ FE17FFFFFFFF2881FEFEFECDA63271FEFEA60A03FEFEFE6407B1181B1BD8FEFE
+ 170818D9FEFE17613C86195B191947040F8C972CB33463050567014A4A582FC1
+ 87949F778B8B2E211010A15C3593A58E6F4C759B2EF0871010060D7B2105F32E
+ 934C5FA1B5A521B21E483A547BD51006BD7EA1BF4DAB24B23A839E06314C4B76
+ 1E443AD424CCB2984310D4993A1E3E3E5476541E5D5D5D9A0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE81FFFFFFFFFFFF
+ FF81FEFEFEFFFFFF2881FEFECD71FFFFFF03FEFEFEFEFEFEFEFEFEFEFEFEFFFF
+ FEFEFE03FFFFFFFFFFFFFFFFFFFF17FEFEFE1AFFFFFFFFFFFFFFFFFFFF03FEFE
+ FEFFFFFFFFFFFF03FEFEFEFFFF17FEFE81FFFFFFFFFF03FEFEFEFFFFFF03FEFE
+ FEFFFFFFFFFFFEFEFE03FFFFFFFF81FEFE17FFFFFFFFFFFF81FEFE17FFFF81FE
+ FE03FFFFFFFFFFFFFFFF03FEFEFE030317177128FFFFFFFFFF28177AFEFEFEFE
+ CDFEFE03FF81FEFE17FFFFFFFFFFFFFFFFFF81FEFE82FEFECDFFFFFFFFFFDDFC
+ 036BCDFEFEFECDFEFE810A1AFEFEFE1AEE0B18861BD3FEFE170818D9FEFEFEFE
+ FEFEFEFEFEFEFEF1E523F22C341F2C0505674A34344A2F582FC17394777777A4
+ A87910C94B99BC140666AA06A40178AB5C77A8AB8B01D421AA66BFBF8EF53F54
+ 4C5656592FD421985C105C06D578CC4C064C595E8D9326765D0D31D421B6590D
+ 06998DBF3A459C7654545D1E5D5D54B00000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF81FEFEFEFFFFFFFFFFFFFF82FEFEFE28FFFF
+ 81FEFE7A1AFFFFFFFFFFFEFEFE710303030317FEFEFEFFFFFEFEFE17FFFFFFFF
+ FFFFFFFFFFFF17FEFEFEFFFFFFFFFFFFFFFFFFFFFF28FEFEFE71FFFFFFFFFF32
+ FEFEB8FFFF17FEFEFE28FFFFFFFF71FEFEFEFFFFFF28FEFEFEFFFFFFFFFFFEFE
+ FE17FFFFFFFF82FEFE7AFFFFFFFFFFFFB8FEFE32FFFF81FEFE03FFFFFFFFFFFF
+ FFFF03FEFEFE03B8FEFEFEFE82FFFFFFFFFFFFFF280382B8FEFEFE32FF82FEFE
+ 7AFFFFFFFFFFFFFFFFFF81FEFE717AFEFE32FFFFFFDDDDFCFCDBDB5032A6FEFE
+ FEB80A16B8FEFE17BB0870E8E8D3FEFE17081BF1FEFEA60389892D89F4FEFED3
+ 22D6092CB3B31F0533674A05057858783131949F949F2E8BAB7921A15699A55E
+ B5060DA1BF7979A106A8BFBF0DAB0DBF66BFBF0693525243543A4C062106489E
+ 9DAA9D4C7910BF9E599E458E98C8CA1E4B98CC48454B3A13C8D74C4B5D1E1D3E
+ 1E1E3E3D653E3EC50000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF81FEFEFEFFFFFFFFFFFFFF17FEFEFE03FF50FEFEFE28FFFFFFFF
+ FFFFA6FEFE32FFFFFFFF32FEFEB8FFFFFEFEFECD50FFFFFFFFFFFFFFFFFF17FE
+ FEFEFFFFFFFFFFFFFFFFFFFFFFFFA6FEFEA6FFFFFFFFFF81FEFE6BFFFF71FEFE
+ FEA6FFFFFFFFA6FEFEFEFFFFFFFFFEFEFE28FFFFFFFFFEFEFECD50FFFFFF50FE
+ FEFE50FFFFFFFF03FEFEFE1AFFFF81FEFE03FFFFFFFFFFFFFFFF1AFEFEFE71FE
+ FEFEFEFEFE6BFFFFFFFFFFFFFFFFFF28B8FEFE17FF71FEFEFE03FFFFFFFFFFFF
+ FFFF81FEFE0350CDFEFE71FFFFDDFCFCDBDBDB64FC6417FEFEFE0A0ED3FEFECD
+ 500E08B1B1D3FEFEA6611BA0FEFEB8EE3C5B4786B8FEFEC7E5F9F21FB36363F3
+ 67670178F087879424A42E8B7B21A879795C2166B75E5E14B774B74DBD4C4856
+ 4C9D564D9E454C4C93489B59143B53A73A3A5435763AC8C8B0CA3AB54B3A3A4B
+ 4B5683AD434B26353E1D1D1E1E444435C813484B76351D445D1E1D3D3E1315CB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6FE
+ FEFEFFFFFFFFFFFFFF17FEFEFE03FF03FEFEFE17FFFF1A32FFFF03FEFECD03FF
+ FF287AFEFE17FFFFFEFEFEFECD821703FFFFFFFFFFFF71FEFEFE71FFFFFFFFFF
+ FFFFFFFFFFFF50FEFEFEA61AFF1A6BFEFEFE50FFFF03FEFEFEFEB882177AFEFE
+ FECDFFFF5003FEFEFE17030328FFFEFEFEFECD821703FFA6FEFECD32FFFF71CD
+ FEFEA6FFFFFF81FEFE71FFFFFFFFFFFFFFFFFFFEFEFE7128FF507AFEFEFE03FF
+ FF0328FFFFFFFFFFB8FEFE17FFFF7AFEFECD3228FF280303FFFF81FEFE03FF32
+ FEFECD50FFDDFC1A50DDFCFC64DB32FEFEFEBBEE617AFEFECD321AEEEE6BFEFE
+ 81611960D9FEFE6BC43C18F6FEFECDD02700392CB36333674A01F058D1C1872E
+ 8B79C90DBFBF754D4D4D56954556459E453B7D1480373E1E1E3544134435443E
+ 6C443E5D253FA7C945441D1E3E441E1D443E3E44443E44543BA13A8044921313
+ 13923E15153E153E1515351D1D54C0C09265A9A9C09213AE0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFE1AFFFFFFFFFF
+ FF03FEFEFE03FFFFB8FEFEFEFEFEFECDFFFFFF32FEFEFE7A81FEFEFE7A28FFFF
+ FEFEFE7AFEFEFE17FFFFFFFFFFFF28FEFEFE6BFFFFFFFFFFFFFFFFFFFFFFFF32
+ FEFEFEFEFEFEFEFEFE32FFFFFF03FEFEFE81FEFEFEFEFEFEFE82FFFF81FEFEFE
+ FEFEFEFE03FFFEFEFE7AFEFEFE17FF287AFEFEFEFEFEFEFEFE7A28FFFFFF81FE
+ FE17FFFFFFFFFFFFFFFFFFFEFEFE03FFFFFF28CDFEFE6BFFFF82FE7A6B17177A
+ FEFEFE50FFFF50CDFEFEFEFEFEFEFE17FFFFA6FEFE32FFFFA6FEFEB828FCDB28
+ FECD8117176BCDFEFEA6166108C47AFEFEFEFEFEFEFEFEFEB8E3473096F4FEFE
+ CD81B8FEFEFEC72262F2381F3433054A7858C17331319F7BC975B648B245956F
+ C84B35449A9ACACA543B3B841DAC1313921D13921D1D151D6C1D1D3D3D3B983A
+ 1E13131D1D131D1315C0C01313C015138E5615B4CB15151513C03E133D65C015
+ 131544C51D15A9C09265C013651365A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFF03FEFEFE17FFFF
+ 5081FEFEFEFEFE6BFFFFFFFF037AFEFEFEFECD6B28FFFFFFFEFEFE716BFEFE17
+ FFFFFFFFFFFFFF6BFEFEFE03FFFFFFFFFFFFFFFFFFFFFFFF1A6BFEFEFEFEFEA6
+ 03FFFFFFFF03FEFEFE2882CDFEFEFECD82FFFFFF81FEFEFEFEFEFEFE03FFFEFE
+ FE716BFEFE17FFFFFF32B8FEFEFEFEB81728FFFFFFFF6BFEFE17FFFFFFFFFFFF
+ FFFFFFFEFEFE03FFFFFFFF81FEFE81FFFF0381CDFEFEFEFEFEB871FFFFFFFF1A
+ 6BFEFEFEFEFECD50FFFF17FEFE17FFFF28CDFEFE7A28DBDB6B7AFEFEFEFEFEFE
+ 6B7F0708E30BE3F67AFEFEFEFEFEFEFEF418EB512296F8CDFEFEFEFEF432510F
+ 009738B33433674A015831D4319F8BA85C0DBF064D4D4C4856454B6F6FB044B4
+ 3D3B5E3DAC7C3554C83A3A83453A3A56953A9C76A37D986A133E441E35444435
+ 764B4B7676C8544B439D1D1DC53537445D1E545D4B3A5D545D5435763792135D
+ 3E1E651E1E3E1ECB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFF03FEFEFE17FFFFFFFF28030350FFFF
+ FFFFFFFFFFFF28030350FFFFFFFFFFFFFFFFFFFFFF1A031AFFFFFFFFFFFFFF1A
+ CDFEFECD71FFFFFFFFFFFFFFFFFFFFFFFFFFFF030303FFFFFFFFFFFFFFFFFFFF
+ FFFFFFFF500303FFFFFFFFFFFFFF81FEFE03FFFFFFFFFFFFFFFFFF1A031AFFFF
+ FFFFFF1A03031AFFFFFFFFFFFFFF17FEFE17FFFFFFFFFFFFFFFFFFFEFEFE03FF
+ FFFF28CDFEFE81FFFFFFFFFF2803030328FFFFFFFFFFFFFFFFFF0303031AFFFF
+ FFFF17FEFE17FFFFFFFFFFFFFFFCFC640A646450030350BB16EE61E30BB17070
+ 700B89898989FBE819C351E5693622300C2D2D9604690FF92AF2382CB3B33305
+ 4A01739FC131217B7B79CCA8C910C910AB10107EA10D4D3A3D995E3D3A914556
+ 484C5906064C9E064C480659A38F0DAC4476764B3A3A4B4556459C4545454545
+ 5E9D441D7C355D35C8545454544B4B4B544B6A7637A9655D4B5D1E5D443E1EB4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FE
+ FEFE03FFFFFFFFFFFF28FEFEFE17FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32FEFEFEFE7A1703
+ 0371177A03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFE32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFE17FFFFFFFFFFFFFFFFFFFEFEFE6B171717B8FEFEFE17FF
+ FFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFE17FFFF
+ FFDDFCFFFFDBDB640A0A0ABBBB1616EE0761080BB1703C18E81B86ED195B6049
+ 0451364F4E4E4E4E4E4E4E270F2B55000939F72CB3346305674A317731C18BD5
+ 8B7BCC79A810A8A8C90D0D66660D75B55D7D5EA39B919C564548489E064C484C
+ 7448065954B95E6C353A76C83A833A45953A3A3A3A4545457E3A44923A443554
+ 35C8C8C854355454543A3580C5921E651E13445D3E441ECB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03FEFEFE17FFFFFFFFFF
+ FFFFFEFEFE6BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03CDFEFEFEFEFEFEFEFEFE28FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A17
+ 8117FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FE
+ FE81FFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFE7A28FFFFFFFFFFFFFCFCFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEA6FFDDFFFFFFFCFCFCDB64
+ 0A0ABBBB900EEE076108E30B703C18E886195B4742EB30512236294E270F0F0F
+ 02022B62552300EC9739381FB3346333674A312431877B248B7979A8C9105C7E
+ A8A17EA10D107E9B1E7D5EA34D91484556B64848590659594D4C7598265206AC
+ 543A76544B833A7645459595569E9E483BADCACB9C351E541EC8547676C83A76
+ 263AC8356C151E5D1D137676445D54B40000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF03FEFEFE17FFFFFFFFFFFFFFFEFEFE81FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFF28177AFEFEFEFEFEFE7AFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFE81FFFFFFFFFFFF
+ FFFFFFFEFEFEFEFEFEFEFECD6B28FFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFF17FEFE81DDFFDDFCFFFFFCDB640A0ABB16160EEE0761
+ 0808E3B1703CE886195B4742BE04512236294F4E270F02022B1CEF232300ECF2
+ C2F7381FB3346305674AC1D49F877BD2A47B21A85C105C7E5C0D7E7EAA7E0D6E
+ 3E7D7EA34D9B064548065956484C4C4C4D4D060684B99DB4763A453A4B45B276
+ 3AB5B595489EB79D93C86C1D4BB21E35459544CA9A9A956F263580ACCB923E45
+ 45560DB63E5D54B40000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF03030350FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDDFFFCFCFC0AFC640A0ABB16160EEE076108E30B707018E886
+ 19476049300451EA36294E270F0F022B1C1C238C8CECEC09C2382C1FB3633305
+ 674A58D49F2F7B24A48BABA85C10A1667E667E7E665C5C481E8B99A34C9BBF26
+ 59A10D9EB24C5959AA7575982552BDAC3A45B6483A48593A6F3A95BD4874483A
+ CAC86CB03A10B2458BC93A9A9A9A569556353AB0C5C5C888CCCCD5BF1D4435B4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFC
+ FFDBFFDB640A0ABBBB161690EE07610808E3B1703C181BED5B4742BE30042236
+ E54F4E270F0F022B1CEF238C00EC0909C2382C1F3463330567675894242FD2D5
+ CF2F8B7B2F87BFA1A1060D5CA17EA19B843F3BCA759B2F569888C12659598359
+ 4D750D14145206AC3A83F00688F02E2626AD833A4C4559569845352644D47B99
+ 8B4DCACA4B4B4B3A9C9C06B2441E1ED5CC8B103A134435CB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFCFCFFFFFCFFFFFFFFFFFFFFFCFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDFCFCDB0A0A0A0A
+ BB16160EEE076108E30B703C3CE886195B60493004512236694F27270F02022B
+ 1C55238C002A090939F72C1F34630505674A5894C1D1D49FA44A9F2158F00D7E
+ ABA1A1A166A1A14D938F3F25069B012EA17B2EB74C4C7498064806433BF55E6A
+ 454CD5CC06310D3A9595957645455999D2481D9A3A9F217EC99EC8C8264BC84B
+ 35060D4544541D06764545C83554C8AC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFCFCFCFCFFFCFCFCFCFCFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFDDFCFC640A0A0A0ABB1690EE070761E3
+ E30B703C181B86194760BE3004513636294E27270F022B621C558C0000EC0909
+ C2382C1F34633305674A58942F53312E24672F2E2F2FA8A85C667566660D0D4D
+ 1453528E069B77D55C775C66749B74744DB5BF433FBC3B6E489BA87B4C214C9B
+ 56489B48484893B97B484B4BD79D4B5606B7BD95BDB54BC88EAB5992A96F9A4B
+ 56959556454B44CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFC
+ FCFCFCFFFFFFFCFCFFFFFFFFFCFFFFFCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFCFCFC640A0A0ABBBB16160E07076108E30BB1703CE81B195B
+ 47C3BE30042236E54F4E270F0F022B62D6558C8C002A09F239382C1F34630505
+ 67017824C1AFA52E8B77777777A48B79AB1010105C5C664D5EAF5384065F7510
+ 667BAAAB7E0D7E0D0D4CBFB7B9535E6A729AAA7E66667E5C7EA1A1759B488EA5
+ A49DCAC8BD4D744D4D4D4D4C74B79DB5A3B98F06CACAB06E3AC8C83A954BC8AC
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFCFF
+ FCFFFFFCFCFFFCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCDB0A0A0ABBBBBBBB90EE07610808E30B7070181B8619476049300451223669
+ 4F4E270F02022BD6EF558C002A09F2C2F7382C1FB3633305674A7894C111BCCF
+ 7B798B77A48BA4A42E2E7B79A85C064DB96DAF14B79B5F0D7EA87E7979A85C5C
+ 7E0648AAF5BCB9747472064D66747E66AA4D5F6EB59314BCAFA44C9AB0B5849A
+ 84B5BD3A3ABD48B7A75A5AF57B0659757E7E5C5CC99979790000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFFFCFFFFFCFCFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCDB64640A0ABBBBBB
+ 1690EE076108E30BB1703CE81BED194742493004222236294F270F0F022B62EF
+ EF238C00ECECF2C2F7382C1F3463330567012F2F5A1185A48B2EA421A47B218B
+ 7979A85C5C66665CAF5A6D53C94CAA06664DAAAAAA4D4D4D14064C79BCBAF577
+ 9DB572B5B5729DB574744D4D6610D45AFDAF01C1772E9FC1C12FF0014ABCAFBA
+ 5AFDFD6D5A5A5A5A5A5A5ACEBACE5A2C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFFFFFCFCFCFCFCFFFFFCFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFDDFFFFFFFFFFFFFFFFFFFFDDDBDBDB640A0A0ABBBBBB16EEEE616108E30B
+ 703C3C1B86ED4760C330040422EA69294E270F0F022B621C55238C002A09F2C2
+ F72C1FB334330505670178F31111110524D22E21D221AB10AB79AB1079792EF0
+ FD6DFD6D0587318F3131C12FA5F07801F0010185BA6D5AAF0101F5BC058585BA
+ BABACEBACEBA5A6DFDFDFDFDFDFD6D5A5A6D6DFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCDBDBDBDBDB
+ DBFCFFFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFCFCFCFCDB640A0ABBBBBBBB160EEE076108E3E30B703C181B865B4760
+ C33004512236294F4E270F02022B1CEF23238C00EC0909E78A39F738112C2C1F
+ CECE6D41111111FD5ACE5A6D6D6D6D5A5A5A5A5A5A5A6DFDFDFDFDFDFDFD6D6D
+ 5A6D5A6D5A5A5A5A5A5A5AFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFFFCFCFCFC
+ FCFCFFFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBFCFCDB
+ 640ABBBBBB16160EEE07616108E30B70703CE81B195B47C3BE040422EAE5294E
+ 27270F022B621CEF238C8C00ECECEC6868E78A8A464646414141411111111111
+ 1111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
+ FCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFCFCFCFCFCFCFCFCFCFFFCFCFFFF
+ FFFFDDFFDDDDFFFFFFFFFFFFDDFFFFFFFFFFFFFFFCDBDB64640A0ABBBB16160E
+ EE07610808E3B1703C181BED194760493004512236E54F4E270F0F022B1C1C55
+ 238C00ECECECEC09688A8A8A4646464141414111111111111111FD1111FDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBDBDBDB
+ DBDBDBDBDBDBDB6464FCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFDDFFFFFFFFFFFF
+ FFFFFFFFFCDDFFFFFCFFFFFCDB64640A0A0ABBBBBB160EEE07610808E30B7070
+ 3CE81B195B4742BE300451EAE5294F4E270F02022B1C1C558C8C0000ECEC6868
+ E78A8A46464646414141411111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB6464646464
+ 64FCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFDDDDFFFFDDFFFFFFDDFFFFFFFFFFFC
+ FFFFFCFCFCFC640A0A0ABB1616160EEE076108080B0B703CE81B86194760C3BE
+ 04512236E54F4E270F0F022B2B1CEF8C8C0000ECECEC0909DCE7464646464141
+ 4111411111111111FDFD11FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB646464646464FCFC64FCFCFCFCFC
+ FCFCFCFCFCFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBFCDBDBDB0A0A
+ 0ABB1616160E0E07616108E30B70703CE886195B474249305151223669294E27
+ 0F0F022B2B1CEF238C8C0000ECEC096868E7E78A8A4646414141414111411111
+ 1111111111111111111111111111111111111111111111111111111111111111
+ 1111111111111111111111111111111111111111111111111111111111111111
+ 11111111111111111111111111111111111111111111118A0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFCFCFCFCFCDB
+ DBDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A646464646464DBFCFCFCDBFCDBFFFFFF
+ DDDDFFDDFFFFFFFFFFFFFFFFFFFCFCFCFCFFFCDBDB0A0A0ABBBB160E16EEEE07
+ 070808E30BB13C3CE81B86194760C3BE3004512236E54F4E4E270F0F022B2B1C
+ 1C55558C8C8C0000002A2AECECEC09EC09096868686868686868DCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCEC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB
+ DBDBDBDBDBDB64DBDBDBDBDBDBDBDBFCFCDBFCDBFFFFFFFFFFFFFFDDDDFFFFFF
+ FFFFFFFFFFFCFCFCFCFCFCDBDBDBDB640A0ABBBBBB160EEEEE07616108E3E3B1
+ 703C18181BED195B4760C349303004515122EAEAE5E529294F4F4E4E27272727
+ 270F0F0F0F0F0F0F0F0202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 020202020202020F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDDFCFCFCFCFCFCFCFCFCDD
+ DDDDDDDDDDFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFC640A0A0A0A0ABB161616900EEE0707610808E3E30B0BB170
+ 3C3C3C18E81B1B86EDED19195B5B4747474760604242C3C3C3C3494949494949
+ EBEBEBBEBEBEBE30BEBE30303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303049
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFDDDDFCFCFCFCFCFCFCFCDBDBDBDBDDFCFCFCDDDDFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDDFCFC64
+ 640A0A0A0ABB161616900EEE070761080808E3E30BB17070703C3CE81B1B1B86
+ ED1919195B5B4747476060424242C3C3C3494949494949EBBEEBBEBEBEBE3030
+ BE30303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030490000FCFCFCFCFCFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB
+ DBDB6464646464640A0A0A0A0A0A6464646464DBDBDBDBDBDBDBDBFCFFFFDDDD
+ FFDDFFFFFFFFFCFFFFFFDDFFFFFCFCFCFCDBDBDBDB640A0ABBBBBBBB16EEEE07
+ 610808E3E3B170703C181B86ED195B4742C3BE300404512222EA36E529294F4F
+ 4E4E4E272727270F0F0F0F0F0F0F020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020F0000FCFCFCFCFCFCFCFCFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCDBDBDBDBDBDBDB64640A0A0A0A0ABBBBBB
+ BBBBBBBBBBBB0A0ABB0A0A0A0A0A0A0ADB64FCFCFCFFDDDBFFFFDDFFFFFFFFFF
+ FFFFFCFFFFFFFC64DBDBDB0A0A0ABB161690EEEE07070808E30BB1703C181B1B
+ 195B476049300451512236294F4E27270F0F022B2B1C1CEF558C8C0000000000
+ ECECECECECEC09090968686868686868DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCEC0000FCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFF
+ FCFCFCFCFCFCDBDBDBDBDBDBDB640A0A0A0A0ABBBBBBBBBBBBBBBBBBBBBBBBBB
+ BB0A0A0A0A0A640A6464DBFCFCDDFCFFDDFCFFFFFFFFFFFFFFFFFFFFFFFCDBFC
+ 640A0A0ABBBBBBBB900EEE07616108E3E30B703C18E81B191947604930040451
+ 223669294E27270F02022B2B621CEF55238C8C00000000ECECECEC0909096868
+ 68E7E768E7E78AE7E78A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
+ 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
+ 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8AEC
+ 0000}
+ Login.LeftImage.Data = {
+ 07544269746D617016090000424D160900000000000036040000280000003200
+ 0000180000000100080000000000E00400000000000000000000000100000000
+ 000000000000000080000080000000808000800000008000800080800000C0C0
+ C000C0DCC000F0CAA6000020400000206000002080000020A0000020C0000020
+ E00000400000004020000040400000406000004080000040A0000040C0000040
+ E00000600000006020000060400000606000006080000060A0000060C0000060
+ E00000800000008020000080400000806000008080000080A0000080C0000080
+ E00000A0000000A0200000A0400000A0600000A0800000A0A00000A0C00000A0
+ E00000C0000000C0200000C0400000C0600000C0800000C0A00000C0C00000C0
+ E00000E0000000E0200000E0400000E0600000E0800000E0A00000E0C00000E0
+ E00040000000400020004000400040006000400080004000A0004000C0004000
+ E00040200000402020004020400040206000402080004020A0004020C0004020
+ E00040400000404020004040400040406000404080004040A0004040C0004040
+ E00040600000406020004060400040606000406080004060A0004060C0004060
+ E00040800000408020004080400040806000408080004080A0004080C0004080
+ E00040A0000040A0200040A0400040A0600040A0800040A0A00040A0C00040A0
+ E00040C0000040C0200040C0400040C0600040C0800040C0A00040C0C00040C0
+ E00040E0000040E0200040E0400040E0600040E0800040E0A00040E0C00040E0
+ E00080000000800020008000400080006000800080008000A0008000C0008000
+ E00080200000802020008020400080206000802080008020A0008020C0008020
+ E00080400000804020008040400080406000804080008040A0008040C0008040
+ E00080600000806020008060400080606000806080008060A0008060C0008060
+ E00080800000808020008080400080806000808080008080A0008080C0008080
+ E00080A0000080A0200080A0400080A0600080A0800080A0A00080A0C00080A0
+ E00080C0000080C0200080C0400080C0600080C0800080C0A00080C0C00080C0
+ E00080E0000080E0200080E0400080E0600080E0800080E0A00080E0C00080E0
+ E000C0000000C0002000C0004000C0006000C0008000C000A000C000C000C000
+ E000C0200000C0202000C0204000C0206000C0208000C020A000C020C000C020
+ E000C0400000C0402000C0404000C0406000C0408000C040A000C040C000C040
+ E000C0600000C0602000C0604000C0606000C0608000C060A000C060C000C060
+ E000C0800000C0802000C0804000C0806000C0808000C080A000C080C000C080
+ E000C0A00000C0A02000C0A04000C0A06000C0A08000C0A0A000C0A0C000C0A0
+ E000C0C00000C0C02000C0C04000C0C06000C0C08000C0C0A000F0FBFF00A4A0
+ A000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFF
+ FF00FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD525252525252525252525252
+ 5252FDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDAFB75E5E5E66666767676F6F6F6FB752FDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBF
+ BFBFBFBFBFBFBFBFBFB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFB76F676F6FB7B7B7B7B7776F5EB752FD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBFBFB752FDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFB76F676F6F6FB7B7
+ B7B7776F5EB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBFBFBF52FDFDFDFDFD
+ 0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAF
+ B76767676F6F6FB7B7B7776F5EB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBF
+ BFBF52FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDAFB76767676F6F6F6FB7B7776F5EB752FDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBF
+ BFBFBFBFBFBFBFBFBFBF52FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBFB7AFAFB7B7B7B7BFBFBFBFB7B752FD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDAFB76F675E5E5E5E5E5E676FB7A5FDFDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F79BFDFDFDFD
+ FDFDA4F7A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDF7F79BFDFDFDFDFDFDA407A3FDFDFDFDFDFDFD
+ 0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDF7F79BFDFDFDFDFDFDA407A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F7A4FDFDFDFDFDFDF707
+ A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDF707A49AFDFDFDFDA30707A3FDFDFDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F6A4
+ A49B9A9AA3A407079AFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F6F7F7A4A4F70707A3FDFDFDFD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDF7F6F6F6F6F607A3FDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7A3A3A3
+ A3A3FDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ 0000}
+ Login.LabelTentativa = 'Tentativa : '
+ Login.LabelTentativas = 'M'#225'ximo de Tentativas : '
+ Log.WindowCaption = 'Seguridad'
+ Log.LabelDescription = 'Visor de Eventos'
+ Log.LabelUser = 'Usuario:'
+ Log.LabelDate = 'Fecha:'
+ Log.LabelLevel = 'Nivel M'#237'nimo: '
+ Log.ColAppID = 'AppID'
+ Log.ColLevel = 'Nivel'
+ Log.ColMessage = 'Mensaje'
+ Log.ColUser = 'Usuario'
+ Log.ColDate = 'Fecha'
+ Log.BtFilter = '&Aplicar Filtro'
+ Log.BtDelete = '&Borrar Bit'#225'cora'
+ Log.BtClose = '&Cerrar'
+ Log.PromptDelete =
+ #191'Est'#225' seguro de Eliminar todos todos los registros de Bit'#225'cora s' +
+ 'eleccionados?'
+ Log.PromptDelete_WindowCaption = 'Confirmaci'#243'n'
+ Log.OptionUserAll = 'Todos'
+ Log.OptionLevelLow = 'Bajo'
+ Log.OptionLevelNormal = 'Normal'
+ Log.OptionLevelHigh = 'Alto'
+ Log.OptionLevelCritic = 'Cr'#237'tico'
+ Log.DeletePerformed =
+ 'Borrado de registros de bit'#225'cora realizado: Usuario = "%s" | Fec' +
+ 'ha = %s a %s | Nivel <= %s'
+ UsersForm.WindowCaption = 'Seguridad'
+ UsersForm.LabelDescription = 'Administraci'#243'n de Usuarios'
+ UsersForm.ColName = 'Nombre'
+ UsersForm.ColLogin = 'Usuario'
+ UsersForm.ColEmail = 'Correo'
+ UsersForm.BtAdd = '&Nuevo'
+ UsersForm.BtChange = '&Editar'
+ UsersForm.BtDelete = 'E&liminar'
+ UsersForm.PromptDelete = #191'Est'#225' seguro de Eliminar al Usuario "%s"?'
+ UsersForm.PromptDelete_WindowCaption = 'Eliminar usuario'
+ UsersForm.BtRights = '&Accesos'
+ UsersForm.BtPassword = 'C&ontrase'#241'a'
+ UsersForm.BtClose = '&Cerrar'
+ AddChangeUser.WindowCaption = 'Administraci'#243'n de Usuarios'
+ AddChangeUser.LabelAdd = 'Nuevo Usuario'
+ AddChangeUser.LabelChange = 'Editar Usuario'
+ AddChangeUser.LabelName = 'Nombre:'
+ AddChangeUser.LabelLogin = 'Usuario: '
+ AddChangeUser.LabelEmail = 'Correo: '
+ AddChangeUser.LabelPerfil = 'Perfil: '
+ AddChangeUser.CheckPrivileged = 'Usuario Privilegiado'
+ AddChangeUser.BtSave = '&Guardar'
+ AddChangeUser.BtCancel = 'Cancelar'
+ AddChangeUser.CheckExpira = 'Senha do usu'#225'rio n'#227'o expira'
+ AddChangeUser.Day = 'Dias'
+ AddChangeUser.ExpiredIn = 'Expira em'
+ AddChangeProfile.WindowCaption = 'Perfiles de Usuarios'
+ AddChangeProfile.LabelAdd = 'Nuevo Perfil'
+ AddChangeProfile.LabelChange = 'Editar Perfil'
+ AddChangeProfile.LabelName = 'Descripci'#243'n: '
+ AddChangeProfile.BtSave = '&Guardar'
+ AddChangeProfile.BtCancel = 'Cancelar'
+ UsersProfile.WindowCaption = 'Seguridad'
+ UsersProfile.LabelDescription = 'Perfil de Usuario'
+ UsersProfile.ColProfile = 'Perfil'
+ UsersProfile.BtAdd = '&Nuevo'
+ UsersProfile.BtChange = '&Editar'
+ UsersProfile.BtDelete = 'E&liminar'
+ UsersProfile.BtRights = '&Accesos'
+ UsersProfile.PromptDelete =
+ 'Existe(n) usuario(s) con el Perfil "%s". '#191'Est'#225' seguro de elimina' +
+ 'r el perfil?'
+ UsersProfile.PromptDelete_WindowCaption = 'Eliminar perfil'
+ UsersProfile.BtClose = '&Cerrar'
+ Rights.WindowCaption = 'Seguridad'
+ Rights.LabelUser = 'Permisos de Usuario : '
+ Rights.LabelProfile = 'Permisos del Perfil : '
+ Rights.PageMenu = 'Elementos del Men'#250
+ Rights.PageActions = 'Acciones'
+ Rights.PageControls = 'Controles'
+ Rights.BtUnlock = '&Permitir'
+ Rights.BtLock = '&Bloquear'
+ Rights.BtSave = '&Guardar'
+ Rights.BtCancel = '&Cancelar'
+ ChangePassword.WindowCaption = 'Seguridad'
+ ChangePassword.LabelDescription = 'Cambiar Contrase'#241'a'
+ ChangePassword.LabelCurrentPassword = 'Contrase'#241'a Actual:'
+ ChangePassword.LabelNewPassword = 'Nueva Contrase'#241'a:'
+ ChangePassword.LabelConfirm = 'Confirme Contrase'#241'a:'
+ ChangePassword.BtSave = '&Guardar'
+ ChangePassword.BtCancel = 'Cancelar'
+ ResetPassword.WindowCaption = 'Ingrese Contrase'#241'a de Usuario: "%s"'
+ ResetPassword.LabelPassword = 'Contrase'#241'a: '
+ History.Evento_Insert = 'Nuevo'
+ History.Evento_Delete = 'Eliminar'
+ History.Evento_Edit = 'Editar'
+ History.Evento_NewRecord = 'Nuevo registro'
+ History.Hist_All = 'Todos'
+ History.Msg_LimpHistorico = 'Excluir el contenido entero del hist'#243'rico ?'
+ History.Msg_MensConfirma = 'Confirme'
+ History.Msg_LogEmptyHistory = 'El usuario %s borra la historia de mesa en %s '
+ History.LabelDescricao = 'Hist'#243'rico de tabelas'
+ History.LabelUser = 'Usuario'
+ History.LabelForm = 'Formul'#225'rio'
+ History.LabelEvento = 'Evento'
+ History.LabelTabela = 'Tabela'
+ History.LabelDataEvento = 'Data'
+ History.LabelHoraEvento = 'Hora'
+ History.Msg_NewRecord = '%s Inserte el nuevo registro'
+ History.Hist_MsgExceptPropr = 'Por favor informe la propiedad %s'
+ History.Hist_BtnFiltro = '&Aplicar Filtro'
+ History.Hist_BtnExcluir = '&Borrar Hist'#243'rico'
+ History.Hist_BtnFechar = '&Cerrar'
+ TypeFieldsDB.Type_VarChar = 'VarChar'
+ TypeFieldsDB.Type_Char = 'Char'
+ TypeFieldsDB.Type_Int = 'Int'
+ TypeFieldsDB.Type_MemoField = 'BLOB SUB_TYPE 1 SEGMENT SIZE 1024'
+ Language = ucSpanish
+ Left = 56
+ Top = 128
+ end
+ object UCXPStyle1: TUCXPStyle
+ Active = True
+ XPSettings.DimLevel = 30
+ XPSettings.GrayLevel = 10
+ XPSettings.Font.Charset = ANSI_CHARSET
+ XPSettings.Font.Color = clMenuText
+ XPSettings.Font.Height = -11
+ XPSettings.Font.Name = 'Tahoma'
+ XPSettings.Font.Style = []
+ XPSettings.Color = clBtnFace
+ XPSettings.DrawMenuBar = False
+ XPSettings.IconBackColor = clBtnFace
+ XPSettings.MenuBarColor = clBtnFace
+ XPSettings.SelectColor = clHighlight
+ XPSettings.SelectBorderColor = clHighlight
+ XPSettings.SelectFontColor = clMenuText
+ XPSettings.DisabledColor = clInactiveCaption
+ XPSettings.SeparatorColor = clBtnFace
+ XPSettings.CheckedColor = clHighlight
+ XPSettings.IconWidth = 24
+ XPSettings.DrawSelect = True
+ XPSettings.UseSystemColors = True
+ XPSettings.UseDimColor = False
+ XPSettings.OverrideOwnerDraw = False
+ XPSettings.Gradient = False
+ XPSettings.FlatMenu = False
+ XPSettings.AutoDetect = False
+ XPSettings.BitBtnColor = clBtnFace
+ XPSettings.ColorsChanged = False
+ UCSettings = UCSettings1
+ Left = 88
+ Top = 128
+ end
+ object QVerAcesso: TADOQuery
+ Connection = ADOConnection1
+ Parameters = <
+ item
+ Name = 'login'
+ Size = -1
+ Value = Null
+ end
+ item
+ Name = 'componente'
+ Size = -1
+ Value = Null
+ end>
+ SQL.Strings = (
+ 'SELECT UCPassword FROM UCTabUsers'
+
+ 'INNER JOIN UCTabRights ON UCTabUsers.uciduser = UCTabRights.ucid' +
+ 'user'
+
+ 'WHERE UCTabUsers.UCLogin = :login and UCTabRights.UCCompName = ' +
+ ':componente')
+ Left = 288
+ Top = 200
+ end
+end
diff --git a/official/2.20/Demos/1 Basic All Data Access/ADO/Unit1.pas b/official/2.20/Demos/1 Basic All Data Access/ADO/Unit1.pas
new file mode 100644
index 0000000..0a06ec8
--- /dev/null
+++ b/official/2.20/Demos/1 Basic All Data Access/ADO/Unit1.pas
@@ -0,0 +1,120 @@
+unit Unit1;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, DB, ADODB, Menus, UCBase, UCADOConn, StdCtrls, Buttons,
+ UCXPStyle, UCSettings, UCDataConnector;
+
+type
+ TForm1 = class(TForm)
+ ADOConnection1: TADOConnection;
+ UCADOConn1: TUCADOConn;
+ UserControl1: TUserControl;
+ MainMenu1: TMainMenu;
+ Arquivo1: TMenuItem;
+ Abrir1: TMenuItem;
+ Salvar1: TMenuItem;
+ Salvar2: TMenuItem;
+ Salvarcomo1: TMenuItem;
+ Fechar1: TMenuItem;
+ N2: TMenuItem;
+ Dados1: TMenuItem;
+ Importar1: TMenuItem;
+ Exportar1: TMenuItem;
+ N4: TMenuItem;
+ Vincular1: TMenuItem;
+ N3: TMenuItem;
+ Sair2: TMenuItem;
+ Editar1: TMenuItem;
+ Copiar1: TMenuItem;
+ Colar1: TMenuItem;
+ Recortar1: TMenuItem;
+ N1: TMenuItem;
+ Selecionartudo1: TMenuItem;
+ N5: TMenuItem;
+ AreadeTransferencia1: TMenuItem;
+ Exibir2: TMenuItem;
+ Esvaziar1: TMenuItem;
+ Exibir1: TMenuItem;
+ Zoom1: TMenuItem;
+ Normal1: TMenuItem;
+ Grande1: TMenuItem;
+ Ajustarnajanela1: TMenuItem;
+ N6: TMenuItem;
+ Personalizar1: TMenuItem;
+ amanhonormal1: TMenuItem;
+ elacheia1: TMenuItem;
+ Relatorios1: TMenuItem;
+ Relatorio11: TMenuItem;
+ Relatorio21: TMenuItem;
+ Relatorio31: TMenuItem;
+ Relatorio41: TMenuItem;
+ Segurana1: TMenuItem;
+ Cadastrodeusuarios1: TMenuItem;
+ Perfildeusurios1: TMenuItem;
+ logdosistema: TMenuItem;
+ N7: TMenuItem;
+ rocarsenha1: TMenuItem;
+ EfetuarLogoff1: TMenuItem;
+ UCSettings1: TUCSettings;
+ UCXPStyle1: TUCXPStyle;
+ QVerAcesso: TADOQuery;
+ GroupBox1: TGroupBox;
+ edLogin: TEdit;
+ edSenha: TEdit;
+ Button1: TButton;
+ Label1: TLabel;
+ Label2: TLabel;
+ edComp: TEdit;
+ Label3: TLabel;
+ procedure FormCreate(Sender: TObject);
+ procedure EfetuarLogoff1Click(Sender: TObject);
+ procedure Button1Click(Sender: TObject);
+ private
+ function PossuiAcesso(Login, Senha, Componente : String) : Boolean;
+ public
+ { Public declarations }
+ end;
+
+var
+ Form1: TForm1;
+
+implementation
+
+{$R *.dfm}
+
+procedure TForm1.FormCreate(Sender: TObject);
+begin
+ ADOConnection1.Connected := True;
+end;
+
+procedure TForm1.EfetuarLogoff1Click(Sender: TObject);
+begin
+ UserControl1.Logoff;
+end;
+
+procedure TForm1.Button1Click(Sender: TObject);
+begin
+ if PossuiAcesso(edLogin.Text, edSenha.Text, edComp.Text) then
+ MessageBox(handle, 'Acesso liberado!', 'Informação', MB_ICONINFORMATION or MB_OK)
+ else
+ MessageBox(handle, 'Acesso negado!', 'Aviso', MB_ICONWARNING or MB_OK);
+end;
+
+function TForm1.PossuiAcesso(Login, Senha, Componente : String) : Boolean;
+begin
+ with QVerAcesso do
+ begin
+ Close;
+ Parameters.ParamByName('login').Value := EdLogin.Text;
+ Parameters.ParamByName('componente').Value := edComp.Text;
+ Open;
+ if (IsEmpty) or (Decrypt( QVerAcesso.FieldByName('UCPassword').asString, UserControl1.EncryptKey ) <> Senha) then
+ Result := False
+ else Result := True;
+ end;
+end;
+
+end.
diff --git a/official/2.20/Demos/1 Basic All Data Access/Asta/Project1.dpr b/official/2.20/Demos/1 Basic All Data Access/Asta/Project1.dpr
new file mode 100644
index 0000000..08b344c
--- /dev/null
+++ b/official/2.20/Demos/1 Basic All Data Access/Asta/Project1.dpr
@@ -0,0 +1,13 @@
+program Project1;
+
+uses
+ Forms,
+ Unit1 in 'Unit1.pas' {Form1};
+
+{$R *.res}
+
+begin
+ Application.Initialize;
+ Application.CreateForm(TForm1, Form1);
+ Application.Run;
+end.
diff --git a/official/2.20/Demos/1 Basic All Data Access/Asta/Project1.res b/official/2.20/Demos/1 Basic All Data Access/Asta/Project1.res
new file mode 100644
index 0000000..03109fc
Binary files /dev/null and b/official/2.20/Demos/1 Basic All Data Access/Asta/Project1.res differ
diff --git a/official/2.20/Demos/1 Basic All Data Access/Asta/Unit1.dfm b/official/2.20/Demos/1 Basic All Data Access/Asta/Unit1.dfm
new file mode 100644
index 0000000..c568434
--- /dev/null
+++ b/official/2.20/Demos/1 Basic All Data Access/Asta/Unit1.dfm
@@ -0,0 +1,1466 @@
+object Form1: TForm1
+ Left = 170
+ Top = 180
+ Width = 610
+ Height = 350
+ Caption = 'User Control - Asta 3 Basic Demo'
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ Menu = MainMenu1
+ OldCreateOrder = False
+ OnCreate = FormCreate
+ PixelsPerInch = 96
+ TextHeight = 13
+ object UserControl1: TUserControl
+ AutoStart = True
+ ApplicationID = 'ADOBasic'
+ ControlRight.MainMenu = MainMenu1
+ UsersForm.MenuItem = Cadastrodeusuarios1
+ UsersForm.UsePrivilegedField = False
+ UsersForm.ProtectAdmin = True
+ EncryptKey = 0
+ NotAllowedItems.MenuVisible = True
+ NotAllowedItems.ActionVisible = True
+ Login.AutoLogon.Active = False
+ Login.AutoLogon.MessageOnError = False
+ Login.InitialLogin.User = 'Admin'
+ Login.InitialLogin.Email = 'qmd@onda.com.br'
+ Login.InitialLogin.Password = '#delphi'
+ Login.MaxLoginAttempts = 0
+ Login.GetLoginName = lnNone
+ LogControl.Active = True
+ LogControl.TableLog = 'AstaUCLog'
+ LogControl.MenuItem = logdosistema
+ ExtraRight = <>
+ LoginMode = lmActive
+ UsersProfile.Active = True
+ UsersProfile.MenuItem = Perfildeusurios1
+ TableUsers.FieldUserID = 'UCIdUser'
+ TableUsers.FieldUserName = 'UCUserName'
+ TableUsers.FieldLogin = 'UCLogin'
+ TableUsers.FieldPassword = 'UCPassword'
+ TableUsers.FieldEmail = 'UCEmail'
+ TableUsers.FieldPrivileged = 'UCPrivileged'
+ TableUsers.FieldTypeRec = 'UCTypeRec'
+ TableUsers.FieldProfile = 'UCProfile'
+ TableUsers.FieldKey = 'UCKey'
+ TableUsers.TableName = 'AstaUCTabUsers'
+ TableRights.FieldUserID = 'UCIdUser'
+ TableRights.FieldModule = 'UCModule'
+ TableRights.FieldComponentName = 'UCCompName'
+ TableRights.FieldFormName = 'UCFormName'
+ TableRights.FieldKey = 'UCKey'
+ TableRights.TableName = 'AstaUCTabRights'
+ ChangePasswordForm.MenuItem = rocarsenha1
+ ChangePasswordForm.ForcePassword = False
+ ChangePasswordForm.MinPasswordLength = 0
+ DataConnector = UCAstaConn1
+ Left = 120
+ Top = 88
+ end
+ object MainMenu1: TMainMenu
+ AutoHotkeys = maManual
+ OwnerDraw = True
+ Left = 56
+ Top = 56
+ object Arquivo1: TMenuItem
+ Caption = 'Arquivo'
+ object Abrir1: TMenuItem
+ Caption = 'Abrir'
+ end
+ object Salvar1: TMenuItem
+ Caption = '-'
+ end
+ object Salvar2: TMenuItem
+ Caption = 'Salvar'
+ end
+ object Salvarcomo1: TMenuItem
+ Caption = 'Salvar como...'
+ end
+ object Fechar1: TMenuItem
+ Caption = 'Fechar'
+ end
+ object N2: TMenuItem
+ Caption = '-'
+ end
+ object Dados1: TMenuItem
+ Caption = 'Dados'
+ object Importar1: TMenuItem
+ Caption = 'Importar'
+ end
+ object Exportar1: TMenuItem
+ Caption = 'Exportar'
+ end
+ object N4: TMenuItem
+ Caption = '-'
+ end
+ object Vincular1: TMenuItem
+ Caption = 'Vincular'
+ end
+ end
+ object N3: TMenuItem
+ Caption = '-'
+ end
+ object Sair2: TMenuItem
+ Caption = 'Sair'
+ end
+ end
+ object Editar1: TMenuItem
+ Caption = 'Editar'
+ object Copiar1: TMenuItem
+ Caption = 'Copiar'
+ end
+ object Colar1: TMenuItem
+ Caption = 'Colar'
+ end
+ object Recortar1: TMenuItem
+ Caption = 'Recortar'
+ end
+ object N1: TMenuItem
+ Caption = '-'
+ end
+ object Selecionartudo1: TMenuItem
+ Caption = 'Selecionar tudo'
+ end
+ object N5: TMenuItem
+ Caption = '-'
+ end
+ object AreadeTransferencia1: TMenuItem
+ Caption = 'Area de Transferencia'
+ object Exibir2: TMenuItem
+ Caption = 'Exibir'
+ end
+ object Esvaziar1: TMenuItem
+ Caption = 'Esvaziar'
+ end
+ end
+ end
+ object Exibir1: TMenuItem
+ Caption = 'Exibir'
+ object Zoom1: TMenuItem
+ Caption = 'Zoom...'
+ object Normal1: TMenuItem
+ Caption = 'Normal'
+ Checked = True
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object Grande1: TMenuItem
+ Caption = 'Grande'
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object Ajustarnajanela1: TMenuItem
+ Caption = 'Ajustar na janela'
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object N6: TMenuItem
+ Caption = '-'
+ GroupIndex = 1
+ end
+ object Personalizar1: TMenuItem
+ Caption = 'Personalizar'
+ GroupIndex = 1
+ end
+ end
+ object amanhonormal1: TMenuItem
+ Caption = 'Tamanho normal'
+ end
+ object elacheia1: TMenuItem
+ Caption = 'Tela cheia'
+ end
+ end
+ object Relatorios1: TMenuItem
+ Caption = 'Relatorios'
+ object Relatorio11: TMenuItem
+ Caption = 'Relatorio 1'
+ end
+ object Relatorio21: TMenuItem
+ Caption = 'Relatorio 2'
+ end
+ object Relatorio31: TMenuItem
+ Caption = 'Relatorio 3'
+ end
+ object Relatorio41: TMenuItem
+ Caption = 'Relatorio 4'
+ end
+ end
+ object Segurana1: TMenuItem
+ Caption = 'Seguran'#231'a'
+ object Cadastrodeusuarios1: TMenuItem
+ Caption = 'Cadastro de usuarios'
+ end
+ object Perfildeusurios1: TMenuItem
+ Caption = 'Perfil de usuarios'
+ end
+ object logdosistema: TMenuItem
+ Caption = 'Log do Sistema'
+ end
+ object N7: TMenuItem
+ Caption = '-'
+ end
+ object rocarsenha1: TMenuItem
+ Caption = 'Trocar senha'
+ end
+ object EfetuarLogoff1: TMenuItem
+ Caption = 'Efetuar Logoff'
+ OnClick = EfetuarLogoff1Click
+ end
+ end
+ end
+ object UCSettings1: TUCSettings
+ AppMessages.MsgsForm_BtNew = '&Nova Mensagem'
+ AppMessages.MsgsForm_BtReplay = '&Responder'
+ AppMessages.MsgsForm_BtForward = 'E&ncaminhar'
+ AppMessages.MsgsForm_BtDelete = '&Excluir'
+ AppMessages.MsgsForm_WindowCaption = 'Mensagens do Sistema'
+ AppMessages.MsgsForm_ColFrom = 'Remetente'
+ AppMessages.MsgsForm_ColSubject = 'Assunto'
+ AppMessages.MsgsForm_ColDate = 'Data'
+ AppMessages.MsgsForm_PromptDelete = 'Confirma excluir as mensagens selecionadas ?'
+ AppMessages.MsgRec_BtClose = '&Fechar'
+ AppMessages.MsgRec_WindowCaption = 'Mensagem'
+ AppMessages.MsgRec_Title = 'Mensagem Recebida'
+ AppMessages.MsgRec_LabelFrom = 'De :'
+ AppMessages.MsgRec_LabelDate = 'Date'
+ AppMessages.MsgRec_LabelSubject = 'Assunto'
+ AppMessages.MsgRec_LabelMessage = 'Mensagem'
+ AppMessages.MsgSend_BtSend = '&Enviar'
+ AppMessages.MsgSend_BtCancel = '&Cancelar'
+ AppMessages.MsgSend_WindowCaption = 'Mensagem'
+ AppMessages.MsgSend_Title = 'Enviar Nova Mensagem'
+ AppMessages.MsgSend_GroupTo = 'Para'
+ AppMessages.MsgSend_RadioUser = 'Usu'#225'rio :'
+ AppMessages.MsgSend_RadioAll = 'Todos'
+ AppMessages.MsgSend_GroupMessage = 'Mensagem'
+ CommonMessages.AutoLogonError = 'Falha de Auto Logon!'#13#10'Informe um usu'#225'rio e senha v'#225'lidos.'
+ CommonMessages.ChangePasswordError.InvalidCurrentPassword = 'Senha Atual n'#227'o confere!'
+ CommonMessages.ChangePasswordError.NewPasswordError = 'Os campos: Nova Senha e Confirma'#231#227'o devem ser iguais.'
+ CommonMessages.ChangePasswordError.NewEqualCurrent = 'Nova senha igual a senha atual'
+ CommonMessages.ChangePasswordError.PasswordRequired = 'A Senha '#233' obrigat'#243'ria'
+ CommonMessages.ChangePasswordError.MinPasswordLength = 'A senha deve conter no m'#237'nimo %d caracteres'
+ CommonMessages.ChangePasswordError.InvalidNewPassword = 'Proibido utilizar senhas obvias!'
+ CommonMessages.InvalidLogin = 'Usu'#225'rio ou Senha inv'#225'lidos!'
+ CommonMessages.InitialMessage.Strings = (
+ 'ATEN'#199#195'O Login Inicial:'
+ ''
+ 'Usu'#225'rio : :user'
+ 'Senha : :password'
+ ''
+ 'Defina as permiss'#245'es para este usu'#225'rio.')
+ CommonMessages.MaxLoginAttemptsError =
+ '%d Tentativas de login inv'#225'lido. Por motivos de segun'#231'a o '#13#10'sist' +
+ 'ema ser'#225' fechado.'
+ CommonMessages.PasswordChanged = 'Senha alterada com sucesso!'
+ CommonMessages.BlankPassword = 'Retirada senha do Login %s'
+ Login.WindowCaption = 'Login'
+ Login.LabelUser = 'Usu'#225'rio '
+ Login.LabelPassword = 'Senha : '
+ Login.BtOk = 'OK'
+ Login.BtCancel = '&Cancelar'
+ Login.TopImage.Data = {
+ 07544269746D6170B6790000424DB67900000000000036040000280000007601
+ 0000500000000100080000000000807500000000000000000000000100000000
+ 00009BB5D8007493BA00ACC2E000BBBBBB00CBD9EB007D9BC20051719900F6F8
+ FB00F2F5FA0095B0D500FCFDFE00EDF2F800A7B6BC0055759D00F8FAFC00B1C5
+ E1005979A10089A8D200CDD5D9003E5E88004D7199003D5D8700FAFBFD008888
+ 8800E5ECF500DDE6F200DDDDDD00E2EAF400A5BDDD00405F880042628C0089A6
+ CC008297A0005D7DA500C5D4E900A1B9DA006685AD004569920045679000B4C8
+ E300EEEEEE00BDCEE60099B3D600A9C0DE008BA8CD009EA5B0006181A9006E8D
+ B400D0DCED006989B10099999900809DC40085A2C80044638C00C1D1E8004462
+ 8C008EAACF0091ACD100486890005579A100E7EEF6003E5F890040608A005D82
+ AB00C0CBCF008CAAD400D5E0EF00496C950042618A004A6A93008FACD500D8E3
+ F0004C6C9400D2DEEE007795BD0046668E004E6E960050709700B8CBE400BBCD
+ E500CCCCCC00C8D7EA00648BB2006D93BA0044648E00A2BADB004A6B94009BAC
+ B300708EB5004E6F980085A5CF00DAE4F10058789E0043638D0050759D00506E
+ 9600D6E1EF00F4F7FB00A7BEDE00829FC600FDFEFE0041608B0054749A007A98
+ BF0093AFD600BECFE60044628A00666666004060880086A6D0004C6B92004867
+ 8E00EAEFF700AAAAAA0049688E006C8AB1004D6E940053729A00476690006584
+ AB007290B8005C7CA300333333005F7EA60046648E005A7DA50056779E00E6EA
+ EC0046648C0044444400777777004869920044678E0080A0C900E0E8F3006D8C
+ B3005576A000AAAEB50090ADD5006080A7009EB7DA006486AF00486A93006185
+ AC00F9FAFD004C6A92003C5B85004C6E96006988AF0049699100C6CFDC0093AE
+ D20051729B00597AA30045648B004E6D94004A6992004A6C92004D6D96006786
+ AD00B6BCC40056769E003D5A82003F628B006383A900698DB500555555005A7F
+ A7005B7AA1003A5A8400527399005A7BA200426188004668900039577F007D9F
+ C70047668D00EBF1F8004C6B940087A3CA00405F8600486990004E6D96004C6D
+ 9400222222006287AF0083A3CC00FBFCFD00779BC2004A6A9100D1DDEE005473
+ 9C003C5C87006B8BB20092ADD200D3DFEF00E1E5E900426189006C8BB5008B8F
+ 940045658D005878A00042638B003F5C84005C7BA4001111110084A3CC006183
+ AB00CDD6E1006A8AB3006282AB00808285006787B0006483AC00A5BCDB004061
+ 8A004F5153003E40420043637000FEFEFE0091AED600FEFFFF00758D9600F2F5
+ F5008FA0A900D9E0E200506D7A00EFF4F9005C788300BFD0E700B5C1C60091AE
+ D500E3EBF50069828D00C3D3E900D2DDEE0097B2D700DFE7F300F7F9FC00A3BB
+ DC006F8FB7007B7E830094AFD3007998C1002F3032007396BE00909296008FAB
+ D000686C7100A4BBDA00D2D9E400D9DEE600FEFEFF0088A7D20000000000FFFF
+ FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCFCFCFCFCFCFC
+ FCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB6464640A0A0A0ABBBBBBBBBB16
+ 16160E0E0EEEEEEE07EE0707616161070761070707EEEEEEEEEE90161616BB16
+ BB0ABB0A0A0A0ADB64646464DBDB64FCFFFCDBDB64DBDB0A640A0A0A0ABBBBBB
+ 16160EEEEE07610808E30BB1703C18E886195B47424930045122EA36294F4E27
+ 0F0F0F022B621CEF55558C8C000000ECECECECEC68096868DCDCDC8A8A8A8A8A
+ 8A46464646464646464646464646464646464646464646464646464646464646
+ 4646464646464646464646464646464646464646464646464646464646464646
+ 4646464646464646464646464646464646464646464646EC0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFC
+ FCFCFCDBDBDBDBDBDBDBDBDB64DB640A0A0A0A0ABBBBBBBB16161616160E0EEE
+ EE07EEEEEEEE6107070707EEEEEEEE0E0E0E0E161616BBBBBB0A0A0ADB0A6464
+ DBDBFCDBDBFCFCFFFFDBFCDDDBFCDBDB64640A0A0A0A0ABBBB16900EEE076108
+ 08E30BB1703C181B86195B4742BE3004512236694F4E27270F022B2B1CEF238C
+ 8C0000ECECEC09688A8A46464646414141111111111111111111FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCDB
+ DBDBDBDBDBDBDB6464640A0A0A0ABBBBBBBBBB161616160E0EEE0E0EEEEEEEEE
+ EEEEEEEEEE0E0E16901616BB16BBBB0A0A0A0A0A64DBDBFCFCDBFCFCFCFCFCFF
+ FFFCFCFFDDFFFCFCFCFF0A640A0A0ABB0A1616900EEE07070808E30BB1703C18
+ 1B1B195B604230040422EAE5294F4E270F02022B1C1C558C8C0000ECEC6868DC
+ DCE78A464646414141414111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCDBDBDBDBDBDB
+ DBDB64640A640A0A0ABBBBBB161616160E0E160E0E0E0E90EE0E0E9090901616
+ 161616BBBBBB0A0A640A0A64FCFCFCFCFCFFFFFCFFDDFFFCFCFFFFFFFCFFFCFF
+ FCDBFCDBDB0A0A0A0ABBBB16160E0EEE616108E30BB1703CE81BED5B47604930
+ 04512236E54F4E270F0F022B621CEF238C8C00ECECEC6809DCDC8A4646464641
+ 4141114111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB640A0A
+ 0A0A0ABBBBBBBB1616161616160E0E169090161616161616BBBBBBBB0ABB0A0A
+ 640A64DBDBFCFCDBFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFCFCFCFCFFFCFC0A0A
+ 0A0ABB1616160EEE07610808E30BB13C3C1B86195B4742BE3004222236294E27
+ 270F0F022B1CEF558C8C8C00ECECEC68DCE7DC8A464641414141411111111111
+ FD11FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB64640A0A0A0ABBBBBB
+ BBBBBB1616161616161616161616BBBB0ABB0A0A0A0A0A64FC64DBFCFCFCDDFC
+ FFDDFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFDDFCFFFCDDDB64640ABBBBBB160E0E
+ EE076108E30BB1703C181BED194760493004512236E54F4E270F0F022B621C55
+ 238C8C00ECECEC096868E7464646414141414111111111111111FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FCFFFFFCFCFCFCFCFCFCDBDBDBDBDBDB64640A0A0A0A0ABBBBBBBBBBBBBBBB16
+ BBBBBBBBBBBB0ABB0A0A0A0A640ADBDB64FCFCDBFCDDDDFCFFDDFFDDFFFFFFFF
+ FFFFFFFFFFDDFFFFFFDDFFFCFFFCDBDB64640ABBBBBB16900EEE070808E30B70
+ 703CE81B195B4742BE300451EAE5294F27270F022B2B1CEF558C8C0000ECECEC
+ 68DC8A8A464646464141414111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFCFC
+ FCFCFCFCFCDBDBDBDBDBDB64640A0A0A0ABBBBBBBBBBBBBBBBBB0ABBBB0A0A0A
+ 0A0A0A0A646464DBFCFCDDDBDBFCDDFCFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDBDB640A0ABBBBBB16900E07070808E3B1703C181BED194760
+ 493004512236694F4E270F02022B1C1C55238C00ECECECEC6809DC8A8A464641
+ 414141411111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFFFCFCFCDBFCFCDB
+ DBDBDBDBDB64640A0A0A0A0A0ABBBBBBBB0A0A0A0A0A0A0A0A0A0A64DBDBDBDB
+ DBFFFFDDDDDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFC
+ FC64640A0ABBBB16160EEE070808E30BB1703CE81BED5B4742BE300422EAE529
+ 4E27270F022B621C55238C8C00ECECEC0909DCE78A4646414641414111111111
+ 1111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCDBDBDBDBDBDB6464
+ 640A0A0A0A0ABBBBBB6464640A0A0A6464DB0ADB64DBDBFCFFFFFFDDDDFFFFFF
+ DDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFFDDDBFC640ABBBB16
+ BB0E0EEE070808E30B703C181B86194760C33004512236694F4E270F02022B1C
+ 1C55238C0000ECEC0968E7E78A8A41464141414141111111111111FDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A
+ 0A0A6464640A0A6464DBDBDBFCDBDBFCFCFFFFDDDDFFDDFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFCFCFC64640ABB16160EEE076108E3
+ 0BB1703CE81B195B47423004042236E54F4E270F02022B621C55238C00000909
+ C239382C1FCE85AF3305F3F5015353F5AF8585BC53B93F3F3FA7993B885E5E98
+ 98981414438E599E434343145E5E98593F52B9A7251E3D3D653E3E3E3E3E3ED7
+ 1E1E1E5D545D5DCA3E1E1E3B3B5DD7C03ED7A38E434354A365D7D76565D7D765
+ 6513153E3EC092AE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A6464646464
+ FCFCFCFCFCDBDBFCFCFFFFFFFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFCFCFCDB0A0A0ABB16160EEE070808E3B1703C181BED19
+ 4760BE3004512236694E270F0F022B621C558C00EC0997381F1F346333670101
+ F02F318DCF2EA7A78F52A5B97D14934393438E258E568E8E8E8E254325251459
+ 1414143B3FB93FA75E5E5E5E93985943438E8E25252525252676767683838326
+ 6554267DA78E263E3E3D15A33DA33D3E3D3D3D3D3D3D3D3D3E133D1E1E1592AE
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCFCFCFCDBDBDBDBDBDBDBDBDB646464646464FCFC6464FC64FCFCFCFCFCFCDB
+ FCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFF
+ FFFFFCFC64640A0ABBBB160E0E07610808E3B1703CE81B195B60C3BE04512236
+ 694F4E270F022B62D6558C002AF297382CB3633367677858319FA42E7BA8A87B
+ 21C9660648B5B53A4B4B8035CA6A6AC5353E1D1D3E1D3E1ECA268E883B3B4325
+ 26262654542626262626262626252525562543255EA77D5E2525262626262626
+ 252626262654262554252525431443255D1E2606433DA9A90000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE11212FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFF1212E1FFFFFFFFFFFFFFFFFF1212E1FFFFFFFFFF
+ FFFFFFFFDF121212FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE11212
+ E1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBFCFC
+ DBDBDBDBDB64646464646464FCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFF
+ DDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFDDFCFCFCFC0A0A
+ BBBB16160EEE610808E30B703C181BED194742BE300422EAE54F4E270F0F022B
+ 1C5523002A09C2382CB36333674A0158879F9F2E7B5CA10D21A1064D48BDBD72
+ 809A3535C56C6C6C13131D44441D1D3E1D1ECA438E263D3D3D3D3D1313131313
+ 3D131313133D3D3D3D3DA3A3435E435DA33E3D3D3D3E3E3EA33EA3A3A3D7A354
+ 5426268E5E88592665D75D765D3D15A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE120DADADADADAE940FFFFFF12DADA0C
+ FFFFFFFFFFFF0CDADADADADADADADEFFFFDADA12FFFFFFFF0CDADADAFFFFFFFF
+ FFFFE0DADADADAE440FFFFFFFF40E9DADADADADA20E1FFFFFFFF12DEDADADADA
+ DADE12FFFFFFDADADEFFFF7FDADADEFFFFFFDFE0E2DADADADADEFF12DADADADA
+ DADADADAFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB
+ DBDBDBDBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFC64646464BBBB160EEEEE61
+ 08E30BB1703CE886194760493004512236294E270F0F022B62D6238C2A09F239
+ 381F6333054A0158879F772E7B5C5CA1210D4C9B91726F6FC8C83535CA6AC5C5
+ 1D6C6C1DB41D6C6C1D3E5D4354A33D1E653E3E1D3D3D3D3D1313131313131313
+ 15133D3D8E14263D3D1315C015151515C0C0151313133DD7151315A343935492
+ 133D3DC0C0133DA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFE6E2DADAE00C57E4DADAE0FFFF7FDADA0CFFFFFFFFFFFF0CDA
+ DAE9DEDEDEDE57FFFFDEDA12FFFFFF7FDADADADAFFFFFFFFFFFFDADE0C0CE4DA
+ DA7FFFFF57DADAE2570CE0E2DADAE6FFFF12DADADA200CE0DADADA40FFFFE4DA
+ DEFFFF0CDADAE1FFFFE1E2DADA200C0CE0E4FF12DADAE4DEDEDEDEDEFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFDDFCFFFCFC6464640A64BB16160EEE070808E3B1703C181B
+ ED5B47C33004512236694F4E270F022B62EF238C0009F239381FB36305674A58
+ 2F9F772E21A1100D21BF5F9B9B91BD6FC8C83535CA6A6AC56A35441D1D1D6C1D
+ 15C0359E5DD71D441D1D1D131313131313131515151515151313C01526595465
+ 653E131515151515C0C0C0C0C0C0C0159215C0151E5D3E13C015C0A9921515AE
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FE2
+ DAE97FFFFFFFFFE0DADA40FFFFDADA0CFFFFFFFFFFFF0CDADAE6FFFFFFFFFFFF
+ FFDEDA12FFFFFFDEDADADADAFFFFFFFFFFFFDFFFFFFFDFDADA0CFF40DADAE0DF
+ FFFFFFDFE9DAE27FFF20DADA0CFFFFFF12DADADEFFFFDEDADEFFFFE4DAE0FFFF
+ FFE9DAE2E1FFFFFFFFFFFF12DADAE0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFCFCFCFCFCFCFCFCDBFCDBDBFCDBFFFFFCFCFCFCFCFCFCFFFF
+ FFFFFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFCFCFCFCFC64640ABBBB160EEE076108E30B703C181B86194742BE300422
+ EAE54F4E270F0202621C558C8C2A099739382CB3343333674A78589477A85C75
+ CC754D4D0606065F4D4D4D4C4C4C4C4C9191919191913AC83792449E3E151D13
+ 1D1D1D1D1D1D1D1D1D1D1D13131313151D13C092764565653E13131513131313
+ 131315151515C092921315C03D651E5415C092C0151592AE0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0CDADA7FFFFFFFFFFFFF
+ DEDAE4FFFFDADA0CFFFFFFFFFFFF12DADA0CFFFFFFFFFFFFFFDEDA0CFFFF40DA
+ DA0CDADAFFFFFFFFFFFFFFFFFFFF40DADAE6FF20DAE4FFFFFFFFFFFFDFE2DAE0
+ FFDEDADADFFFFFFFFFE4DADAFFFFDEDADEFFE6DAE2DFFFFFE1DADAE6FFFFFFFF
+ FFFFFFFFDADADEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFCFCFCFCFFFCFCFCFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFFFFFCFC6464
+ 640A0ABB160E0EEE070808E3B1703C1B86195B6049300451EA36694E270F0202
+ 2B1C55238C2A09F2C2382CB3346305674A4A017873A4C975CCBF4D0D0D667506
+ 4C4C4C9B4C4C9B4C064D9B9B4C9B4C4C9B131E593E1D373735353535357C7C4B
+ 54545454543535353737543EB69C1D1D3E1D13133E6565653E3E3E3E3E653E1D
+ 131392C03D3E13133DC092151315C0A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFDEDAE9FFFFFFFFFFFFFF0CDADA7FFFDADA0C
+ E1127FFFFFFF12DADAE012121212DFFFFFE0DA0CFFDFE4DA20E1DADAFFFFFFFF
+ FFFFFFFFFFE6DADAE9FFFFDADA57FFFFFFFFFFFFFF20DAE4FFDEDADAFFFFFFFF
+ FFDEDADAFFFFDEDADEFFE4DA0CFFFFFF0CDADADFFFFFFFFFFFFFFFFFDADAE912
+ 1212127FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFC
+ FCFCFCFCFCFCFFFFFCFFFCFFFFFCFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCDDFCFCFC64640A0ABB1616EEEE
+ 076108E3B1703C181BED5B60423004512236294E4E270F022B62EF2300002AF2
+ 97382C1FB33405336767582F8794C9BF210D98A10D755F744D4D4C4C4D4C4D4D
+ 4C48489B48B5BD4C06131E593D1D767C353535359A8080C854547C7C7C545435
+ 3735833E984BCBCB1E1E65651E1E1E1E651E1E1E1E5D3765371E3D3D1E3E9292
+ 3E15C013131513A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFDEDADEFFFFFFFFFFFFFF12DADA12FFDADA0CE2DADAE4E1FF12DA
+ DADADADADADA12FFFF0CDA0CFF0CDAE27FFFDADAE1FFFFFFFFFFFFFF0CDADAE9
+ DFFFFFDADA0CFFFFFFFFFFFFFF0CDADAFFDEDADAFFFFFFFFFFDEDADAFFFF20DA
+ DEE6DADA2012FFFF0CDADAFFFFFFFFFFFFFFFFFFDADADADADADADA0CFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCFCFCFCFFFFFF
+ FFFFFFFCFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFDDFCFFFCFC640A0ABBBBBB16EE076108E30BB13C18
+ 1BED5B4742BE040422EA694F4E270F022B62EF238C002A09C2F7381F1F1F63B3
+ B33401785831C9A121A10DC97EAA4D4C4C4C4C4C4C4C4D4C9B5F7E21104C6E4C
+ 0D444BBF3E1D76809A35CACACACACA355454C8C8C8C85454C8C8483E0D541D13
+ 1E1E653E3E3E3E3D651E1E651E1E1E3E1D1E653D3E139213133E3E13131313A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20DA
+ E4FFFFFFFFFFFFFF12DADA12FFDEDA571240E9DAE2DF12DADADE0C0C0C0C7FFF
+ FF0CDA577FDADA0CFFFFDADA12FFFFFFFFFFFFE0DADAE0DFFFFFFFE2DAE0FFFF
+ FFFFFFFFFF0CDADAFFDEDADAFFFFFFFFFFDEDADAFFFF0CDADEE1120CE2DA57FF
+ 0CDADA7FFFFFFFFFFFFFFFFFDADAE40C0C0C0C12FFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFFFFFFFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFC
+ FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFF
+ FFFFFFDDFCDDFC6464640A0ABBBB160EEE070808E3B1703CE81B194760493004
+ 2236E54F4E270F02022BD6558C000009F239381F1F2C3333676778585873100D
+ 215C66A80D664D5F066E4D4D4D0674AA9B21F031AB484C06BF1E26BF3E133AB0
+ 6F446C9A541E5454353A76C6D1B6767C6F9545CAC9D713151E445D4465443D3E
+ 655D651E4BD5761DCACA351E3E15C0153E15C0133E1315A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6DADA12FFFFFFFFFFFF
+ 57DADADFFFDEDA0CFFFF7FDADAE612DADA0CFFFFFFFFFFFFFF0CDADEDEDAE4FF
+ FFFFDADA12FFFFFFFFFF12DADAE0FFFFFFFFFFE0DAE2DFFFFFFFFFFFFFE9DAE9
+ FF0CDADA12FFFFFFFF0CDADAFFFF0CDADEFFFFFFE6DADA7F7FDADA0CFFFFFFFF
+ FFFFFFFFDADADEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFCFC
+ FC640A0A0ABB160EEE076108E3B1703CE81BED5B60493004512236294E270F02
+ 022B1CEF2300000997C2382CB32CB33463334A7858C1C90D79C9AA1010A87E5C
+ 754C75064D4D744D0D242EB74D4C4C06754426BFD71D953A3AB54BCA543E3A76
+ 9CC875D4213A3A243A9145357ED7131D5D3E3E3E1D13543E1E1E1E3D9EC6BF54
+ 9A35351E3E1515136513C0C0151313A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFDFE2DAE9DFFFFFFFFFE1E2DAE0FFFFDEDA0C
+ FFFFDFDADA0C12DADA0CFFFFFFFFFFFFFF0CDAE2DADA12FFFFFFE4DA12FFFFFF
+ FFFF0CDADAFFFFFFFFFFFF12DADAE0FFFFFFFFFFE6DADAE6FF0CDADA12FFFFFF
+ FF0CDADA12FF0CDADEFFFFFF40DADA12FFDEDADA12FFFFFFFFFFFFFFDADADEFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFC64640A0ABB160E
+ EE076108E30B703C181BED5B47C33004512236294F27270F022B62EF23002A09
+ 09C2382C1F2C386363054A017887A8BF7B10065C5C0DAA66664D66754D064D06
+ AA2E24AA4C4D0D4D063E26BF3E3E9C9CC8B5CA6C76548335443A0DCC45542ED5
+ 95484584BFD7134454831E13761D5D1E5D9265452EC698544BC8351E1D15133E
+ 653E15C0153E3EA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFF12E2DAE40C121257E2DAE2DFFFFFDEDADE0C0CDEDADA4012DA
+ DADE0C0C0C0C0C7FFF40DADADA20FFFFFFFFDEDAE6FFFFFFFFFF40DADA201212
+ 0CE1FFFF0CDADADEE61240E0DADADEFFFF0CDADA12FFFFFFFF0CDADA12FF0CDA
+ E40C0C57E2DADADFFFDFE9DADAE040124057E1FFDADAE40C0C0C0C0C12FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFC640A640ABB1616EE076108080B7070
+ 181B861947423004512236694F27270F022B62D6230000EC0997F72C1FB33834
+ 056701787887CC0D79AB4DAB215C5CA16606AAAA4D4D4D060101F3C1A84C6606
+ 061DAD986C44959C9A95449A7676761E1E567D7D84B7F0069148953A063E1337
+ 5D1E5D13763E443E54C05488D12F983A6FC835441D151D1E3D3E3E133D653EA2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ E1DEDADADADADADADEDFFFFFFFDEDADADADADADAE0FF12DADADADADADADADA12
+ FF12DADADA7FFFFFFFFFDEDA0CFFFFFFFFFFFFE0DADADADADA7FFFFFFF40E4DA
+ DADADADADA57FFFFFF0CDADA12FFFFFFFF0CDADA12FF0CDADADADADADAE2E6FF
+ FFFFDFE0DADADADADADA12FFDADADADADADADADA0CFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ DDFFFFFFFFFFFFFCFCFC640A0ABB16160EEE070808E3B1703CE886194742BE30
+ 042236694F4E270F022B62EF238C00EC09C2F72C1FB3B36367670101782FCC0D
+ 10794D2121A15CAAAAAA4D4D064C4C064D7E797B945C9B4D061D9598131E763A
+ C83A449544541D54C8138806A3AD9826914895569E1D153576924B1E3E5D543E
+ 155D83982E4AD47B6FC81E3E13151D1E3D3E3D13133E3DA20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FE60C0CE67F
+ FFFFFFFFFFE112121212127FFFFFDF1212121212121212DFFFDF1212E1FFFFFF
+ FFFFE1127FFFFFFFFFFFFFFFE10C0C0CE1FFFFFFFFFFFFE10C0C0C40DFFFFFFF
+ FF7F1212DFFFFFFFFF7F1212DFFF7F121212121212FFFFFFFFFFFFFFDF400C0C
+ 0C40DFFF12121212121212127FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
+ FF64640A640ABB160EEE070808E3B1703CE88619476049300451EAE54F4E270F
+ 020262D6558C002A0997F7381FB3343305674A0178C121A15C794D7910667BAA
+ 75790D4DAA4C4C06AA064C6E0D7506AA981D45061335763A4844443A1EB21E76
+ 3A4B764B563A7648919B9593563D157C5D4B5D13441EC01E65541E5476983AC8
+ 6FC81E3E1315134465131515151513A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFCFFFCFC64640A0ABB16
+ 0EEE076108E3B1703CE81B195B4749300451EAE54F4E270F022B2B1C55238C2A
+ 09F239381FB3343305676701782F8BA1C9AB4D211021019F0D2FA4AA66064D06
+ AA4CA1AA4D74664CBF1D43981354769CC8C8D101F0D19E1D3EB2443A453A453A
+ 6E4C9506831D15763D8313831E44541E3D15135D3A761E3A4B8035441D151365
+ 6513131E1E1315CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCDDFFFCDB64640ABB1616EE076108E30B70
+ 3C181BED5B47C330045122E5294E270F02022B1C55238C00099738382CB33463
+ 05674A0178782EA199CC06215C210558A1F32FBF66AA4D4D4C75AA4D5C4D0610
+ BF1D4898134B3A913AC5940D7676C8837C7CA87B3A9C3A486E4C45983A1D1576
+ 3A1376D15DB2C6761E1E5D15765454354B80351E1D15133E3D151E833A65C0A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFDDDDFCFFFCFCFC640A0ABBBB16EEEE6108E30BB170181BED5B474230
+ 0451EA36294E272702022B62558C8C2AEC9739381FB3343305674A01782FD5C9
+ 79A866A8109F874A8DC6F30DA10D4D66AA666666AA06BFA1A11D9EBF549A9C3A
+ 83D7F578787BBDBD5648D4C90DD276833ABF76C94B441D761E769CC65978B67C
+ 54351E5D54545476763A1D761315374465153DD13E1365A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFF
+ FFFCFC64640ABB16160EEE610808E37070181BED5B4742300451EA36694E270F
+ 02022B62EF8C8C002AF239F71F1FB36333054A017858775CAB8B06791078A4C1
+ 0521587779A1A8A85C5C5C5C0DAA66A10D15C999A34B9C3A4B83F0BF5966486E
+ AA4CD198CC109E839C9EADD2C81E443A54139EF3C6785FB695764B4B4B5D5D5D
+ 763AC83A1E445D44156583D41E3E1EA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFFFCFC646464BBBB
+ 160EEE070808E3B1703CE886194742BE04042236694F27270F022B1CD6238C2A
+ 09F2C2381FB3B3633305674A01F024107B2FA1AB7901AB2E0599D42410107966
+ 5C5C5C5C7E0D0DA10DD78F2ECA95569148B6016701774D100D4CD24810065945
+ 595643A5AD54C8953E9EC9CC88C6CC83599EB2B2453A767654358335D7441E3E
+ 135D59995D76B26F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC64DB640ABBBB160EEE070808E3B1
+ 703CE886194742BE30512236694F27270F022B1CEF238C002AF297382C1F3463
+ 3305674A015824A8CF2F7BC9102E0D10C9BF107E66ABAB105C5C5CA8105C5C10
+ BF458F8BAD9D6E6E9E3A065906AA9D0D0DAA0D06BF9806599893143143C8C876
+ 48567DF0317B59594C9E489E48569C9C45959826C8C84B848399F57899454B6A
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFDDFFFFFC64646464BBBB160E0E076108E3B1703CE886194742BE
+ 04042236694F4E270F022B62EF23000009F239382CB3343305674A4A78879F8B
+ 249FCF7E7E0DAA664D754D064D4DB7664D4C4C4D06060606459E0D06B5843A3A
+ 959B48B03A984C934C4D954C9D4D9E4C4343933B43C85454CAD7CA3ACA845426
+ 3A6F6F3A833A3A3A4B26AA8444D7A3D7543D1E44545D37B40000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
+ FFFCFCFC640A0ABB160E0E076108E30B703C181BED5B604930042236694F4E27
+ 0F022B1CEF23002A0939382C1F3433054A0158879FA47B21CCA10DBFB7489195
+ 91726F4856987DC972B09AB06FB0B0B04445C835AD9A9A6FB0356A953A4B4C3B
+ 3A6F9AC84B9A4BC835268326434B544B54CAD7CACA985E43C89ACA9A9A353554
+ 4B9598B76FC89ACA3D5D76B6833E1D6A0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFC64640A0ABB
+ 1616EE070808E3E3B1703CE81B1947C3300422EA694F27270F022B1C5523002A
+ F2C2382C1F3433676701583194778B7BCC5C0D6606065F9B6E6EBD3AC8067B8E
+ 6EB5B0B0B0C880804435CAC5C89A6AB09AB09A80C53599A79572729A6F35C835
+ 1E35C8CA26C8354B6ACA4B1D440D7D8E6FC89A9A35CA1E35C580C83A35C5CA6C
+ 3D767610597613AE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFCFC640A0ABB160EEE0761610808
+ 08E3E3B17018ED4749045136694F4E270F022B1C5523002A0939381F1F343367
+ 677858739FA47BA85C5C0D4C5F9B9191726E72C826563B846E729A9A80356A6A
+ 801D4B356A80AC806A9A6AC8D73D3B8872726F806A806A6A35441E543E354435
+ B01D6FCACAAD7E95B56FC89A9ACACA353580CBC8AC6A4B353D7615BF76541ECB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDDFFFCDDFC0A0A0ABB160EEE07076107EE0E0E0EEE0708B11B
+ 473051EAE54F4E270F022B1C5523002A0939381FB33433674A015873772E8BCC
+ 5C66665F5F4C6F953A72B03ACAB73B546F3A1D806AB4C580B0B46AB46FB46AB4
+ 449A1D4435157D9880B09A8080C5C5C57C15443735351D351D441DCA1E4B0635
+ 6F6F44C8445D1D3E1D443E44541E1DC81E443E4BC81E54CB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
+ FCFFFC6464640ABB160EEE07077F71176B818181170316081B4204EA694F4E27
+ 0F022B1CD623002A0939381FB36333674A0158872F739F777B9F7BA81066A14D
+ 9B483AC815837ECAB43A3A6EC84C6F95484806486E4806483A953A6FC8152193
+ 6CB09A6ACBC5657C44351D5415C854547C541EC8D73A4844CA6FC515A95D3544
+ 1D3A35443E1E44C01E441D351E1D35CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFC6464640ABB
+ BB0EEE070781FEFEFEFEFEFEFEFEA60AE31904EAE54F4E270F022B621CEF8C00
+ EC97381F1F63333305676778788773739424A4249F79C9AB5C5CBF486C43AB84
+ 80064C4C9B5F664C485C065F5C0D6E5F4D4C75064C448F43B46A6F4B959C3AB2
+ 9CB2B29CB6B61D459C6F6F8ECA4C3A1DCACA6C9A4B4B1D1D1EC03A4B153A159C
+ 35441D4413C044A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC640A64BB160EEE0707CDFE7A
+ 82D36BCDFEFEFE17EE1B3022E5294F4E270F0F022BD655002A97381FB3343333
+ 33674A01015887947377247B7B2E218B10ABA806A34899CA954D489BAA48664C
+ 754D75BF064C75A10D454D9806CA8F26CA3548C8B2445D54C8543A359E35483A
+ 954B4593AD0D351D1DCAC56C1D134445761E1D833E3E3E1D351E1D3EC09244A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFCFC64640A0ABBBB160EEE07D312610808E3C4F4FEFEB8
+ 163C495136E5E56969294F4E270262232AF2381FB334333305670505782F8794
+ 942424014A947B7EA8A8CC98D75699A3B5484C0DAA774D669B7506664A78D1C6
+ 779E4C98BF3524841D3A6E541E3A75B676563A563A54F021BD4B45483AA1C51D
+ 6C4BC54410D5BF131D35BF4859D10D5D35353E3E15C044A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFF
+ FCDDFCDBDB64640ABBBB90EE07616161616108E3F6FEFEFEBB70425122220430
+ 604242490436271C0009F71F1F3433330505336301C1C1949F24335831059458
+ 79AB21A1CA437D844B0D0648D4A8F04C0D4CAABFF0F30188787E060DBF268DAD
+ A94CC85676D478884B3A3A8376450DF05F6E489DB598356A6CB0CA6CBF990676
+ 764483D1313A44445D5D3E3E131535A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5003030328FFFFFFFFFFFFFFFF
+ FF5003031AFFFFFFFFFFFFFFFFFF280303031AFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFF1A03030328FFFFFFFFFFFFFFFF28030350FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A030350FFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFF50030328FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A03031AFFFFFFFFFFFFFFFFFFFF
+ FF28030350FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF030303FCFC6464
+ FC0A16EE0761EE1A030316EE12FEFEFE50B1600404428670E68903890B1B0402
+ 23EC381F34343333336767670578873131948B01F301F52E215C990DD73A99CA
+ BD4C064C66F0AB0D740DBF9E8DF30501D20D4D9859842ECA6C5935B29C244A83
+ 45C83A7659C926F0064CB7959D4D9A6AC89ACA562E103A44C0440DD2249C354B
+ 5D351D1D15135DA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFF03A6FEFEFEFEFEFEB86B1AFFFFFFFF6BFEFEFEFEFEB871FF
+ FFFFFFFF17B8FEFEFEFEFEFE17FFFF03FEFEFE28FFFFFFFFFFFFFFFFFFFFFFFF
+ FFFF036BCDFEFEFEFEFECD32FFFFFFFF717AFEFEFEFECD6B28FFFFFFFFFEFEFE
+ 03FFFFFFFFFF81FEFE17FFFFFFFF6BFEFEFEFE82FF03FEFEFE28FFFFFFFFFFFF
+ 286BCDFEFEFEFE7A71FFFFFFFF03FEFEFEFFFFFFFFFFFFFFFFFF17FEFEFE03FF
+ FFFFFFFFFFFFFFFF71B8FEFEFEFE3217FEFE81FFFFFFFF037AFEFEFEFEFE17FF
+ FF03FEFEFEFFFFFFFF81FEFECD50286BFEFEFEFEB8FCCDFEFE03BB0E615081FE
+ FEFECD17BBFEFEFE03B147EB47A0A6FEFEFEFEFEFEB8D04E2309381F34343333
+ 336733673487942F24A424F0317B7B7D215CAB5CCA8399A33A0606AA31A49F06
+ 667445BFD4054A7B4D4D060D4D56CFCA3E453A3A76B2013A564BCA3A932E01D2
+ 484848B5B7486AB49AC844C8CCA13A3E1E35C8C9D54476765D1E1315C01D54CB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B
+ FEFEFEFEFEFEFEFEFEFEFE32FFFFFFB8FEFEFEFEFEFEFE71FFFFFF81FEFEFECD
+ 8181CDFE81FFFF03FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF286BFEFEFEFEFEFE
+ FEFEFE81FFFFFF6BFEFEFEFEFEFEFEFECD50FFFFFF7AFEFE03FFFFFFFFFF82FE
+ FE17FFFFFF71FEFEFEFEFE81FF03FEFEFEFFFFFFFFFFFF50CDFEFEFEFEFEFEFE
+ FE6BFFFFFF50FEFEFEFFFFFFFFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFFFFFF1A
+ CDFEFE8117173203FEFE81FFFFFF32FEFEFEFEFEFEFE81FFFF1AFEFEFEFFFFFF
+ 71FEFEFE32FF82FEFECD8217822881FEFE030A9050CDFEFEFEFEFEFE6BFEFEFE
+ 030B5B47E0CDFEFEFEF4D9F4FEFE2D272309381FB363333305674A67012FC194
+ 9F772E944AF02179795C10A1444B885DC8754D75BF7E4C064C4C9B06107821C9
+ 4D4D66665993ABC81D455654543A3A54B09A4B6F5624F00D5F48834806543E1D
+ 5D54351E1E351E1E3DD78399064B44765D5D139213653ECB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFEFE6B71033281
+ FEFEFEFE03FFFF827128FF1A7AFEFEA6FFFF17FEFECD17FFFFFFFF1A32FFFF03
+ FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF7AFEFEFECD82710303176B7AFFFF71FE
+ FEFE1728FF037AFEFEB828FFFF81FEFE71FFFFFFFFFF17FEFE82FFFFFF17FEFE
+ FE03FF71FF03FEFEFEFFFFFFFFFFFF7AFEFE7A03FF2817FEFEFE17FFFFFFFEFE
+ FEFFFFFFFFFFFFFFFFFF03FEFEFE03FFFFFFFFFFFFFFFF17FEFEB8FFFFFFFF1A
+ FEFE7AFFFF1ACDFEFE7A71FFFF1A32FFFFFFFEFEFEFFFF28B8FEFE6BFFFFCDFE
+ FE32DDDDDB646BFEFE710A1681FEFECD32EEC4D3FEFEFEFE030BEDFACDFEFE81
+ 9647305151E0E0028C09381F34B3330505674A0178878731249FA4A4247B108B
+ 10AB21BF35450D546EAA744859069E0606BD594C48C9064C4DAA75754D14211D
+ 54487676543A353A3A9A4BCA3A59453A95B25643BF541D929C3E441D761D5D35
+ D7541E35134B3A541E1E3DC01D4465CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF7AFEFEFE17FFFFFFFFFF6BFEFEFE6BFFFFFF
+ FFFFFFFF82FEFEA6FFFFB8FEFE17FFFFFFFFFFFFFFFFFF1AFEFEFEFFFFFFFFFF
+ FFFFFFFFFFFFFF17FEFEFE8128FFFFFFFFFFFFFFFFFFB8FEFE17FFFFFFFF28CD
+ FEFE17FFFF81FEFE17FFFFFFFFFF17FEFE81FFFFFF17FEFEB8FFFFFFFF1AFEFE
+ FEFFFFFFFFFF32FEFECD28FFFFFFFF17FEFECDFFFFFFFEFEFEFFFFFFFFFFFFFF
+ FFFF03FEFEFE03FFFFFFFFFFFFFFFF17FEFE7AFFFFFFFFFFFEFEFEFFFF17FEFE
+ CD28FFFFFFFFFFFFFFFFFEFEFEFFFF82FEFEB828FFFFFEFEFE71FFDD646417FE
+ FE170A7FFEFEFE3290E3703CD3FEFEFE03E31BC7FEFEB8C4190436294F4E0F2B
+ 8C2AC21F3434333305674A017887C19F9F9FA48B8B21797B5C797BBF35565E54
+ C84D664C750659590D6EBFAABF1010994D660666B798211D92483A4576453E3A
+ C86E4B9D459A4583B2594C83C9C81EC5441E4B5D5D131D3ED73ED74B3E441E54
+ 1D1E3E133E3E3DCB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFEFEFEFEFFFFFFFFFFFF28FEFEFEB8FFFFFFFFFFFF71CDFEFE71
+ FF50FEFEFE28FFFFFFFFFFFFFFFFFFFFFEFEFE03FFFFFFFFFFFFFFFFFFFFFFCD
+ FEFEB828FFFFFFFFFFFFFFFFFF1AFEFEFE1AFFFFFFFFFF82FEFE81FFFF17FEFE
+ 17FFFFFFFFFF17FEFE81FFFFFF71FEFE7AFFFFFFFFFFFEFEFE03FFFFFFFF6BFE
+ FE6BFFFFFFFFFF28FEFEFE03FFFFFEFEFE03FFFFFFFFFFFFFFFF03FEFEFE03FF
+ FFFFFFFFFFFFFF1AFEFEFEA61AFFFFFFFEFEFEFFFFA6FEFE6BFFFFFFFFFFFFFF
+ FFFFFEFEFEFF50FEFEFE50FFFFFF6BFEFECD32FFFCFC17FEFE170A03FEFEFE28
+ 070B18E818B8FEFE0308E8D8FEFE820B4704223636694F0FD600971FB3343333
+ 330501782F582F9494772E2E2E778BA8AB10107ECA8399264D4D4D0694F0774C
+ 4C0D4C749F78D5C6934D5F0D95AB999C765935C8CCD4BF4B4CACB5C8458BC976
+ 9C5643AD7D4B35353A5444C910CC834B26458821593E1576445D1E3E653E1DB4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFE
+ FE7AFFFFFFFFFFFFFF7AFEFEFEFFFFFFFFFF82FEFEFE17FFFF03FEFEFEFFFFFF
+ FFFFFFFFFFFFFFFFFEFEFE03FFFFFFFFFFFFFFFFFFFF03FEFEFE32FFFFFFFFFF
+ FFFFFFFFFF03FEFEFEFFFFFFFFFFFF03FEFEFEFFFF17FEFE82FFFFFFFFFF03FE
+ FE7AFFFFFF03FEFEFEFFFFFFFFFFFEFEFE03FFFFFFFF81FEFE17FFFFFFFFFFFF
+ 81FEFE17FFFFFEFEFE03FFFFFFFFFFFFFFFF03FEFEFE03FFFFFFFFFFFFFFFFFF
+ 32CDFEFEFE7A825081FEFE50FF81FEFE17FFFFFFFFFFFFFFFFFF81FEFE507AFE
+ FE17FFFFFFFF2881FEFEFECDA63271FEFEA60A03FEFEFE6407B1181B1BD8FEFE
+ 170818D9FEFE17613C86195B191947040F8C972CB33463050567014A4A582FC1
+ 87949F778B8B2E211010A15C3593A58E6F4C759B2EF0871010060D7B2105F32E
+ 934C5FA1B5A521B21E483A547BD51006BD7EA1BF4DAB24B23A839E06314C4B76
+ 1E443AD424CCB2984310D4993A1E3E3E5476541E5D5D5D9A0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE81FFFFFFFFFFFF
+ FF81FEFEFEFFFFFF2881FEFECD71FFFFFF03FEFEFEFEFEFEFEFEFEFEFEFEFFFF
+ FEFEFE03FFFFFFFFFFFFFFFFFFFF17FEFEFE1AFFFFFFFFFFFFFFFFFFFF03FEFE
+ FEFFFFFFFFFFFF03FEFEFEFFFF17FEFE81FFFFFFFFFF03FEFEFEFFFFFF03FEFE
+ FEFFFFFFFFFFFEFEFE03FFFFFFFF81FEFE17FFFFFFFFFFFF81FEFE17FFFF81FE
+ FE03FFFFFFFFFFFFFFFF03FEFEFE030317177128FFFFFFFFFF28177AFEFEFEFE
+ CDFEFE03FF81FEFE17FFFFFFFFFFFFFFFFFF81FEFE82FEFECDFFFFFFFFFFDDFC
+ 036BCDFEFEFECDFEFE810A1AFEFEFE1AEE0B18861BD3FEFE170818D9FEFEFEFE
+ FEFEFEFEFEFEFEF1E523F22C341F2C0505674A34344A2F582FC17394777777A4
+ A87910C94B99BC140666AA06A40178AB5C77A8AB8B01D421AA66BFBF8EF53F54
+ 4C5656592FD421985C105C06D578CC4C064C595E8D9326765D0D31D421B6590D
+ 06998DBF3A459C7654545D1E5D5D54B00000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF81FEFEFEFFFFFFFFFFFFFF82FEFEFE28FFFF
+ 81FEFE7A1AFFFFFFFFFFFEFEFE710303030317FEFEFEFFFFFEFEFE17FFFFFFFF
+ FFFFFFFFFFFF17FEFEFEFFFFFFFFFFFFFFFFFFFFFF28FEFEFE71FFFFFFFFFF32
+ FEFEB8FFFF17FEFEFE28FFFFFFFF71FEFEFEFFFFFF28FEFEFEFFFFFFFFFFFEFE
+ FE17FFFFFFFF82FEFE7AFFFFFFFFFFFFB8FEFE32FFFF81FEFE03FFFFFFFFFFFF
+ FFFF03FEFEFE03B8FEFEFEFE82FFFFFFFFFFFFFF280382B8FEFEFE32FF82FEFE
+ 7AFFFFFFFFFFFFFFFFFF81FEFE717AFEFE32FFFFFFDDDDFCFCDBDB5032A6FEFE
+ FEB80A16B8FEFE17BB0870E8E8D3FEFE17081BF1FEFEA60389892D89F4FEFED3
+ 22D6092CB3B31F0533674A05057858783131949F949F2E8BAB7921A15699A55E
+ B5060DA1BF7979A106A8BFBF0DAB0DBF66BFBF0693525243543A4C062106489E
+ 9DAA9D4C7910BF9E599E458E98C8CA1E4B98CC48454B3A13C8D74C4B5D1E1D3E
+ 1E1E3E3D653E3EC50000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF81FEFEFEFFFFFFFFFFFFFF17FEFEFE03FF50FEFEFE28FFFFFFFF
+ FFFFA6FEFE32FFFFFFFF32FEFEB8FFFFFEFEFECD50FFFFFFFFFFFFFFFFFF17FE
+ FEFEFFFFFFFFFFFFFFFFFFFFFFFFA6FEFEA6FFFFFFFFFF81FEFE6BFFFF71FEFE
+ FEA6FFFFFFFFA6FEFEFEFFFFFFFFFEFEFE28FFFFFFFFFEFEFECD50FFFFFF50FE
+ FEFE50FFFFFFFF03FEFEFE1AFFFF81FEFE03FFFFFFFFFFFFFFFF1AFEFEFE71FE
+ FEFEFEFEFE6BFFFFFFFFFFFFFFFFFF28B8FEFE17FF71FEFEFE03FFFFFFFFFFFF
+ FFFF81FEFE0350CDFEFE71FFFFDDFCFCDBDBDB64FC6417FEFEFE0A0ED3FEFECD
+ 500E08B1B1D3FEFEA6611BA0FEFEB8EE3C5B4786B8FEFEC7E5F9F21FB36363F3
+ 67670178F087879424A42E8B7B21A879795C2166B75E5E14B774B74DBD4C4856
+ 4C9D564D9E454C4C93489B59143B53A73A3A5435763AC8C8B0CA3AB54B3A3A4B
+ 4B5683AD434B26353E1D1D1E1E444435C813484B76351D445D1E1D3D3E1315CB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6FE
+ FEFEFFFFFFFFFFFFFF17FEFEFE03FF03FEFEFE17FFFF1A32FFFF03FEFECD03FF
+ FF287AFEFE17FFFFFEFEFEFECD821703FFFFFFFFFFFF71FEFEFE71FFFFFFFFFF
+ FFFFFFFFFFFF50FEFEFEA61AFF1A6BFEFEFE50FFFF03FEFEFEFEB882177AFEFE
+ FECDFFFF5003FEFEFE17030328FFFEFEFEFECD821703FFA6FEFECD32FFFF71CD
+ FEFEA6FFFFFF81FEFE71FFFFFFFFFFFFFFFFFFFEFEFE7128FF507AFEFEFE03FF
+ FF0328FFFFFFFFFFB8FEFE17FFFF7AFEFECD3228FF280303FFFF81FEFE03FF32
+ FEFECD50FFDDFC1A50DDFCFC64DB32FEFEFEBBEE617AFEFECD321AEEEE6BFEFE
+ 81611960D9FEFE6BC43C18F6FEFECDD02700392CB36333674A01F058D1C1872E
+ 8B79C90DBFBF754D4D4D56954556459E453B7D1480373E1E1E3544134435443E
+ 6C443E5D253FA7C945441D1E3E441E1D443E3E44443E44543BA13A8044921313
+ 13923E15153E153E1515351D1D54C0C09265A9A9C09213AE0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFE1AFFFFFFFFFF
+ FF03FEFEFE03FFFFB8FEFEFEFEFEFECDFFFFFF32FEFEFE7A81FEFEFE7A28FFFF
+ FEFEFE7AFEFEFE17FFFFFFFFFFFF28FEFEFE6BFFFFFFFFFFFFFFFFFFFFFFFF32
+ FEFEFEFEFEFEFEFEFE32FFFFFF03FEFEFE81FEFEFEFEFEFEFE82FFFF81FEFEFE
+ FEFEFEFE03FFFEFEFE7AFEFEFE17FF287AFEFEFEFEFEFEFEFE7A28FFFFFF81FE
+ FE17FFFFFFFFFFFFFFFFFFFEFEFE03FFFFFF28CDFEFE6BFFFF82FE7A6B17177A
+ FEFEFE50FFFF50CDFEFEFEFEFEFEFE17FFFFA6FEFE32FFFFA6FEFEB828FCDB28
+ FECD8117176BCDFEFEA6166108C47AFEFEFEFEFEFEFEFEFEB8E3473096F4FEFE
+ CD81B8FEFEFEC72262F2381F3433054A7858C17331319F7BC975B648B245956F
+ C84B35449A9ACACA543B3B841DAC1313921D13921D1D151D6C1D1D3D3D3B983A
+ 1E13131D1D131D1315C0C01313C015138E5615B4CB15151513C03E133D65C015
+ 131544C51D15A9C09265C013651365A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFF03FEFEFE17FFFF
+ 5081FEFEFEFEFE6BFFFFFFFF037AFEFEFEFECD6B28FFFFFFFEFEFE716BFEFE17
+ FFFFFFFFFFFFFF6BFEFEFE03FFFFFFFFFFFFFFFFFFFFFFFF1A6BFEFEFEFEFEA6
+ 03FFFFFFFF03FEFEFE2882CDFEFEFECD82FFFFFF81FEFEFEFEFEFEFE03FFFEFE
+ FE716BFEFE17FFFFFF32B8FEFEFEFEB81728FFFFFFFF6BFEFE17FFFFFFFFFFFF
+ FFFFFFFEFEFE03FFFFFFFF81FEFE81FFFF0381CDFEFEFEFEFEB871FFFFFFFF1A
+ 6BFEFEFEFEFECD50FFFF17FEFE17FFFF28CDFEFE7A28DBDB6B7AFEFEFEFEFEFE
+ 6B7F0708E30BE3F67AFEFEFEFEFEFEFEF418EB512296F8CDFEFEFEFEF432510F
+ 009738B33433674A015831D4319F8BA85C0DBF064D4D4C4856454B6F6FB044B4
+ 3D3B5E3DAC7C3554C83A3A83453A3A56953A9C76A37D986A133E441E35444435
+ 764B4B7676C8544B439D1D1DC53537445D1E545D4B3A5D545D5435763792135D
+ 3E1E651E1E3E1ECB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFF03FEFEFE17FFFFFFFF28030350FFFF
+ FFFFFFFFFFFF28030350FFFFFFFFFFFFFFFFFFFFFF1A031AFFFFFFFFFFFFFF1A
+ CDFEFECD71FFFFFFFFFFFFFFFFFFFFFFFFFFFF030303FFFFFFFFFFFFFFFFFFFF
+ FFFFFFFF500303FFFFFFFFFFFFFF81FEFE03FFFFFFFFFFFFFFFFFF1A031AFFFF
+ FFFFFF1A03031AFFFFFFFFFFFFFF17FEFE17FFFFFFFFFFFFFFFFFFFEFEFE03FF
+ FFFF28CDFEFE81FFFFFFFFFF2803030328FFFFFFFFFFFFFFFFFF0303031AFFFF
+ FFFF17FEFE17FFFFFFFFFFFFFFFCFC640A646450030350BB16EE61E30BB17070
+ 700B89898989FBE819C351E5693622300C2D2D9604690FF92AF2382CB3B33305
+ 4A01739FC131217B7B79CCA8C910C910AB10107EA10D4D3A3D995E3D3A914556
+ 484C5906064C9E064C480659A38F0DAC4476764B3A3A4B4556459C4545454545
+ 5E9D441D7C355D35C8545454544B4B4B544B6A7637A9655D4B5D1E5D443E1EB4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FE
+ FEFE03FFFFFFFFFFFF28FEFEFE17FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32FEFEFEFE7A1703
+ 0371177A03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFE32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFE17FFFFFFFFFFFFFFFFFFFEFEFE6B171717B8FEFEFE17FF
+ FFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFE17FFFF
+ FFDDFCFFFFDBDB640A0A0ABBBB1616EE0761080BB1703C18E81B86ED195B6049
+ 0451364F4E4E4E4E4E4E4E270F2B55000939F72CB3346305674A317731C18BD5
+ 8B7BCC79A810A8A8C90D0D66660D75B55D7D5EA39B919C564548489E064C484C
+ 7448065954B95E6C353A76C83A833A45953A3A3A3A4545457E3A44923A443554
+ 35C8C8C854355454543A3580C5921E651E13445D3E441ECB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03FEFEFE17FFFFFFFFFF
+ FFFFFEFEFE6BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03CDFEFEFEFEFEFEFEFEFE28FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A17
+ 8117FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FE
+ FE81FFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFE7A28FFFFFFFFFFFFFCFCFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEA6FFDDFFFFFFFCFCFCDB64
+ 0A0ABBBB900EEE076108E30B703C18E886195B4742EB30512236294E270F0F0F
+ 02022B62552300EC9739381FB3346333674A312431877B248B7979A8C9105C7E
+ A8A17EA10D107E9B1E7D5EA34D91484556B64848590659594D4C7598265206AC
+ 543A76544B833A7645459595569E9E483BADCACB9C351E541EC8547676C83A76
+ 263AC8356C151E5D1D137676445D54B40000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF03FEFEFE17FFFFFFFFFFFFFFFEFEFE81FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFF28177AFEFEFEFEFEFE7AFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFE81FFFFFFFFFFFF
+ FFFFFFFEFEFEFEFEFEFEFECD6B28FFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFF17FEFE81DDFFDDFCFFFFFCDB640A0ABB16160EEE0761
+ 0808E3B1703CE886195B4742BE04512236294F4E270F02022B1CEF232300ECF2
+ C2F7381FB3346305674AC1D49F877BD2A47B21A85C105C7E5C0D7E7EAA7E0D6E
+ 3E7D7EA34D9B064548065956484C4C4C4D4D060684B99DB4763A453A4B45B276
+ 3AB5B595489EB79D93C86C1D4BB21E35459544CA9A9A956F263580ACCB923E45
+ 45560DB63E5D54B40000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF03030350FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDDFFFCFCFC0AFC640A0ABB16160EEE076108E30B707018E886
+ 19476049300451EA36294E270F0F022B1C1C238C8CECEC09C2382C1FB3633305
+ 674A58D49F2F7B24A48BABA85C10A1667E667E7E665C5C481E8B99A34C9BBF26
+ 59A10D9EB24C5959AA7575982552BDAC3A45B6483A48593A6F3A95BD4874483A
+ CAC86CB03A10B2458BC93A9A9A9A569556353AB0C5C5C888CCCCD5BF1D4435B4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFC
+ FFDBFFDB640A0ABBBB161690EE07610808E3B1703C181BED5B4742BE30042236
+ E54F4E270F0F022B1CEF238C00EC0909C2382C1F3463330567675894242FD2D5
+ CF2F8B7B2F87BFA1A1060D5CA17EA19B843F3BCA759B2F569888C12659598359
+ 4D750D14145206AC3A83F00688F02E2626AD833A4C4559569845352644D47B99
+ 8B4DCACA4B4B4B3A9C9C06B2441E1ED5CC8B103A134435CB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFCFCFFFFFCFFFFFFFFFFFFFFFCFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDFCFCDB0A0A0A0A
+ BB16160EEE076108E30B703C3CE886195B60493004512236694F27270F02022B
+ 1C55238C002A090939F72C1F34630505674A5894C1D1D49FA44A9F2158F00D7E
+ ABA1A1A166A1A14D938F3F25069B012EA17B2EB74C4C7498064806433BF55E6A
+ 454CD5CC06310D3A9595957645455999D2481D9A3A9F217EC99EC8C8264BC84B
+ 35060D4544541D06764545C83554C8AC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFCFCFCFCFFFCFCFCFCFCFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFDDFCFC640A0A0A0ABB1690EE070761E3
+ E30B703C181B86194760BE3004513636294E27270F022B621C558C0000EC0909
+ C2382C1F34633305674A58942F53312E24672F2E2F2FA8A85C667566660D0D4D
+ 1453528E069B77D55C775C66749B74744DB5BF433FBC3B6E489BA87B4C214C9B
+ 56489B48484893B97B484B4BD79D4B5606B7BD95BDB54BC88EAB5992A96F9A4B
+ 56959556454B44CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFC
+ FCFCFCFFFFFFFCFCFFFFFFFFFCFFFFFCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFCFCFC640A0A0ABBBB16160E07076108E30BB1703CE81B195B
+ 47C3BE30042236E54F4E270F0F022B62D6558C8C002A09F239382C1F34630505
+ 67017824C1AFA52E8B77777777A48B79AB1010105C5C664D5EAF5384065F7510
+ 667BAAAB7E0D7E0D0D4CBFB7B9535E6A729AAA7E66667E5C7EA1A1759B488EA5
+ A49DCAC8BD4D744D4D4D4D4C74B79DB5A3B98F06CACAB06E3AC8C83A954BC8AC
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFCFF
+ FCFFFFFCFCFFFCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCDB0A0A0ABBBBBBBB90EE07610808E30B7070181B8619476049300451223669
+ 4F4E270F02022BD6EF558C002A09F2C2F7382C1FB3633305674A7894C111BCCF
+ 7B798B77A48BA4A42E2E7B79A85C064DB96DAF14B79B5F0D7EA87E7979A85C5C
+ 7E0648AAF5BCB9747472064D66747E66AA4D5F6EB59314BCAFA44C9AB0B5849A
+ 84B5BD3A3ABD48B7A75A5AF57B0659757E7E5C5CC99979790000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFFFCFFFFFCFCFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCDB64640A0ABBBBBB
+ 1690EE076108E30BB1703CE81BED194742493004222236294F270F0F022B62EF
+ EF238C00ECECF2C2F7382C1F3463330567012F2F5A1185A48B2EA421A47B218B
+ 7979A85C5C66665CAF5A6D53C94CAA06664DAAAAAA4D4D4D14064C79BCBAF577
+ 9DB572B5B5729DB574744D4D6610D45AFDAF01C1772E9FC1C12FF0014ABCAFBA
+ 5AFDFD6D5A5A5A5A5A5A5ACEBACE5A2C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFFFFFCFCFCFCFCFFFFFCFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFDDFFFFFFFFFFFFFFFFFFFFDDDBDBDB640A0A0ABBBBBB16EEEE616108E30B
+ 703C3C1B86ED4760C330040422EA69294E270F0F022B621C55238C002A09F2C2
+ F72C1FB334330505670178F31111110524D22E21D221AB10AB79AB1079792EF0
+ FD6DFD6D0587318F3131C12FA5F07801F0010185BA6D5AAF0101F5BC058585BA
+ BABACEBACEBA5A6DFDFDFDFDFDFD6D5A5A6D6DFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCDBDBDBDBDB
+ DBFCFFFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFCFCFCFCDB640A0ABBBBBBBB160EEE076108E3E30B703C181B865B4760
+ C33004512236294F4E270F02022B1CEF23238C00EC0909E78A39F738112C2C1F
+ CECE6D41111111FD5ACE5A6D6D6D6D5A5A5A5A5A5A5A6DFDFDFDFDFDFDFD6D6D
+ 5A6D5A6D5A5A5A5A5A5A5AFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFFFCFCFCFC
+ FCFCFFFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBFCFCDB
+ 640ABBBBBB16160EEE07616108E30B70703CE81B195B47C3BE040422EAE5294E
+ 27270F022B621CEF238C8C00ECECEC6868E78A8A464646414141411111111111
+ 1111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
+ FCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFCFCFCFCFCFCFCFCFCFFFCFCFFFF
+ FFFFDDFFDDDDFFFFFFFFFFFFDDFFFFFFFFFFFFFFFCDBDB64640A0ABBBB16160E
+ EE07610808E3B1703C181BED194760493004512236E54F4E270F0F022B1C1C55
+ 238C00ECECECEC09688A8A8A4646464141414111111111111111FD1111FDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBDBDBDB
+ DBDBDBDBDBDBDB6464FCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFDDFFFFFFFFFFFF
+ FFFFFFFFFCDDFFFFFCFFFFFCDB64640A0A0ABBBBBB160EEE07610808E30B7070
+ 3CE81B195B4742BE300451EAE5294F4E270F02022B1C1C558C8C0000ECEC6868
+ E78A8A46464646414141411111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB6464646464
+ 64FCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFDDDDFFFFDDFFFFFFDDFFFFFFFFFFFC
+ FFFFFCFCFCFC640A0A0ABB1616160EEE076108080B0B703CE81B86194760C3BE
+ 04512236E54F4E270F0F022B2B1CEF8C8C0000ECECEC0909DCE7464646464141
+ 4111411111111111FDFD11FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB646464646464FCFC64FCFCFCFCFC
+ FCFCFCFCFCFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBFCDBDBDB0A0A
+ 0ABB1616160E0E07616108E30B70703CE886195B474249305151223669294E27
+ 0F0F022B2B1CEF238C8C0000ECEC096868E7E78A8A4646414141414111411111
+ 1111111111111111111111111111111111111111111111111111111111111111
+ 1111111111111111111111111111111111111111111111111111111111111111
+ 11111111111111111111111111111111111111111111118A0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFCFCFCFCFCDB
+ DBDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A646464646464DBFCFCFCDBFCDBFFFFFF
+ DDDDFFDDFFFFFFFFFFFFFFFFFFFCFCFCFCFFFCDBDB0A0A0ABBBB160E16EEEE07
+ 070808E30BB13C3CE81B86194760C3BE3004512236E54F4E4E270F0F022B2B1C
+ 1C55558C8C8C0000002A2AECECEC09EC09096868686868686868DCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCEC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB
+ DBDBDBDBDBDB64DBDBDBDBDBDBDBDBFCFCDBFCDBFFFFFFFFFFFFFFDDDDFFFFFF
+ FFFFFFFFFFFCFCFCFCFCFCDBDBDBDB640A0ABBBBBB160EEEEE07616108E3E3B1
+ 703C18181BED195B4760C349303004515122EAEAE5E529294F4F4E4E27272727
+ 270F0F0F0F0F0F0F0F0202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 020202020202020F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDDFCFCFCFCFCFCFCFCFCDD
+ DDDDDDDDDDFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFC640A0A0A0A0ABB161616900EEE0707610808E3E30B0BB170
+ 3C3C3C18E81B1B86EDED19195B5B4747474760604242C3C3C3C3494949494949
+ EBEBEBBEBEBEBE30BEBE30303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303049
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFDDDDFCFCFCFCFCFCFCFCDBDBDBDBDDFCFCFCDDDDFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDDFCFC64
+ 640A0A0A0ABB161616900EEE070761080808E3E30BB17070703C3CE81B1B1B86
+ ED1919195B5B4747476060424242C3C3C3494949494949EBBEEBBEBEBEBE3030
+ BE30303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030490000FCFCFCFCFCFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB
+ DBDB6464646464640A0A0A0A0A0A6464646464DBDBDBDBDBDBDBDBFCFFFFDDDD
+ FFDDFFFFFFFFFCFFFFFFDDFFFFFCFCFCFCDBDBDBDB640A0ABBBBBBBB16EEEE07
+ 610808E3E3B170703C181B86ED195B4742C3BE300404512222EA36E529294F4F
+ 4E4E4E272727270F0F0F0F0F0F0F020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020F0000FCFCFCFCFCFCFCFCFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCDBDBDBDBDBDBDB64640A0A0A0A0ABBBBBB
+ BBBBBBBBBBBB0A0ABB0A0A0A0A0A0A0ADB64FCFCFCFFDDDBFFFFDDFFFFFFFFFF
+ FFFFFCFFFFFFFC64DBDBDB0A0A0ABB161690EEEE07070808E30BB1703C181B1B
+ 195B476049300451512236294F4E27270F0F022B2B1C1CEF558C8C0000000000
+ ECECECECECEC09090968686868686868DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCEC0000FCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFF
+ FCFCFCFCFCFCDBDBDBDBDBDBDB640A0A0A0A0ABBBBBBBBBBBBBBBBBBBBBBBBBB
+ BB0A0A0A0A0A640A6464DBFCFCDDFCFFDDFCFFFFFFFFFFFFFFFFFFFFFFFCDBFC
+ 640A0A0ABBBBBBBB900EEE07616108E3E30B703C18E81B191947604930040451
+ 223669294E27270F02022B2B621CEF55238C8C00000000ECECECEC0909096868
+ 68E7E768E7E78AE7E78A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
+ 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
+ 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8AEC
+ 0000}
+ Login.LeftImage.Data = {
+ 07544269746D617016090000424D160900000000000036040000280000003200
+ 0000180000000100080000000000E00400000000000000000000000100000000
+ 000000000000000080000080000000808000800000008000800080800000C0C0
+ C000C0DCC000F0CAA6000020400000206000002080000020A0000020C0000020
+ E00000400000004020000040400000406000004080000040A0000040C0000040
+ E00000600000006020000060400000606000006080000060A0000060C0000060
+ E00000800000008020000080400000806000008080000080A0000080C0000080
+ E00000A0000000A0200000A0400000A0600000A0800000A0A00000A0C00000A0
+ E00000C0000000C0200000C0400000C0600000C0800000C0A00000C0C00000C0
+ E00000E0000000E0200000E0400000E0600000E0800000E0A00000E0C00000E0
+ E00040000000400020004000400040006000400080004000A0004000C0004000
+ E00040200000402020004020400040206000402080004020A0004020C0004020
+ E00040400000404020004040400040406000404080004040A0004040C0004040
+ E00040600000406020004060400040606000406080004060A0004060C0004060
+ E00040800000408020004080400040806000408080004080A0004080C0004080
+ E00040A0000040A0200040A0400040A0600040A0800040A0A00040A0C00040A0
+ E00040C0000040C0200040C0400040C0600040C0800040C0A00040C0C00040C0
+ E00040E0000040E0200040E0400040E0600040E0800040E0A00040E0C00040E0
+ E00080000000800020008000400080006000800080008000A0008000C0008000
+ E00080200000802020008020400080206000802080008020A0008020C0008020
+ E00080400000804020008040400080406000804080008040A0008040C0008040
+ E00080600000806020008060400080606000806080008060A0008060C0008060
+ E00080800000808020008080400080806000808080008080A0008080C0008080
+ E00080A0000080A0200080A0400080A0600080A0800080A0A00080A0C00080A0
+ E00080C0000080C0200080C0400080C0600080C0800080C0A00080C0C00080C0
+ E00080E0000080E0200080E0400080E0600080E0800080E0A00080E0C00080E0
+ E000C0000000C0002000C0004000C0006000C0008000C000A000C000C000C000
+ E000C0200000C0202000C0204000C0206000C0208000C020A000C020C000C020
+ E000C0400000C0402000C0404000C0406000C0408000C040A000C040C000C040
+ E000C0600000C0602000C0604000C0606000C0608000C060A000C060C000C060
+ E000C0800000C0802000C0804000C0806000C0808000C080A000C080C000C080
+ E000C0A00000C0A02000C0A04000C0A06000C0A08000C0A0A000C0A0C000C0A0
+ E000C0C00000C0C02000C0C04000C0C06000C0C08000C0C0A000F0FBFF00A4A0
+ A000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFF
+ FF00FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD525252525252525252525252
+ 5252FDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDAFB75E5E5E66666767676F6F6F6FB752FDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBF
+ BFBFBFBFBFBFBFBFBFB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFB76F676F6FB7B7B7B7B7776F5EB752FD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBFBFB752FDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFB76F676F6F6FB7B7
+ B7B7776F5EB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBFBFBF52FDFDFDFDFD
+ 0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAF
+ B76767676F6F6FB7B7B7776F5EB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBF
+ BFBF52FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDAFB76767676F6F6F6FB7B7776F5EB752FDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBF
+ BFBFBFBFBFBFBFBFBFBF52FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBFB7AFAFB7B7B7B7BFBFBFBFB7B752FD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDAFB76F675E5E5E5E5E5E676FB7A5FDFDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F79BFDFDFDFD
+ FDFDA4F7A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDF7F79BFDFDFDFDFDFDA407A3FDFDFDFDFDFDFD
+ 0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDF7F79BFDFDFDFDFDFDA407A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F7A4FDFDFDFDFDFDF707
+ A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDF707A49AFDFDFDFDA30707A3FDFDFDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F6A4
+ A49B9A9AA3A407079AFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F6F7F7A4A4F70707A3FDFDFDFD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDF7F6F6F6F6F607A3FDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7A3A3A3
+ A3A3FDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ 0000}
+ Log.WindowCaption = 'Seguran'#231'a'
+ Log.LabelDescription = 'Log do Sistema'
+ Log.LabelUser = 'Usu'#225'rio :'
+ Log.LabelDate = 'Data :'
+ Log.LabelLevel = 'N'#237'vel m'#237'nimo : '
+ Log.ColLevel = 'N'#237'vel'
+ Log.ColMessage = 'Mensagem'
+ Log.ColUser = 'Usu'#225'rio'
+ Log.ColDate = 'Data'
+ Log.BtFilter = '&Aplicar Filtro'
+ Log.BtDelete = '&Excluir Log'
+ Log.PromptDelete = 'Confirma excluir todos os registros de log selecionados ?'
+ Log.BtClose = '&Fechar'
+ UsersForm.WindowCaption = 'Seguran'#231'a'
+ UsersForm.LabelDescription = 'Cadastro de Usu'#225'rios'
+ UsersForm.ColName = 'Nome'
+ UsersForm.ColLogin = 'Login'
+ UsersForm.ColEmail = 'Email'
+ UsersForm.BtAdd = '&Adicionar'
+ UsersForm.BtChange = 'A<erar'
+ UsersForm.BtDelete = '&Excluir'
+ UsersForm.PromptDelete = 'Confirma excluir o usu'#225'rio "%s" ?'
+ UsersForm.BtRights = 'A&cessos'
+ UsersForm.BtPassword = '&Senha'
+ UsersForm.BtClose = '&Fechar'
+ AddChangeUser.WindowCaption = 'Cadastro de Usu'#225'rios'
+ AddChangeUser.LabelAdd = 'Adicionar Usu'#225'rio'
+ AddChangeUser.LabelChange = 'Alterar Usu'#225'rio'
+ AddChangeUser.LabelName = 'Nome : '
+ AddChangeUser.LabelLogin = 'Login : '
+ AddChangeUser.LabelEmail = 'Email : '
+ AddChangeUser.CheckPrivileged = 'Usu'#225'rio privilegiado'
+ AddChangeUser.BtSave = '&Gravar'
+ AddChangeUser.BtCancel = 'Cancelar'
+ AddChangeProfile.WindowCaption = 'Perfil de Usu'#225'rios'
+ AddChangeProfile.LabelAdd = 'Adicionar Perfil'
+ AddChangeProfile.LabelChange = 'Alterar Perfil'
+ AddChangeProfile.LabelName = 'Descri'#231#227'o : '
+ AddChangeProfile.BtSave = '&Gravar'
+ AddChangeProfile.BtCancel = 'Cancelar'
+ UsersProfile.WindowCaption = 'Seguran'#231'a'
+ UsersProfile.LabelDescription = 'Perfil de Usu'#225'rios'
+ UsersProfile.ColProfile = 'Perfil'
+ UsersProfile.BtAdd = '&Adicionar'
+ UsersProfile.BtChange = 'A<erar'
+ UsersProfile.BtDelete = '&Excluir'
+ UsersProfile.BtRights = 'A&cessos'
+ UsersProfile.PromptDelete = 'Existem usu'#225'rios com o perfil "%s". Confirma excluir?'
+ UsersProfile.BtClose = '&Fechar'
+ Rights.WindowCaption = 'Seguran'#231'a'
+ Rights.LabelUser = 'Permiss'#245'es do Usu'#225'rio : '
+ Rights.LabelProfile = 'Permiss'#245'es do Perfil : '
+ Rights.PageMenu = 'Itens do Menu'
+ Rights.PageActions = 'A'#231#245'es'
+ Rights.BtUnlock = '&Liberar'
+ Rights.BtLock = '&Bloquear'
+ Rights.BtSave = '&Gravar'
+ Rights.BtCancel = '&Cancelar'
+ ChangePassword.WindowCaption = 'Seguran'#231'a'
+ ChangePassword.LabelDescription = 'Trocar Senha'
+ ChangePassword.LabelCurrentPassword = 'Senha Atual :'
+ ChangePassword.LabelNewPassword = 'Nova Senha : '
+ ChangePassword.LabelConfirm = 'Confirma'#231#227'o : '
+ ChangePassword.BtSave = '&Gravar'
+ ChangePassword.BtCancel = 'Cancelar'
+ ResetPassword.WindowCaption = 'Definir senha do usu'#225'rio : "%s"'
+ ResetPassword.LabelPassword = 'Senha : '
+ XPStyleSet.DimLevel = 30
+ XPStyleSet.GrayLevel = 10
+ XPStyleSet.Font.Charset = ANSI_CHARSET
+ XPStyleSet.Font.Color = clMenuText
+ XPStyleSet.Font.Height = -11
+ XPStyleSet.Font.Name = 'Tahoma'
+ XPStyleSet.Font.Style = []
+ XPStyleSet.Color = clBtnFace
+ XPStyleSet.IconBackColor = clBtnFace
+ XPStyleSet.MenuBarColor = clBtnFace
+ XPStyleSet.SelectColor = clHighlight
+ XPStyleSet.SelectBorderColor = clHighlight
+ XPStyleSet.SelectFontColor = clMenuText
+ XPStyleSet.DisabledColor = clInactiveCaption
+ XPStyleSet.SeparatorColor = clBtnFace
+ XPStyleSet.CheckedColor = clHighlight
+ XPStyleSet.IconWidth = 24
+ XPStyleSet.DrawSelect = True
+ XPStyleSet.UseSystemColors = True
+ XPStyleSet.OverrideOwnerDraw = False
+ XPStyleSet.Gradient = False
+ XPStyleSet.FlatMenu = False
+ XPStyleSet.AutoDetect = False
+ XPStyleSet.BitBtnColor = clBtnFace
+ XPStyle = True
+ Left = 56
+ Top = 128
+ end
+ object UCXPStyle1: TUCXPStyle
+ Active = True
+ XPSettings.DimLevel = 30
+ XPSettings.GrayLevel = 10
+ XPSettings.Font.Charset = ANSI_CHARSET
+ XPSettings.Font.Color = clMenuText
+ XPSettings.Font.Height = -11
+ XPSettings.Font.Name = 'Tahoma'
+ XPSettings.Font.Style = []
+ XPSettings.Color = clBtnFace
+ XPSettings.IconBackColor = clBtnFace
+ XPSettings.MenuBarColor = clBtnFace
+ XPSettings.SelectColor = clHighlight
+ XPSettings.SelectBorderColor = clHighlight
+ XPSettings.SelectFontColor = clMenuText
+ XPSettings.DisabledColor = clInactiveCaption
+ XPSettings.SeparatorColor = clBtnFace
+ XPSettings.CheckedColor = clHighlight
+ XPSettings.IconWidth = 24
+ XPSettings.DrawSelect = True
+ XPSettings.UseSystemColors = True
+ XPSettings.OverrideOwnerDraw = False
+ XPSettings.Gradient = False
+ XPSettings.FlatMenu = False
+ XPSettings.AutoDetect = False
+ XPSettings.BitBtnColor = clBtnFace
+ UCSettings = UCSettings1
+ Left = 88
+ Top = 128
+ end
+ object AstaClientSocket1: TAstaClientSocket
+ Active = False
+ Address = '127.0.0.1'
+ ClientType = ctNonBlocking
+ Host = '127.0.0.1'
+ Port = 9000
+ LoginMaxAttempts = 0
+ WebServer.WinInetToStatusBar = False
+ WebServer.UseSSL = False
+ WebServer.SSLOptions = []
+ WebServer.AstaHttpDll = 'scripts/Astahttp.dll'
+ CacheMetaDataOptions = smNoCache
+ SQLTransactionStart = 'BEGIN TRANSACTION'
+ SQLTransactionEnd = 'COMMIT'
+ ConnectAction = caCustomConnect
+ OnCustomConnect = AstaClientSocket1CustomConnect
+ Left = 56
+ Top = 88
+ end
+ object UCAstaConn1: TUCAstaConn
+ AstaClientSocket = AstaClientSocket1
+ Left = 88
+ Top = 88
+ end
+end
diff --git a/official/2.20/Demos/1 Basic All Data Access/Asta/Unit1.pas b/official/2.20/Demos/1 Basic All Data Access/Asta/Unit1.pas
new file mode 100644
index 0000000..10585a4
--- /dev/null
+++ b/official/2.20/Demos/1 Basic All Data Access/Asta/Unit1.pas
@@ -0,0 +1,99 @@
+unit Unit1;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, DB, Menus, UCBase, UCADOConn, StdCtrls, Buttons,
+ ScktComp, AstaCustomSocket, AstaClientSocket, UCAstaConn;
+
+type
+ TForm1 = class(TForm)
+ UserControl1: TUserControl;
+ MainMenu1: TMainMenu;
+ Arquivo1: TMenuItem;
+ Abrir1: TMenuItem;
+ Salvar1: TMenuItem;
+ Salvar2: TMenuItem;
+ Salvarcomo1: TMenuItem;
+ Fechar1: TMenuItem;
+ N2: TMenuItem;
+ Dados1: TMenuItem;
+ Importar1: TMenuItem;
+ Exportar1: TMenuItem;
+ N4: TMenuItem;
+ Vincular1: TMenuItem;
+ N3: TMenuItem;
+ Sair2: TMenuItem;
+ Editar1: TMenuItem;
+ Copiar1: TMenuItem;
+ Colar1: TMenuItem;
+ Recortar1: TMenuItem;
+ N1: TMenuItem;
+ Selecionartudo1: TMenuItem;
+ N5: TMenuItem;
+ AreadeTransferencia1: TMenuItem;
+ Exibir2: TMenuItem;
+ Esvaziar1: TMenuItem;
+ Exibir1: TMenuItem;
+ Zoom1: TMenuItem;
+ Normal1: TMenuItem;
+ Grande1: TMenuItem;
+ Ajustarnajanela1: TMenuItem;
+ N6: TMenuItem;
+ Personalizar1: TMenuItem;
+ amanhonormal1: TMenuItem;
+ elacheia1: TMenuItem;
+ Relatorios1: TMenuItem;
+ Relatorio11: TMenuItem;
+ Relatorio21: TMenuItem;
+ Relatorio31: TMenuItem;
+ Relatorio41: TMenuItem;
+ Segurana1: TMenuItem;
+ Cadastrodeusuarios1: TMenuItem;
+ Perfildeusurios1: TMenuItem;
+ logdosistema: TMenuItem;
+ N7: TMenuItem;
+ rocarsenha1: TMenuItem;
+ EfetuarLogoff1: TMenuItem;
+ UCSettings1: TUCSettings;
+ UCXPStyle1: TUCXPStyle;
+ AstaClientSocket1: TAstaClientSocket;
+ UCAstaConn1: TUCAstaConn;
+ procedure FormCreate(Sender: TObject);
+ procedure EfetuarLogoff1Click(Sender: TObject);
+ procedure AstaClientSocket1CustomConnect(Sender: TObject);
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ Form1: TForm1;
+
+implementation
+
+{$R *.dfm}
+
+procedure TForm1.FormCreate(Sender: TObject);
+begin
+ AstaClientSocket1.Active := True;
+end;
+
+procedure TForm1.EfetuarLogoff1Click(Sender: TObject);
+begin
+ UserControl1.Logoff;
+end;
+
+procedure TForm1.AstaClientSocket1CustomConnect(Sender: TObject);
+begin
+ AstaClientSocket1.Host := '127.0.0.1';
+ AstaClientSocket1.Port := 9000;
+ AstaClientSocket1.Open;
+ //Delay para conexao ao Asta Server... QmD
+// for contador := 0 to 1000 do Application.ProcessMessages;
+
+end;
+
+end.
diff --git a/official/2.20/Demos/1 Basic All Data Access/BDE/Project1.dpr b/official/2.20/Demos/1 Basic All Data Access/BDE/Project1.dpr
new file mode 100644
index 0000000..08b344c
--- /dev/null
+++ b/official/2.20/Demos/1 Basic All Data Access/BDE/Project1.dpr
@@ -0,0 +1,13 @@
+program Project1;
+
+uses
+ Forms,
+ Unit1 in 'Unit1.pas' {Form1};
+
+{$R *.res}
+
+begin
+ Application.Initialize;
+ Application.CreateForm(TForm1, Form1);
+ Application.Run;
+end.
diff --git a/official/2.20/Demos/1 Basic All Data Access/BDE/Project1.res b/official/2.20/Demos/1 Basic All Data Access/BDE/Project1.res
new file mode 100644
index 0000000..03109fc
Binary files /dev/null and b/official/2.20/Demos/1 Basic All Data Access/BDE/Project1.res differ
diff --git a/official/2.20/Demos/1 Basic All Data Access/BDE/Unit1.dfm b/official/2.20/Demos/1 Basic All Data Access/BDE/Unit1.dfm
new file mode 100644
index 0000000..5137f1d
--- /dev/null
+++ b/official/2.20/Demos/1 Basic All Data Access/BDE/Unit1.dfm
@@ -0,0 +1,1451 @@
+object Form1: TForm1
+ Left = 170
+ Top = 180
+ Width = 610
+ Height = 350
+ Caption = 'User Control - BDE Basic Demo'
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ Menu = MainMenu1
+ OldCreateOrder = False
+ OnCreate = FormCreate
+ PixelsPerInch = 96
+ TextHeight = 13
+ object UserControl1: TUserControl
+ AutoStart = True
+ ApplicationID = 'ADOBasic'
+ ControlRight.MainMenu = MainMenu1
+ UsersForm.MenuItem = Cadastrodeusuarios1
+ UsersForm.UsePrivilegedField = False
+ UsersForm.ProtectAdmin = True
+ EncryptKey = 0
+ NotAllowedItems.MenuVisible = True
+ NotAllowedItems.ActionVisible = True
+ Login.AutoLogon.Active = False
+ Login.AutoLogon.MessageOnError = False
+ Login.InitialLogin.User = 'Admin'
+ Login.InitialLogin.Email = 'qmd@onda.com.br'
+ Login.InitialLogin.Password = '#delphi'
+ Login.MaxLoginAttempts = 0
+ Login.GetLoginName = lnNone
+ LogControl.Active = True
+ LogControl.TableLog = 'UCLog'
+ LogControl.MenuItem = logdosistema
+ ExtraRight = <>
+ LoginMode = lmActive
+ UsersProfile.Active = True
+ UsersProfile.MenuItem = Perfildeusurios1
+ TableUsers.FieldUserID = 'UCIdUser'
+ TableUsers.FieldUserName = 'UCUserName'
+ TableUsers.FieldLogin = 'UCLogin'
+ TableUsers.FieldPassword = 'UCPassword'
+ TableUsers.FieldEmail = 'UCEmail'
+ TableUsers.FieldPrivileged = 'UCPrivileged'
+ TableUsers.FieldTypeRec = 'UCTypeRec'
+ TableUsers.FieldProfile = 'UCProfile'
+ TableUsers.TableName = 'UCTabUsers'
+ TableRights.FieldUserID = 'UCIdUser'
+ TableRights.FieldModule = 'UCModule'
+ TableRights.FieldComponentName = 'UCCompName'
+ TableRights.FieldFormName = 'UCFormName'
+ TableRights.TableName = 'UCTabRights'
+ ChangePasswordForm.MenuItem = rocarsenha1
+ ChangePasswordForm.ForcePassword = False
+ ChangePasswordForm.MinPasswordLength = 0
+ DataConnector = UCBDEConn1
+ Left = 120
+ Top = 88
+ end
+ object MainMenu1: TMainMenu
+ AutoHotkeys = maManual
+ OwnerDraw = True
+ Left = 56
+ Top = 56
+ object Arquivo1: TMenuItem
+ Caption = 'Arquivo'
+ object Abrir1: TMenuItem
+ Caption = 'Abrir'
+ end
+ object Salvar1: TMenuItem
+ Caption = '-'
+ end
+ object Salvar2: TMenuItem
+ Caption = 'Salvar'
+ end
+ object Salvarcomo1: TMenuItem
+ Caption = 'Salvar como...'
+ end
+ object Fechar1: TMenuItem
+ Caption = 'Fechar'
+ end
+ object N2: TMenuItem
+ Caption = '-'
+ end
+ object Dados1: TMenuItem
+ Caption = 'Dados'
+ object Importar1: TMenuItem
+ Caption = 'Importar'
+ end
+ object Exportar1: TMenuItem
+ Caption = 'Exportar'
+ end
+ object N4: TMenuItem
+ Caption = '-'
+ end
+ object Vincular1: TMenuItem
+ Caption = 'Vincular'
+ end
+ end
+ object N3: TMenuItem
+ Caption = '-'
+ end
+ object Sair2: TMenuItem
+ Caption = 'Sair'
+ end
+ end
+ object Editar1: TMenuItem
+ Caption = 'Editar'
+ object Copiar1: TMenuItem
+ Caption = 'Copiar'
+ end
+ object Colar1: TMenuItem
+ Caption = 'Colar'
+ end
+ object Recortar1: TMenuItem
+ Caption = 'Recortar'
+ end
+ object N1: TMenuItem
+ Caption = '-'
+ end
+ object Selecionartudo1: TMenuItem
+ Caption = 'Selecionar tudo'
+ end
+ object N5: TMenuItem
+ Caption = '-'
+ end
+ object AreadeTransferencia1: TMenuItem
+ Caption = 'Area de Transferencia'
+ object Exibir2: TMenuItem
+ Caption = 'Exibir'
+ end
+ object Esvaziar1: TMenuItem
+ Caption = 'Esvaziar'
+ end
+ end
+ end
+ object Exibir1: TMenuItem
+ Caption = 'Exibir'
+ object Zoom1: TMenuItem
+ Caption = 'Zoom...'
+ object Normal1: TMenuItem
+ Caption = 'Normal'
+ Checked = True
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object Grande1: TMenuItem
+ Caption = 'Grande'
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object Ajustarnajanela1: TMenuItem
+ Caption = 'Ajustar na janela'
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object N6: TMenuItem
+ Caption = '-'
+ GroupIndex = 1
+ end
+ object Personalizar1: TMenuItem
+ Caption = 'Personalizar'
+ GroupIndex = 1
+ end
+ end
+ object amanhonormal1: TMenuItem
+ Caption = 'Tamanho normal'
+ end
+ object elacheia1: TMenuItem
+ Caption = 'Tela cheia'
+ end
+ end
+ object Relatorios1: TMenuItem
+ Caption = 'Relatorios'
+ object Relatorio11: TMenuItem
+ Caption = 'Relatorio 1'
+ end
+ object Relatorio21: TMenuItem
+ Caption = 'Relatorio 2'
+ end
+ object Relatorio31: TMenuItem
+ Caption = 'Relatorio 3'
+ end
+ object Relatorio41: TMenuItem
+ Caption = 'Relatorio 4'
+ end
+ end
+ object Segurana1: TMenuItem
+ Caption = 'Seguran'#231'a'
+ object Cadastrodeusuarios1: TMenuItem
+ Caption = 'Cadastro de usuarios'
+ end
+ object Perfildeusurios1: TMenuItem
+ Caption = 'Perfil de usuarios'
+ end
+ object logdosistema: TMenuItem
+ Caption = 'Log do Sistema'
+ end
+ object N7: TMenuItem
+ Caption = '-'
+ end
+ object rocarsenha1: TMenuItem
+ Caption = 'Trocar senha'
+ end
+ object EfetuarLogoff1: TMenuItem
+ Caption = 'Efetuar Logoff'
+ OnClick = EfetuarLogoff1Click
+ end
+ end
+ end
+ object UCSettings1: TUCSettings
+ AppMessages.MsgsForm_BtNew = '&Nova Mensagem'
+ AppMessages.MsgsForm_BtReplay = '&Responder'
+ AppMessages.MsgsForm_BtForward = 'E&ncaminhar'
+ AppMessages.MsgsForm_BtDelete = '&Excluir'
+ AppMessages.MsgsForm_WindowCaption = 'Mensagens do Sistema'
+ AppMessages.MsgsForm_ColFrom = 'Remetente'
+ AppMessages.MsgsForm_ColSubject = 'Assunto'
+ AppMessages.MsgsForm_ColDate = 'Data'
+ AppMessages.MsgsForm_PromptDelete = 'Confirma excluir as mensagens selecionadas ?'
+ AppMessages.MsgRec_BtClose = '&Fechar'
+ AppMessages.MsgRec_WindowCaption = 'Mensagem'
+ AppMessages.MsgRec_Title = 'Mensagem Recebida'
+ AppMessages.MsgRec_LabelFrom = 'De :'
+ AppMessages.MsgRec_LabelDate = 'Date'
+ AppMessages.MsgRec_LabelSubject = 'Assunto'
+ AppMessages.MsgRec_LabelMessage = 'Mensagem'
+ AppMessages.MsgSend_BtSend = '&Enviar'
+ AppMessages.MsgSend_BtCancel = '&Cancelar'
+ AppMessages.MsgSend_WindowCaption = 'Mensagem'
+ AppMessages.MsgSend_Title = 'Enviar Nova Mensagem'
+ AppMessages.MsgSend_GroupTo = 'Para'
+ AppMessages.MsgSend_RadioUser = 'Usu'#225'rio :'
+ AppMessages.MsgSend_RadioAll = 'Todos'
+ AppMessages.MsgSend_GroupMessage = 'Mensagem'
+ CommonMessages.AutoLogonError = 'Falha de Auto Logon!'#13#10'Informe um usu'#225'rio e senha v'#225'lidos.'
+ CommonMessages.ChangePasswordError.InvalidCurrentPassword = 'Senha Atual n'#227'o confere!'
+ CommonMessages.ChangePasswordError.NewPasswordError = 'Os campos: Nova Senha e Confirma'#231#227'o devem ser iguais.'
+ CommonMessages.ChangePasswordError.NewEqualCurrent = 'Nova senha igual a senha atual'
+ CommonMessages.ChangePasswordError.PasswordRequired = 'A Senha '#233' obrigat'#243'ria'
+ CommonMessages.ChangePasswordError.MinPasswordLength = 'A senha deve conter no m'#237'nimo %d caracteres'
+ CommonMessages.ChangePasswordError.InvalidNewPassword = 'Proibido utilizar senhas obvias!'
+ CommonMessages.InvalidLogin = 'Usu'#225'rio ou Senha inv'#225'lidos!'
+ CommonMessages.InitialMessage.Strings = (
+ 'ATEN'#199#195'O Login Inicial:'
+ ''
+ 'Usu'#225'rio : :user'
+ 'Senha : :password'
+ ''
+ 'Defina as permiss'#245'es para este usu'#225'rio.')
+ CommonMessages.MaxLoginAttemptsError =
+ '%d Tentativas de login inv'#225'lido. Por motivos de segun'#231'a o '#13#10'sist' +
+ 'ema ser'#225' fechado.'
+ CommonMessages.PasswordChanged = 'Senha alterada com sucesso!'
+ CommonMessages.BlankPassword = 'Retirada senha do Login %s'
+ Login.WindowCaption = 'Login'
+ Login.LabelUser = 'Usu'#225'rio '
+ Login.LabelPassword = 'Senha : '
+ Login.BtOk = 'OK'
+ Login.BtCancel = '&Cancelar'
+ Login.TopImage.Data = {
+ 07544269746D6170B6790000424DB67900000000000036040000280000007601
+ 0000500000000100080000000000807500000000000000000000000100000000
+ 00009BB5D8007493BA00ACC2E000BBBBBB00CBD9EB007D9BC20051719900F6F8
+ FB00F2F5FA0095B0D500FCFDFE00EDF2F800A7B6BC0055759D00F8FAFC00B1C5
+ E1005979A10089A8D200CDD5D9003E5E88004D7199003D5D8700FAFBFD008888
+ 8800E5ECF500DDE6F200DDDDDD00E2EAF400A5BDDD00405F880042628C0089A6
+ CC008297A0005D7DA500C5D4E900A1B9DA006685AD004569920045679000B4C8
+ E300EEEEEE00BDCEE60099B3D600A9C0DE008BA8CD009EA5B0006181A9006E8D
+ B400D0DCED006989B10099999900809DC40085A2C80044638C00C1D1E8004462
+ 8C008EAACF0091ACD100486890005579A100E7EEF6003E5F890040608A005D82
+ AB00C0CBCF008CAAD400D5E0EF00496C950042618A004A6A93008FACD500D8E3
+ F0004C6C9400D2DEEE007795BD0046668E004E6E960050709700B8CBE400BBCD
+ E500CCCCCC00C8D7EA00648BB2006D93BA0044648E00A2BADB004A6B94009BAC
+ B300708EB5004E6F980085A5CF00DAE4F10058789E0043638D0050759D00506E
+ 9600D6E1EF00F4F7FB00A7BEDE00829FC600FDFEFE0041608B0054749A007A98
+ BF0093AFD600BECFE60044628A00666666004060880086A6D0004C6B92004867
+ 8E00EAEFF700AAAAAA0049688E006C8AB1004D6E940053729A00476690006584
+ AB007290B8005C7CA300333333005F7EA60046648E005A7DA50056779E00E6EA
+ EC0046648C0044444400777777004869920044678E0080A0C900E0E8F3006D8C
+ B3005576A000AAAEB50090ADD5006080A7009EB7DA006486AF00486A93006185
+ AC00F9FAFD004C6A92003C5B85004C6E96006988AF0049699100C6CFDC0093AE
+ D20051729B00597AA30045648B004E6D94004A6992004A6C92004D6D96006786
+ AD00B6BCC40056769E003D5A82003F628B006383A900698DB500555555005A7F
+ A7005B7AA1003A5A8400527399005A7BA200426188004668900039577F007D9F
+ C70047668D00EBF1F8004C6B940087A3CA00405F8600486990004E6D96004C6D
+ 9400222222006287AF0083A3CC00FBFCFD00779BC2004A6A9100D1DDEE005473
+ 9C003C5C87006B8BB20092ADD200D3DFEF00E1E5E900426189006C8BB5008B8F
+ 940045658D005878A00042638B003F5C84005C7BA4001111110084A3CC006183
+ AB00CDD6E1006A8AB3006282AB00808285006787B0006483AC00A5BCDB004061
+ 8A004F5153003E40420043637000FEFEFE0091AED600FEFFFF00758D9600F2F5
+ F5008FA0A900D9E0E200506D7A00EFF4F9005C788300BFD0E700B5C1C60091AE
+ D500E3EBF50069828D00C3D3E900D2DDEE0097B2D700DFE7F300F7F9FC00A3BB
+ DC006F8FB7007B7E830094AFD3007998C1002F3032007396BE00909296008FAB
+ D000686C7100A4BBDA00D2D9E400D9DEE600FEFEFF0088A7D20000000000FFFF
+ FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCFCFCFCFCFCFC
+ FCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB6464640A0A0A0ABBBBBBBBBB16
+ 16160E0E0EEEEEEE07EE0707616161070761070707EEEEEEEEEE90161616BB16
+ BB0ABB0A0A0A0ADB64646464DBDB64FCFFFCDBDB64DBDB0A640A0A0A0ABBBBBB
+ 16160EEEEE07610808E30BB1703C18E886195B47424930045122EA36294F4E27
+ 0F0F0F022B621CEF55558C8C000000ECECECECEC68096868DCDCDC8A8A8A8A8A
+ 8A46464646464646464646464646464646464646464646464646464646464646
+ 4646464646464646464646464646464646464646464646464646464646464646
+ 4646464646464646464646464646464646464646464646EC0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFC
+ FCFCFCDBDBDBDBDBDBDBDBDB64DB640A0A0A0A0ABBBBBBBB16161616160E0EEE
+ EE07EEEEEEEE6107070707EEEEEEEE0E0E0E0E161616BBBBBB0A0A0ADB0A6464
+ DBDBFCDBDBFCFCFFFFDBFCDDDBFCDBDB64640A0A0A0A0ABBBB16900EEE076108
+ 08E30BB1703C181B86195B4742BE3004512236694F4E27270F022B2B1CEF238C
+ 8C0000ECECEC09688A8A46464646414141111111111111111111FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCDB
+ DBDBDBDBDBDBDB6464640A0A0A0ABBBBBBBBBB161616160E0EEE0E0EEEEEEEEE
+ EEEEEEEEEE0E0E16901616BB16BBBB0A0A0A0A0A64DBDBFCFCDBFCFCFCFCFCFF
+ FFFCFCFFDDFFFCFCFCFF0A640A0A0ABB0A1616900EEE07070808E30BB1703C18
+ 1B1B195B604230040422EAE5294F4E270F02022B1C1C558C8C0000ECEC6868DC
+ DCE78A464646414141414111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCDBDBDBDBDBDB
+ DBDB64640A640A0A0ABBBBBB161616160E0E160E0E0E0E90EE0E0E9090901616
+ 161616BBBBBB0A0A640A0A64FCFCFCFCFCFFFFFCFFDDFFFCFCFFFFFFFCFFFCFF
+ FCDBFCDBDB0A0A0A0ABBBB16160E0EEE616108E30BB1703CE81BED5B47604930
+ 04512236E54F4E270F0F022B621CEF238C8C00ECECEC6809DCDC8A4646464641
+ 4141114111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB640A0A
+ 0A0A0ABBBBBBBB1616161616160E0E169090161616161616BBBBBBBB0ABB0A0A
+ 640A64DBDBFCFCDBFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFCFCFCFCFFFCFC0A0A
+ 0A0ABB1616160EEE07610808E30BB13C3C1B86195B4742BE3004222236294E27
+ 270F0F022B1CEF558C8C8C00ECECEC68DCE7DC8A464641414141411111111111
+ FD11FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB64640A0A0A0ABBBBBB
+ BBBBBB1616161616161616161616BBBB0ABB0A0A0A0A0A64FC64DBFCFCFCDDFC
+ FFDDFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFDDFCFFFCDDDB64640ABBBBBB160E0E
+ EE076108E30BB1703C181BED194760493004512236E54F4E270F0F022B621C55
+ 238C8C00ECECEC096868E7464646414141414111111111111111FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FCFFFFFCFCFCFCFCFCFCDBDBDBDBDBDB64640A0A0A0A0ABBBBBBBBBBBBBBBB16
+ BBBBBBBBBBBB0ABB0A0A0A0A640ADBDB64FCFCDBFCDDDDFCFFDDFFDDFFFFFFFF
+ FFFFFFFFFFDDFFFFFFDDFFFCFFFCDBDB64640ABBBBBB16900EEE070808E30B70
+ 703CE81B195B4742BE300451EAE5294F27270F022B2B1CEF558C8C0000ECECEC
+ 68DC8A8A464646464141414111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFCFC
+ FCFCFCFCFCDBDBDBDBDBDB64640A0A0A0ABBBBBBBBBBBBBBBBBB0ABBBB0A0A0A
+ 0A0A0A0A646464DBFCFCDDDBDBFCDDFCFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDBDB640A0ABBBBBB16900E07070808E3B1703C181BED194760
+ 493004512236694F4E270F02022B1C1C55238C00ECECECEC6809DC8A8A464641
+ 414141411111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFFFCFCFCDBFCFCDB
+ DBDBDBDBDB64640A0A0A0A0A0ABBBBBBBB0A0A0A0A0A0A0A0A0A0A64DBDBDBDB
+ DBFFFFDDDDDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFC
+ FC64640A0ABBBB16160EEE070808E30BB1703CE81BED5B4742BE300422EAE529
+ 4E27270F022B621C55238C8C00ECECEC0909DCE78A4646414641414111111111
+ 1111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCDBDBDBDBDBDB6464
+ 640A0A0A0A0ABBBBBB6464640A0A0A6464DB0ADB64DBDBFCFFFFFFDDDDFFFFFF
+ DDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFFDDDBFC640ABBBB16
+ BB0E0EEE070808E30B703C181B86194760C33004512236694F4E270F02022B1C
+ 1C55238C0000ECEC0968E7E78A8A41464141414141111111111111FDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A
+ 0A0A6464640A0A6464DBDBDBFCDBDBFCFCFFFFDDDDFFDDFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFCFCFC64640ABB16160EEE076108E3
+ 0BB1703CE81B195B47423004042236E54F4E270F02022B621C55238C00000909
+ C239382C1FCE85AF3305F3F5015353F5AF8585BC53B93F3F3FA7993B885E5E98
+ 98981414438E599E434343145E5E98593F52B9A7251E3D3D653E3E3E3E3E3ED7
+ 1E1E1E5D545D5DCA3E1E1E3B3B5DD7C03ED7A38E434354A365D7D76565D7D765
+ 6513153E3EC092AE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A6464646464
+ FCFCFCFCFCDBDBFCFCFFFFFFFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFCFCFCDB0A0A0ABB16160EEE070808E3B1703C181BED19
+ 4760BE3004512236694E270F0F022B621C558C00EC0997381F1F346333670101
+ F02F318DCF2EA7A78F52A5B97D14934393438E258E568E8E8E8E254325251459
+ 1414143B3FB93FA75E5E5E5E93985943438E8E25252525252676767683838326
+ 6554267DA78E263E3E3D15A33DA33D3E3D3D3D3D3D3D3D3D3E133D1E1E1592AE
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCFCFCFCDBDBDBDBDBDBDBDBDB646464646464FCFC6464FC64FCFCFCFCFCFCDB
+ FCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFF
+ FFFFFCFC64640A0ABBBB160E0E07610808E3B1703CE81B195B60C3BE04512236
+ 694F4E270F022B62D6558C002AF297382CB3633367677858319FA42E7BA8A87B
+ 21C9660648B5B53A4B4B8035CA6A6AC5353E1D1D3E1D3E1ECA268E883B3B4325
+ 26262654542626262626262626252525562543255EA77D5E2525262626262626
+ 252626262654262554252525431443255D1E2606433DA9A90000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE11212FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFF1212E1FFFFFFFFFFFFFFFFFF1212E1FFFFFFFFFF
+ FFFFFFFFDF121212FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE11212
+ E1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBFCFC
+ DBDBDBDBDB64646464646464FCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFF
+ DDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFDDFCFCFCFC0A0A
+ BBBB16160EEE610808E30B703C181BED194742BE300422EAE54F4E270F0F022B
+ 1C5523002A09C2382CB36333674A0158879F9F2E7B5CA10D21A1064D48BDBD72
+ 809A3535C56C6C6C13131D44441D1D3E1D1ECA438E263D3D3D3D3D1313131313
+ 3D131313133D3D3D3D3DA3A3435E435DA33E3D3D3D3E3E3EA33EA3A3A3D7A354
+ 5426268E5E88592665D75D765D3D15A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE120DADADADADAE940FFFFFF12DADA0C
+ FFFFFFFFFFFF0CDADADADADADADADEFFFFDADA12FFFFFFFF0CDADADAFFFFFFFF
+ FFFFE0DADADADAE440FFFFFFFF40E9DADADADADA20E1FFFFFFFF12DEDADADADA
+ DADE12FFFFFFDADADEFFFF7FDADADEFFFFFFDFE0E2DADADADADEFF12DADADADA
+ DADADADAFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB
+ DBDBDBDBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFC64646464BBBB160EEEEE61
+ 08E30BB1703CE886194760493004512236294E270F0F022B62D6238C2A09F239
+ 381F6333054A0158879F772E7B5C5CA1210D4C9B91726F6FC8C83535CA6AC5C5
+ 1D6C6C1DB41D6C6C1D3E5D4354A33D1E653E3E1D3D3D3D3D1313131313131313
+ 15133D3D8E14263D3D1315C015151515C0C0151313133DD7151315A343935492
+ 133D3DC0C0133DA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFE6E2DADAE00C57E4DADAE0FFFF7FDADA0CFFFFFFFFFFFF0CDA
+ DAE9DEDEDEDE57FFFFDEDA12FFFFFF7FDADADADAFFFFFFFFFFFFDADE0C0CE4DA
+ DA7FFFFF57DADAE2570CE0E2DADAE6FFFF12DADADA200CE0DADADA40FFFFE4DA
+ DEFFFF0CDADAE1FFFFE1E2DADA200C0CE0E4FF12DADAE4DEDEDEDEDEFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFDDFCFFFCFC6464640A64BB16160EEE070808E3B1703C181B
+ ED5B47C33004512236694F4E270F022B62EF238C0009F239381FB36305674A58
+ 2F9F772E21A1100D21BF5F9B9B91BD6FC8C83535CA6A6AC56A35441D1D1D6C1D
+ 15C0359E5DD71D441D1D1D131313131313131515151515151313C01526595465
+ 653E131515151515C0C0C0C0C0C0C0159215C0151E5D3E13C015C0A9921515AE
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FE2
+ DAE97FFFFFFFFFE0DADA40FFFFDADA0CFFFFFFFFFFFF0CDADAE6FFFFFFFFFFFF
+ FFDEDA12FFFFFFDEDADADADAFFFFFFFFFFFFDFFFFFFFDFDADA0CFF40DADAE0DF
+ FFFFFFDFE9DAE27FFF20DADA0CFFFFFF12DADADEFFFFDEDADEFFFFE4DAE0FFFF
+ FFE9DAE2E1FFFFFFFFFFFF12DADAE0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFCFCFCFCFCFCFCFCDBFCDBDBFCDBFFFFFCFCFCFCFCFCFCFFFF
+ FFFFFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFCFCFCFCFC64640ABBBB160EEE076108E30B703C181B86194742BE300422
+ EAE54F4E270F0202621C558C8C2A099739382CB3343333674A78589477A85C75
+ CC754D4D0606065F4D4D4D4C4C4C4C4C9191919191913AC83792449E3E151D13
+ 1D1D1D1D1D1D1D1D1D1D1D13131313151D13C092764565653E13131513131313
+ 131315151515C092921315C03D651E5415C092C0151592AE0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0CDADA7FFFFFFFFFFFFF
+ DEDAE4FFFFDADA0CFFFFFFFFFFFF12DADA0CFFFFFFFFFFFFFFDEDA0CFFFF40DA
+ DA0CDADAFFFFFFFFFFFFFFFFFFFF40DADAE6FF20DAE4FFFFFFFFFFFFDFE2DAE0
+ FFDEDADADFFFFFFFFFE4DADAFFFFDEDADEFFE6DAE2DFFFFFE1DADAE6FFFFFFFF
+ FFFFFFFFDADADEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFCFCFCFCFFFCFCFCFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFFFFFCFC6464
+ 640A0ABB160E0EEE070808E3B1703C1B86195B6049300451EA36694E270F0202
+ 2B1C55238C2A09F2C2382CB3346305674A4A017873A4C975CCBF4D0D0D667506
+ 4C4C4C9B4C4C9B4C064D9B9B4C9B4C4C9B131E593E1D373735353535357C7C4B
+ 54545454543535353737543EB69C1D1D3E1D13133E6565653E3E3E3E3E653E1D
+ 131392C03D3E13133DC092151315C0A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFDEDAE9FFFFFFFFFFFFFF0CDADA7FFFDADA0C
+ E1127FFFFFFF12DADAE012121212DFFFFFE0DA0CFFDFE4DA20E1DADAFFFFFFFF
+ FFFFFFFFFFE6DADAE9FFFFDADA57FFFFFFFFFFFFFF20DAE4FFDEDADAFFFFFFFF
+ FFDEDADAFFFFDEDADEFFE4DA0CFFFFFF0CDADADFFFFFFFFFFFFFFFFFDADAE912
+ 1212127FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFC
+ FCFCFCFCFCFCFFFFFCFFFCFFFFFCFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCDDFCFCFC64640A0ABB1616EEEE
+ 076108E3B1703C181BED5B60423004512236294E4E270F022B62EF2300002AF2
+ 97382C1FB33405336767582F8794C9BF210D98A10D755F744D4D4C4C4D4C4D4D
+ 4C48489B48B5BD4C06131E593D1D767C353535359A8080C854547C7C7C545435
+ 3735833E984BCBCB1E1E65651E1E1E1E651E1E1E1E5D3765371E3D3D1E3E9292
+ 3E15C013131513A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFDEDADEFFFFFFFFFFFFFF12DADA12FFDADA0CE2DADAE4E1FF12DA
+ DADADADADADA12FFFF0CDA0CFF0CDAE27FFFDADAE1FFFFFFFFFFFFFF0CDADAE9
+ DFFFFFDADA0CFFFFFFFFFFFFFF0CDADAFFDEDADAFFFFFFFFFFDEDADAFFFF20DA
+ DEE6DADA2012FFFF0CDADAFFFFFFFFFFFFFFFFFFDADADADADADADA0CFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCFCFCFCFFFFFF
+ FFFFFFFCFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFDDFCFFFCFC640A0ABBBBBB16EE076108E30BB13C18
+ 1BED5B4742BE040422EA694F4E270F022B62EF238C002A09C2F7381F1F1F63B3
+ B33401785831C9A121A10DC97EAA4D4C4C4C4C4C4C4C4D4C9B5F7E21104C6E4C
+ 0D444BBF3E1D76809A35CACACACACA355454C8C8C8C85454C8C8483E0D541D13
+ 1E1E653E3E3E3E3D651E1E651E1E1E3E1D1E653D3E139213133E3E13131313A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20DA
+ E4FFFFFFFFFFFFFF12DADA12FFDEDA571240E9DAE2DF12DADADE0C0C0C0C7FFF
+ FF0CDA577FDADA0CFFFFDADA12FFFFFFFFFFFFE0DADAE0DFFFFFFFE2DAE0FFFF
+ FFFFFFFFFF0CDADAFFDEDADAFFFFFFFFFFDEDADAFFFF0CDADEE1120CE2DA57FF
+ 0CDADA7FFFFFFFFFFFFFFFFFDADAE40C0C0C0C12FFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFFFFFFFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFC
+ FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFF
+ FFFFFFDDFCDDFC6464640A0ABBBB160EEE070808E3B1703CE81B194760493004
+ 2236E54F4E270F02022BD6558C000009F239381F1F2C3333676778585873100D
+ 215C66A80D664D5F066E4D4D4D0674AA9B21F031AB484C06BF1E26BF3E133AB0
+ 6F446C9A541E5454353A76C6D1B6767C6F9545CAC9D713151E445D4465443D3E
+ 655D651E4BD5761DCACA351E3E15C0153E15C0133E1315A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6DADA12FFFFFFFFFFFF
+ 57DADADFFFDEDA0CFFFF7FDADAE612DADA0CFFFFFFFFFFFFFF0CDADEDEDAE4FF
+ FFFFDADA12FFFFFFFFFF12DADAE0FFFFFFFFFFE0DAE2DFFFFFFFFFFFFFE9DAE9
+ FF0CDADA12FFFFFFFF0CDADAFFFF0CDADEFFFFFFE6DADA7F7FDADA0CFFFFFFFF
+ FFFFFFFFDADADEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFCFC
+ FC640A0A0ABB160EEE076108E3B1703CE81BED5B60493004512236294E270F02
+ 022B1CEF2300000997C2382CB32CB33463334A7858C1C90D79C9AA1010A87E5C
+ 754C75064D4D744D0D242EB74D4C4C06754426BFD71D953A3AB54BCA543E3A76
+ 9CC875D4213A3A243A9145357ED7131D5D3E3E3E1D13543E1E1E1E3D9EC6BF54
+ 9A35351E3E1515136513C0C0151313A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFDFE2DAE9DFFFFFFFFFE1E2DAE0FFFFDEDA0C
+ FFFFDFDADA0C12DADA0CFFFFFFFFFFFFFF0CDAE2DADA12FFFFFFE4DA12FFFFFF
+ FFFF0CDADAFFFFFFFFFFFF12DADAE0FFFFFFFFFFE6DADAE6FF0CDADA12FFFFFF
+ FF0CDADA12FF0CDADEFFFFFF40DADA12FFDEDADA12FFFFFFFFFFFFFFDADADEFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFC64640A0ABB160E
+ EE076108E30B703C181BED5B47C33004512236294F27270F022B62EF23002A09
+ 09C2382C1F2C386363054A017887A8BF7B10065C5C0DAA66664D66754D064D06
+ AA2E24AA4C4D0D4D063E26BF3E3E9C9CC8B5CA6C76548335443A0DCC45542ED5
+ 95484584BFD7134454831E13761D5D1E5D9265452EC698544BC8351E1D15133E
+ 653E15C0153E3EA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFF12E2DAE40C121257E2DAE2DFFFFFDEDADE0C0CDEDADA4012DA
+ DADE0C0C0C0C0C7FFF40DADADA20FFFFFFFFDEDAE6FFFFFFFFFF40DADA201212
+ 0CE1FFFF0CDADADEE61240E0DADADEFFFF0CDADA12FFFFFFFF0CDADA12FF0CDA
+ E40C0C57E2DADADFFFDFE9DADAE040124057E1FFDADAE40C0C0C0C0C12FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFC640A640ABB1616EE076108080B7070
+ 181B861947423004512236694F27270F022B62D6230000EC0997F72C1FB33834
+ 056701787887CC0D79AB4DAB215C5CA16606AAAA4D4D4D060101F3C1A84C6606
+ 061DAD986C44959C9A95449A7676761E1E567D7D84B7F0069148953A063E1337
+ 5D1E5D13763E443E54C05488D12F983A6FC835441D151D1E3D3E3E133D653EA2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ E1DEDADADADADADADEDFFFFFFFDEDADADADADADAE0FF12DADADADADADADADA12
+ FF12DADADA7FFFFFFFFFDEDA0CFFFFFFFFFFFFE0DADADADADA7FFFFFFF40E4DA
+ DADADADADA57FFFFFF0CDADA12FFFFFFFF0CDADA12FF0CDADADADADADAE2E6FF
+ FFFFDFE0DADADADADADA12FFDADADADADADADADA0CFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ DDFFFFFFFFFFFFFCFCFC640A0ABB16160EEE070808E3B1703CE886194742BE30
+ 042236694F4E270F022B62EF238C00EC09C2F72C1FB3B36367670101782FCC0D
+ 10794D2121A15CAAAAAA4D4D064C4C064D7E797B945C9B4D061D9598131E763A
+ C83A449544541D54C8138806A3AD9826914895569E1D153576924B1E3E5D543E
+ 155D83982E4AD47B6FC81E3E13151D1E3D3E3D13133E3DA20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FE60C0CE67F
+ FFFFFFFFFFE112121212127FFFFFDF1212121212121212DFFFDF1212E1FFFFFF
+ FFFFE1127FFFFFFFFFFFFFFFE10C0C0CE1FFFFFFFFFFFFE10C0C0C40DFFFFFFF
+ FF7F1212DFFFFFFFFF7F1212DFFF7F121212121212FFFFFFFFFFFFFFDF400C0C
+ 0C40DFFF12121212121212127FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
+ FF64640A640ABB160EEE070808E3B1703CE88619476049300451EAE54F4E270F
+ 020262D6558C002A0997F7381FB3343305674A0178C121A15C794D7910667BAA
+ 75790D4DAA4C4C06AA064C6E0D7506AA981D45061335763A4844443A1EB21E76
+ 3A4B764B563A7648919B9593563D157C5D4B5D13441EC01E65541E5476983AC8
+ 6FC81E3E1315134465131515151513A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFCFFFCFC64640A0ABB16
+ 0EEE076108E3B1703CE81B195B4749300451EAE54F4E270F022B2B1C55238C2A
+ 09F239381FB3343305676701782F8BA1C9AB4D211021019F0D2FA4AA66064D06
+ AA4CA1AA4D74664CBF1D43981354769CC8C8D101F0D19E1D3EB2443A453A453A
+ 6E4C9506831D15763D8313831E44541E3D15135D3A761E3A4B8035441D151365
+ 6513131E1E1315CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCDDFFFCDB64640ABB1616EE076108E30B70
+ 3C181BED5B47C330045122E5294E270F02022B1C55238C00099738382CB33463
+ 05674A0178782EA199CC06215C210558A1F32FBF66AA4D4D4C75AA4D5C4D0610
+ BF1D4898134B3A913AC5940D7676C8837C7CA87B3A9C3A486E4C45983A1D1576
+ 3A1376D15DB2C6761E1E5D15765454354B80351E1D15133E3D151E833A65C0A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFDDDDFCFFFCFCFC640A0ABBBB16EEEE6108E30BB170181BED5B474230
+ 0451EA36294E272702022B62558C8C2AEC9739381FB3343305674A01782FD5C9
+ 79A866A8109F874A8DC6F30DA10D4D66AA666666AA06BFA1A11D9EBF549A9C3A
+ 83D7F578787BBDBD5648D4C90DD276833ABF76C94B441D761E769CC65978B67C
+ 54351E5D54545476763A1D761315374465153DD13E1365A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFF
+ FFFCFC64640ABB16160EEE610808E37070181BED5B4742300451EA36694E270F
+ 02022B62EF8C8C002AF239F71F1FB36333054A017858775CAB8B06791078A4C1
+ 0521587779A1A8A85C5C5C5C0DAA66A10D15C999A34B9C3A4B83F0BF5966486E
+ AA4CD198CC109E839C9EADD2C81E443A54139EF3C6785FB695764B4B4B5D5D5D
+ 763AC83A1E445D44156583D41E3E1EA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFFFCFC646464BBBB
+ 160EEE070808E3B1703CE886194742BE04042236694F27270F022B1CD6238C2A
+ 09F2C2381FB3B3633305674A01F024107B2FA1AB7901AB2E0599D42410107966
+ 5C5C5C5C7E0D0DA10DD78F2ECA95569148B6016701774D100D4CD24810065945
+ 595643A5AD54C8953E9EC9CC88C6CC83599EB2B2453A767654358335D7441E3E
+ 135D59995D76B26F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC64DB640ABBBB160EEE070808E3B1
+ 703CE886194742BE30512236694F27270F022B1CEF238C002AF297382C1F3463
+ 3305674A015824A8CF2F7BC9102E0D10C9BF107E66ABAB105C5C5CA8105C5C10
+ BF458F8BAD9D6E6E9E3A065906AA9D0D0DAA0D06BF9806599893143143C8C876
+ 48567DF0317B59594C9E489E48569C9C45959826C8C84B848399F57899454B6A
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFDDFFFFFC64646464BBBB160E0E076108E3B1703CE886194742BE
+ 04042236694F4E270F022B62EF23000009F239382CB3343305674A4A78879F8B
+ 249FCF7E7E0DAA664D754D064D4DB7664D4C4C4D06060606459E0D06B5843A3A
+ 959B48B03A984C934C4D954C9D4D9E4C4343933B43C85454CAD7CA3ACA845426
+ 3A6F6F3A833A3A3A4B26AA8444D7A3D7543D1E44545D37B40000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
+ FFFCFCFC640A0ABB160E0E076108E30B703C181BED5B604930042236694F4E27
+ 0F022B1CEF23002A0939382C1F3433054A0158879FA47B21CCA10DBFB7489195
+ 91726F4856987DC972B09AB06FB0B0B04445C835AD9A9A6FB0356A953A4B4C3B
+ 3A6F9AC84B9A4BC835268326434B544B54CAD7CACA985E43C89ACA9A9A353554
+ 4B9598B76FC89ACA3D5D76B6833E1D6A0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFC64640A0ABB
+ 1616EE070808E3E3B1703CE81B1947C3300422EA694F27270F022B1C5523002A
+ F2C2382C1F3433676701583194778B7BCC5C0D6606065F9B6E6EBD3AC8067B8E
+ 6EB5B0B0B0C880804435CAC5C89A6AB09AB09A80C53599A79572729A6F35C835
+ 1E35C8CA26C8354B6ACA4B1D440D7D8E6FC89A9A35CA1E35C580C83A35C5CA6C
+ 3D767610597613AE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFCFC640A0ABB160EEE0761610808
+ 08E3E3B17018ED4749045136694F4E270F022B1C5523002A0939381F1F343367
+ 677858739FA47BA85C5C0D4C5F9B9191726E72C826563B846E729A9A80356A6A
+ 801D4B356A80AC806A9A6AC8D73D3B8872726F806A806A6A35441E543E354435
+ B01D6FCACAAD7E95B56FC89A9ACACA353580CBC8AC6A4B353D7615BF76541ECB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDDFFFCDDFC0A0A0ABB160EEE07076107EE0E0E0EEE0708B11B
+ 473051EAE54F4E270F022B1C5523002A0939381FB33433674A015873772E8BCC
+ 5C66665F5F4C6F953A72B03ACAB73B546F3A1D806AB4C580B0B46AB46FB46AB4
+ 449A1D4435157D9880B09A8080C5C5C57C15443735351D351D441DCA1E4B0635
+ 6F6F44C8445D1D3E1D443E44541E1DC81E443E4BC81E54CB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
+ FCFFFC6464640ABB160EEE07077F71176B818181170316081B4204EA694F4E27
+ 0F022B1CD623002A0939381FB36333674A0158872F739F777B9F7BA81066A14D
+ 9B483AC815837ECAB43A3A6EC84C6F95484806486E4806483A953A6FC8152193
+ 6CB09A6ACBC5657C44351D5415C854547C541EC8D73A4844CA6FC515A95D3544
+ 1D3A35443E1E44C01E441D351E1D35CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFC6464640ABB
+ BB0EEE070781FEFEFEFEFEFEFEFEA60AE31904EAE54F4E270F022B621CEF8C00
+ EC97381F1F63333305676778788773739424A4249F79C9AB5C5CBF486C43AB84
+ 80064C4C9B5F664C485C065F5C0D6E5F4D4C75064C448F43B46A6F4B959C3AB2
+ 9CB2B29CB6B61D459C6F6F8ECA4C3A1DCACA6C9A4B4B1D1D1EC03A4B153A159C
+ 35441D4413C044A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC640A64BB160EEE0707CDFE7A
+ 82D36BCDFEFEFE17EE1B3022E5294F4E270F0F022BD655002A97381FB3343333
+ 33674A01015887947377247B7B2E218B10ABA806A34899CA954D489BAA48664C
+ 754D75BF064C75A10D454D9806CA8F26CA3548C8B2445D54C8543A359E35483A
+ 954B4593AD0D351D1DCAC56C1D134445761E1D833E3E3E1D351E1D3EC09244A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFCFC64640A0ABBBB160EEE07D312610808E3C4F4FEFEB8
+ 163C495136E5E56969294F4E270262232AF2381FB334333305670505782F8794
+ 942424014A947B7EA8A8CC98D75699A3B5484C0DAA774D669B7506664A78D1C6
+ 779E4C98BF3524841D3A6E541E3A75B676563A563A54F021BD4B45483AA1C51D
+ 6C4BC54410D5BF131D35BF4859D10D5D35353E3E15C044A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFF
+ FCDDFCDBDB64640ABBBB90EE07616161616108E3F6FEFEFEBB70425122220430
+ 604242490436271C0009F71F1F3433330505336301C1C1949F24335831059458
+ 79AB21A1CA437D844B0D0648D4A8F04C0D4CAABFF0F30188787E060DBF268DAD
+ A94CC85676D478884B3A3A8376450DF05F6E489DB598356A6CB0CA6CBF990676
+ 764483D1313A44445D5D3E3E131535A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5003030328FFFFFFFFFFFFFFFF
+ FF5003031AFFFFFFFFFFFFFFFFFF280303031AFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFF1A03030328FFFFFFFFFFFFFFFF28030350FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A030350FFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFF50030328FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A03031AFFFFFFFFFFFFFFFFFFFF
+ FF28030350FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF030303FCFC6464
+ FC0A16EE0761EE1A030316EE12FEFEFE50B1600404428670E68903890B1B0402
+ 23EC381F34343333336767670578873131948B01F301F52E215C990DD73A99CA
+ BD4C064C66F0AB0D740DBF9E8DF30501D20D4D9859842ECA6C5935B29C244A83
+ 45C83A7659C926F0064CB7959D4D9A6AC89ACA562E103A44C0440DD2249C354B
+ 5D351D1D15135DA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFF03A6FEFEFEFEFEFEB86B1AFFFFFFFF6BFEFEFEFEFEB871FF
+ FFFFFFFF17B8FEFEFEFEFEFE17FFFF03FEFEFE28FFFFFFFFFFFFFFFFFFFFFFFF
+ FFFF036BCDFEFEFEFEFECD32FFFFFFFF717AFEFEFEFECD6B28FFFFFFFFFEFEFE
+ 03FFFFFFFFFF81FEFE17FFFFFFFF6BFEFEFEFE82FF03FEFEFE28FFFFFFFFFFFF
+ 286BCDFEFEFEFE7A71FFFFFFFF03FEFEFEFFFFFFFFFFFFFFFFFF17FEFEFE03FF
+ FFFFFFFFFFFFFFFF71B8FEFEFEFE3217FEFE81FFFFFFFF037AFEFEFEFEFE17FF
+ FF03FEFEFEFFFFFFFF81FEFECD50286BFEFEFEFEB8FCCDFEFE03BB0E615081FE
+ FEFECD17BBFEFEFE03B147EB47A0A6FEFEFEFEFEFEB8D04E2309381F34343333
+ 336733673487942F24A424F0317B7B7D215CAB5CCA8399A33A0606AA31A49F06
+ 667445BFD4054A7B4D4D060D4D56CFCA3E453A3A76B2013A564BCA3A932E01D2
+ 484848B5B7486AB49AC844C8CCA13A3E1E35C8C9D54476765D1E1315C01D54CB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B
+ FEFEFEFEFEFEFEFEFEFEFE32FFFFFFB8FEFEFEFEFEFEFE71FFFFFF81FEFEFECD
+ 8181CDFE81FFFF03FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF286BFEFEFEFEFEFE
+ FEFEFE81FFFFFF6BFEFEFEFEFEFEFEFECD50FFFFFF7AFEFE03FFFFFFFFFF82FE
+ FE17FFFFFF71FEFEFEFEFE81FF03FEFEFEFFFFFFFFFFFF50CDFEFEFEFEFEFEFE
+ FE6BFFFFFF50FEFEFEFFFFFFFFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFFFFFF1A
+ CDFEFE8117173203FEFE81FFFFFF32FEFEFEFEFEFEFE81FFFF1AFEFEFEFFFFFF
+ 71FEFEFE32FF82FEFECD8217822881FEFE030A9050CDFEFEFEFEFEFE6BFEFEFE
+ 030B5B47E0CDFEFEFEF4D9F4FEFE2D272309381FB363333305674A67012FC194
+ 9F772E944AF02179795C10A1444B885DC8754D75BF7E4C064C4C9B06107821C9
+ 4D4D66665993ABC81D455654543A3A54B09A4B6F5624F00D5F48834806543E1D
+ 5D54351E1E351E1E3DD78399064B44765D5D139213653ECB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFEFE6B71033281
+ FEFEFEFE03FFFF827128FF1A7AFEFEA6FFFF17FEFECD17FFFFFFFF1A32FFFF03
+ FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF7AFEFEFECD82710303176B7AFFFF71FE
+ FEFE1728FF037AFEFEB828FFFF81FEFE71FFFFFFFFFF17FEFE82FFFFFF17FEFE
+ FE03FF71FF03FEFEFEFFFFFFFFFFFF7AFEFE7A03FF2817FEFEFE17FFFFFFFEFE
+ FEFFFFFFFFFFFFFFFFFF03FEFEFE03FFFFFFFFFFFFFFFF17FEFEB8FFFFFFFF1A
+ FEFE7AFFFF1ACDFEFE7A71FFFF1A32FFFFFFFEFEFEFFFF28B8FEFE6BFFFFCDFE
+ FE32DDDDDB646BFEFE710A1681FEFECD32EEC4D3FEFEFEFE030BEDFACDFEFE81
+ 9647305151E0E0028C09381F34B3330505674A0178878731249FA4A4247B108B
+ 10AB21BF35450D546EAA744859069E0606BD594C48C9064C4DAA75754D14211D
+ 54487676543A353A3A9A4BCA3A59453A95B25643BF541D929C3E441D761D5D35
+ D7541E35134B3A541E1E3DC01D4465CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF7AFEFEFE17FFFFFFFFFF6BFEFEFE6BFFFFFF
+ FFFFFFFF82FEFEA6FFFFB8FEFE17FFFFFFFFFFFFFFFFFF1AFEFEFEFFFFFFFFFF
+ FFFFFFFFFFFFFF17FEFEFE8128FFFFFFFFFFFFFFFFFFB8FEFE17FFFFFFFF28CD
+ FEFE17FFFF81FEFE17FFFFFFFFFF17FEFE81FFFFFF17FEFEB8FFFFFFFF1AFEFE
+ FEFFFFFFFFFF32FEFECD28FFFFFFFF17FEFECDFFFFFFFEFEFEFFFFFFFFFFFFFF
+ FFFF03FEFEFE03FFFFFFFFFFFFFFFF17FEFE7AFFFFFFFFFFFEFEFEFFFF17FEFE
+ CD28FFFFFFFFFFFFFFFFFEFEFEFFFF82FEFEB828FFFFFEFEFE71FFDD646417FE
+ FE170A7FFEFEFE3290E3703CD3FEFEFE03E31BC7FEFEB8C4190436294F4E0F2B
+ 8C2AC21F3434333305674A017887C19F9F9FA48B8B21797B5C797BBF35565E54
+ C84D664C750659590D6EBFAABF1010994D660666B798211D92483A4576453E3A
+ C86E4B9D459A4583B2594C83C9C81EC5441E4B5D5D131D3ED73ED74B3E441E54
+ 1D1E3E133E3E3DCB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFEFEFEFEFFFFFFFFFFFF28FEFEFEB8FFFFFFFFFFFF71CDFEFE71
+ FF50FEFEFE28FFFFFFFFFFFFFFFFFFFFFEFEFE03FFFFFFFFFFFFFFFFFFFFFFCD
+ FEFEB828FFFFFFFFFFFFFFFFFF1AFEFEFE1AFFFFFFFFFF82FEFE81FFFF17FEFE
+ 17FFFFFFFFFF17FEFE81FFFFFF71FEFE7AFFFFFFFFFFFEFEFE03FFFFFFFF6BFE
+ FE6BFFFFFFFFFF28FEFEFE03FFFFFEFEFE03FFFFFFFFFFFFFFFF03FEFEFE03FF
+ FFFFFFFFFFFFFF1AFEFEFEA61AFFFFFFFEFEFEFFFFA6FEFE6BFFFFFFFFFFFFFF
+ FFFFFEFEFEFF50FEFEFE50FFFFFF6BFEFECD32FFFCFC17FEFE170A03FEFEFE28
+ 070B18E818B8FEFE0308E8D8FEFE820B4704223636694F0FD600971FB3343333
+ 330501782F582F9494772E2E2E778BA8AB10107ECA8399264D4D4D0694F0774C
+ 4C0D4C749F78D5C6934D5F0D95AB999C765935C8CCD4BF4B4CACB5C8458BC976
+ 9C5643AD7D4B35353A5444C910CC834B26458821593E1576445D1E3E653E1DB4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFE
+ FE7AFFFFFFFFFFFFFF7AFEFEFEFFFFFFFFFF82FEFEFE17FFFF03FEFEFEFFFFFF
+ FFFFFFFFFFFFFFFFFEFEFE03FFFFFFFFFFFFFFFFFFFF03FEFEFE32FFFFFFFFFF
+ FFFFFFFFFF03FEFEFEFFFFFFFFFFFF03FEFEFEFFFF17FEFE82FFFFFFFFFF03FE
+ FE7AFFFFFF03FEFEFEFFFFFFFFFFFEFEFE03FFFFFFFF81FEFE17FFFFFFFFFFFF
+ 81FEFE17FFFFFEFEFE03FFFFFFFFFFFFFFFF03FEFEFE03FFFFFFFFFFFFFFFFFF
+ 32CDFEFEFE7A825081FEFE50FF81FEFE17FFFFFFFFFFFFFFFFFF81FEFE507AFE
+ FE17FFFFFFFF2881FEFEFECDA63271FEFEA60A03FEFEFE6407B1181B1BD8FEFE
+ 170818D9FEFE17613C86195B191947040F8C972CB33463050567014A4A582FC1
+ 87949F778B8B2E211010A15C3593A58E6F4C759B2EF0871010060D7B2105F32E
+ 934C5FA1B5A521B21E483A547BD51006BD7EA1BF4DAB24B23A839E06314C4B76
+ 1E443AD424CCB2984310D4993A1E3E3E5476541E5D5D5D9A0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE81FFFFFFFFFFFF
+ FF81FEFEFEFFFFFF2881FEFECD71FFFFFF03FEFEFEFEFEFEFEFEFEFEFEFEFFFF
+ FEFEFE03FFFFFFFFFFFFFFFFFFFF17FEFEFE1AFFFFFFFFFFFFFFFFFFFF03FEFE
+ FEFFFFFFFFFFFF03FEFEFEFFFF17FEFE81FFFFFFFFFF03FEFEFEFFFFFF03FEFE
+ FEFFFFFFFFFFFEFEFE03FFFFFFFF81FEFE17FFFFFFFFFFFF81FEFE17FFFF81FE
+ FE03FFFFFFFFFFFFFFFF03FEFEFE030317177128FFFFFFFFFF28177AFEFEFEFE
+ CDFEFE03FF81FEFE17FFFFFFFFFFFFFFFFFF81FEFE82FEFECDFFFFFFFFFFDDFC
+ 036BCDFEFEFECDFEFE810A1AFEFEFE1AEE0B18861BD3FEFE170818D9FEFEFEFE
+ FEFEFEFEFEFEFEF1E523F22C341F2C0505674A34344A2F582FC17394777777A4
+ A87910C94B99BC140666AA06A40178AB5C77A8AB8B01D421AA66BFBF8EF53F54
+ 4C5656592FD421985C105C06D578CC4C064C595E8D9326765D0D31D421B6590D
+ 06998DBF3A459C7654545D1E5D5D54B00000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF81FEFEFEFFFFFFFFFFFFFF82FEFEFE28FFFF
+ 81FEFE7A1AFFFFFFFFFFFEFEFE710303030317FEFEFEFFFFFEFEFE17FFFFFFFF
+ FFFFFFFFFFFF17FEFEFEFFFFFFFFFFFFFFFFFFFFFF28FEFEFE71FFFFFFFFFF32
+ FEFEB8FFFF17FEFEFE28FFFFFFFF71FEFEFEFFFFFF28FEFEFEFFFFFFFFFFFEFE
+ FE17FFFFFFFF82FEFE7AFFFFFFFFFFFFB8FEFE32FFFF81FEFE03FFFFFFFFFFFF
+ FFFF03FEFEFE03B8FEFEFEFE82FFFFFFFFFFFFFF280382B8FEFEFE32FF82FEFE
+ 7AFFFFFFFFFFFFFFFFFF81FEFE717AFEFE32FFFFFFDDDDFCFCDBDB5032A6FEFE
+ FEB80A16B8FEFE17BB0870E8E8D3FEFE17081BF1FEFEA60389892D89F4FEFED3
+ 22D6092CB3B31F0533674A05057858783131949F949F2E8BAB7921A15699A55E
+ B5060DA1BF7979A106A8BFBF0DAB0DBF66BFBF0693525243543A4C062106489E
+ 9DAA9D4C7910BF9E599E458E98C8CA1E4B98CC48454B3A13C8D74C4B5D1E1D3E
+ 1E1E3E3D653E3EC50000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF81FEFEFEFFFFFFFFFFFFFF17FEFEFE03FF50FEFEFE28FFFFFFFF
+ FFFFA6FEFE32FFFFFFFF32FEFEB8FFFFFEFEFECD50FFFFFFFFFFFFFFFFFF17FE
+ FEFEFFFFFFFFFFFFFFFFFFFFFFFFA6FEFEA6FFFFFFFFFF81FEFE6BFFFF71FEFE
+ FEA6FFFFFFFFA6FEFEFEFFFFFFFFFEFEFE28FFFFFFFFFEFEFECD50FFFFFF50FE
+ FEFE50FFFFFFFF03FEFEFE1AFFFF81FEFE03FFFFFFFFFFFFFFFF1AFEFEFE71FE
+ FEFEFEFEFE6BFFFFFFFFFFFFFFFFFF28B8FEFE17FF71FEFEFE03FFFFFFFFFFFF
+ FFFF81FEFE0350CDFEFE71FFFFDDFCFCDBDBDB64FC6417FEFEFE0A0ED3FEFECD
+ 500E08B1B1D3FEFEA6611BA0FEFEB8EE3C5B4786B8FEFEC7E5F9F21FB36363F3
+ 67670178F087879424A42E8B7B21A879795C2166B75E5E14B774B74DBD4C4856
+ 4C9D564D9E454C4C93489B59143B53A73A3A5435763AC8C8B0CA3AB54B3A3A4B
+ 4B5683AD434B26353E1D1D1E1E444435C813484B76351D445D1E1D3D3E1315CB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6FE
+ FEFEFFFFFFFFFFFFFF17FEFEFE03FF03FEFEFE17FFFF1A32FFFF03FEFECD03FF
+ FF287AFEFE17FFFFFEFEFEFECD821703FFFFFFFFFFFF71FEFEFE71FFFFFFFFFF
+ FFFFFFFFFFFF50FEFEFEA61AFF1A6BFEFEFE50FFFF03FEFEFEFEB882177AFEFE
+ FECDFFFF5003FEFEFE17030328FFFEFEFEFECD821703FFA6FEFECD32FFFF71CD
+ FEFEA6FFFFFF81FEFE71FFFFFFFFFFFFFFFFFFFEFEFE7128FF507AFEFEFE03FF
+ FF0328FFFFFFFFFFB8FEFE17FFFF7AFEFECD3228FF280303FFFF81FEFE03FF32
+ FEFECD50FFDDFC1A50DDFCFC64DB32FEFEFEBBEE617AFEFECD321AEEEE6BFEFE
+ 81611960D9FEFE6BC43C18F6FEFECDD02700392CB36333674A01F058D1C1872E
+ 8B79C90DBFBF754D4D4D56954556459E453B7D1480373E1E1E3544134435443E
+ 6C443E5D253FA7C945441D1E3E441E1D443E3E44443E44543BA13A8044921313
+ 13923E15153E153E1515351D1D54C0C09265A9A9C09213AE0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFE1AFFFFFFFFFF
+ FF03FEFEFE03FFFFB8FEFEFEFEFEFECDFFFFFF32FEFEFE7A81FEFEFE7A28FFFF
+ FEFEFE7AFEFEFE17FFFFFFFFFFFF28FEFEFE6BFFFFFFFFFFFFFFFFFFFFFFFF32
+ FEFEFEFEFEFEFEFEFE32FFFFFF03FEFEFE81FEFEFEFEFEFEFE82FFFF81FEFEFE
+ FEFEFEFE03FFFEFEFE7AFEFEFE17FF287AFEFEFEFEFEFEFEFE7A28FFFFFF81FE
+ FE17FFFFFFFFFFFFFFFFFFFEFEFE03FFFFFF28CDFEFE6BFFFF82FE7A6B17177A
+ FEFEFE50FFFF50CDFEFEFEFEFEFEFE17FFFFA6FEFE32FFFFA6FEFEB828FCDB28
+ FECD8117176BCDFEFEA6166108C47AFEFEFEFEFEFEFEFEFEB8E3473096F4FEFE
+ CD81B8FEFEFEC72262F2381F3433054A7858C17331319F7BC975B648B245956F
+ C84B35449A9ACACA543B3B841DAC1313921D13921D1D151D6C1D1D3D3D3B983A
+ 1E13131D1D131D1315C0C01313C015138E5615B4CB15151513C03E133D65C015
+ 131544C51D15A9C09265C013651365A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFF03FEFEFE17FFFF
+ 5081FEFEFEFEFE6BFFFFFFFF037AFEFEFEFECD6B28FFFFFFFEFEFE716BFEFE17
+ FFFFFFFFFFFFFF6BFEFEFE03FFFFFFFFFFFFFFFFFFFFFFFF1A6BFEFEFEFEFEA6
+ 03FFFFFFFF03FEFEFE2882CDFEFEFECD82FFFFFF81FEFEFEFEFEFEFE03FFFEFE
+ FE716BFEFE17FFFFFF32B8FEFEFEFEB81728FFFFFFFF6BFEFE17FFFFFFFFFFFF
+ FFFFFFFEFEFE03FFFFFFFF81FEFE81FFFF0381CDFEFEFEFEFEB871FFFFFFFF1A
+ 6BFEFEFEFEFECD50FFFF17FEFE17FFFF28CDFEFE7A28DBDB6B7AFEFEFEFEFEFE
+ 6B7F0708E30BE3F67AFEFEFEFEFEFEFEF418EB512296F8CDFEFEFEFEF432510F
+ 009738B33433674A015831D4319F8BA85C0DBF064D4D4C4856454B6F6FB044B4
+ 3D3B5E3DAC7C3554C83A3A83453A3A56953A9C76A37D986A133E441E35444435
+ 764B4B7676C8544B439D1D1DC53537445D1E545D4B3A5D545D5435763792135D
+ 3E1E651E1E3E1ECB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFF03FEFEFE17FFFFFFFF28030350FFFF
+ FFFFFFFFFFFF28030350FFFFFFFFFFFFFFFFFFFFFF1A031AFFFFFFFFFFFFFF1A
+ CDFEFECD71FFFFFFFFFFFFFFFFFFFFFFFFFFFF030303FFFFFFFFFFFFFFFFFFFF
+ FFFFFFFF500303FFFFFFFFFFFFFF81FEFE03FFFFFFFFFFFFFFFFFF1A031AFFFF
+ FFFFFF1A03031AFFFFFFFFFFFFFF17FEFE17FFFFFFFFFFFFFFFFFFFEFEFE03FF
+ FFFF28CDFEFE81FFFFFFFFFF2803030328FFFFFFFFFFFFFFFFFF0303031AFFFF
+ FFFF17FEFE17FFFFFFFFFFFFFFFCFC640A646450030350BB16EE61E30BB17070
+ 700B89898989FBE819C351E5693622300C2D2D9604690FF92AF2382CB3B33305
+ 4A01739FC131217B7B79CCA8C910C910AB10107EA10D4D3A3D995E3D3A914556
+ 484C5906064C9E064C480659A38F0DAC4476764B3A3A4B4556459C4545454545
+ 5E9D441D7C355D35C8545454544B4B4B544B6A7637A9655D4B5D1E5D443E1EB4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FE
+ FEFE03FFFFFFFFFFFF28FEFEFE17FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32FEFEFEFE7A1703
+ 0371177A03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFE32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFE17FFFFFFFFFFFFFFFFFFFEFEFE6B171717B8FEFEFE17FF
+ FFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFE17FFFF
+ FFDDFCFFFFDBDB640A0A0ABBBB1616EE0761080BB1703C18E81B86ED195B6049
+ 0451364F4E4E4E4E4E4E4E270F2B55000939F72CB3346305674A317731C18BD5
+ 8B7BCC79A810A8A8C90D0D66660D75B55D7D5EA39B919C564548489E064C484C
+ 7448065954B95E6C353A76C83A833A45953A3A3A3A4545457E3A44923A443554
+ 35C8C8C854355454543A3580C5921E651E13445D3E441ECB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03FEFEFE17FFFFFFFFFF
+ FFFFFEFEFE6BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03CDFEFEFEFEFEFEFEFEFE28FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A17
+ 8117FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FE
+ FE81FFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFE7A28FFFFFFFFFFFFFCFCFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEA6FFDDFFFFFFFCFCFCDB64
+ 0A0ABBBB900EEE076108E30B703C18E886195B4742EB30512236294E270F0F0F
+ 02022B62552300EC9739381FB3346333674A312431877B248B7979A8C9105C7E
+ A8A17EA10D107E9B1E7D5EA34D91484556B64848590659594D4C7598265206AC
+ 543A76544B833A7645459595569E9E483BADCACB9C351E541EC8547676C83A76
+ 263AC8356C151E5D1D137676445D54B40000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF03FEFEFE17FFFFFFFFFFFFFFFEFEFE81FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFF28177AFEFEFEFEFEFE7AFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFE81FFFFFFFFFFFF
+ FFFFFFFEFEFEFEFEFEFEFECD6B28FFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFF17FEFE81DDFFDDFCFFFFFCDB640A0ABB16160EEE0761
+ 0808E3B1703CE886195B4742BE04512236294F4E270F02022B1CEF232300ECF2
+ C2F7381FB3346305674AC1D49F877BD2A47B21A85C105C7E5C0D7E7EAA7E0D6E
+ 3E7D7EA34D9B064548065956484C4C4C4D4D060684B99DB4763A453A4B45B276
+ 3AB5B595489EB79D93C86C1D4BB21E35459544CA9A9A956F263580ACCB923E45
+ 45560DB63E5D54B40000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF03030350FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDDFFFCFCFC0AFC640A0ABB16160EEE076108E30B707018E886
+ 19476049300451EA36294E270F0F022B1C1C238C8CECEC09C2382C1FB3633305
+ 674A58D49F2F7B24A48BABA85C10A1667E667E7E665C5C481E8B99A34C9BBF26
+ 59A10D9EB24C5959AA7575982552BDAC3A45B6483A48593A6F3A95BD4874483A
+ CAC86CB03A10B2458BC93A9A9A9A569556353AB0C5C5C888CCCCD5BF1D4435B4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFC
+ FFDBFFDB640A0ABBBB161690EE07610808E3B1703C181BED5B4742BE30042236
+ E54F4E270F0F022B1CEF238C00EC0909C2382C1F3463330567675894242FD2D5
+ CF2F8B7B2F87BFA1A1060D5CA17EA19B843F3BCA759B2F569888C12659598359
+ 4D750D14145206AC3A83F00688F02E2626AD833A4C4559569845352644D47B99
+ 8B4DCACA4B4B4B3A9C9C06B2441E1ED5CC8B103A134435CB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFCFCFFFFFCFFFFFFFFFFFFFFFCFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDFCFCDB0A0A0A0A
+ BB16160EEE076108E30B703C3CE886195B60493004512236694F27270F02022B
+ 1C55238C002A090939F72C1F34630505674A5894C1D1D49FA44A9F2158F00D7E
+ ABA1A1A166A1A14D938F3F25069B012EA17B2EB74C4C7498064806433BF55E6A
+ 454CD5CC06310D3A9595957645455999D2481D9A3A9F217EC99EC8C8264BC84B
+ 35060D4544541D06764545C83554C8AC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFCFCFCFCFFFCFCFCFCFCFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFDDFCFC640A0A0A0ABB1690EE070761E3
+ E30B703C181B86194760BE3004513636294E27270F022B621C558C0000EC0909
+ C2382C1F34633305674A58942F53312E24672F2E2F2FA8A85C667566660D0D4D
+ 1453528E069B77D55C775C66749B74744DB5BF433FBC3B6E489BA87B4C214C9B
+ 56489B48484893B97B484B4BD79D4B5606B7BD95BDB54BC88EAB5992A96F9A4B
+ 56959556454B44CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFC
+ FCFCFCFFFFFFFCFCFFFFFFFFFCFFFFFCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFCFCFC640A0A0ABBBB16160E07076108E30BB1703CE81B195B
+ 47C3BE30042236E54F4E270F0F022B62D6558C8C002A09F239382C1F34630505
+ 67017824C1AFA52E8B77777777A48B79AB1010105C5C664D5EAF5384065F7510
+ 667BAAAB7E0D7E0D0D4CBFB7B9535E6A729AAA7E66667E5C7EA1A1759B488EA5
+ A49DCAC8BD4D744D4D4D4D4C74B79DB5A3B98F06CACAB06E3AC8C83A954BC8AC
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFCFF
+ FCFFFFFCFCFFFCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCDB0A0A0ABBBBBBBB90EE07610808E30B7070181B8619476049300451223669
+ 4F4E270F02022BD6EF558C002A09F2C2F7382C1FB3633305674A7894C111BCCF
+ 7B798B77A48BA4A42E2E7B79A85C064DB96DAF14B79B5F0D7EA87E7979A85C5C
+ 7E0648AAF5BCB9747472064D66747E66AA4D5F6EB59314BCAFA44C9AB0B5849A
+ 84B5BD3A3ABD48B7A75A5AF57B0659757E7E5C5CC99979790000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFFFCFFFFFCFCFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCDB64640A0ABBBBBB
+ 1690EE076108E30BB1703CE81BED194742493004222236294F270F0F022B62EF
+ EF238C00ECECF2C2F7382C1F3463330567012F2F5A1185A48B2EA421A47B218B
+ 7979A85C5C66665CAF5A6D53C94CAA06664DAAAAAA4D4D4D14064C79BCBAF577
+ 9DB572B5B5729DB574744D4D6610D45AFDAF01C1772E9FC1C12FF0014ABCAFBA
+ 5AFDFD6D5A5A5A5A5A5A5ACEBACE5A2C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFFFFFCFCFCFCFCFFFFFCFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFDDFFFFFFFFFFFFFFFFFFFFDDDBDBDB640A0A0ABBBBBB16EEEE616108E30B
+ 703C3C1B86ED4760C330040422EA69294E270F0F022B621C55238C002A09F2C2
+ F72C1FB334330505670178F31111110524D22E21D221AB10AB79AB1079792EF0
+ FD6DFD6D0587318F3131C12FA5F07801F0010185BA6D5AAF0101F5BC058585BA
+ BABACEBACEBA5A6DFDFDFDFDFDFD6D5A5A6D6DFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCDBDBDBDBDB
+ DBFCFFFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFCFCFCFCDB640A0ABBBBBBBB160EEE076108E3E30B703C181B865B4760
+ C33004512236294F4E270F02022B1CEF23238C00EC0909E78A39F738112C2C1F
+ CECE6D41111111FD5ACE5A6D6D6D6D5A5A5A5A5A5A5A6DFDFDFDFDFDFDFD6D6D
+ 5A6D5A6D5A5A5A5A5A5A5AFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFFFCFCFCFC
+ FCFCFFFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBFCFCDB
+ 640ABBBBBB16160EEE07616108E30B70703CE81B195B47C3BE040422EAE5294E
+ 27270F022B621CEF238C8C00ECECEC6868E78A8A464646414141411111111111
+ 1111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
+ FCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFCFCFCFCFCFCFCFCFCFFFCFCFFFF
+ FFFFDDFFDDDDFFFFFFFFFFFFDDFFFFFFFFFFFFFFFCDBDB64640A0ABBBB16160E
+ EE07610808E3B1703C181BED194760493004512236E54F4E270F0F022B1C1C55
+ 238C00ECECECEC09688A8A8A4646464141414111111111111111FD1111FDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBDBDBDB
+ DBDBDBDBDBDBDB6464FCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFDDFFFFFFFFFFFF
+ FFFFFFFFFCDDFFFFFCFFFFFCDB64640A0A0ABBBBBB160EEE07610808E30B7070
+ 3CE81B195B4742BE300451EAE5294F4E270F02022B1C1C558C8C0000ECEC6868
+ E78A8A46464646414141411111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB6464646464
+ 64FCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFDDDDFFFFDDFFFFFFDDFFFFFFFFFFFC
+ FFFFFCFCFCFC640A0A0ABB1616160EEE076108080B0B703CE81B86194760C3BE
+ 04512236E54F4E270F0F022B2B1CEF8C8C0000ECECEC0909DCE7464646464141
+ 4111411111111111FDFD11FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB646464646464FCFC64FCFCFCFCFC
+ FCFCFCFCFCFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBFCDBDBDB0A0A
+ 0ABB1616160E0E07616108E30B70703CE886195B474249305151223669294E27
+ 0F0F022B2B1CEF238C8C0000ECEC096868E7E78A8A4646414141414111411111
+ 1111111111111111111111111111111111111111111111111111111111111111
+ 1111111111111111111111111111111111111111111111111111111111111111
+ 11111111111111111111111111111111111111111111118A0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFCFCFCFCFCDB
+ DBDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A646464646464DBFCFCFCDBFCDBFFFFFF
+ DDDDFFDDFFFFFFFFFFFFFFFFFFFCFCFCFCFFFCDBDB0A0A0ABBBB160E16EEEE07
+ 070808E30BB13C3CE81B86194760C3BE3004512236E54F4E4E270F0F022B2B1C
+ 1C55558C8C8C0000002A2AECECEC09EC09096868686868686868DCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCEC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB
+ DBDBDBDBDBDB64DBDBDBDBDBDBDBDBFCFCDBFCDBFFFFFFFFFFFFFFDDDDFFFFFF
+ FFFFFFFFFFFCFCFCFCFCFCDBDBDBDB640A0ABBBBBB160EEEEE07616108E3E3B1
+ 703C18181BED195B4760C349303004515122EAEAE5E529294F4F4E4E27272727
+ 270F0F0F0F0F0F0F0F0202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 020202020202020F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDDFCFCFCFCFCFCFCFCFCDD
+ DDDDDDDDDDFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFC640A0A0A0A0ABB161616900EEE0707610808E3E30B0BB170
+ 3C3C3C18E81B1B86EDED19195B5B4747474760604242C3C3C3C3494949494949
+ EBEBEBBEBEBEBE30BEBE30303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303049
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFDDDDFCFCFCFCFCFCFCFCDBDBDBDBDDFCFCFCDDDDFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDDFCFC64
+ 640A0A0A0ABB161616900EEE070761080808E3E30BB17070703C3CE81B1B1B86
+ ED1919195B5B4747476060424242C3C3C3494949494949EBBEEBBEBEBEBE3030
+ BE30303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030490000FCFCFCFCFCFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB
+ DBDB6464646464640A0A0A0A0A0A6464646464DBDBDBDBDBDBDBDBFCFFFFDDDD
+ FFDDFFFFFFFFFCFFFFFFDDFFFFFCFCFCFCDBDBDBDB640A0ABBBBBBBB16EEEE07
+ 610808E3E3B170703C181B86ED195B4742C3BE300404512222EA36E529294F4F
+ 4E4E4E272727270F0F0F0F0F0F0F020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020F0000FCFCFCFCFCFCFCFCFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCDBDBDBDBDBDBDB64640A0A0A0A0ABBBBBB
+ BBBBBBBBBBBB0A0ABB0A0A0A0A0A0A0ADB64FCFCFCFFDDDBFFFFDDFFFFFFFFFF
+ FFFFFCFFFFFFFC64DBDBDB0A0A0ABB161690EEEE07070808E30BB1703C181B1B
+ 195B476049300451512236294F4E27270F0F022B2B1C1CEF558C8C0000000000
+ ECECECECECEC09090968686868686868DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCEC0000FCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFF
+ FCFCFCFCFCFCDBDBDBDBDBDBDB640A0A0A0A0ABBBBBBBBBBBBBBBBBBBBBBBBBB
+ BB0A0A0A0A0A640A6464DBFCFCDDFCFFDDFCFFFFFFFFFFFFFFFFFFFFFFFCDBFC
+ 640A0A0ABBBBBBBB900EEE07616108E3E30B703C18E81B191947604930040451
+ 223669294E27270F02022B2B621CEF55238C8C00000000ECECECEC0909096868
+ 68E7E768E7E78AE7E78A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
+ 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
+ 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8AEC
+ 0000}
+ Login.LeftImage.Data = {
+ 07544269746D617016090000424D160900000000000036040000280000003200
+ 0000180000000100080000000000E00400000000000000000000000100000000
+ 000000000000000080000080000000808000800000008000800080800000C0C0
+ C000C0DCC000F0CAA6000020400000206000002080000020A0000020C0000020
+ E00000400000004020000040400000406000004080000040A0000040C0000040
+ E00000600000006020000060400000606000006080000060A0000060C0000060
+ E00000800000008020000080400000806000008080000080A0000080C0000080
+ E00000A0000000A0200000A0400000A0600000A0800000A0A00000A0C00000A0
+ E00000C0000000C0200000C0400000C0600000C0800000C0A00000C0C00000C0
+ E00000E0000000E0200000E0400000E0600000E0800000E0A00000E0C00000E0
+ E00040000000400020004000400040006000400080004000A0004000C0004000
+ E00040200000402020004020400040206000402080004020A0004020C0004020
+ E00040400000404020004040400040406000404080004040A0004040C0004040
+ E00040600000406020004060400040606000406080004060A0004060C0004060
+ E00040800000408020004080400040806000408080004080A0004080C0004080
+ E00040A0000040A0200040A0400040A0600040A0800040A0A00040A0C00040A0
+ E00040C0000040C0200040C0400040C0600040C0800040C0A00040C0C00040C0
+ E00040E0000040E0200040E0400040E0600040E0800040E0A00040E0C00040E0
+ E00080000000800020008000400080006000800080008000A0008000C0008000
+ E00080200000802020008020400080206000802080008020A0008020C0008020
+ E00080400000804020008040400080406000804080008040A0008040C0008040
+ E00080600000806020008060400080606000806080008060A0008060C0008060
+ E00080800000808020008080400080806000808080008080A0008080C0008080
+ E00080A0000080A0200080A0400080A0600080A0800080A0A00080A0C00080A0
+ E00080C0000080C0200080C0400080C0600080C0800080C0A00080C0C00080C0
+ E00080E0000080E0200080E0400080E0600080E0800080E0A00080E0C00080E0
+ E000C0000000C0002000C0004000C0006000C0008000C000A000C000C000C000
+ E000C0200000C0202000C0204000C0206000C0208000C020A000C020C000C020
+ E000C0400000C0402000C0404000C0406000C0408000C040A000C040C000C040
+ E000C0600000C0602000C0604000C0606000C0608000C060A000C060C000C060
+ E000C0800000C0802000C0804000C0806000C0808000C080A000C080C000C080
+ E000C0A00000C0A02000C0A04000C0A06000C0A08000C0A0A000C0A0C000C0A0
+ E000C0C00000C0C02000C0C04000C0C06000C0C08000C0C0A000F0FBFF00A4A0
+ A000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFF
+ FF00FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD525252525252525252525252
+ 5252FDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDAFB75E5E5E66666767676F6F6F6FB752FDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBF
+ BFBFBFBFBFBFBFBFBFB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFB76F676F6FB7B7B7B7B7776F5EB752FD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBFBFB752FDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFB76F676F6F6FB7B7
+ B7B7776F5EB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBFBFBF52FDFDFDFDFD
+ 0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAF
+ B76767676F6F6FB7B7B7776F5EB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBF
+ BFBF52FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDAFB76767676F6F6F6FB7B7776F5EB752FDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBF
+ BFBFBFBFBFBFBFBFBFBF52FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBFB7AFAFB7B7B7B7BFBFBFBFB7B752FD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDAFB76F675E5E5E5E5E5E676FB7A5FDFDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F79BFDFDFDFD
+ FDFDA4F7A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDF7F79BFDFDFDFDFDFDA407A3FDFDFDFDFDFDFD
+ 0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDF7F79BFDFDFDFDFDFDA407A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F7A4FDFDFDFDFDFDF707
+ A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDF707A49AFDFDFDFDA30707A3FDFDFDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F6A4
+ A49B9A9AA3A407079AFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F6F7F7A4A4F70707A3FDFDFDFD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDF7F6F6F6F6F607A3FDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7A3A3A3
+ A3A3FDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ 0000}
+ Log.WindowCaption = 'Seguran'#231'a'
+ Log.LabelDescription = 'Log do Sistema'
+ Log.LabelUser = 'Usu'#225'rio :'
+ Log.LabelDate = 'Data :'
+ Log.LabelLevel = 'N'#237'vel m'#237'nimo : '
+ Log.ColLevel = 'N'#237'vel'
+ Log.ColMessage = 'Mensagem'
+ Log.ColUser = 'Usu'#225'rio'
+ Log.ColDate = 'Data'
+ Log.BtFilter = '&Aplicar Filtro'
+ Log.BtDelete = '&Excluir Log'
+ Log.PromptDelete = 'Confirma excluir todos os registros de log selecionados ?'
+ Log.BtClose = '&Fechar'
+ UsersForm.WindowCaption = 'Seguran'#231'a'
+ UsersForm.LabelDescription = 'Cadastro de Usu'#225'rios'
+ UsersForm.ColName = 'Nome'
+ UsersForm.ColLogin = 'Login'
+ UsersForm.ColEmail = 'Email'
+ UsersForm.BtAdd = '&Adicionar'
+ UsersForm.BtChange = 'A<erar'
+ UsersForm.BtDelete = '&Excluir'
+ UsersForm.PromptDelete = 'Confirma excluir o usu'#225'rio "%s" ?'
+ UsersForm.BtRights = 'A&cessos'
+ UsersForm.BtPassword = '&Senha'
+ UsersForm.BtClose = '&Fechar'
+ AddChangeUser.WindowCaption = 'Cadastro de Usu'#225'rios'
+ AddChangeUser.LabelAdd = 'Adicionar Usu'#225'rio'
+ AddChangeUser.LabelChange = 'Alterar Usu'#225'rio'
+ AddChangeUser.LabelName = 'Nome : '
+ AddChangeUser.LabelLogin = 'Login : '
+ AddChangeUser.LabelEmail = 'Email : '
+ AddChangeUser.CheckPrivileged = 'Usu'#225'rio privilegiado'
+ AddChangeUser.BtSave = '&Gravar'
+ AddChangeUser.BtCancel = 'Cancelar'
+ AddChangeProfile.WindowCaption = 'Perfil de Usu'#225'rios'
+ AddChangeProfile.LabelAdd = 'Adicionar Perfil'
+ AddChangeProfile.LabelChange = 'Alterar Perfil'
+ AddChangeProfile.LabelName = 'Descri'#231#227'o : '
+ AddChangeProfile.BtSave = '&Gravar'
+ AddChangeProfile.BtCancel = 'Cancelar'
+ UsersProfile.WindowCaption = 'Seguran'#231'a'
+ UsersProfile.LabelDescription = 'Perfil de Usu'#225'rios'
+ UsersProfile.ColProfile = 'Perfil'
+ UsersProfile.BtAdd = '&Adicionar'
+ UsersProfile.BtChange = 'A<erar'
+ UsersProfile.BtDelete = '&Excluir'
+ UsersProfile.BtRights = 'A&cessos'
+ UsersProfile.PromptDelete = 'Existem usu'#225'rios com o perfil "%s". Confirma excluir?'
+ UsersProfile.BtClose = '&Fechar'
+ Rights.WindowCaption = 'Seguran'#231'a'
+ Rights.LabelUser = 'Permiss'#245'es do Usu'#225'rio : '
+ Rights.LabelProfile = 'Permiss'#245'es do Perfil : '
+ Rights.PageMenu = 'Itens do Menu'
+ Rights.PageActions = 'A'#231#245'es'
+ Rights.BtUnlock = '&Liberar'
+ Rights.BtLock = '&Bloquear'
+ Rights.BtSave = '&Gravar'
+ Rights.BtCancel = '&Cancelar'
+ ChangePassword.WindowCaption = 'Seguran'#231'a'
+ ChangePassword.LabelDescription = 'Trocar Senha'
+ ChangePassword.LabelCurrentPassword = 'Senha Atual :'
+ ChangePassword.LabelNewPassword = 'Nova Senha : '
+ ChangePassword.LabelConfirm = 'Confirma'#231#227'o : '
+ ChangePassword.BtSave = '&Gravar'
+ ChangePassword.BtCancel = 'Cancelar'
+ ResetPassword.WindowCaption = 'Definir senha do usu'#225'rio : "%s"'
+ ResetPassword.LabelPassword = 'Senha : '
+ XPStyleSet.DimLevel = 30
+ XPStyleSet.GrayLevel = 10
+ XPStyleSet.Font.Charset = ANSI_CHARSET
+ XPStyleSet.Font.Color = clMenuText
+ XPStyleSet.Font.Height = -11
+ XPStyleSet.Font.Name = 'Tahoma'
+ XPStyleSet.Font.Style = []
+ XPStyleSet.Color = clBtnFace
+ XPStyleSet.IconBackColor = clBtnFace
+ XPStyleSet.MenuBarColor = clBtnFace
+ XPStyleSet.SelectColor = clHighlight
+ XPStyleSet.SelectBorderColor = clHighlight
+ XPStyleSet.SelectFontColor = clMenuText
+ XPStyleSet.DisabledColor = clInactiveCaption
+ XPStyleSet.SeparatorColor = clBtnFace
+ XPStyleSet.CheckedColor = clHighlight
+ XPStyleSet.IconWidth = 24
+ XPStyleSet.DrawSelect = True
+ XPStyleSet.UseSystemColors = True
+ XPStyleSet.OverrideOwnerDraw = False
+ XPStyleSet.Gradient = False
+ XPStyleSet.FlatMenu = False
+ XPStyleSet.AutoDetect = False
+ XPStyleSet.BitBtnColor = clBtnFace
+ XPStyle = True
+ Left = 56
+ Top = 128
+ end
+ object UCXPStyle1: TUCXPStyle
+ Active = True
+ XPSettings.DimLevel = 30
+ XPSettings.GrayLevel = 10
+ XPSettings.Font.Charset = ANSI_CHARSET
+ XPSettings.Font.Color = clMenuText
+ XPSettings.Font.Height = -11
+ XPSettings.Font.Name = 'Tahoma'
+ XPSettings.Font.Style = []
+ XPSettings.Color = clBtnFace
+ XPSettings.IconBackColor = clBtnFace
+ XPSettings.MenuBarColor = clBtnFace
+ XPSettings.SelectColor = clHighlight
+ XPSettings.SelectBorderColor = clHighlight
+ XPSettings.SelectFontColor = clMenuText
+ XPSettings.DisabledColor = clInactiveCaption
+ XPSettings.SeparatorColor = clBtnFace
+ XPSettings.CheckedColor = clHighlight
+ XPSettings.IconWidth = 24
+ XPSettings.DrawSelect = True
+ XPSettings.UseSystemColors = True
+ XPSettings.OverrideOwnerDraw = False
+ XPSettings.Gradient = False
+ XPSettings.FlatMenu = False
+ XPSettings.AutoDetect = False
+ XPSettings.BitBtnColor = clBtnFace
+ UCSettings = UCSettings1
+ Left = 88
+ Top = 128
+ end
+ object Database1: TDatabase
+ LoginPrompt = False
+ SessionName = 'Default'
+ Left = 56
+ Top = 88
+ end
+ object UCBDEConn1: TUCBDEConn
+ Connection = Database1
+ Left = 88
+ Top = 88
+ end
+end
diff --git a/official/2.20/Demos/1 Basic All Data Access/BDE/Unit1.pas b/official/2.20/Demos/1 Basic All Data Access/BDE/Unit1.pas
new file mode 100644
index 0000000..87e8d1c
--- /dev/null
+++ b/official/2.20/Demos/1 Basic All Data Access/BDE/Unit1.pas
@@ -0,0 +1,88 @@
+unit Unit1;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, DB, Menus, UCBase, StdCtrls, Buttons, UCBDEConn, DBTables;
+
+type
+ TForm1 = class(TForm)
+ UserControl1: TUserControl;
+ MainMenu1: TMainMenu;
+ Arquivo1: TMenuItem;
+ Abrir1: TMenuItem;
+ Salvar1: TMenuItem;
+ Salvar2: TMenuItem;
+ Salvarcomo1: TMenuItem;
+ Fechar1: TMenuItem;
+ N2: TMenuItem;
+ Dados1: TMenuItem;
+ Importar1: TMenuItem;
+ Exportar1: TMenuItem;
+ N4: TMenuItem;
+ Vincular1: TMenuItem;
+ N3: TMenuItem;
+ Sair2: TMenuItem;
+ Editar1: TMenuItem;
+ Copiar1: TMenuItem;
+ Colar1: TMenuItem;
+ Recortar1: TMenuItem;
+ N1: TMenuItem;
+ Selecionartudo1: TMenuItem;
+ N5: TMenuItem;
+ AreadeTransferencia1: TMenuItem;
+ Exibir2: TMenuItem;
+ Esvaziar1: TMenuItem;
+ Exibir1: TMenuItem;
+ Zoom1: TMenuItem;
+ Normal1: TMenuItem;
+ Grande1: TMenuItem;
+ Ajustarnajanela1: TMenuItem;
+ N6: TMenuItem;
+ Personalizar1: TMenuItem;
+ amanhonormal1: TMenuItem;
+ elacheia1: TMenuItem;
+ Relatorios1: TMenuItem;
+ Relatorio11: TMenuItem;
+ Relatorio21: TMenuItem;
+ Relatorio31: TMenuItem;
+ Relatorio41: TMenuItem;
+ Segurana1: TMenuItem;
+ Cadastrodeusuarios1: TMenuItem;
+ Perfildeusurios1: TMenuItem;
+ logdosistema: TMenuItem;
+ N7: TMenuItem;
+ rocarsenha1: TMenuItem;
+ EfetuarLogoff1: TMenuItem;
+ UCSettings1: TUCSettings;
+ UCXPStyle1: TUCXPStyle;
+ Database1: TDatabase;
+ UCBDEConn1: TUCBDEConn;
+ procedure FormCreate(Sender: TObject);
+ procedure EfetuarLogoff1Click(Sender: TObject);
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ Form1: TForm1;
+
+implementation
+
+{$R *.dfm}
+
+procedure TForm1.FormCreate(Sender: TObject);
+begin
+ Database1.DatabaseName := ExtractFilePath(Application.ExeName);
+ Database1.Connected := True;
+end;
+
+procedure TForm1.EfetuarLogoff1Click(Sender: TObject);
+begin
+ UserControl1.Logoff;
+end;
+
+end.
diff --git a/official/2.20/Demos/1 Basic All Data Access/DBISAM/Project1.dpr b/official/2.20/Demos/1 Basic All Data Access/DBISAM/Project1.dpr
new file mode 100644
index 0000000..08b344c
--- /dev/null
+++ b/official/2.20/Demos/1 Basic All Data Access/DBISAM/Project1.dpr
@@ -0,0 +1,13 @@
+program Project1;
+
+uses
+ Forms,
+ Unit1 in 'Unit1.pas' {Form1};
+
+{$R *.res}
+
+begin
+ Application.Initialize;
+ Application.CreateForm(TForm1, Form1);
+ Application.Run;
+end.
diff --git a/official/2.20/Demos/1 Basic All Data Access/DBISAM/Project1.res b/official/2.20/Demos/1 Basic All Data Access/DBISAM/Project1.res
new file mode 100644
index 0000000..03109fc
Binary files /dev/null and b/official/2.20/Demos/1 Basic All Data Access/DBISAM/Project1.res differ
diff --git a/official/2.20/Demos/1 Basic All Data Access/DBISAM/Unit1.dfm b/official/2.20/Demos/1 Basic All Data Access/DBISAM/Unit1.dfm
new file mode 100644
index 0000000..c043b42
--- /dev/null
+++ b/official/2.20/Demos/1 Basic All Data Access/DBISAM/Unit1.dfm
@@ -0,0 +1,1455 @@
+object Form1: TForm1
+ Left = 170
+ Top = 180
+ Width = 610
+ Height = 350
+ Caption = 'User Control - DBISAM Basic Demo'
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ Menu = MainMenu1
+ OldCreateOrder = False
+ OnCreate = FormCreate
+ PixelsPerInch = 96
+ TextHeight = 13
+ object UserControl1: TUserControl
+ AutoStart = True
+ ApplicationID = 'DBISAMBasic'
+ ControlRight.MainMenu = MainMenu1
+ UsersForm.MenuItem = Cadastrodeusuarios1
+ UsersForm.UsePrivilegedField = False
+ UsersForm.ProtectAdmin = True
+ EncryptKey = 0
+ NotAllowedItems.MenuVisible = True
+ NotAllowedItems.ActionVisible = True
+ Login.AutoLogon.Active = False
+ Login.AutoLogon.MessageOnError = False
+ Login.InitialLogin.User = 'Admin'
+ Login.InitialLogin.Email = 'qmd@usercontrol.com.br'
+ Login.InitialLogin.Password = '#delphi'
+ Login.MaxLoginAttempts = 0
+ Login.GetLoginName = lnNone
+ LogControl.Active = True
+ LogControl.TableLog = 'UCLog'
+ LogControl.MenuItem = logdosistema
+ ExtraRight = <>
+ LoginMode = lmActive
+ UsersProfile.Active = True
+ UsersProfile.MenuItem = Perfildeusurios1
+ TableUsers.FieldUserID = 'UCIdUser'
+ TableUsers.FieldUserName = 'UCUserName'
+ TableUsers.FieldLogin = 'UCLogin'
+ TableUsers.FieldPassword = 'UCPassword'
+ TableUsers.FieldEmail = 'UCEmail'
+ TableUsers.FieldPrivileged = 'UCPrivileged'
+ TableUsers.FieldTypeRec = 'UCTypeRec'
+ TableUsers.FieldProfile = 'UCProfile'
+ TableUsers.FieldKey = 'UCKey'
+ TableUsers.TableName = 'UCTabUsers'
+ TableRights.FieldUserID = 'UCIdUser'
+ TableRights.FieldModule = 'UCModule'
+ TableRights.FieldComponentName = 'UCCompName'
+ TableRights.FieldFormName = 'UCFormName'
+ TableRights.FieldKey = 'UCKey'
+ TableRights.TableName = 'UCTabRights'
+ ChangePasswordForm.MenuItem = rocarsenha1
+ ChangePasswordForm.ForcePassword = False
+ ChangePasswordForm.MinPasswordLength = 0
+ DataConnector = UCDBISAMConn1
+ Left = 120
+ Top = 88
+ end
+ object MainMenu1: TMainMenu
+ AutoHotkeys = maManual
+ OwnerDraw = True
+ Left = 56
+ Top = 56
+ object Arquivo1: TMenuItem
+ Caption = 'Arquivo'
+ object Abrir1: TMenuItem
+ Caption = 'Abrir'
+ end
+ object Salvar1: TMenuItem
+ Caption = '-'
+ end
+ object Salvar2: TMenuItem
+ Caption = 'Salvar'
+ end
+ object Salvarcomo1: TMenuItem
+ Caption = 'Salvar como...'
+ end
+ object Fechar1: TMenuItem
+ Caption = 'Fechar'
+ end
+ object N2: TMenuItem
+ Caption = '-'
+ end
+ object Dados1: TMenuItem
+ Caption = 'Dados'
+ object Importar1: TMenuItem
+ Caption = 'Importar'
+ end
+ object Exportar1: TMenuItem
+ Caption = 'Exportar'
+ end
+ object N4: TMenuItem
+ Caption = '-'
+ end
+ object Vincular1: TMenuItem
+ Caption = 'Vincular'
+ end
+ end
+ object N3: TMenuItem
+ Caption = '-'
+ end
+ object Sair2: TMenuItem
+ Caption = 'Sair'
+ end
+ end
+ object Editar1: TMenuItem
+ Caption = 'Editar'
+ object Copiar1: TMenuItem
+ Caption = 'Copiar'
+ end
+ object Colar1: TMenuItem
+ Caption = 'Colar'
+ end
+ object Recortar1: TMenuItem
+ Caption = 'Recortar'
+ end
+ object N1: TMenuItem
+ Caption = '-'
+ end
+ object Selecionartudo1: TMenuItem
+ Caption = 'Selecionar tudo'
+ end
+ object N5: TMenuItem
+ Caption = '-'
+ end
+ object AreadeTransferencia1: TMenuItem
+ Caption = 'Area de Transferencia'
+ object Exibir2: TMenuItem
+ Caption = 'Exibir'
+ end
+ object Esvaziar1: TMenuItem
+ Caption = 'Esvaziar'
+ end
+ end
+ end
+ object Exibir1: TMenuItem
+ Caption = 'Exibir'
+ object Zoom1: TMenuItem
+ Caption = 'Zoom...'
+ object Normal1: TMenuItem
+ Caption = 'Normal'
+ Checked = True
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object Grande1: TMenuItem
+ Caption = 'Grande'
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object Ajustarnajanela1: TMenuItem
+ Caption = 'Ajustar na janela'
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object N6: TMenuItem
+ Caption = '-'
+ GroupIndex = 1
+ end
+ object Personalizar1: TMenuItem
+ Caption = 'Personalizar'
+ GroupIndex = 1
+ end
+ end
+ object amanhonormal1: TMenuItem
+ Caption = 'Tamanho normal'
+ end
+ object elacheia1: TMenuItem
+ Caption = 'Tela cheia'
+ end
+ end
+ object Relatorios1: TMenuItem
+ Caption = 'Relatorios'
+ object Relatorio11: TMenuItem
+ Caption = 'Relatorio 1'
+ end
+ object Relatorio21: TMenuItem
+ Caption = 'Relatorio 2'
+ end
+ object Relatorio31: TMenuItem
+ Caption = 'Relatorio 3'
+ end
+ object Relatorio41: TMenuItem
+ Caption = 'Relatorio 4'
+ end
+ end
+ object Segurana1: TMenuItem
+ Caption = 'Seguran'#231'a'
+ object Cadastrodeusuarios1: TMenuItem
+ Caption = 'Cadastro de usuarios'
+ end
+ object Perfildeusurios1: TMenuItem
+ Caption = 'Perfil de usuarios'
+ end
+ object logdosistema: TMenuItem
+ Caption = 'Log do Sistema'
+ end
+ object N7: TMenuItem
+ Caption = '-'
+ end
+ object rocarsenha1: TMenuItem
+ Caption = 'Trocar senha'
+ end
+ object EfetuarLogoff1: TMenuItem
+ Caption = 'Efetuar Logoff'
+ OnClick = EfetuarLogoff1Click
+ end
+ end
+ end
+ object UCSettings1: TUCSettings
+ AppMessages.MsgsForm_BtNew = '&Nova Mensagem'
+ AppMessages.MsgsForm_BtReplay = '&Responder'
+ AppMessages.MsgsForm_BtForward = 'E&ncaminhar'
+ AppMessages.MsgsForm_BtDelete = '&Excluir'
+ AppMessages.MsgsForm_WindowCaption = 'Mensagens do Sistema'
+ AppMessages.MsgsForm_ColFrom = 'Remetente'
+ AppMessages.MsgsForm_ColSubject = 'Assunto'
+ AppMessages.MsgsForm_ColDate = 'Data'
+ AppMessages.MsgsForm_PromptDelete = 'Confirma excluir as mensagens selecionadas ?'
+ AppMessages.MsgRec_BtClose = '&Fechar'
+ AppMessages.MsgRec_WindowCaption = 'Mensagem'
+ AppMessages.MsgRec_Title = 'Mensagem Recebida'
+ AppMessages.MsgRec_LabelFrom = 'De :'
+ AppMessages.MsgRec_LabelDate = 'Date'
+ AppMessages.MsgRec_LabelSubject = 'Assunto'
+ AppMessages.MsgRec_LabelMessage = 'Mensagem'
+ AppMessages.MsgSend_BtSend = '&Enviar'
+ AppMessages.MsgSend_BtCancel = '&Cancelar'
+ AppMessages.MsgSend_WindowCaption = 'Mensagem'
+ AppMessages.MsgSend_Title = 'Enviar Nova Mensagem'
+ AppMessages.MsgSend_GroupTo = 'Para'
+ AppMessages.MsgSend_RadioUser = 'Usu'#225'rio :'
+ AppMessages.MsgSend_RadioAll = 'Todos'
+ AppMessages.MsgSend_GroupMessage = 'Mensagem'
+ CommonMessages.AutoLogonError = 'Falha de Auto Logon!'#13#10'Informe um usu'#225'rio e senha v'#225'lidos.'
+ CommonMessages.ChangePasswordError.InvalidCurrentPassword = 'Senha Atual n'#227'o confere!'
+ CommonMessages.ChangePasswordError.NewPasswordError = 'Os campos: Nova Senha e Confirma'#231#227'o devem ser iguais.'
+ CommonMessages.ChangePasswordError.NewEqualCurrent = 'Nova senha igual a senha atual'
+ CommonMessages.ChangePasswordError.PasswordRequired = 'A Senha '#233' obrigat'#243'ria'
+ CommonMessages.ChangePasswordError.MinPasswordLength = 'A senha deve conter no m'#237'nimo %d caracteres'
+ CommonMessages.ChangePasswordError.InvalidNewPassword = 'Proibido utilizar senhas obvias!'
+ CommonMessages.InvalidLogin = 'Usu'#225'rio ou Senha inv'#225'lidos!'
+ CommonMessages.InitialMessage.Strings = (
+ 'ATEN'#199#195'O Login Inicial:'
+ ''
+ 'Usu'#225'rio : :user'
+ 'Senha : :password'
+ ''
+ 'Defina as permiss'#245'es para este usu'#225'rio.')
+ CommonMessages.MaxLoginAttemptsError =
+ '%d Tentativas de login inv'#225'lido. Por motivos de segun'#231'a o '#13#10'sist' +
+ 'ema ser'#225' fechado.'
+ CommonMessages.PasswordChanged = 'Senha alterada com sucesso!'
+ CommonMessages.BlankPassword = 'Retirada senha do Login %s'
+ Login.WindowCaption = 'Login'
+ Login.LabelUser = 'Usu'#225'rio '
+ Login.LabelPassword = 'Senha : '
+ Login.BtOk = 'OK'
+ Login.BtCancel = '&Cancelar'
+ Login.TopImage.Data = {
+ 07544269746D6170B6790000424DB67900000000000036040000280000007601
+ 0000500000000100080000000000807500000000000000000000000100000000
+ 00009BB5D8007493BA00ACC2E000BBBBBB00CBD9EB007D9BC20051719900F6F8
+ FB00F2F5FA0095B0D500FCFDFE00EDF2F800A7B6BC0055759D00F8FAFC00B1C5
+ E1005979A10089A8D200CDD5D9003E5E88004D7199003D5D8700FAFBFD008888
+ 8800E5ECF500DDE6F200DDDDDD00E2EAF400A5BDDD00405F880042628C0089A6
+ CC008297A0005D7DA500C5D4E900A1B9DA006685AD004569920045679000B4C8
+ E300EEEEEE00BDCEE60099B3D600A9C0DE008BA8CD009EA5B0006181A9006E8D
+ B400D0DCED006989B10099999900809DC40085A2C80044638C00C1D1E8004462
+ 8C008EAACF0091ACD100486890005579A100E7EEF6003E5F890040608A005D82
+ AB00C0CBCF008CAAD400D5E0EF00496C950042618A004A6A93008FACD500D8E3
+ F0004C6C9400D2DEEE007795BD0046668E004E6E960050709700B8CBE400BBCD
+ E500CCCCCC00C8D7EA00648BB2006D93BA0044648E00A2BADB004A6B94009BAC
+ B300708EB5004E6F980085A5CF00DAE4F10058789E0043638D0050759D00506E
+ 9600D6E1EF00F4F7FB00A7BEDE00829FC600FDFEFE0041608B0054749A007A98
+ BF0093AFD600BECFE60044628A00666666004060880086A6D0004C6B92004867
+ 8E00EAEFF700AAAAAA0049688E006C8AB1004D6E940053729A00476690006584
+ AB007290B8005C7CA300333333005F7EA60046648E005A7DA50056779E00E6EA
+ EC0046648C0044444400777777004869920044678E0080A0C900E0E8F3006D8C
+ B3005576A000AAAEB50090ADD5006080A7009EB7DA006486AF00486A93006185
+ AC00F9FAFD004C6A92003C5B85004C6E96006988AF0049699100C6CFDC0093AE
+ D20051729B00597AA30045648B004E6D94004A6992004A6C92004D6D96006786
+ AD00B6BCC40056769E003D5A82003F628B006383A900698DB500555555005A7F
+ A7005B7AA1003A5A8400527399005A7BA200426188004668900039577F007D9F
+ C70047668D00EBF1F8004C6B940087A3CA00405F8600486990004E6D96004C6D
+ 9400222222006287AF0083A3CC00FBFCFD00779BC2004A6A9100D1DDEE005473
+ 9C003C5C87006B8BB20092ADD200D3DFEF00E1E5E900426189006C8BB5008B8F
+ 940045658D005878A00042638B003F5C84005C7BA4001111110084A3CC006183
+ AB00CDD6E1006A8AB3006282AB00808285006787B0006483AC00A5BCDB004061
+ 8A004F5153003E40420043637000FEFEFE0091AED600FEFFFF00758D9600F2F5
+ F5008FA0A900D9E0E200506D7A00EFF4F9005C788300BFD0E700B5C1C60091AE
+ D500E3EBF50069828D00C3D3E900D2DDEE0097B2D700DFE7F300F7F9FC00A3BB
+ DC006F8FB7007B7E830094AFD3007998C1002F3032007396BE00909296008FAB
+ D000686C7100A4BBDA00D2D9E400D9DEE600FEFEFF0088A7D20000000000FFFF
+ FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCFCFCFCFCFCFC
+ FCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB6464640A0A0A0ABBBBBBBBBB16
+ 16160E0E0EEEEEEE07EE0707616161070761070707EEEEEEEEEE90161616BB16
+ BB0ABB0A0A0A0ADB64646464DBDB64FCFFFCDBDB64DBDB0A640A0A0A0ABBBBBB
+ 16160EEEEE07610808E30BB1703C18E886195B47424930045122EA36294F4E27
+ 0F0F0F022B621CEF55558C8C000000ECECECECEC68096868DCDCDC8A8A8A8A8A
+ 8A46464646464646464646464646464646464646464646464646464646464646
+ 4646464646464646464646464646464646464646464646464646464646464646
+ 4646464646464646464646464646464646464646464646EC0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFC
+ FCFCFCDBDBDBDBDBDBDBDBDB64DB640A0A0A0A0ABBBBBBBB16161616160E0EEE
+ EE07EEEEEEEE6107070707EEEEEEEE0E0E0E0E161616BBBBBB0A0A0ADB0A6464
+ DBDBFCDBDBFCFCFFFFDBFCDDDBFCDBDB64640A0A0A0A0ABBBB16900EEE076108
+ 08E30BB1703C181B86195B4742BE3004512236694F4E27270F022B2B1CEF238C
+ 8C0000ECECEC09688A8A46464646414141111111111111111111FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCDB
+ DBDBDBDBDBDBDB6464640A0A0A0ABBBBBBBBBB161616160E0EEE0E0EEEEEEEEE
+ EEEEEEEEEE0E0E16901616BB16BBBB0A0A0A0A0A64DBDBFCFCDBFCFCFCFCFCFF
+ FFFCFCFFDDFFFCFCFCFF0A640A0A0ABB0A1616900EEE07070808E30BB1703C18
+ 1B1B195B604230040422EAE5294F4E270F02022B1C1C558C8C0000ECEC6868DC
+ DCE78A464646414141414111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCDBDBDBDBDBDB
+ DBDB64640A640A0A0ABBBBBB161616160E0E160E0E0E0E90EE0E0E9090901616
+ 161616BBBBBB0A0A640A0A64FCFCFCFCFCFFFFFCFFDDFFFCFCFFFFFFFCFFFCFF
+ FCDBFCDBDB0A0A0A0ABBBB16160E0EEE616108E30BB1703CE81BED5B47604930
+ 04512236E54F4E270F0F022B621CEF238C8C00ECECEC6809DCDC8A4646464641
+ 4141114111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB640A0A
+ 0A0A0ABBBBBBBB1616161616160E0E169090161616161616BBBBBBBB0ABB0A0A
+ 640A64DBDBFCFCDBFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFCFCFCFCFFFCFC0A0A
+ 0A0ABB1616160EEE07610808E30BB13C3C1B86195B4742BE3004222236294E27
+ 270F0F022B1CEF558C8C8C00ECECEC68DCE7DC8A464641414141411111111111
+ FD11FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB64640A0A0A0ABBBBBB
+ BBBBBB1616161616161616161616BBBB0ABB0A0A0A0A0A64FC64DBFCFCFCDDFC
+ FFDDFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFDDFCFFFCDDDB64640ABBBBBB160E0E
+ EE076108E30BB1703C181BED194760493004512236E54F4E270F0F022B621C55
+ 238C8C00ECECEC096868E7464646414141414111111111111111FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FCFFFFFCFCFCFCFCFCFCDBDBDBDBDBDB64640A0A0A0A0ABBBBBBBBBBBBBBBB16
+ BBBBBBBBBBBB0ABB0A0A0A0A640ADBDB64FCFCDBFCDDDDFCFFDDFFDDFFFFFFFF
+ FFFFFFFFFFDDFFFFFFDDFFFCFFFCDBDB64640ABBBBBB16900EEE070808E30B70
+ 703CE81B195B4742BE300451EAE5294F27270F022B2B1CEF558C8C0000ECECEC
+ 68DC8A8A464646464141414111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFCFC
+ FCFCFCFCFCDBDBDBDBDBDB64640A0A0A0ABBBBBBBBBBBBBBBBBB0ABBBB0A0A0A
+ 0A0A0A0A646464DBFCFCDDDBDBFCDDFCFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDBDB640A0ABBBBBB16900E07070808E3B1703C181BED194760
+ 493004512236694F4E270F02022B1C1C55238C00ECECECEC6809DC8A8A464641
+ 414141411111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFFFCFCFCDBFCFCDB
+ DBDBDBDBDB64640A0A0A0A0A0ABBBBBBBB0A0A0A0A0A0A0A0A0A0A64DBDBDBDB
+ DBFFFFDDDDDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFC
+ FC64640A0ABBBB16160EEE070808E30BB1703CE81BED5B4742BE300422EAE529
+ 4E27270F022B621C55238C8C00ECECEC0909DCE78A4646414641414111111111
+ 1111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCDBDBDBDBDBDB6464
+ 640A0A0A0A0ABBBBBB6464640A0A0A6464DB0ADB64DBDBFCFFFFFFDDDDFFFFFF
+ DDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFFDDDBFC640ABBBB16
+ BB0E0EEE070808E30B703C181B86194760C33004512236694F4E270F02022B1C
+ 1C55238C0000ECEC0968E7E78A8A41464141414141111111111111FDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A
+ 0A0A6464640A0A6464DBDBDBFCDBDBFCFCFFFFDDDDFFDDFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFCFCFC64640ABB16160EEE076108E3
+ 0BB1703CE81B195B47423004042236E54F4E270F02022B621C55238C00000909
+ C239382C1FCE85AF3305F3F5015353F5AF8585BC53B93F3F3FA7993B885E5E98
+ 98981414438E599E434343145E5E98593F52B9A7251E3D3D653E3E3E3E3E3ED7
+ 1E1E1E5D545D5DCA3E1E1E3B3B5DD7C03ED7A38E434354A365D7D76565D7D765
+ 6513153E3EC092AE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A6464646464
+ FCFCFCFCFCDBDBFCFCFFFFFFFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFCFCFCDB0A0A0ABB16160EEE070808E3B1703C181BED19
+ 4760BE3004512236694E270F0F022B621C558C00EC0997381F1F346333670101
+ F02F318DCF2EA7A78F52A5B97D14934393438E258E568E8E8E8E254325251459
+ 1414143B3FB93FA75E5E5E5E93985943438E8E25252525252676767683838326
+ 6554267DA78E263E3E3D15A33DA33D3E3D3D3D3D3D3D3D3D3E133D1E1E1592AE
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCFCFCFCDBDBDBDBDBDBDBDBDB646464646464FCFC6464FC64FCFCFCFCFCFCDB
+ FCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFF
+ FFFFFCFC64640A0ABBBB160E0E07610808E3B1703CE81B195B60C3BE04512236
+ 694F4E270F022B62D6558C002AF297382CB3633367677858319FA42E7BA8A87B
+ 21C9660648B5B53A4B4B8035CA6A6AC5353E1D1D3E1D3E1ECA268E883B3B4325
+ 26262654542626262626262626252525562543255EA77D5E2525262626262626
+ 252626262654262554252525431443255D1E2606433DA9A90000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE11212FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFF1212E1FFFFFFFFFFFFFFFFFF1212E1FFFFFFFFFF
+ FFFFFFFFDF121212FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE11212
+ E1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBFCFC
+ DBDBDBDBDB64646464646464FCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFF
+ DDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFDDFCFCFCFC0A0A
+ BBBB16160EEE610808E30B703C181BED194742BE300422EAE54F4E270F0F022B
+ 1C5523002A09C2382CB36333674A0158879F9F2E7B5CA10D21A1064D48BDBD72
+ 809A3535C56C6C6C13131D44441D1D3E1D1ECA438E263D3D3D3D3D1313131313
+ 3D131313133D3D3D3D3DA3A3435E435DA33E3D3D3D3E3E3EA33EA3A3A3D7A354
+ 5426268E5E88592665D75D765D3D15A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE120DADADADADAE940FFFFFF12DADA0C
+ FFFFFFFFFFFF0CDADADADADADADADEFFFFDADA12FFFFFFFF0CDADADAFFFFFFFF
+ FFFFE0DADADADAE440FFFFFFFF40E9DADADADADA20E1FFFFFFFF12DEDADADADA
+ DADE12FFFFFFDADADEFFFF7FDADADEFFFFFFDFE0E2DADADADADEFF12DADADADA
+ DADADADAFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB
+ DBDBDBDBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFC64646464BBBB160EEEEE61
+ 08E30BB1703CE886194760493004512236294E270F0F022B62D6238C2A09F239
+ 381F6333054A0158879F772E7B5C5CA1210D4C9B91726F6FC8C83535CA6AC5C5
+ 1D6C6C1DB41D6C6C1D3E5D4354A33D1E653E3E1D3D3D3D3D1313131313131313
+ 15133D3D8E14263D3D1315C015151515C0C0151313133DD7151315A343935492
+ 133D3DC0C0133DA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFE6E2DADAE00C57E4DADAE0FFFF7FDADA0CFFFFFFFFFFFF0CDA
+ DAE9DEDEDEDE57FFFFDEDA12FFFFFF7FDADADADAFFFFFFFFFFFFDADE0C0CE4DA
+ DA7FFFFF57DADAE2570CE0E2DADAE6FFFF12DADADA200CE0DADADA40FFFFE4DA
+ DEFFFF0CDADAE1FFFFE1E2DADA200C0CE0E4FF12DADAE4DEDEDEDEDEFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFDDFCFFFCFC6464640A64BB16160EEE070808E3B1703C181B
+ ED5B47C33004512236694F4E270F022B62EF238C0009F239381FB36305674A58
+ 2F9F772E21A1100D21BF5F9B9B91BD6FC8C83535CA6A6AC56A35441D1D1D6C1D
+ 15C0359E5DD71D441D1D1D131313131313131515151515151313C01526595465
+ 653E131515151515C0C0C0C0C0C0C0159215C0151E5D3E13C015C0A9921515AE
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FE2
+ DAE97FFFFFFFFFE0DADA40FFFFDADA0CFFFFFFFFFFFF0CDADAE6FFFFFFFFFFFF
+ FFDEDA12FFFFFFDEDADADADAFFFFFFFFFFFFDFFFFFFFDFDADA0CFF40DADAE0DF
+ FFFFFFDFE9DAE27FFF20DADA0CFFFFFF12DADADEFFFFDEDADEFFFFE4DAE0FFFF
+ FFE9DAE2E1FFFFFFFFFFFF12DADAE0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFCFCFCFCFCFCFCFCDBFCDBDBFCDBFFFFFCFCFCFCFCFCFCFFFF
+ FFFFFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFCFCFCFCFC64640ABBBB160EEE076108E30B703C181B86194742BE300422
+ EAE54F4E270F0202621C558C8C2A099739382CB3343333674A78589477A85C75
+ CC754D4D0606065F4D4D4D4C4C4C4C4C9191919191913AC83792449E3E151D13
+ 1D1D1D1D1D1D1D1D1D1D1D13131313151D13C092764565653E13131513131313
+ 131315151515C092921315C03D651E5415C092C0151592AE0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0CDADA7FFFFFFFFFFFFF
+ DEDAE4FFFFDADA0CFFFFFFFFFFFF12DADA0CFFFFFFFFFFFFFFDEDA0CFFFF40DA
+ DA0CDADAFFFFFFFFFFFFFFFFFFFF40DADAE6FF20DAE4FFFFFFFFFFFFDFE2DAE0
+ FFDEDADADFFFFFFFFFE4DADAFFFFDEDADEFFE6DAE2DFFFFFE1DADAE6FFFFFFFF
+ FFFFFFFFDADADEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFCFCFCFCFFFCFCFCFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFFFFFCFC6464
+ 640A0ABB160E0EEE070808E3B1703C1B86195B6049300451EA36694E270F0202
+ 2B1C55238C2A09F2C2382CB3346305674A4A017873A4C975CCBF4D0D0D667506
+ 4C4C4C9B4C4C9B4C064D9B9B4C9B4C4C9B131E593E1D373735353535357C7C4B
+ 54545454543535353737543EB69C1D1D3E1D13133E6565653E3E3E3E3E653E1D
+ 131392C03D3E13133DC092151315C0A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFDEDAE9FFFFFFFFFFFFFF0CDADA7FFFDADA0C
+ E1127FFFFFFF12DADAE012121212DFFFFFE0DA0CFFDFE4DA20E1DADAFFFFFFFF
+ FFFFFFFFFFE6DADAE9FFFFDADA57FFFFFFFFFFFFFF20DAE4FFDEDADAFFFFFFFF
+ FFDEDADAFFFFDEDADEFFE4DA0CFFFFFF0CDADADFFFFFFFFFFFFFFFFFDADAE912
+ 1212127FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFC
+ FCFCFCFCFCFCFFFFFCFFFCFFFFFCFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCDDFCFCFC64640A0ABB1616EEEE
+ 076108E3B1703C181BED5B60423004512236294E4E270F022B62EF2300002AF2
+ 97382C1FB33405336767582F8794C9BF210D98A10D755F744D4D4C4C4D4C4D4D
+ 4C48489B48B5BD4C06131E593D1D767C353535359A8080C854547C7C7C545435
+ 3735833E984BCBCB1E1E65651E1E1E1E651E1E1E1E5D3765371E3D3D1E3E9292
+ 3E15C013131513A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFDEDADEFFFFFFFFFFFFFF12DADA12FFDADA0CE2DADAE4E1FF12DA
+ DADADADADADA12FFFF0CDA0CFF0CDAE27FFFDADAE1FFFFFFFFFFFFFF0CDADAE9
+ DFFFFFDADA0CFFFFFFFFFFFFFF0CDADAFFDEDADAFFFFFFFFFFDEDADAFFFF20DA
+ DEE6DADA2012FFFF0CDADAFFFFFFFFFFFFFFFFFFDADADADADADADA0CFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCFCFCFCFFFFFF
+ FFFFFFFCFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFDDFCFFFCFC640A0ABBBBBB16EE076108E30BB13C18
+ 1BED5B4742BE040422EA694F4E270F022B62EF238C002A09C2F7381F1F1F63B3
+ B33401785831C9A121A10DC97EAA4D4C4C4C4C4C4C4C4D4C9B5F7E21104C6E4C
+ 0D444BBF3E1D76809A35CACACACACA355454C8C8C8C85454C8C8483E0D541D13
+ 1E1E653E3E3E3E3D651E1E651E1E1E3E1D1E653D3E139213133E3E13131313A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20DA
+ E4FFFFFFFFFFFFFF12DADA12FFDEDA571240E9DAE2DF12DADADE0C0C0C0C7FFF
+ FF0CDA577FDADA0CFFFFDADA12FFFFFFFFFFFFE0DADAE0DFFFFFFFE2DAE0FFFF
+ FFFFFFFFFF0CDADAFFDEDADAFFFFFFFFFFDEDADAFFFF0CDADEE1120CE2DA57FF
+ 0CDADA7FFFFFFFFFFFFFFFFFDADAE40C0C0C0C12FFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFFFFFFFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFC
+ FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFF
+ FFFFFFDDFCDDFC6464640A0ABBBB160EEE070808E3B1703CE81B194760493004
+ 2236E54F4E270F02022BD6558C000009F239381F1F2C3333676778585873100D
+ 215C66A80D664D5F066E4D4D4D0674AA9B21F031AB484C06BF1E26BF3E133AB0
+ 6F446C9A541E5454353A76C6D1B6767C6F9545CAC9D713151E445D4465443D3E
+ 655D651E4BD5761DCACA351E3E15C0153E15C0133E1315A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6DADA12FFFFFFFFFFFF
+ 57DADADFFFDEDA0CFFFF7FDADAE612DADA0CFFFFFFFFFFFFFF0CDADEDEDAE4FF
+ FFFFDADA12FFFFFFFFFF12DADAE0FFFFFFFFFFE0DAE2DFFFFFFFFFFFFFE9DAE9
+ FF0CDADA12FFFFFFFF0CDADAFFFF0CDADEFFFFFFE6DADA7F7FDADA0CFFFFFFFF
+ FFFFFFFFDADADEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFCFC
+ FC640A0A0ABB160EEE076108E3B1703CE81BED5B60493004512236294E270F02
+ 022B1CEF2300000997C2382CB32CB33463334A7858C1C90D79C9AA1010A87E5C
+ 754C75064D4D744D0D242EB74D4C4C06754426BFD71D953A3AB54BCA543E3A76
+ 9CC875D4213A3A243A9145357ED7131D5D3E3E3E1D13543E1E1E1E3D9EC6BF54
+ 9A35351E3E1515136513C0C0151313A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFDFE2DAE9DFFFFFFFFFE1E2DAE0FFFFDEDA0C
+ FFFFDFDADA0C12DADA0CFFFFFFFFFFFFFF0CDAE2DADA12FFFFFFE4DA12FFFFFF
+ FFFF0CDADAFFFFFFFFFFFF12DADAE0FFFFFFFFFFE6DADAE6FF0CDADA12FFFFFF
+ FF0CDADA12FF0CDADEFFFFFF40DADA12FFDEDADA12FFFFFFFFFFFFFFDADADEFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFC64640A0ABB160E
+ EE076108E30B703C181BED5B47C33004512236294F27270F022B62EF23002A09
+ 09C2382C1F2C386363054A017887A8BF7B10065C5C0DAA66664D66754D064D06
+ AA2E24AA4C4D0D4D063E26BF3E3E9C9CC8B5CA6C76548335443A0DCC45542ED5
+ 95484584BFD7134454831E13761D5D1E5D9265452EC698544BC8351E1D15133E
+ 653E15C0153E3EA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFF12E2DAE40C121257E2DAE2DFFFFFDEDADE0C0CDEDADA4012DA
+ DADE0C0C0C0C0C7FFF40DADADA20FFFFFFFFDEDAE6FFFFFFFFFF40DADA201212
+ 0CE1FFFF0CDADADEE61240E0DADADEFFFF0CDADA12FFFFFFFF0CDADA12FF0CDA
+ E40C0C57E2DADADFFFDFE9DADAE040124057E1FFDADAE40C0C0C0C0C12FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFC640A640ABB1616EE076108080B7070
+ 181B861947423004512236694F27270F022B62D6230000EC0997F72C1FB33834
+ 056701787887CC0D79AB4DAB215C5CA16606AAAA4D4D4D060101F3C1A84C6606
+ 061DAD986C44959C9A95449A7676761E1E567D7D84B7F0069148953A063E1337
+ 5D1E5D13763E443E54C05488D12F983A6FC835441D151D1E3D3E3E133D653EA2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ E1DEDADADADADADADEDFFFFFFFDEDADADADADADAE0FF12DADADADADADADADA12
+ FF12DADADA7FFFFFFFFFDEDA0CFFFFFFFFFFFFE0DADADADADA7FFFFFFF40E4DA
+ DADADADADA57FFFFFF0CDADA12FFFFFFFF0CDADA12FF0CDADADADADADAE2E6FF
+ FFFFDFE0DADADADADADA12FFDADADADADADADADA0CFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ DDFFFFFFFFFFFFFCFCFC640A0ABB16160EEE070808E3B1703CE886194742BE30
+ 042236694F4E270F022B62EF238C00EC09C2F72C1FB3B36367670101782FCC0D
+ 10794D2121A15CAAAAAA4D4D064C4C064D7E797B945C9B4D061D9598131E763A
+ C83A449544541D54C8138806A3AD9826914895569E1D153576924B1E3E5D543E
+ 155D83982E4AD47B6FC81E3E13151D1E3D3E3D13133E3DA20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FE60C0CE67F
+ FFFFFFFFFFE112121212127FFFFFDF1212121212121212DFFFDF1212E1FFFFFF
+ FFFFE1127FFFFFFFFFFFFFFFE10C0C0CE1FFFFFFFFFFFFE10C0C0C40DFFFFFFF
+ FF7F1212DFFFFFFFFF7F1212DFFF7F121212121212FFFFFFFFFFFFFFDF400C0C
+ 0C40DFFF12121212121212127FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
+ FF64640A640ABB160EEE070808E3B1703CE88619476049300451EAE54F4E270F
+ 020262D6558C002A0997F7381FB3343305674A0178C121A15C794D7910667BAA
+ 75790D4DAA4C4C06AA064C6E0D7506AA981D45061335763A4844443A1EB21E76
+ 3A4B764B563A7648919B9593563D157C5D4B5D13441EC01E65541E5476983AC8
+ 6FC81E3E1315134465131515151513A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFCFFFCFC64640A0ABB16
+ 0EEE076108E3B1703CE81B195B4749300451EAE54F4E270F022B2B1C55238C2A
+ 09F239381FB3343305676701782F8BA1C9AB4D211021019F0D2FA4AA66064D06
+ AA4CA1AA4D74664CBF1D43981354769CC8C8D101F0D19E1D3EB2443A453A453A
+ 6E4C9506831D15763D8313831E44541E3D15135D3A761E3A4B8035441D151365
+ 6513131E1E1315CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCDDFFFCDB64640ABB1616EE076108E30B70
+ 3C181BED5B47C330045122E5294E270F02022B1C55238C00099738382CB33463
+ 05674A0178782EA199CC06215C210558A1F32FBF66AA4D4D4C75AA4D5C4D0610
+ BF1D4898134B3A913AC5940D7676C8837C7CA87B3A9C3A486E4C45983A1D1576
+ 3A1376D15DB2C6761E1E5D15765454354B80351E1D15133E3D151E833A65C0A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFDDDDFCFFFCFCFC640A0ABBBB16EEEE6108E30BB170181BED5B474230
+ 0451EA36294E272702022B62558C8C2AEC9739381FB3343305674A01782FD5C9
+ 79A866A8109F874A8DC6F30DA10D4D66AA666666AA06BFA1A11D9EBF549A9C3A
+ 83D7F578787BBDBD5648D4C90DD276833ABF76C94B441D761E769CC65978B67C
+ 54351E5D54545476763A1D761315374465153DD13E1365A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFF
+ FFFCFC64640ABB16160EEE610808E37070181BED5B4742300451EA36694E270F
+ 02022B62EF8C8C002AF239F71F1FB36333054A017858775CAB8B06791078A4C1
+ 0521587779A1A8A85C5C5C5C0DAA66A10D15C999A34B9C3A4B83F0BF5966486E
+ AA4CD198CC109E839C9EADD2C81E443A54139EF3C6785FB695764B4B4B5D5D5D
+ 763AC83A1E445D44156583D41E3E1EA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFFFCFC646464BBBB
+ 160EEE070808E3B1703CE886194742BE04042236694F27270F022B1CD6238C2A
+ 09F2C2381FB3B3633305674A01F024107B2FA1AB7901AB2E0599D42410107966
+ 5C5C5C5C7E0D0DA10DD78F2ECA95569148B6016701774D100D4CD24810065945
+ 595643A5AD54C8953E9EC9CC88C6CC83599EB2B2453A767654358335D7441E3E
+ 135D59995D76B26F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC64DB640ABBBB160EEE070808E3B1
+ 703CE886194742BE30512236694F27270F022B1CEF238C002AF297382C1F3463
+ 3305674A015824A8CF2F7BC9102E0D10C9BF107E66ABAB105C5C5CA8105C5C10
+ BF458F8BAD9D6E6E9E3A065906AA9D0D0DAA0D06BF9806599893143143C8C876
+ 48567DF0317B59594C9E489E48569C9C45959826C8C84B848399F57899454B6A
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFDDFFFFFC64646464BBBB160E0E076108E3B1703CE886194742BE
+ 04042236694F4E270F022B62EF23000009F239382CB3343305674A4A78879F8B
+ 249FCF7E7E0DAA664D754D064D4DB7664D4C4C4D06060606459E0D06B5843A3A
+ 959B48B03A984C934C4D954C9D4D9E4C4343933B43C85454CAD7CA3ACA845426
+ 3A6F6F3A833A3A3A4B26AA8444D7A3D7543D1E44545D37B40000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
+ FFFCFCFC640A0ABB160E0E076108E30B703C181BED5B604930042236694F4E27
+ 0F022B1CEF23002A0939382C1F3433054A0158879FA47B21CCA10DBFB7489195
+ 91726F4856987DC972B09AB06FB0B0B04445C835AD9A9A6FB0356A953A4B4C3B
+ 3A6F9AC84B9A4BC835268326434B544B54CAD7CACA985E43C89ACA9A9A353554
+ 4B9598B76FC89ACA3D5D76B6833E1D6A0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFC64640A0ABB
+ 1616EE070808E3E3B1703CE81B1947C3300422EA694F27270F022B1C5523002A
+ F2C2382C1F3433676701583194778B7BCC5C0D6606065F9B6E6EBD3AC8067B8E
+ 6EB5B0B0B0C880804435CAC5C89A6AB09AB09A80C53599A79572729A6F35C835
+ 1E35C8CA26C8354B6ACA4B1D440D7D8E6FC89A9A35CA1E35C580C83A35C5CA6C
+ 3D767610597613AE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFCFC640A0ABB160EEE0761610808
+ 08E3E3B17018ED4749045136694F4E270F022B1C5523002A0939381F1F343367
+ 677858739FA47BA85C5C0D4C5F9B9191726E72C826563B846E729A9A80356A6A
+ 801D4B356A80AC806A9A6AC8D73D3B8872726F806A806A6A35441E543E354435
+ B01D6FCACAAD7E95B56FC89A9ACACA353580CBC8AC6A4B353D7615BF76541ECB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDDFFFCDDFC0A0A0ABB160EEE07076107EE0E0E0EEE0708B11B
+ 473051EAE54F4E270F022B1C5523002A0939381FB33433674A015873772E8BCC
+ 5C66665F5F4C6F953A72B03ACAB73B546F3A1D806AB4C580B0B46AB46FB46AB4
+ 449A1D4435157D9880B09A8080C5C5C57C15443735351D351D441DCA1E4B0635
+ 6F6F44C8445D1D3E1D443E44541E1DC81E443E4BC81E54CB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
+ FCFFFC6464640ABB160EEE07077F71176B818181170316081B4204EA694F4E27
+ 0F022B1CD623002A0939381FB36333674A0158872F739F777B9F7BA81066A14D
+ 9B483AC815837ECAB43A3A6EC84C6F95484806486E4806483A953A6FC8152193
+ 6CB09A6ACBC5657C44351D5415C854547C541EC8D73A4844CA6FC515A95D3544
+ 1D3A35443E1E44C01E441D351E1D35CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFC6464640ABB
+ BB0EEE070781FEFEFEFEFEFEFEFEA60AE31904EAE54F4E270F022B621CEF8C00
+ EC97381F1F63333305676778788773739424A4249F79C9AB5C5CBF486C43AB84
+ 80064C4C9B5F664C485C065F5C0D6E5F4D4C75064C448F43B46A6F4B959C3AB2
+ 9CB2B29CB6B61D459C6F6F8ECA4C3A1DCACA6C9A4B4B1D1D1EC03A4B153A159C
+ 35441D4413C044A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC640A64BB160EEE0707CDFE7A
+ 82D36BCDFEFEFE17EE1B3022E5294F4E270F0F022BD655002A97381FB3343333
+ 33674A01015887947377247B7B2E218B10ABA806A34899CA954D489BAA48664C
+ 754D75BF064C75A10D454D9806CA8F26CA3548C8B2445D54C8543A359E35483A
+ 954B4593AD0D351D1DCAC56C1D134445761E1D833E3E3E1D351E1D3EC09244A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFCFC64640A0ABBBB160EEE07D312610808E3C4F4FEFEB8
+ 163C495136E5E56969294F4E270262232AF2381FB334333305670505782F8794
+ 942424014A947B7EA8A8CC98D75699A3B5484C0DAA774D669B7506664A78D1C6
+ 779E4C98BF3524841D3A6E541E3A75B676563A563A54F021BD4B45483AA1C51D
+ 6C4BC54410D5BF131D35BF4859D10D5D35353E3E15C044A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFF
+ FCDDFCDBDB64640ABBBB90EE07616161616108E3F6FEFEFEBB70425122220430
+ 604242490436271C0009F71F1F3433330505336301C1C1949F24335831059458
+ 79AB21A1CA437D844B0D0648D4A8F04C0D4CAABFF0F30188787E060DBF268DAD
+ A94CC85676D478884B3A3A8376450DF05F6E489DB598356A6CB0CA6CBF990676
+ 764483D1313A44445D5D3E3E131535A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5003030328FFFFFFFFFFFFFFFF
+ FF5003031AFFFFFFFFFFFFFFFFFF280303031AFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFF1A03030328FFFFFFFFFFFFFFFF28030350FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A030350FFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFF50030328FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A03031AFFFFFFFFFFFFFFFFFFFF
+ FF28030350FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF030303FCFC6464
+ FC0A16EE0761EE1A030316EE12FEFEFE50B1600404428670E68903890B1B0402
+ 23EC381F34343333336767670578873131948B01F301F52E215C990DD73A99CA
+ BD4C064C66F0AB0D740DBF9E8DF30501D20D4D9859842ECA6C5935B29C244A83
+ 45C83A7659C926F0064CB7959D4D9A6AC89ACA562E103A44C0440DD2249C354B
+ 5D351D1D15135DA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFF03A6FEFEFEFEFEFEB86B1AFFFFFFFF6BFEFEFEFEFEB871FF
+ FFFFFFFF17B8FEFEFEFEFEFE17FFFF03FEFEFE28FFFFFFFFFFFFFFFFFFFFFFFF
+ FFFF036BCDFEFEFEFEFECD32FFFFFFFF717AFEFEFEFECD6B28FFFFFFFFFEFEFE
+ 03FFFFFFFFFF81FEFE17FFFFFFFF6BFEFEFEFE82FF03FEFEFE28FFFFFFFFFFFF
+ 286BCDFEFEFEFE7A71FFFFFFFF03FEFEFEFFFFFFFFFFFFFFFFFF17FEFEFE03FF
+ FFFFFFFFFFFFFFFF71B8FEFEFEFE3217FEFE81FFFFFFFF037AFEFEFEFEFE17FF
+ FF03FEFEFEFFFFFFFF81FEFECD50286BFEFEFEFEB8FCCDFEFE03BB0E615081FE
+ FEFECD17BBFEFEFE03B147EB47A0A6FEFEFEFEFEFEB8D04E2309381F34343333
+ 336733673487942F24A424F0317B7B7D215CAB5CCA8399A33A0606AA31A49F06
+ 667445BFD4054A7B4D4D060D4D56CFCA3E453A3A76B2013A564BCA3A932E01D2
+ 484848B5B7486AB49AC844C8CCA13A3E1E35C8C9D54476765D1E1315C01D54CB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B
+ FEFEFEFEFEFEFEFEFEFEFE32FFFFFFB8FEFEFEFEFEFEFE71FFFFFF81FEFEFECD
+ 8181CDFE81FFFF03FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF286BFEFEFEFEFEFE
+ FEFEFE81FFFFFF6BFEFEFEFEFEFEFEFECD50FFFFFF7AFEFE03FFFFFFFFFF82FE
+ FE17FFFFFF71FEFEFEFEFE81FF03FEFEFEFFFFFFFFFFFF50CDFEFEFEFEFEFEFE
+ FE6BFFFFFF50FEFEFEFFFFFFFFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFFFFFF1A
+ CDFEFE8117173203FEFE81FFFFFF32FEFEFEFEFEFEFE81FFFF1AFEFEFEFFFFFF
+ 71FEFEFE32FF82FEFECD8217822881FEFE030A9050CDFEFEFEFEFEFE6BFEFEFE
+ 030B5B47E0CDFEFEFEF4D9F4FEFE2D272309381FB363333305674A67012FC194
+ 9F772E944AF02179795C10A1444B885DC8754D75BF7E4C064C4C9B06107821C9
+ 4D4D66665993ABC81D455654543A3A54B09A4B6F5624F00D5F48834806543E1D
+ 5D54351E1E351E1E3DD78399064B44765D5D139213653ECB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFEFE6B71033281
+ FEFEFEFE03FFFF827128FF1A7AFEFEA6FFFF17FEFECD17FFFFFFFF1A32FFFF03
+ FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF7AFEFEFECD82710303176B7AFFFF71FE
+ FEFE1728FF037AFEFEB828FFFF81FEFE71FFFFFFFFFF17FEFE82FFFFFF17FEFE
+ FE03FF71FF03FEFEFEFFFFFFFFFFFF7AFEFE7A03FF2817FEFEFE17FFFFFFFEFE
+ FEFFFFFFFFFFFFFFFFFF03FEFEFE03FFFFFFFFFFFFFFFF17FEFEB8FFFFFFFF1A
+ FEFE7AFFFF1ACDFEFE7A71FFFF1A32FFFFFFFEFEFEFFFF28B8FEFE6BFFFFCDFE
+ FE32DDDDDB646BFEFE710A1681FEFECD32EEC4D3FEFEFEFE030BEDFACDFEFE81
+ 9647305151E0E0028C09381F34B3330505674A0178878731249FA4A4247B108B
+ 10AB21BF35450D546EAA744859069E0606BD594C48C9064C4DAA75754D14211D
+ 54487676543A353A3A9A4BCA3A59453A95B25643BF541D929C3E441D761D5D35
+ D7541E35134B3A541E1E3DC01D4465CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF7AFEFEFE17FFFFFFFFFF6BFEFEFE6BFFFFFF
+ FFFFFFFF82FEFEA6FFFFB8FEFE17FFFFFFFFFFFFFFFFFF1AFEFEFEFFFFFFFFFF
+ FFFFFFFFFFFFFF17FEFEFE8128FFFFFFFFFFFFFFFFFFB8FEFE17FFFFFFFF28CD
+ FEFE17FFFF81FEFE17FFFFFFFFFF17FEFE81FFFFFF17FEFEB8FFFFFFFF1AFEFE
+ FEFFFFFFFFFF32FEFECD28FFFFFFFF17FEFECDFFFFFFFEFEFEFFFFFFFFFFFFFF
+ FFFF03FEFEFE03FFFFFFFFFFFFFFFF17FEFE7AFFFFFFFFFFFEFEFEFFFF17FEFE
+ CD28FFFFFFFFFFFFFFFFFEFEFEFFFF82FEFEB828FFFFFEFEFE71FFDD646417FE
+ FE170A7FFEFEFE3290E3703CD3FEFEFE03E31BC7FEFEB8C4190436294F4E0F2B
+ 8C2AC21F3434333305674A017887C19F9F9FA48B8B21797B5C797BBF35565E54
+ C84D664C750659590D6EBFAABF1010994D660666B798211D92483A4576453E3A
+ C86E4B9D459A4583B2594C83C9C81EC5441E4B5D5D131D3ED73ED74B3E441E54
+ 1D1E3E133E3E3DCB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFEFEFEFEFFFFFFFFFFFF28FEFEFEB8FFFFFFFFFFFF71CDFEFE71
+ FF50FEFEFE28FFFFFFFFFFFFFFFFFFFFFEFEFE03FFFFFFFFFFFFFFFFFFFFFFCD
+ FEFEB828FFFFFFFFFFFFFFFFFF1AFEFEFE1AFFFFFFFFFF82FEFE81FFFF17FEFE
+ 17FFFFFFFFFF17FEFE81FFFFFF71FEFE7AFFFFFFFFFFFEFEFE03FFFFFFFF6BFE
+ FE6BFFFFFFFFFF28FEFEFE03FFFFFEFEFE03FFFFFFFFFFFFFFFF03FEFEFE03FF
+ FFFFFFFFFFFFFF1AFEFEFEA61AFFFFFFFEFEFEFFFFA6FEFE6BFFFFFFFFFFFFFF
+ FFFFFEFEFEFF50FEFEFE50FFFFFF6BFEFECD32FFFCFC17FEFE170A03FEFEFE28
+ 070B18E818B8FEFE0308E8D8FEFE820B4704223636694F0FD600971FB3343333
+ 330501782F582F9494772E2E2E778BA8AB10107ECA8399264D4D4D0694F0774C
+ 4C0D4C749F78D5C6934D5F0D95AB999C765935C8CCD4BF4B4CACB5C8458BC976
+ 9C5643AD7D4B35353A5444C910CC834B26458821593E1576445D1E3E653E1DB4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFE
+ FE7AFFFFFFFFFFFFFF7AFEFEFEFFFFFFFFFF82FEFEFE17FFFF03FEFEFEFFFFFF
+ FFFFFFFFFFFFFFFFFEFEFE03FFFFFFFFFFFFFFFFFFFF03FEFEFE32FFFFFFFFFF
+ FFFFFFFFFF03FEFEFEFFFFFFFFFFFF03FEFEFEFFFF17FEFE82FFFFFFFFFF03FE
+ FE7AFFFFFF03FEFEFEFFFFFFFFFFFEFEFE03FFFFFFFF81FEFE17FFFFFFFFFFFF
+ 81FEFE17FFFFFEFEFE03FFFFFFFFFFFFFFFF03FEFEFE03FFFFFFFFFFFFFFFFFF
+ 32CDFEFEFE7A825081FEFE50FF81FEFE17FFFFFFFFFFFFFFFFFF81FEFE507AFE
+ FE17FFFFFFFF2881FEFEFECDA63271FEFEA60A03FEFEFE6407B1181B1BD8FEFE
+ 170818D9FEFE17613C86195B191947040F8C972CB33463050567014A4A582FC1
+ 87949F778B8B2E211010A15C3593A58E6F4C759B2EF0871010060D7B2105F32E
+ 934C5FA1B5A521B21E483A547BD51006BD7EA1BF4DAB24B23A839E06314C4B76
+ 1E443AD424CCB2984310D4993A1E3E3E5476541E5D5D5D9A0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE81FFFFFFFFFFFF
+ FF81FEFEFEFFFFFF2881FEFECD71FFFFFF03FEFEFEFEFEFEFEFEFEFEFEFEFFFF
+ FEFEFE03FFFFFFFFFFFFFFFFFFFF17FEFEFE1AFFFFFFFFFFFFFFFFFFFF03FEFE
+ FEFFFFFFFFFFFF03FEFEFEFFFF17FEFE81FFFFFFFFFF03FEFEFEFFFFFF03FEFE
+ FEFFFFFFFFFFFEFEFE03FFFFFFFF81FEFE17FFFFFFFFFFFF81FEFE17FFFF81FE
+ FE03FFFFFFFFFFFFFFFF03FEFEFE030317177128FFFFFFFFFF28177AFEFEFEFE
+ CDFEFE03FF81FEFE17FFFFFFFFFFFFFFFFFF81FEFE82FEFECDFFFFFFFFFFDDFC
+ 036BCDFEFEFECDFEFE810A1AFEFEFE1AEE0B18861BD3FEFE170818D9FEFEFEFE
+ FEFEFEFEFEFEFEF1E523F22C341F2C0505674A34344A2F582FC17394777777A4
+ A87910C94B99BC140666AA06A40178AB5C77A8AB8B01D421AA66BFBF8EF53F54
+ 4C5656592FD421985C105C06D578CC4C064C595E8D9326765D0D31D421B6590D
+ 06998DBF3A459C7654545D1E5D5D54B00000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF81FEFEFEFFFFFFFFFFFFFF82FEFEFE28FFFF
+ 81FEFE7A1AFFFFFFFFFFFEFEFE710303030317FEFEFEFFFFFEFEFE17FFFFFFFF
+ FFFFFFFFFFFF17FEFEFEFFFFFFFFFFFFFFFFFFFFFF28FEFEFE71FFFFFFFFFF32
+ FEFEB8FFFF17FEFEFE28FFFFFFFF71FEFEFEFFFFFF28FEFEFEFFFFFFFFFFFEFE
+ FE17FFFFFFFF82FEFE7AFFFFFFFFFFFFB8FEFE32FFFF81FEFE03FFFFFFFFFFFF
+ FFFF03FEFEFE03B8FEFEFEFE82FFFFFFFFFFFFFF280382B8FEFEFE32FF82FEFE
+ 7AFFFFFFFFFFFFFFFFFF81FEFE717AFEFE32FFFFFFDDDDFCFCDBDB5032A6FEFE
+ FEB80A16B8FEFE17BB0870E8E8D3FEFE17081BF1FEFEA60389892D89F4FEFED3
+ 22D6092CB3B31F0533674A05057858783131949F949F2E8BAB7921A15699A55E
+ B5060DA1BF7979A106A8BFBF0DAB0DBF66BFBF0693525243543A4C062106489E
+ 9DAA9D4C7910BF9E599E458E98C8CA1E4B98CC48454B3A13C8D74C4B5D1E1D3E
+ 1E1E3E3D653E3EC50000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF81FEFEFEFFFFFFFFFFFFFF17FEFEFE03FF50FEFEFE28FFFFFFFF
+ FFFFA6FEFE32FFFFFFFF32FEFEB8FFFFFEFEFECD50FFFFFFFFFFFFFFFFFF17FE
+ FEFEFFFFFFFFFFFFFFFFFFFFFFFFA6FEFEA6FFFFFFFFFF81FEFE6BFFFF71FEFE
+ FEA6FFFFFFFFA6FEFEFEFFFFFFFFFEFEFE28FFFFFFFFFEFEFECD50FFFFFF50FE
+ FEFE50FFFFFFFF03FEFEFE1AFFFF81FEFE03FFFFFFFFFFFFFFFF1AFEFEFE71FE
+ FEFEFEFEFE6BFFFFFFFFFFFFFFFFFF28B8FEFE17FF71FEFEFE03FFFFFFFFFFFF
+ FFFF81FEFE0350CDFEFE71FFFFDDFCFCDBDBDB64FC6417FEFEFE0A0ED3FEFECD
+ 500E08B1B1D3FEFEA6611BA0FEFEB8EE3C5B4786B8FEFEC7E5F9F21FB36363F3
+ 67670178F087879424A42E8B7B21A879795C2166B75E5E14B774B74DBD4C4856
+ 4C9D564D9E454C4C93489B59143B53A73A3A5435763AC8C8B0CA3AB54B3A3A4B
+ 4B5683AD434B26353E1D1D1E1E444435C813484B76351D445D1E1D3D3E1315CB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6FE
+ FEFEFFFFFFFFFFFFFF17FEFEFE03FF03FEFEFE17FFFF1A32FFFF03FEFECD03FF
+ FF287AFEFE17FFFFFEFEFEFECD821703FFFFFFFFFFFF71FEFEFE71FFFFFFFFFF
+ FFFFFFFFFFFF50FEFEFEA61AFF1A6BFEFEFE50FFFF03FEFEFEFEB882177AFEFE
+ FECDFFFF5003FEFEFE17030328FFFEFEFEFECD821703FFA6FEFECD32FFFF71CD
+ FEFEA6FFFFFF81FEFE71FFFFFFFFFFFFFFFFFFFEFEFE7128FF507AFEFEFE03FF
+ FF0328FFFFFFFFFFB8FEFE17FFFF7AFEFECD3228FF280303FFFF81FEFE03FF32
+ FEFECD50FFDDFC1A50DDFCFC64DB32FEFEFEBBEE617AFEFECD321AEEEE6BFEFE
+ 81611960D9FEFE6BC43C18F6FEFECDD02700392CB36333674A01F058D1C1872E
+ 8B79C90DBFBF754D4D4D56954556459E453B7D1480373E1E1E3544134435443E
+ 6C443E5D253FA7C945441D1E3E441E1D443E3E44443E44543BA13A8044921313
+ 13923E15153E153E1515351D1D54C0C09265A9A9C09213AE0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFE1AFFFFFFFFFF
+ FF03FEFEFE03FFFFB8FEFEFEFEFEFECDFFFFFF32FEFEFE7A81FEFEFE7A28FFFF
+ FEFEFE7AFEFEFE17FFFFFFFFFFFF28FEFEFE6BFFFFFFFFFFFFFFFFFFFFFFFF32
+ FEFEFEFEFEFEFEFEFE32FFFFFF03FEFEFE81FEFEFEFEFEFEFE82FFFF81FEFEFE
+ FEFEFEFE03FFFEFEFE7AFEFEFE17FF287AFEFEFEFEFEFEFEFE7A28FFFFFF81FE
+ FE17FFFFFFFFFFFFFFFFFFFEFEFE03FFFFFF28CDFEFE6BFFFF82FE7A6B17177A
+ FEFEFE50FFFF50CDFEFEFEFEFEFEFE17FFFFA6FEFE32FFFFA6FEFEB828FCDB28
+ FECD8117176BCDFEFEA6166108C47AFEFEFEFEFEFEFEFEFEB8E3473096F4FEFE
+ CD81B8FEFEFEC72262F2381F3433054A7858C17331319F7BC975B648B245956F
+ C84B35449A9ACACA543B3B841DAC1313921D13921D1D151D6C1D1D3D3D3B983A
+ 1E13131D1D131D1315C0C01313C015138E5615B4CB15151513C03E133D65C015
+ 131544C51D15A9C09265C013651365A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFF03FEFEFE17FFFF
+ 5081FEFEFEFEFE6BFFFFFFFF037AFEFEFEFECD6B28FFFFFFFEFEFE716BFEFE17
+ FFFFFFFFFFFFFF6BFEFEFE03FFFFFFFFFFFFFFFFFFFFFFFF1A6BFEFEFEFEFEA6
+ 03FFFFFFFF03FEFEFE2882CDFEFEFECD82FFFFFF81FEFEFEFEFEFEFE03FFFEFE
+ FE716BFEFE17FFFFFF32B8FEFEFEFEB81728FFFFFFFF6BFEFE17FFFFFFFFFFFF
+ FFFFFFFEFEFE03FFFFFFFF81FEFE81FFFF0381CDFEFEFEFEFEB871FFFFFFFF1A
+ 6BFEFEFEFEFECD50FFFF17FEFE17FFFF28CDFEFE7A28DBDB6B7AFEFEFEFEFEFE
+ 6B7F0708E30BE3F67AFEFEFEFEFEFEFEF418EB512296F8CDFEFEFEFEF432510F
+ 009738B33433674A015831D4319F8BA85C0DBF064D4D4C4856454B6F6FB044B4
+ 3D3B5E3DAC7C3554C83A3A83453A3A56953A9C76A37D986A133E441E35444435
+ 764B4B7676C8544B439D1D1DC53537445D1E545D4B3A5D545D5435763792135D
+ 3E1E651E1E3E1ECB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFF03FEFEFE17FFFFFFFF28030350FFFF
+ FFFFFFFFFFFF28030350FFFFFFFFFFFFFFFFFFFFFF1A031AFFFFFFFFFFFFFF1A
+ CDFEFECD71FFFFFFFFFFFFFFFFFFFFFFFFFFFF030303FFFFFFFFFFFFFFFFFFFF
+ FFFFFFFF500303FFFFFFFFFFFFFF81FEFE03FFFFFFFFFFFFFFFFFF1A031AFFFF
+ FFFFFF1A03031AFFFFFFFFFFFFFF17FEFE17FFFFFFFFFFFFFFFFFFFEFEFE03FF
+ FFFF28CDFEFE81FFFFFFFFFF2803030328FFFFFFFFFFFFFFFFFF0303031AFFFF
+ FFFF17FEFE17FFFFFFFFFFFFFFFCFC640A646450030350BB16EE61E30BB17070
+ 700B89898989FBE819C351E5693622300C2D2D9604690FF92AF2382CB3B33305
+ 4A01739FC131217B7B79CCA8C910C910AB10107EA10D4D3A3D995E3D3A914556
+ 484C5906064C9E064C480659A38F0DAC4476764B3A3A4B4556459C4545454545
+ 5E9D441D7C355D35C8545454544B4B4B544B6A7637A9655D4B5D1E5D443E1EB4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FE
+ FEFE03FFFFFFFFFFFF28FEFEFE17FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32FEFEFEFE7A1703
+ 0371177A03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFE32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFE17FFFFFFFFFFFFFFFFFFFEFEFE6B171717B8FEFEFE17FF
+ FFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFE17FFFF
+ FFDDFCFFFFDBDB640A0A0ABBBB1616EE0761080BB1703C18E81B86ED195B6049
+ 0451364F4E4E4E4E4E4E4E270F2B55000939F72CB3346305674A317731C18BD5
+ 8B7BCC79A810A8A8C90D0D66660D75B55D7D5EA39B919C564548489E064C484C
+ 7448065954B95E6C353A76C83A833A45953A3A3A3A4545457E3A44923A443554
+ 35C8C8C854355454543A3580C5921E651E13445D3E441ECB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03FEFEFE17FFFFFFFFFF
+ FFFFFEFEFE6BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03CDFEFEFEFEFEFEFEFEFE28FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A17
+ 8117FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FE
+ FE81FFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFE7A28FFFFFFFFFFFFFCFCFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEA6FFDDFFFFFFFCFCFCDB64
+ 0A0ABBBB900EEE076108E30B703C18E886195B4742EB30512236294E270F0F0F
+ 02022B62552300EC9739381FB3346333674A312431877B248B7979A8C9105C7E
+ A8A17EA10D107E9B1E7D5EA34D91484556B64848590659594D4C7598265206AC
+ 543A76544B833A7645459595569E9E483BADCACB9C351E541EC8547676C83A76
+ 263AC8356C151E5D1D137676445D54B40000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF03FEFEFE17FFFFFFFFFFFFFFFEFEFE81FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFF28177AFEFEFEFEFEFE7AFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFE81FFFFFFFFFFFF
+ FFFFFFFEFEFEFEFEFEFEFECD6B28FFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFF17FEFE81DDFFDDFCFFFFFCDB640A0ABB16160EEE0761
+ 0808E3B1703CE886195B4742BE04512236294F4E270F02022B1CEF232300ECF2
+ C2F7381FB3346305674AC1D49F877BD2A47B21A85C105C7E5C0D7E7EAA7E0D6E
+ 3E7D7EA34D9B064548065956484C4C4C4D4D060684B99DB4763A453A4B45B276
+ 3AB5B595489EB79D93C86C1D4BB21E35459544CA9A9A956F263580ACCB923E45
+ 45560DB63E5D54B40000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF03030350FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDDFFFCFCFC0AFC640A0ABB16160EEE076108E30B707018E886
+ 19476049300451EA36294E270F0F022B1C1C238C8CECEC09C2382C1FB3633305
+ 674A58D49F2F7B24A48BABA85C10A1667E667E7E665C5C481E8B99A34C9BBF26
+ 59A10D9EB24C5959AA7575982552BDAC3A45B6483A48593A6F3A95BD4874483A
+ CAC86CB03A10B2458BC93A9A9A9A569556353AB0C5C5C888CCCCD5BF1D4435B4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFC
+ FFDBFFDB640A0ABBBB161690EE07610808E3B1703C181BED5B4742BE30042236
+ E54F4E270F0F022B1CEF238C00EC0909C2382C1F3463330567675894242FD2D5
+ CF2F8B7B2F87BFA1A1060D5CA17EA19B843F3BCA759B2F569888C12659598359
+ 4D750D14145206AC3A83F00688F02E2626AD833A4C4559569845352644D47B99
+ 8B4DCACA4B4B4B3A9C9C06B2441E1ED5CC8B103A134435CB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFCFCFFFFFCFFFFFFFFFFFFFFFCFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDFCFCDB0A0A0A0A
+ BB16160EEE076108E30B703C3CE886195B60493004512236694F27270F02022B
+ 1C55238C002A090939F72C1F34630505674A5894C1D1D49FA44A9F2158F00D7E
+ ABA1A1A166A1A14D938F3F25069B012EA17B2EB74C4C7498064806433BF55E6A
+ 454CD5CC06310D3A9595957645455999D2481D9A3A9F217EC99EC8C8264BC84B
+ 35060D4544541D06764545C83554C8AC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFCFCFCFCFFFCFCFCFCFCFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFDDFCFC640A0A0A0ABB1690EE070761E3
+ E30B703C181B86194760BE3004513636294E27270F022B621C558C0000EC0909
+ C2382C1F34633305674A58942F53312E24672F2E2F2FA8A85C667566660D0D4D
+ 1453528E069B77D55C775C66749B74744DB5BF433FBC3B6E489BA87B4C214C9B
+ 56489B48484893B97B484B4BD79D4B5606B7BD95BDB54BC88EAB5992A96F9A4B
+ 56959556454B44CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFC
+ FCFCFCFFFFFFFCFCFFFFFFFFFCFFFFFCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFCFCFC640A0A0ABBBB16160E07076108E30BB1703CE81B195B
+ 47C3BE30042236E54F4E270F0F022B62D6558C8C002A09F239382C1F34630505
+ 67017824C1AFA52E8B77777777A48B79AB1010105C5C664D5EAF5384065F7510
+ 667BAAAB7E0D7E0D0D4CBFB7B9535E6A729AAA7E66667E5C7EA1A1759B488EA5
+ A49DCAC8BD4D744D4D4D4D4C74B79DB5A3B98F06CACAB06E3AC8C83A954BC8AC
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFCFF
+ FCFFFFFCFCFFFCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCDB0A0A0ABBBBBBBB90EE07610808E30B7070181B8619476049300451223669
+ 4F4E270F02022BD6EF558C002A09F2C2F7382C1FB3633305674A7894C111BCCF
+ 7B798B77A48BA4A42E2E7B79A85C064DB96DAF14B79B5F0D7EA87E7979A85C5C
+ 7E0648AAF5BCB9747472064D66747E66AA4D5F6EB59314BCAFA44C9AB0B5849A
+ 84B5BD3A3ABD48B7A75A5AF57B0659757E7E5C5CC99979790000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFFFCFFFFFCFCFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCDB64640A0ABBBBBB
+ 1690EE076108E30BB1703CE81BED194742493004222236294F270F0F022B62EF
+ EF238C00ECECF2C2F7382C1F3463330567012F2F5A1185A48B2EA421A47B218B
+ 7979A85C5C66665CAF5A6D53C94CAA06664DAAAAAA4D4D4D14064C79BCBAF577
+ 9DB572B5B5729DB574744D4D6610D45AFDAF01C1772E9FC1C12FF0014ABCAFBA
+ 5AFDFD6D5A5A5A5A5A5A5ACEBACE5A2C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFFFFFCFCFCFCFCFFFFFCFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFDDFFFFFFFFFFFFFFFFFFFFDDDBDBDB640A0A0ABBBBBB16EEEE616108E30B
+ 703C3C1B86ED4760C330040422EA69294E270F0F022B621C55238C002A09F2C2
+ F72C1FB334330505670178F31111110524D22E21D221AB10AB79AB1079792EF0
+ FD6DFD6D0587318F3131C12FA5F07801F0010185BA6D5AAF0101F5BC058585BA
+ BABACEBACEBA5A6DFDFDFDFDFDFD6D5A5A6D6DFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCDBDBDBDBDB
+ DBFCFFFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFCFCFCFCDB640A0ABBBBBBBB160EEE076108E3E30B703C181B865B4760
+ C33004512236294F4E270F02022B1CEF23238C00EC0909E78A39F738112C2C1F
+ CECE6D41111111FD5ACE5A6D6D6D6D5A5A5A5A5A5A5A6DFDFDFDFDFDFDFD6D6D
+ 5A6D5A6D5A5A5A5A5A5A5AFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFFFCFCFCFC
+ FCFCFFFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBFCFCDB
+ 640ABBBBBB16160EEE07616108E30B70703CE81B195B47C3BE040422EAE5294E
+ 27270F022B621CEF238C8C00ECECEC6868E78A8A464646414141411111111111
+ 1111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
+ FCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFCFCFCFCFCFCFCFCFCFFFCFCFFFF
+ FFFFDDFFDDDDFFFFFFFFFFFFDDFFFFFFFFFFFFFFFCDBDB64640A0ABBBB16160E
+ EE07610808E3B1703C181BED194760493004512236E54F4E270F0F022B1C1C55
+ 238C00ECECECEC09688A8A8A4646464141414111111111111111FD1111FDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBDBDBDB
+ DBDBDBDBDBDBDB6464FCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFDDFFFFFFFFFFFF
+ FFFFFFFFFCDDFFFFFCFFFFFCDB64640A0A0ABBBBBB160EEE07610808E30B7070
+ 3CE81B195B4742BE300451EAE5294F4E270F02022B1C1C558C8C0000ECEC6868
+ E78A8A46464646414141411111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB6464646464
+ 64FCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFDDDDFFFFDDFFFFFFDDFFFFFFFFFFFC
+ FFFFFCFCFCFC640A0A0ABB1616160EEE076108080B0B703CE81B86194760C3BE
+ 04512236E54F4E270F0F022B2B1CEF8C8C0000ECECEC0909DCE7464646464141
+ 4111411111111111FDFD11FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB646464646464FCFC64FCFCFCFCFC
+ FCFCFCFCFCFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBFCDBDBDB0A0A
+ 0ABB1616160E0E07616108E30B70703CE886195B474249305151223669294E27
+ 0F0F022B2B1CEF238C8C0000ECEC096868E7E78A8A4646414141414111411111
+ 1111111111111111111111111111111111111111111111111111111111111111
+ 1111111111111111111111111111111111111111111111111111111111111111
+ 11111111111111111111111111111111111111111111118A0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFCFCFCFCFCDB
+ DBDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A646464646464DBFCFCFCDBFCDBFFFFFF
+ DDDDFFDDFFFFFFFFFFFFFFFFFFFCFCFCFCFFFCDBDB0A0A0ABBBB160E16EEEE07
+ 070808E30BB13C3CE81B86194760C3BE3004512236E54F4E4E270F0F022B2B1C
+ 1C55558C8C8C0000002A2AECECEC09EC09096868686868686868DCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCEC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB
+ DBDBDBDBDBDB64DBDBDBDBDBDBDBDBFCFCDBFCDBFFFFFFFFFFFFFFDDDDFFFFFF
+ FFFFFFFFFFFCFCFCFCFCFCDBDBDBDB640A0ABBBBBB160EEEEE07616108E3E3B1
+ 703C18181BED195B4760C349303004515122EAEAE5E529294F4F4E4E27272727
+ 270F0F0F0F0F0F0F0F0202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 020202020202020F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDDFCFCFCFCFCFCFCFCFCDD
+ DDDDDDDDDDFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFC640A0A0A0A0ABB161616900EEE0707610808E3E30B0BB170
+ 3C3C3C18E81B1B86EDED19195B5B4747474760604242C3C3C3C3494949494949
+ EBEBEBBEBEBEBE30BEBE30303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303049
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFDDDDFCFCFCFCFCFCFCFCDBDBDBDBDDFCFCFCDDDDFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDDFCFC64
+ 640A0A0A0ABB161616900EEE070761080808E3E30BB17070703C3CE81B1B1B86
+ ED1919195B5B4747476060424242C3C3C3494949494949EBBEEBBEBEBEBE3030
+ BE30303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030490000FCFCFCFCFCFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB
+ DBDB6464646464640A0A0A0A0A0A6464646464DBDBDBDBDBDBDBDBFCFFFFDDDD
+ FFDDFFFFFFFFFCFFFFFFDDFFFFFCFCFCFCDBDBDBDB640A0ABBBBBBBB16EEEE07
+ 610808E3E3B170703C181B86ED195B4742C3BE300404512222EA36E529294F4F
+ 4E4E4E272727270F0F0F0F0F0F0F020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020F0000FCFCFCFCFCFCFCFCFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCDBDBDBDBDBDBDB64640A0A0A0A0ABBBBBB
+ BBBBBBBBBBBB0A0ABB0A0A0A0A0A0A0ADB64FCFCFCFFDDDBFFFFDDFFFFFFFFFF
+ FFFFFCFFFFFFFC64DBDBDB0A0A0ABB161690EEEE07070808E30BB1703C181B1B
+ 195B476049300451512236294F4E27270F0F022B2B1C1CEF558C8C0000000000
+ ECECECECECEC09090968686868686868DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCEC0000FCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFF
+ FCFCFCFCFCFCDBDBDBDBDBDBDB640A0A0A0A0ABBBBBBBBBBBBBBBBBBBBBBBBBB
+ BB0A0A0A0A0A640A6464DBFCFCDDFCFFDDFCFFFFFFFFFFFFFFFFFFFFFFFCDBFC
+ 640A0A0ABBBBBBBB900EEE07616108E3E30B703C18E81B191947604930040451
+ 223669294E27270F02022B2B621CEF55238C8C00000000ECECECEC0909096868
+ 68E7E768E7E78AE7E78A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
+ 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
+ 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8AEC
+ 0000}
+ Login.LeftImage.Data = {
+ 07544269746D617016090000424D160900000000000036040000280000003200
+ 0000180000000100080000000000E00400000000000000000000000100000000
+ 000000000000000080000080000000808000800000008000800080800000C0C0
+ C000C0DCC000F0CAA6000020400000206000002080000020A0000020C0000020
+ E00000400000004020000040400000406000004080000040A0000040C0000040
+ E00000600000006020000060400000606000006080000060A0000060C0000060
+ E00000800000008020000080400000806000008080000080A0000080C0000080
+ E00000A0000000A0200000A0400000A0600000A0800000A0A00000A0C00000A0
+ E00000C0000000C0200000C0400000C0600000C0800000C0A00000C0C00000C0
+ E00000E0000000E0200000E0400000E0600000E0800000E0A00000E0C00000E0
+ E00040000000400020004000400040006000400080004000A0004000C0004000
+ E00040200000402020004020400040206000402080004020A0004020C0004020
+ E00040400000404020004040400040406000404080004040A0004040C0004040
+ E00040600000406020004060400040606000406080004060A0004060C0004060
+ E00040800000408020004080400040806000408080004080A0004080C0004080
+ E00040A0000040A0200040A0400040A0600040A0800040A0A00040A0C00040A0
+ E00040C0000040C0200040C0400040C0600040C0800040C0A00040C0C00040C0
+ E00040E0000040E0200040E0400040E0600040E0800040E0A00040E0C00040E0
+ E00080000000800020008000400080006000800080008000A0008000C0008000
+ E00080200000802020008020400080206000802080008020A0008020C0008020
+ E00080400000804020008040400080406000804080008040A0008040C0008040
+ E00080600000806020008060400080606000806080008060A0008060C0008060
+ E00080800000808020008080400080806000808080008080A0008080C0008080
+ E00080A0000080A0200080A0400080A0600080A0800080A0A00080A0C00080A0
+ E00080C0000080C0200080C0400080C0600080C0800080C0A00080C0C00080C0
+ E00080E0000080E0200080E0400080E0600080E0800080E0A00080E0C00080E0
+ E000C0000000C0002000C0004000C0006000C0008000C000A000C000C000C000
+ E000C0200000C0202000C0204000C0206000C0208000C020A000C020C000C020
+ E000C0400000C0402000C0404000C0406000C0408000C040A000C040C000C040
+ E000C0600000C0602000C0604000C0606000C0608000C060A000C060C000C060
+ E000C0800000C0802000C0804000C0806000C0808000C080A000C080C000C080
+ E000C0A00000C0A02000C0A04000C0A06000C0A08000C0A0A000C0A0C000C0A0
+ E000C0C00000C0C02000C0C04000C0C06000C0C08000C0C0A000F0FBFF00A4A0
+ A000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFF
+ FF00FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD525252525252525252525252
+ 5252FDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDAFB75E5E5E66666767676F6F6F6FB752FDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBF
+ BFBFBFBFBFBFBFBFBFB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFB76F676F6FB7B7B7B7B7776F5EB752FD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBFBFB752FDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFB76F676F6F6FB7B7
+ B7B7776F5EB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBFBFBF52FDFDFDFDFD
+ 0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAF
+ B76767676F6F6FB7B7B7776F5EB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBF
+ BFBF52FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDAFB76767676F6F6F6FB7B7776F5EB752FDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBF
+ BFBFBFBFBFBFBFBFBFBF52FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBFB7AFAFB7B7B7B7BFBFBFBFB7B752FD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDAFB76F675E5E5E5E5E5E676FB7A5FDFDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F79BFDFDFDFD
+ FDFDA4F7A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDF7F79BFDFDFDFDFDFDA407A3FDFDFDFDFDFDFD
+ 0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDF7F79BFDFDFDFDFDFDA407A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F7A4FDFDFDFDFDFDF707
+ A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDF707A49AFDFDFDFDA30707A3FDFDFDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F6A4
+ A49B9A9AA3A407079AFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F6F7F7A4A4F70707A3FDFDFDFD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDF7F6F6F6F6F607A3FDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7A3A3A3
+ A3A3FDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ 0000}
+ Log.WindowCaption = 'Seguran'#231'a'
+ Log.LabelDescription = 'Log do Sistema'
+ Log.LabelUser = 'Usu'#225'rio :'
+ Log.LabelDate = 'Data :'
+ Log.LabelLevel = 'N'#237'vel m'#237'nimo : '
+ Log.ColLevel = 'N'#237'vel'
+ Log.ColMessage = 'Mensagem'
+ Log.ColUser = 'Usu'#225'rio'
+ Log.ColDate = 'Data'
+ Log.BtFilter = '&Aplicar Filtro'
+ Log.BtDelete = '&Excluir Log'
+ Log.PromptDelete = 'Confirma excluir todos os registros de log selecionados ?'
+ Log.BtClose = '&Fechar'
+ UsersForm.WindowCaption = 'Seguran'#231'a'
+ UsersForm.LabelDescription = 'Cadastro de Usu'#225'rios'
+ UsersForm.ColName = 'Nome'
+ UsersForm.ColLogin = 'Login'
+ UsersForm.ColEmail = 'Email'
+ UsersForm.BtAdd = '&Adicionar'
+ UsersForm.BtChange = 'A<erar'
+ UsersForm.BtDelete = '&Excluir'
+ UsersForm.PromptDelete = 'Confirma excluir o usu'#225'rio "%s" ?'
+ UsersForm.BtRights = 'A&cessos'
+ UsersForm.BtPassword = '&Senha'
+ UsersForm.BtClose = '&Fechar'
+ AddChangeUser.WindowCaption = 'Cadastro de Usu'#225'rios'
+ AddChangeUser.LabelAdd = 'Adicionar Usu'#225'rio'
+ AddChangeUser.LabelChange = 'Alterar Usu'#225'rio'
+ AddChangeUser.LabelName = 'Nome : '
+ AddChangeUser.LabelLogin = 'Login : '
+ AddChangeUser.LabelEmail = 'Email : '
+ AddChangeUser.CheckPrivileged = 'Usu'#225'rio privilegiado'
+ AddChangeUser.BtSave = '&Gravar'
+ AddChangeUser.BtCancel = 'Cancelar'
+ AddChangeProfile.WindowCaption = 'Perfil de Usu'#225'rios'
+ AddChangeProfile.LabelAdd = 'Adicionar Perfil'
+ AddChangeProfile.LabelChange = 'Alterar Perfil'
+ AddChangeProfile.LabelName = 'Descri'#231#227'o : '
+ AddChangeProfile.BtSave = '&Gravar'
+ AddChangeProfile.BtCancel = 'Cancelar'
+ UsersProfile.WindowCaption = 'Seguran'#231'a'
+ UsersProfile.LabelDescription = 'Perfil de Usu'#225'rios'
+ UsersProfile.ColProfile = 'Perfil'
+ UsersProfile.BtAdd = '&Adicionar'
+ UsersProfile.BtChange = 'A<erar'
+ UsersProfile.BtDelete = '&Excluir'
+ UsersProfile.BtRights = 'A&cessos'
+ UsersProfile.PromptDelete = 'Existem usu'#225'rios com o perfil "%s". Confirma excluir?'
+ UsersProfile.BtClose = '&Fechar'
+ Rights.WindowCaption = 'Seguran'#231'a'
+ Rights.LabelUser = 'Permiss'#245'es do Usu'#225'rio : '
+ Rights.LabelProfile = 'Permiss'#245'es do Perfil : '
+ Rights.PageMenu = 'Itens do Menu'
+ Rights.PageActions = 'A'#231#245'es'
+ Rights.BtUnlock = '&Liberar'
+ Rights.BtLock = '&Bloquear'
+ Rights.BtSave = '&Gravar'
+ Rights.BtCancel = '&Cancelar'
+ ChangePassword.WindowCaption = 'Seguran'#231'a'
+ ChangePassword.LabelDescription = 'Trocar Senha'
+ ChangePassword.LabelCurrentPassword = 'Senha Atual :'
+ ChangePassword.LabelNewPassword = 'Nova Senha : '
+ ChangePassword.LabelConfirm = 'Confirma'#231#227'o : '
+ ChangePassword.BtSave = '&Gravar'
+ ChangePassword.BtCancel = 'Cancelar'
+ ResetPassword.WindowCaption = 'Definir senha do usu'#225'rio : "%s"'
+ ResetPassword.LabelPassword = 'Senha : '
+ XPStyleSet.DimLevel = 30
+ XPStyleSet.GrayLevel = 10
+ XPStyleSet.Font.Charset = ANSI_CHARSET
+ XPStyleSet.Font.Color = clMenuText
+ XPStyleSet.Font.Height = -11
+ XPStyleSet.Font.Name = 'Tahoma'
+ XPStyleSet.Font.Style = []
+ XPStyleSet.Color = clBtnFace
+ XPStyleSet.IconBackColor = clBtnFace
+ XPStyleSet.MenuBarColor = clBtnFace
+ XPStyleSet.SelectColor = clHighlight
+ XPStyleSet.SelectBorderColor = clHighlight
+ XPStyleSet.SelectFontColor = clMenuText
+ XPStyleSet.DisabledColor = clInactiveCaption
+ XPStyleSet.SeparatorColor = clBtnFace
+ XPStyleSet.CheckedColor = clHighlight
+ XPStyleSet.IconWidth = 24
+ XPStyleSet.DrawSelect = True
+ XPStyleSet.UseSystemColors = True
+ XPStyleSet.OverrideOwnerDraw = False
+ XPStyleSet.Gradient = False
+ XPStyleSet.FlatMenu = False
+ XPStyleSet.AutoDetect = False
+ XPStyleSet.BitBtnColor = clBtnFace
+ XPStyle = True
+ Left = 56
+ Top = 128
+ end
+ object UCXPStyle1: TUCXPStyle
+ Active = True
+ XPSettings.DimLevel = 30
+ XPSettings.GrayLevel = 10
+ XPSettings.Font.Charset = ANSI_CHARSET
+ XPSettings.Font.Color = clMenuText
+ XPSettings.Font.Height = -11
+ XPSettings.Font.Name = 'Tahoma'
+ XPSettings.Font.Style = []
+ XPSettings.Color = clBtnFace
+ XPSettings.IconBackColor = clBtnFace
+ XPSettings.MenuBarColor = clBtnFace
+ XPSettings.SelectColor = clHighlight
+ XPSettings.SelectBorderColor = clHighlight
+ XPSettings.SelectFontColor = clMenuText
+ XPSettings.DisabledColor = clInactiveCaption
+ XPSettings.SeparatorColor = clBtnFace
+ XPSettings.CheckedColor = clHighlight
+ XPSettings.IconWidth = 24
+ XPSettings.DrawSelect = True
+ XPSettings.UseSystemColors = True
+ XPSettings.OverrideOwnerDraw = False
+ XPSettings.Gradient = False
+ XPSettings.FlatMenu = False
+ XPSettings.AutoDetect = False
+ XPSettings.BitBtnColor = clBtnFace
+ UCSettings = UCSettings1
+ Left = 88
+ Top = 128
+ end
+ object UCDBISAMConn1: TUCDBISAMConn
+ Connection = DBISAMDatabase1
+ Left = 88
+ Top = 88
+ end
+ object DBISAMDatabase1: TDBISAMDatabase
+ EngineVersion = '4.14'
+ DatabaseName = 'dbisamdemo'
+ RemoteDatabase = '127.0.0.1'
+ SessionName = 'Default'
+ Left = 56
+ Top = 88
+ end
+end
diff --git a/official/2.20/Demos/1 Basic All Data Access/DBISAM/Unit1.pas b/official/2.20/Demos/1 Basic All Data Access/DBISAM/Unit1.pas
new file mode 100644
index 0000000..2320da5
--- /dev/null
+++ b/official/2.20/Demos/1 Basic All Data Access/DBISAM/Unit1.pas
@@ -0,0 +1,88 @@
+unit Unit1;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, DB, Menus, UCBase, StdCtrls, Buttons, dbisamtb, UCDBISAMConn;
+
+type
+ TForm1 = class(TForm)
+ UserControl1: TUserControl;
+ MainMenu1: TMainMenu;
+ Arquivo1: TMenuItem;
+ Abrir1: TMenuItem;
+ Salvar1: TMenuItem;
+ Salvar2: TMenuItem;
+ Salvarcomo1: TMenuItem;
+ Fechar1: TMenuItem;
+ N2: TMenuItem;
+ Dados1: TMenuItem;
+ Importar1: TMenuItem;
+ Exportar1: TMenuItem;
+ N4: TMenuItem;
+ Vincular1: TMenuItem;
+ N3: TMenuItem;
+ Sair2: TMenuItem;
+ Editar1: TMenuItem;
+ Copiar1: TMenuItem;
+ Colar1: TMenuItem;
+ Recortar1: TMenuItem;
+ N1: TMenuItem;
+ Selecionartudo1: TMenuItem;
+ N5: TMenuItem;
+ AreadeTransferencia1: TMenuItem;
+ Exibir2: TMenuItem;
+ Esvaziar1: TMenuItem;
+ Exibir1: TMenuItem;
+ Zoom1: TMenuItem;
+ Normal1: TMenuItem;
+ Grande1: TMenuItem;
+ Ajustarnajanela1: TMenuItem;
+ N6: TMenuItem;
+ Personalizar1: TMenuItem;
+ amanhonormal1: TMenuItem;
+ elacheia1: TMenuItem;
+ Relatorios1: TMenuItem;
+ Relatorio11: TMenuItem;
+ Relatorio21: TMenuItem;
+ Relatorio31: TMenuItem;
+ Relatorio41: TMenuItem;
+ Segurana1: TMenuItem;
+ Cadastrodeusuarios1: TMenuItem;
+ Perfildeusurios1: TMenuItem;
+ logdosistema: TMenuItem;
+ N7: TMenuItem;
+ rocarsenha1: TMenuItem;
+ EfetuarLogoff1: TMenuItem;
+ UCSettings1: TUCSettings;
+ UCXPStyle1: TUCXPStyle;
+ UCDBISAMConn1: TUCDBISAMConn;
+ DBISAMDatabase1: TDBISAMDatabase;
+ procedure FormCreate(Sender: TObject);
+ procedure EfetuarLogoff1Click(Sender: TObject);
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ Form1: TForm1;
+
+implementation
+
+{$R *.dfm}
+
+procedure TForm1.FormCreate(Sender: TObject);
+begin
+ DBISAMDatabase1.Directory := ExtractFilePath(Application.ExeName);
+ DBISAMDatabase1.Connected := True;
+end;
+
+procedure TForm1.EfetuarLogoff1Click(Sender: TObject);
+begin
+ UserControl1.Logoff;
+end;
+
+end.
diff --git a/official/2.20/Demos/1 Basic All Data Access/DBX/Project1.dpr b/official/2.20/Demos/1 Basic All Data Access/DBX/Project1.dpr
new file mode 100644
index 0000000..08b344c
--- /dev/null
+++ b/official/2.20/Demos/1 Basic All Data Access/DBX/Project1.dpr
@@ -0,0 +1,13 @@
+program Project1;
+
+uses
+ Forms,
+ Unit1 in 'Unit1.pas' {Form1};
+
+{$R *.res}
+
+begin
+ Application.Initialize;
+ Application.CreateForm(TForm1, Form1);
+ Application.Run;
+end.
diff --git a/official/2.20/Demos/1 Basic All Data Access/DBX/Project1.res b/official/2.20/Demos/1 Basic All Data Access/DBX/Project1.res
new file mode 100644
index 0000000..03109fc
Binary files /dev/null and b/official/2.20/Demos/1 Basic All Data Access/DBX/Project1.res differ
diff --git a/official/2.20/Demos/1 Basic All Data Access/DBX/Unit1.dfm b/official/2.20/Demos/1 Basic All Data Access/DBX/Unit1.dfm
new file mode 100644
index 0000000..439ba7d
--- /dev/null
+++ b/official/2.20/Demos/1 Basic All Data Access/DBX/Unit1.dfm
@@ -0,0 +1,1472 @@
+object Form1: TForm1
+ Left = 170
+ Top = 180
+ Width = 610
+ Height = 350
+ Caption = 'User Control - DBX Basic Demo'
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ Menu = MainMenu1
+ OldCreateOrder = False
+ OnCreate = FormCreate
+ PixelsPerInch = 96
+ TextHeight = 13
+ object UserControl1: TUserControl
+ AutoStart = True
+ ApplicationID = 'IBXBasic'
+ ControlRight.MainMenu = MainMenu1
+ UsersForm.MenuItem = Cadastrodeusuarios1
+ UsersForm.UsePrivilegedField = False
+ UsersForm.ProtectAdmin = True
+ EncryptKey = 0
+ NotAllowedItems.MenuVisible = True
+ NotAllowedItems.ActionVisible = True
+ Login.AutoLogon.Active = False
+ Login.AutoLogon.MessageOnError = False
+ Login.InitialLogin.User = 'Admin'
+ Login.InitialLogin.Email = 'qmd@usercontrol.com.br'
+ Login.InitialLogin.Password = '#delphi'
+ Login.MaxLoginAttempts = 0
+ Login.GetLoginName = lnNone
+ LogControl.Active = True
+ LogControl.TableLog = 'DBXBCLog'
+ LogControl.MenuItem = logdosistema
+ ExtraRight = <>
+ LoginMode = lmActive
+ UsersProfile.Active = True
+ UsersProfile.MenuItem = Perfildeusurios1
+ TableUsers.FieldUserID = 'UCIdUser'
+ TableUsers.FieldUserName = 'UCUserName'
+ TableUsers.FieldLogin = 'UCLogin'
+ TableUsers.FieldPassword = 'UCPassword'
+ TableUsers.FieldEmail = 'UCEmail'
+ TableUsers.FieldPrivileged = 'UCPrivileged'
+ TableUsers.FieldTypeRec = 'UCTypeRec'
+ TableUsers.FieldProfile = 'UCProfile'
+ TableUsers.FieldKey = 'UCKey'
+ TableUsers.TableName = 'DBXBCTabUsers'
+ TableRights.FieldUserID = 'UCIdUser'
+ TableRights.FieldModule = 'UCModule'
+ TableRights.FieldComponentName = 'UCCompName'
+ TableRights.FieldFormName = 'UCFormName'
+ TableRights.FieldKey = 'UCKey'
+ TableRights.TableName = 'DBXBCTabRights'
+ ChangePasswordForm.MenuItem = rocarsenha1
+ ChangePasswordForm.ForcePassword = False
+ ChangePasswordForm.MinPasswordLength = 0
+ DataConnector = UCDBXConn1
+ Left = 120
+ Top = 88
+ end
+ object MainMenu1: TMainMenu
+ AutoHotkeys = maManual
+ OwnerDraw = True
+ Left = 56
+ Top = 56
+ object Arquivo1: TMenuItem
+ Caption = 'Arquivo'
+ object Abrir1: TMenuItem
+ Caption = 'Abrir'
+ end
+ object Salvar1: TMenuItem
+ Caption = '-'
+ end
+ object Salvar2: TMenuItem
+ Caption = 'Salvar'
+ end
+ object Salvarcomo1: TMenuItem
+ Caption = 'Salvar como...'
+ end
+ object Fechar1: TMenuItem
+ Caption = 'Fechar'
+ end
+ object N2: TMenuItem
+ Caption = '-'
+ end
+ object Dados1: TMenuItem
+ Caption = 'Dados'
+ object Importar1: TMenuItem
+ Caption = 'Importar'
+ end
+ object Exportar1: TMenuItem
+ Caption = 'Exportar'
+ end
+ object N4: TMenuItem
+ Caption = '-'
+ end
+ object Vincular1: TMenuItem
+ Caption = 'Vincular'
+ end
+ end
+ object N3: TMenuItem
+ Caption = '-'
+ end
+ object Sair2: TMenuItem
+ Caption = 'Sair'
+ end
+ end
+ object Editar1: TMenuItem
+ Caption = 'Editar'
+ object Copiar1: TMenuItem
+ Caption = 'Copiar'
+ end
+ object Colar1: TMenuItem
+ Caption = 'Colar'
+ end
+ object Recortar1: TMenuItem
+ Caption = 'Recortar'
+ end
+ object N1: TMenuItem
+ Caption = '-'
+ end
+ object Selecionartudo1: TMenuItem
+ Caption = 'Selecionar tudo'
+ end
+ object N5: TMenuItem
+ Caption = '-'
+ end
+ object AreadeTransferencia1: TMenuItem
+ Caption = 'Area de Transferencia'
+ object Exibir2: TMenuItem
+ Caption = 'Exibir'
+ end
+ object Esvaziar1: TMenuItem
+ Caption = 'Esvaziar'
+ end
+ end
+ end
+ object Exibir1: TMenuItem
+ Caption = 'Exibir'
+ object Zoom1: TMenuItem
+ Caption = 'Zoom...'
+ object Normal1: TMenuItem
+ Caption = 'Normal'
+ Checked = True
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object Grande1: TMenuItem
+ Caption = 'Grande'
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object Ajustarnajanela1: TMenuItem
+ Caption = 'Ajustar na janela'
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object N6: TMenuItem
+ Caption = '-'
+ GroupIndex = 1
+ end
+ object Personalizar1: TMenuItem
+ Caption = 'Personalizar'
+ GroupIndex = 1
+ end
+ end
+ object amanhonormal1: TMenuItem
+ Caption = 'Tamanho normal'
+ end
+ object elacheia1: TMenuItem
+ Caption = 'Tela cheia'
+ end
+ end
+ object Relatorios1: TMenuItem
+ Caption = 'Relatorios'
+ object Relatorio11: TMenuItem
+ Caption = 'Relatorio 1'
+ end
+ object Relatorio21: TMenuItem
+ Caption = 'Relatorio 2'
+ end
+ object Relatorio31: TMenuItem
+ Caption = 'Relatorio 3'
+ end
+ object Relatorio41: TMenuItem
+ Caption = 'Relatorio 4'
+ end
+ end
+ object Segurana1: TMenuItem
+ Caption = 'Seguran'#231'a'
+ object Cadastrodeusuarios1: TMenuItem
+ Caption = 'Cadastro de usuarios'
+ end
+ object Perfildeusurios1: TMenuItem
+ Caption = 'Perfil de usuarios'
+ end
+ object logdosistema: TMenuItem
+ Caption = 'Log do Sistema'
+ end
+ object N7: TMenuItem
+ Caption = '-'
+ end
+ object rocarsenha1: TMenuItem
+ Caption = 'Trocar senha'
+ end
+ object EfetuarLogoff1: TMenuItem
+ Caption = 'Efetuar Logoff'
+ OnClick = EfetuarLogoff1Click
+ end
+ end
+ end
+ object UCSettings1: TUCSettings
+ AppMessages.MsgsForm_BtNew = '&Nova Mensagem'
+ AppMessages.MsgsForm_BtReplay = '&Responder'
+ AppMessages.MsgsForm_BtForward = 'E&ncaminhar'
+ AppMessages.MsgsForm_BtDelete = '&Excluir'
+ AppMessages.MsgsForm_WindowCaption = 'Mensagens do Sistema'
+ AppMessages.MsgsForm_ColFrom = 'Remetente'
+ AppMessages.MsgsForm_ColSubject = 'Assunto'
+ AppMessages.MsgsForm_ColDate = 'Data'
+ AppMessages.MsgsForm_PromptDelete = 'Confirma excluir as mensagens selecionadas ?'
+ AppMessages.MsgRec_BtClose = '&Fechar'
+ AppMessages.MsgRec_WindowCaption = 'Mensagem'
+ AppMessages.MsgRec_Title = 'Mensagem Recebida'
+ AppMessages.MsgRec_LabelFrom = 'De :'
+ AppMessages.MsgRec_LabelDate = 'Date'
+ AppMessages.MsgRec_LabelSubject = 'Assunto'
+ AppMessages.MsgRec_LabelMessage = 'Mensagem'
+ AppMessages.MsgSend_BtSend = '&Enviar'
+ AppMessages.MsgSend_BtCancel = '&Cancelar'
+ AppMessages.MsgSend_WindowCaption = 'Mensagem'
+ AppMessages.MsgSend_Title = 'Enviar Nova Mensagem'
+ AppMessages.MsgSend_GroupTo = 'Para'
+ AppMessages.MsgSend_RadioUser = 'Usu'#225'rio :'
+ AppMessages.MsgSend_RadioAll = 'Todos'
+ AppMessages.MsgSend_GroupMessage = 'Mensagem'
+ CommonMessages.AutoLogonError = 'Falha de Auto Logon!'#13#10'Informe um usu'#225'rio e senha v'#225'lidos.'
+ CommonMessages.ChangePasswordError.InvalidCurrentPassword = 'Senha Atual n'#227'o confere!'
+ CommonMessages.ChangePasswordError.NewPasswordError = 'Os campos: Nova Senha e Confirma'#231#227'o devem ser iguais.'
+ CommonMessages.ChangePasswordError.NewEqualCurrent = 'Nova senha igual a senha atual'
+ CommonMessages.ChangePasswordError.PasswordRequired = 'A Senha '#233' obrigat'#243'ria'
+ CommonMessages.ChangePasswordError.MinPasswordLength = 'A senha deve conter no m'#237'nimo %d caracteres'
+ CommonMessages.ChangePasswordError.InvalidNewPassword = 'Proibido utilizar senhas obvias!'
+ CommonMessages.InvalidLogin = 'Usu'#225'rio ou Senha inv'#225'lidos!'
+ CommonMessages.InitialMessage.Strings = (
+ 'ATEN'#199#195'O Login Inicial:'
+ ''
+ 'Usu'#225'rio : :user'
+ 'Senha : :password'
+ ''
+ 'Defina as permiss'#245'es para este usu'#225'rio.')
+ CommonMessages.MaxLoginAttemptsError =
+ '%d Tentativas de login inv'#225'lido. Por motivos de segun'#231'a o '#13#10'sist' +
+ 'ema ser'#225' fechado.'
+ CommonMessages.PasswordChanged = 'Senha alterada com sucesso!'
+ CommonMessages.BlankPassword = 'Retirada senha do Login %s'
+ Login.WindowCaption = 'Login'
+ Login.LabelUser = 'Usu'#225'rio '
+ Login.LabelPassword = 'Senha : '
+ Login.BtOk = 'OK'
+ Login.BtCancel = '&Cancelar'
+ Login.TopImage.Data = {
+ 07544269746D6170B6790000424DB67900000000000036040000280000007601
+ 0000500000000100080000000000807500000000000000000000000100000000
+ 00009BB5D8007493BA00ACC2E000BBBBBB00CBD9EB007D9BC20051719900F6F8
+ FB00F2F5FA0095B0D500FCFDFE00EDF2F800A7B6BC0055759D00F8FAFC00B1C5
+ E1005979A10089A8D200CDD5D9003E5E88004D7199003D5D8700FAFBFD008888
+ 8800E5ECF500DDE6F200DDDDDD00E2EAF400A5BDDD00405F880042628C0089A6
+ CC008297A0005D7DA500C5D4E900A1B9DA006685AD004569920045679000B4C8
+ E300EEEEEE00BDCEE60099B3D600A9C0DE008BA8CD009EA5B0006181A9006E8D
+ B400D0DCED006989B10099999900809DC40085A2C80044638C00C1D1E8004462
+ 8C008EAACF0091ACD100486890005579A100E7EEF6003E5F890040608A005D82
+ AB00C0CBCF008CAAD400D5E0EF00496C950042618A004A6A93008FACD500D8E3
+ F0004C6C9400D2DEEE007795BD0046668E004E6E960050709700B8CBE400BBCD
+ E500CCCCCC00C8D7EA00648BB2006D93BA0044648E00A2BADB004A6B94009BAC
+ B300708EB5004E6F980085A5CF00DAE4F10058789E0043638D0050759D00506E
+ 9600D6E1EF00F4F7FB00A7BEDE00829FC600FDFEFE0041608B0054749A007A98
+ BF0093AFD600BECFE60044628A00666666004060880086A6D0004C6B92004867
+ 8E00EAEFF700AAAAAA0049688E006C8AB1004D6E940053729A00476690006584
+ AB007290B8005C7CA300333333005F7EA60046648E005A7DA50056779E00E6EA
+ EC0046648C0044444400777777004869920044678E0080A0C900E0E8F3006D8C
+ B3005576A000AAAEB50090ADD5006080A7009EB7DA006486AF00486A93006185
+ AC00F9FAFD004C6A92003C5B85004C6E96006988AF0049699100C6CFDC0093AE
+ D20051729B00597AA30045648B004E6D94004A6992004A6C92004D6D96006786
+ AD00B6BCC40056769E003D5A82003F628B006383A900698DB500555555005A7F
+ A7005B7AA1003A5A8400527399005A7BA200426188004668900039577F007D9F
+ C70047668D00EBF1F8004C6B940087A3CA00405F8600486990004E6D96004C6D
+ 9400222222006287AF0083A3CC00FBFCFD00779BC2004A6A9100D1DDEE005473
+ 9C003C5C87006B8BB20092ADD200D3DFEF00E1E5E900426189006C8BB5008B8F
+ 940045658D005878A00042638B003F5C84005C7BA4001111110084A3CC006183
+ AB00CDD6E1006A8AB3006282AB00808285006787B0006483AC00A5BCDB004061
+ 8A004F5153003E40420043637000FEFEFE0091AED600FEFFFF00758D9600F2F5
+ F5008FA0A900D9E0E200506D7A00EFF4F9005C788300BFD0E700B5C1C60091AE
+ D500E3EBF50069828D00C3D3E900D2DDEE0097B2D700DFE7F300F7F9FC00A3BB
+ DC006F8FB7007B7E830094AFD3007998C1002F3032007396BE00909296008FAB
+ D000686C7100A4BBDA00D2D9E400D9DEE600FEFEFF0088A7D20000000000FFFF
+ FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCFCFCFCFCFCFC
+ FCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB6464640A0A0A0ABBBBBBBBBB16
+ 16160E0E0EEEEEEE07EE0707616161070761070707EEEEEEEEEE90161616BB16
+ BB0ABB0A0A0A0ADB64646464DBDB64FCFFFCDBDB64DBDB0A640A0A0A0ABBBBBB
+ 16160EEEEE07610808E30BB1703C18E886195B47424930045122EA36294F4E27
+ 0F0F0F022B621CEF55558C8C000000ECECECECEC68096868DCDCDC8A8A8A8A8A
+ 8A46464646464646464646464646464646464646464646464646464646464646
+ 4646464646464646464646464646464646464646464646464646464646464646
+ 4646464646464646464646464646464646464646464646EC0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFC
+ FCFCFCDBDBDBDBDBDBDBDBDB64DB640A0A0A0A0ABBBBBBBB16161616160E0EEE
+ EE07EEEEEEEE6107070707EEEEEEEE0E0E0E0E161616BBBBBB0A0A0ADB0A6464
+ DBDBFCDBDBFCFCFFFFDBFCDDDBFCDBDB64640A0A0A0A0ABBBB16900EEE076108
+ 08E30BB1703C181B86195B4742BE3004512236694F4E27270F022B2B1CEF238C
+ 8C0000ECECEC09688A8A46464646414141111111111111111111FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCDB
+ DBDBDBDBDBDBDB6464640A0A0A0ABBBBBBBBBB161616160E0EEE0E0EEEEEEEEE
+ EEEEEEEEEE0E0E16901616BB16BBBB0A0A0A0A0A64DBDBFCFCDBFCFCFCFCFCFF
+ FFFCFCFFDDFFFCFCFCFF0A640A0A0ABB0A1616900EEE07070808E30BB1703C18
+ 1B1B195B604230040422EAE5294F4E270F02022B1C1C558C8C0000ECEC6868DC
+ DCE78A464646414141414111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCDBDBDBDBDBDB
+ DBDB64640A640A0A0ABBBBBB161616160E0E160E0E0E0E90EE0E0E9090901616
+ 161616BBBBBB0A0A640A0A64FCFCFCFCFCFFFFFCFFDDFFFCFCFFFFFFFCFFFCFF
+ FCDBFCDBDB0A0A0A0ABBBB16160E0EEE616108E30BB1703CE81BED5B47604930
+ 04512236E54F4E270F0F022B621CEF238C8C00ECECEC6809DCDC8A4646464641
+ 4141114111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB640A0A
+ 0A0A0ABBBBBBBB1616161616160E0E169090161616161616BBBBBBBB0ABB0A0A
+ 640A64DBDBFCFCDBFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFCFCFCFCFFFCFC0A0A
+ 0A0ABB1616160EEE07610808E30BB13C3C1B86195B4742BE3004222236294E27
+ 270F0F022B1CEF558C8C8C00ECECEC68DCE7DC8A464641414141411111111111
+ FD11FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB64640A0A0A0ABBBBBB
+ BBBBBB1616161616161616161616BBBB0ABB0A0A0A0A0A64FC64DBFCFCFCDDFC
+ FFDDFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFDDFCFFFCDDDB64640ABBBBBB160E0E
+ EE076108E30BB1703C181BED194760493004512236E54F4E270F0F022B621C55
+ 238C8C00ECECEC096868E7464646414141414111111111111111FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FCFFFFFCFCFCFCFCFCFCDBDBDBDBDBDB64640A0A0A0A0ABBBBBBBBBBBBBBBB16
+ BBBBBBBBBBBB0ABB0A0A0A0A640ADBDB64FCFCDBFCDDDDFCFFDDFFDDFFFFFFFF
+ FFFFFFFFFFDDFFFFFFDDFFFCFFFCDBDB64640ABBBBBB16900EEE070808E30B70
+ 703CE81B195B4742BE300451EAE5294F27270F022B2B1CEF558C8C0000ECECEC
+ 68DC8A8A464646464141414111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFCFC
+ FCFCFCFCFCDBDBDBDBDBDB64640A0A0A0ABBBBBBBBBBBBBBBBBB0ABBBB0A0A0A
+ 0A0A0A0A646464DBFCFCDDDBDBFCDDFCFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDBDB640A0ABBBBBB16900E07070808E3B1703C181BED194760
+ 493004512236694F4E270F02022B1C1C55238C00ECECECEC6809DC8A8A464641
+ 414141411111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFFFCFCFCDBFCFCDB
+ DBDBDBDBDB64640A0A0A0A0A0ABBBBBBBB0A0A0A0A0A0A0A0A0A0A64DBDBDBDB
+ DBFFFFDDDDDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFC
+ FC64640A0ABBBB16160EEE070808E30BB1703CE81BED5B4742BE300422EAE529
+ 4E27270F022B621C55238C8C00ECECEC0909DCE78A4646414641414111111111
+ 1111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCDBDBDBDBDBDB6464
+ 640A0A0A0A0ABBBBBB6464640A0A0A6464DB0ADB64DBDBFCFFFFFFDDDDFFFFFF
+ DDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFFDDDBFC640ABBBB16
+ BB0E0EEE070808E30B703C181B86194760C33004512236694F4E270F02022B1C
+ 1C55238C0000ECEC0968E7E78A8A41464141414141111111111111FDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A
+ 0A0A6464640A0A6464DBDBDBFCDBDBFCFCFFFFDDDDFFDDFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFCFCFC64640ABB16160EEE076108E3
+ 0BB1703CE81B195B47423004042236E54F4E270F02022B621C55238C00000909
+ C239382C1FCE85AF3305F3F5015353F5AF8585BC53B93F3F3FA7993B885E5E98
+ 98981414438E599E434343145E5E98593F52B9A7251E3D3D653E3E3E3E3E3ED7
+ 1E1E1E5D545D5DCA3E1E1E3B3B5DD7C03ED7A38E434354A365D7D76565D7D765
+ 6513153E3EC092AE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A6464646464
+ FCFCFCFCFCDBDBFCFCFFFFFFFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFCFCFCDB0A0A0ABB16160EEE070808E3B1703C181BED19
+ 4760BE3004512236694E270F0F022B621C558C00EC0997381F1F346333670101
+ F02F318DCF2EA7A78F52A5B97D14934393438E258E568E8E8E8E254325251459
+ 1414143B3FB93FA75E5E5E5E93985943438E8E25252525252676767683838326
+ 6554267DA78E263E3E3D15A33DA33D3E3D3D3D3D3D3D3D3D3E133D1E1E1592AE
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCFCFCFCDBDBDBDBDBDBDBDBDB646464646464FCFC6464FC64FCFCFCFCFCFCDB
+ FCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFF
+ FFFFFCFC64640A0ABBBB160E0E07610808E3B1703CE81B195B60C3BE04512236
+ 694F4E270F022B62D6558C002AF297382CB3633367677858319FA42E7BA8A87B
+ 21C9660648B5B53A4B4B8035CA6A6AC5353E1D1D3E1D3E1ECA268E883B3B4325
+ 26262654542626262626262626252525562543255EA77D5E2525262626262626
+ 252626262654262554252525431443255D1E2606433DA9A90000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE11212FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFF1212E1FFFFFFFFFFFFFFFFFF1212E1FFFFFFFFFF
+ FFFFFFFFDF121212FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE11212
+ E1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBFCFC
+ DBDBDBDBDB64646464646464FCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFF
+ DDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFDDFCFCFCFC0A0A
+ BBBB16160EEE610808E30B703C181BED194742BE300422EAE54F4E270F0F022B
+ 1C5523002A09C2382CB36333674A0158879F9F2E7B5CA10D21A1064D48BDBD72
+ 809A3535C56C6C6C13131D44441D1D3E1D1ECA438E263D3D3D3D3D1313131313
+ 3D131313133D3D3D3D3DA3A3435E435DA33E3D3D3D3E3E3EA33EA3A3A3D7A354
+ 5426268E5E88592665D75D765D3D15A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE120DADADADADAE940FFFFFF12DADA0C
+ FFFFFFFFFFFF0CDADADADADADADADEFFFFDADA12FFFFFFFF0CDADADAFFFFFFFF
+ FFFFE0DADADADAE440FFFFFFFF40E9DADADADADA20E1FFFFFFFF12DEDADADADA
+ DADE12FFFFFFDADADEFFFF7FDADADEFFFFFFDFE0E2DADADADADEFF12DADADADA
+ DADADADAFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB
+ DBDBDBDBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFC64646464BBBB160EEEEE61
+ 08E30BB1703CE886194760493004512236294E270F0F022B62D6238C2A09F239
+ 381F6333054A0158879F772E7B5C5CA1210D4C9B91726F6FC8C83535CA6AC5C5
+ 1D6C6C1DB41D6C6C1D3E5D4354A33D1E653E3E1D3D3D3D3D1313131313131313
+ 15133D3D8E14263D3D1315C015151515C0C0151313133DD7151315A343935492
+ 133D3DC0C0133DA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFE6E2DADAE00C57E4DADAE0FFFF7FDADA0CFFFFFFFFFFFF0CDA
+ DAE9DEDEDEDE57FFFFDEDA12FFFFFF7FDADADADAFFFFFFFFFFFFDADE0C0CE4DA
+ DA7FFFFF57DADAE2570CE0E2DADAE6FFFF12DADADA200CE0DADADA40FFFFE4DA
+ DEFFFF0CDADAE1FFFFE1E2DADA200C0CE0E4FF12DADAE4DEDEDEDEDEFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFDDFCFFFCFC6464640A64BB16160EEE070808E3B1703C181B
+ ED5B47C33004512236694F4E270F022B62EF238C0009F239381FB36305674A58
+ 2F9F772E21A1100D21BF5F9B9B91BD6FC8C83535CA6A6AC56A35441D1D1D6C1D
+ 15C0359E5DD71D441D1D1D131313131313131515151515151313C01526595465
+ 653E131515151515C0C0C0C0C0C0C0159215C0151E5D3E13C015C0A9921515AE
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FE2
+ DAE97FFFFFFFFFE0DADA40FFFFDADA0CFFFFFFFFFFFF0CDADAE6FFFFFFFFFFFF
+ FFDEDA12FFFFFFDEDADADADAFFFFFFFFFFFFDFFFFFFFDFDADA0CFF40DADAE0DF
+ FFFFFFDFE9DAE27FFF20DADA0CFFFFFF12DADADEFFFFDEDADEFFFFE4DAE0FFFF
+ FFE9DAE2E1FFFFFFFFFFFF12DADAE0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFCFCFCFCFCFCFCFCDBFCDBDBFCDBFFFFFCFCFCFCFCFCFCFFFF
+ FFFFFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFCFCFCFCFC64640ABBBB160EEE076108E30B703C181B86194742BE300422
+ EAE54F4E270F0202621C558C8C2A099739382CB3343333674A78589477A85C75
+ CC754D4D0606065F4D4D4D4C4C4C4C4C9191919191913AC83792449E3E151D13
+ 1D1D1D1D1D1D1D1D1D1D1D13131313151D13C092764565653E13131513131313
+ 131315151515C092921315C03D651E5415C092C0151592AE0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0CDADA7FFFFFFFFFFFFF
+ DEDAE4FFFFDADA0CFFFFFFFFFFFF12DADA0CFFFFFFFFFFFFFFDEDA0CFFFF40DA
+ DA0CDADAFFFFFFFFFFFFFFFFFFFF40DADAE6FF20DAE4FFFFFFFFFFFFDFE2DAE0
+ FFDEDADADFFFFFFFFFE4DADAFFFFDEDADEFFE6DAE2DFFFFFE1DADAE6FFFFFFFF
+ FFFFFFFFDADADEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFCFCFCFCFFFCFCFCFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFFFFFCFC6464
+ 640A0ABB160E0EEE070808E3B1703C1B86195B6049300451EA36694E270F0202
+ 2B1C55238C2A09F2C2382CB3346305674A4A017873A4C975CCBF4D0D0D667506
+ 4C4C4C9B4C4C9B4C064D9B9B4C9B4C4C9B131E593E1D373735353535357C7C4B
+ 54545454543535353737543EB69C1D1D3E1D13133E6565653E3E3E3E3E653E1D
+ 131392C03D3E13133DC092151315C0A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFDEDAE9FFFFFFFFFFFFFF0CDADA7FFFDADA0C
+ E1127FFFFFFF12DADAE012121212DFFFFFE0DA0CFFDFE4DA20E1DADAFFFFFFFF
+ FFFFFFFFFFE6DADAE9FFFFDADA57FFFFFFFFFFFFFF20DAE4FFDEDADAFFFFFFFF
+ FFDEDADAFFFFDEDADEFFE4DA0CFFFFFF0CDADADFFFFFFFFFFFFFFFFFDADAE912
+ 1212127FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFC
+ FCFCFCFCFCFCFFFFFCFFFCFFFFFCFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCDDFCFCFC64640A0ABB1616EEEE
+ 076108E3B1703C181BED5B60423004512236294E4E270F022B62EF2300002AF2
+ 97382C1FB33405336767582F8794C9BF210D98A10D755F744D4D4C4C4D4C4D4D
+ 4C48489B48B5BD4C06131E593D1D767C353535359A8080C854547C7C7C545435
+ 3735833E984BCBCB1E1E65651E1E1E1E651E1E1E1E5D3765371E3D3D1E3E9292
+ 3E15C013131513A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFDEDADEFFFFFFFFFFFFFF12DADA12FFDADA0CE2DADAE4E1FF12DA
+ DADADADADADA12FFFF0CDA0CFF0CDAE27FFFDADAE1FFFFFFFFFFFFFF0CDADAE9
+ DFFFFFDADA0CFFFFFFFFFFFFFF0CDADAFFDEDADAFFFFFFFFFFDEDADAFFFF20DA
+ DEE6DADA2012FFFF0CDADAFFFFFFFFFFFFFFFFFFDADADADADADADA0CFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCFCFCFCFFFFFF
+ FFFFFFFCFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFDDFCFFFCFC640A0ABBBBBB16EE076108E30BB13C18
+ 1BED5B4742BE040422EA694F4E270F022B62EF238C002A09C2F7381F1F1F63B3
+ B33401785831C9A121A10DC97EAA4D4C4C4C4C4C4C4C4D4C9B5F7E21104C6E4C
+ 0D444BBF3E1D76809A35CACACACACA355454C8C8C8C85454C8C8483E0D541D13
+ 1E1E653E3E3E3E3D651E1E651E1E1E3E1D1E653D3E139213133E3E13131313A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20DA
+ E4FFFFFFFFFFFFFF12DADA12FFDEDA571240E9DAE2DF12DADADE0C0C0C0C7FFF
+ FF0CDA577FDADA0CFFFFDADA12FFFFFFFFFFFFE0DADAE0DFFFFFFFE2DAE0FFFF
+ FFFFFFFFFF0CDADAFFDEDADAFFFFFFFFFFDEDADAFFFF0CDADEE1120CE2DA57FF
+ 0CDADA7FFFFFFFFFFFFFFFFFDADAE40C0C0C0C12FFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFFFFFFFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFC
+ FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFF
+ FFFFFFDDFCDDFC6464640A0ABBBB160EEE070808E3B1703CE81B194760493004
+ 2236E54F4E270F02022BD6558C000009F239381F1F2C3333676778585873100D
+ 215C66A80D664D5F066E4D4D4D0674AA9B21F031AB484C06BF1E26BF3E133AB0
+ 6F446C9A541E5454353A76C6D1B6767C6F9545CAC9D713151E445D4465443D3E
+ 655D651E4BD5761DCACA351E3E15C0153E15C0133E1315A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6DADA12FFFFFFFFFFFF
+ 57DADADFFFDEDA0CFFFF7FDADAE612DADA0CFFFFFFFFFFFFFF0CDADEDEDAE4FF
+ FFFFDADA12FFFFFFFFFF12DADAE0FFFFFFFFFFE0DAE2DFFFFFFFFFFFFFE9DAE9
+ FF0CDADA12FFFFFFFF0CDADAFFFF0CDADEFFFFFFE6DADA7F7FDADA0CFFFFFFFF
+ FFFFFFFFDADADEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFCFC
+ FC640A0A0ABB160EEE076108E3B1703CE81BED5B60493004512236294E270F02
+ 022B1CEF2300000997C2382CB32CB33463334A7858C1C90D79C9AA1010A87E5C
+ 754C75064D4D744D0D242EB74D4C4C06754426BFD71D953A3AB54BCA543E3A76
+ 9CC875D4213A3A243A9145357ED7131D5D3E3E3E1D13543E1E1E1E3D9EC6BF54
+ 9A35351E3E1515136513C0C0151313A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFDFE2DAE9DFFFFFFFFFE1E2DAE0FFFFDEDA0C
+ FFFFDFDADA0C12DADA0CFFFFFFFFFFFFFF0CDAE2DADA12FFFFFFE4DA12FFFFFF
+ FFFF0CDADAFFFFFFFFFFFF12DADAE0FFFFFFFFFFE6DADAE6FF0CDADA12FFFFFF
+ FF0CDADA12FF0CDADEFFFFFF40DADA12FFDEDADA12FFFFFFFFFFFFFFDADADEFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFC64640A0ABB160E
+ EE076108E30B703C181BED5B47C33004512236294F27270F022B62EF23002A09
+ 09C2382C1F2C386363054A017887A8BF7B10065C5C0DAA66664D66754D064D06
+ AA2E24AA4C4D0D4D063E26BF3E3E9C9CC8B5CA6C76548335443A0DCC45542ED5
+ 95484584BFD7134454831E13761D5D1E5D9265452EC698544BC8351E1D15133E
+ 653E15C0153E3EA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFF12E2DAE40C121257E2DAE2DFFFFFDEDADE0C0CDEDADA4012DA
+ DADE0C0C0C0C0C7FFF40DADADA20FFFFFFFFDEDAE6FFFFFFFFFF40DADA201212
+ 0CE1FFFF0CDADADEE61240E0DADADEFFFF0CDADA12FFFFFFFF0CDADA12FF0CDA
+ E40C0C57E2DADADFFFDFE9DADAE040124057E1FFDADAE40C0C0C0C0C12FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFC640A640ABB1616EE076108080B7070
+ 181B861947423004512236694F27270F022B62D6230000EC0997F72C1FB33834
+ 056701787887CC0D79AB4DAB215C5CA16606AAAA4D4D4D060101F3C1A84C6606
+ 061DAD986C44959C9A95449A7676761E1E567D7D84B7F0069148953A063E1337
+ 5D1E5D13763E443E54C05488D12F983A6FC835441D151D1E3D3E3E133D653EA2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ E1DEDADADADADADADEDFFFFFFFDEDADADADADADAE0FF12DADADADADADADADA12
+ FF12DADADA7FFFFFFFFFDEDA0CFFFFFFFFFFFFE0DADADADADA7FFFFFFF40E4DA
+ DADADADADA57FFFFFF0CDADA12FFFFFFFF0CDADA12FF0CDADADADADADAE2E6FF
+ FFFFDFE0DADADADADADA12FFDADADADADADADADA0CFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ DDFFFFFFFFFFFFFCFCFC640A0ABB16160EEE070808E3B1703CE886194742BE30
+ 042236694F4E270F022B62EF238C00EC09C2F72C1FB3B36367670101782FCC0D
+ 10794D2121A15CAAAAAA4D4D064C4C064D7E797B945C9B4D061D9598131E763A
+ C83A449544541D54C8138806A3AD9826914895569E1D153576924B1E3E5D543E
+ 155D83982E4AD47B6FC81E3E13151D1E3D3E3D13133E3DA20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FE60C0CE67F
+ FFFFFFFFFFE112121212127FFFFFDF1212121212121212DFFFDF1212E1FFFFFF
+ FFFFE1127FFFFFFFFFFFFFFFE10C0C0CE1FFFFFFFFFFFFE10C0C0C40DFFFFFFF
+ FF7F1212DFFFFFFFFF7F1212DFFF7F121212121212FFFFFFFFFFFFFFDF400C0C
+ 0C40DFFF12121212121212127FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
+ FF64640A640ABB160EEE070808E3B1703CE88619476049300451EAE54F4E270F
+ 020262D6558C002A0997F7381FB3343305674A0178C121A15C794D7910667BAA
+ 75790D4DAA4C4C06AA064C6E0D7506AA981D45061335763A4844443A1EB21E76
+ 3A4B764B563A7648919B9593563D157C5D4B5D13441EC01E65541E5476983AC8
+ 6FC81E3E1315134465131515151513A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFCFFFCFC64640A0ABB16
+ 0EEE076108E3B1703CE81B195B4749300451EAE54F4E270F022B2B1C55238C2A
+ 09F239381FB3343305676701782F8BA1C9AB4D211021019F0D2FA4AA66064D06
+ AA4CA1AA4D74664CBF1D43981354769CC8C8D101F0D19E1D3EB2443A453A453A
+ 6E4C9506831D15763D8313831E44541E3D15135D3A761E3A4B8035441D151365
+ 6513131E1E1315CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCDDFFFCDB64640ABB1616EE076108E30B70
+ 3C181BED5B47C330045122E5294E270F02022B1C55238C00099738382CB33463
+ 05674A0178782EA199CC06215C210558A1F32FBF66AA4D4D4C75AA4D5C4D0610
+ BF1D4898134B3A913AC5940D7676C8837C7CA87B3A9C3A486E4C45983A1D1576
+ 3A1376D15DB2C6761E1E5D15765454354B80351E1D15133E3D151E833A65C0A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFDDDDFCFFFCFCFC640A0ABBBB16EEEE6108E30BB170181BED5B474230
+ 0451EA36294E272702022B62558C8C2AEC9739381FB3343305674A01782FD5C9
+ 79A866A8109F874A8DC6F30DA10D4D66AA666666AA06BFA1A11D9EBF549A9C3A
+ 83D7F578787BBDBD5648D4C90DD276833ABF76C94B441D761E769CC65978B67C
+ 54351E5D54545476763A1D761315374465153DD13E1365A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFF
+ FFFCFC64640ABB16160EEE610808E37070181BED5B4742300451EA36694E270F
+ 02022B62EF8C8C002AF239F71F1FB36333054A017858775CAB8B06791078A4C1
+ 0521587779A1A8A85C5C5C5C0DAA66A10D15C999A34B9C3A4B83F0BF5966486E
+ AA4CD198CC109E839C9EADD2C81E443A54139EF3C6785FB695764B4B4B5D5D5D
+ 763AC83A1E445D44156583D41E3E1EA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFFFCFC646464BBBB
+ 160EEE070808E3B1703CE886194742BE04042236694F27270F022B1CD6238C2A
+ 09F2C2381FB3B3633305674A01F024107B2FA1AB7901AB2E0599D42410107966
+ 5C5C5C5C7E0D0DA10DD78F2ECA95569148B6016701774D100D4CD24810065945
+ 595643A5AD54C8953E9EC9CC88C6CC83599EB2B2453A767654358335D7441E3E
+ 135D59995D76B26F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC64DB640ABBBB160EEE070808E3B1
+ 703CE886194742BE30512236694F27270F022B1CEF238C002AF297382C1F3463
+ 3305674A015824A8CF2F7BC9102E0D10C9BF107E66ABAB105C5C5CA8105C5C10
+ BF458F8BAD9D6E6E9E3A065906AA9D0D0DAA0D06BF9806599893143143C8C876
+ 48567DF0317B59594C9E489E48569C9C45959826C8C84B848399F57899454B6A
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFDDFFFFFC64646464BBBB160E0E076108E3B1703CE886194742BE
+ 04042236694F4E270F022B62EF23000009F239382CB3343305674A4A78879F8B
+ 249FCF7E7E0DAA664D754D064D4DB7664D4C4C4D06060606459E0D06B5843A3A
+ 959B48B03A984C934C4D954C9D4D9E4C4343933B43C85454CAD7CA3ACA845426
+ 3A6F6F3A833A3A3A4B26AA8444D7A3D7543D1E44545D37B40000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
+ FFFCFCFC640A0ABB160E0E076108E30B703C181BED5B604930042236694F4E27
+ 0F022B1CEF23002A0939382C1F3433054A0158879FA47B21CCA10DBFB7489195
+ 91726F4856987DC972B09AB06FB0B0B04445C835AD9A9A6FB0356A953A4B4C3B
+ 3A6F9AC84B9A4BC835268326434B544B54CAD7CACA985E43C89ACA9A9A353554
+ 4B9598B76FC89ACA3D5D76B6833E1D6A0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFC64640A0ABB
+ 1616EE070808E3E3B1703CE81B1947C3300422EA694F27270F022B1C5523002A
+ F2C2382C1F3433676701583194778B7BCC5C0D6606065F9B6E6EBD3AC8067B8E
+ 6EB5B0B0B0C880804435CAC5C89A6AB09AB09A80C53599A79572729A6F35C835
+ 1E35C8CA26C8354B6ACA4B1D440D7D8E6FC89A9A35CA1E35C580C83A35C5CA6C
+ 3D767610597613AE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFCFC640A0ABB160EEE0761610808
+ 08E3E3B17018ED4749045136694F4E270F022B1C5523002A0939381F1F343367
+ 677858739FA47BA85C5C0D4C5F9B9191726E72C826563B846E729A9A80356A6A
+ 801D4B356A80AC806A9A6AC8D73D3B8872726F806A806A6A35441E543E354435
+ B01D6FCACAAD7E95B56FC89A9ACACA353580CBC8AC6A4B353D7615BF76541ECB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDDFFFCDDFC0A0A0ABB160EEE07076107EE0E0E0EEE0708B11B
+ 473051EAE54F4E270F022B1C5523002A0939381FB33433674A015873772E8BCC
+ 5C66665F5F4C6F953A72B03ACAB73B546F3A1D806AB4C580B0B46AB46FB46AB4
+ 449A1D4435157D9880B09A8080C5C5C57C15443735351D351D441DCA1E4B0635
+ 6F6F44C8445D1D3E1D443E44541E1DC81E443E4BC81E54CB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
+ FCFFFC6464640ABB160EEE07077F71176B818181170316081B4204EA694F4E27
+ 0F022B1CD623002A0939381FB36333674A0158872F739F777B9F7BA81066A14D
+ 9B483AC815837ECAB43A3A6EC84C6F95484806486E4806483A953A6FC8152193
+ 6CB09A6ACBC5657C44351D5415C854547C541EC8D73A4844CA6FC515A95D3544
+ 1D3A35443E1E44C01E441D351E1D35CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFC6464640ABB
+ BB0EEE070781FEFEFEFEFEFEFEFEA60AE31904EAE54F4E270F022B621CEF8C00
+ EC97381F1F63333305676778788773739424A4249F79C9AB5C5CBF486C43AB84
+ 80064C4C9B5F664C485C065F5C0D6E5F4D4C75064C448F43B46A6F4B959C3AB2
+ 9CB2B29CB6B61D459C6F6F8ECA4C3A1DCACA6C9A4B4B1D1D1EC03A4B153A159C
+ 35441D4413C044A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC640A64BB160EEE0707CDFE7A
+ 82D36BCDFEFEFE17EE1B3022E5294F4E270F0F022BD655002A97381FB3343333
+ 33674A01015887947377247B7B2E218B10ABA806A34899CA954D489BAA48664C
+ 754D75BF064C75A10D454D9806CA8F26CA3548C8B2445D54C8543A359E35483A
+ 954B4593AD0D351D1DCAC56C1D134445761E1D833E3E3E1D351E1D3EC09244A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFCFC64640A0ABBBB160EEE07D312610808E3C4F4FEFEB8
+ 163C495136E5E56969294F4E270262232AF2381FB334333305670505782F8794
+ 942424014A947B7EA8A8CC98D75699A3B5484C0DAA774D669B7506664A78D1C6
+ 779E4C98BF3524841D3A6E541E3A75B676563A563A54F021BD4B45483AA1C51D
+ 6C4BC54410D5BF131D35BF4859D10D5D35353E3E15C044A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFF
+ FCDDFCDBDB64640ABBBB90EE07616161616108E3F6FEFEFEBB70425122220430
+ 604242490436271C0009F71F1F3433330505336301C1C1949F24335831059458
+ 79AB21A1CA437D844B0D0648D4A8F04C0D4CAABFF0F30188787E060DBF268DAD
+ A94CC85676D478884B3A3A8376450DF05F6E489DB598356A6CB0CA6CBF990676
+ 764483D1313A44445D5D3E3E131535A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5003030328FFFFFFFFFFFFFFFF
+ FF5003031AFFFFFFFFFFFFFFFFFF280303031AFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFF1A03030328FFFFFFFFFFFFFFFF28030350FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A030350FFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFF50030328FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A03031AFFFFFFFFFFFFFFFFFFFF
+ FF28030350FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF030303FCFC6464
+ FC0A16EE0761EE1A030316EE12FEFEFE50B1600404428670E68903890B1B0402
+ 23EC381F34343333336767670578873131948B01F301F52E215C990DD73A99CA
+ BD4C064C66F0AB0D740DBF9E8DF30501D20D4D9859842ECA6C5935B29C244A83
+ 45C83A7659C926F0064CB7959D4D9A6AC89ACA562E103A44C0440DD2249C354B
+ 5D351D1D15135DA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFF03A6FEFEFEFEFEFEB86B1AFFFFFFFF6BFEFEFEFEFEB871FF
+ FFFFFFFF17B8FEFEFEFEFEFE17FFFF03FEFEFE28FFFFFFFFFFFFFFFFFFFFFFFF
+ FFFF036BCDFEFEFEFEFECD32FFFFFFFF717AFEFEFEFECD6B28FFFFFFFFFEFEFE
+ 03FFFFFFFFFF81FEFE17FFFFFFFF6BFEFEFEFE82FF03FEFEFE28FFFFFFFFFFFF
+ 286BCDFEFEFEFE7A71FFFFFFFF03FEFEFEFFFFFFFFFFFFFFFFFF17FEFEFE03FF
+ FFFFFFFFFFFFFFFF71B8FEFEFEFE3217FEFE81FFFFFFFF037AFEFEFEFEFE17FF
+ FF03FEFEFEFFFFFFFF81FEFECD50286BFEFEFEFEB8FCCDFEFE03BB0E615081FE
+ FEFECD17BBFEFEFE03B147EB47A0A6FEFEFEFEFEFEB8D04E2309381F34343333
+ 336733673487942F24A424F0317B7B7D215CAB5CCA8399A33A0606AA31A49F06
+ 667445BFD4054A7B4D4D060D4D56CFCA3E453A3A76B2013A564BCA3A932E01D2
+ 484848B5B7486AB49AC844C8CCA13A3E1E35C8C9D54476765D1E1315C01D54CB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B
+ FEFEFEFEFEFEFEFEFEFEFE32FFFFFFB8FEFEFEFEFEFEFE71FFFFFF81FEFEFECD
+ 8181CDFE81FFFF03FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF286BFEFEFEFEFEFE
+ FEFEFE81FFFFFF6BFEFEFEFEFEFEFEFECD50FFFFFF7AFEFE03FFFFFFFFFF82FE
+ FE17FFFFFF71FEFEFEFEFE81FF03FEFEFEFFFFFFFFFFFF50CDFEFEFEFEFEFEFE
+ FE6BFFFFFF50FEFEFEFFFFFFFFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFFFFFF1A
+ CDFEFE8117173203FEFE81FFFFFF32FEFEFEFEFEFEFE81FFFF1AFEFEFEFFFFFF
+ 71FEFEFE32FF82FEFECD8217822881FEFE030A9050CDFEFEFEFEFEFE6BFEFEFE
+ 030B5B47E0CDFEFEFEF4D9F4FEFE2D272309381FB363333305674A67012FC194
+ 9F772E944AF02179795C10A1444B885DC8754D75BF7E4C064C4C9B06107821C9
+ 4D4D66665993ABC81D455654543A3A54B09A4B6F5624F00D5F48834806543E1D
+ 5D54351E1E351E1E3DD78399064B44765D5D139213653ECB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFEFE6B71033281
+ FEFEFEFE03FFFF827128FF1A7AFEFEA6FFFF17FEFECD17FFFFFFFF1A32FFFF03
+ FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF7AFEFEFECD82710303176B7AFFFF71FE
+ FEFE1728FF037AFEFEB828FFFF81FEFE71FFFFFFFFFF17FEFE82FFFFFF17FEFE
+ FE03FF71FF03FEFEFEFFFFFFFFFFFF7AFEFE7A03FF2817FEFEFE17FFFFFFFEFE
+ FEFFFFFFFFFFFFFFFFFF03FEFEFE03FFFFFFFFFFFFFFFF17FEFEB8FFFFFFFF1A
+ FEFE7AFFFF1ACDFEFE7A71FFFF1A32FFFFFFFEFEFEFFFF28B8FEFE6BFFFFCDFE
+ FE32DDDDDB646BFEFE710A1681FEFECD32EEC4D3FEFEFEFE030BEDFACDFEFE81
+ 9647305151E0E0028C09381F34B3330505674A0178878731249FA4A4247B108B
+ 10AB21BF35450D546EAA744859069E0606BD594C48C9064C4DAA75754D14211D
+ 54487676543A353A3A9A4BCA3A59453A95B25643BF541D929C3E441D761D5D35
+ D7541E35134B3A541E1E3DC01D4465CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF7AFEFEFE17FFFFFFFFFF6BFEFEFE6BFFFFFF
+ FFFFFFFF82FEFEA6FFFFB8FEFE17FFFFFFFFFFFFFFFFFF1AFEFEFEFFFFFFFFFF
+ FFFFFFFFFFFFFF17FEFEFE8128FFFFFFFFFFFFFFFFFFB8FEFE17FFFFFFFF28CD
+ FEFE17FFFF81FEFE17FFFFFFFFFF17FEFE81FFFFFF17FEFEB8FFFFFFFF1AFEFE
+ FEFFFFFFFFFF32FEFECD28FFFFFFFF17FEFECDFFFFFFFEFEFEFFFFFFFFFFFFFF
+ FFFF03FEFEFE03FFFFFFFFFFFFFFFF17FEFE7AFFFFFFFFFFFEFEFEFFFF17FEFE
+ CD28FFFFFFFFFFFFFFFFFEFEFEFFFF82FEFEB828FFFFFEFEFE71FFDD646417FE
+ FE170A7FFEFEFE3290E3703CD3FEFEFE03E31BC7FEFEB8C4190436294F4E0F2B
+ 8C2AC21F3434333305674A017887C19F9F9FA48B8B21797B5C797BBF35565E54
+ C84D664C750659590D6EBFAABF1010994D660666B798211D92483A4576453E3A
+ C86E4B9D459A4583B2594C83C9C81EC5441E4B5D5D131D3ED73ED74B3E441E54
+ 1D1E3E133E3E3DCB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFEFEFEFEFFFFFFFFFFFF28FEFEFEB8FFFFFFFFFFFF71CDFEFE71
+ FF50FEFEFE28FFFFFFFFFFFFFFFFFFFFFEFEFE03FFFFFFFFFFFFFFFFFFFFFFCD
+ FEFEB828FFFFFFFFFFFFFFFFFF1AFEFEFE1AFFFFFFFFFF82FEFE81FFFF17FEFE
+ 17FFFFFFFFFF17FEFE81FFFFFF71FEFE7AFFFFFFFFFFFEFEFE03FFFFFFFF6BFE
+ FE6BFFFFFFFFFF28FEFEFE03FFFFFEFEFE03FFFFFFFFFFFFFFFF03FEFEFE03FF
+ FFFFFFFFFFFFFF1AFEFEFEA61AFFFFFFFEFEFEFFFFA6FEFE6BFFFFFFFFFFFFFF
+ FFFFFEFEFEFF50FEFEFE50FFFFFF6BFEFECD32FFFCFC17FEFE170A03FEFEFE28
+ 070B18E818B8FEFE0308E8D8FEFE820B4704223636694F0FD600971FB3343333
+ 330501782F582F9494772E2E2E778BA8AB10107ECA8399264D4D4D0694F0774C
+ 4C0D4C749F78D5C6934D5F0D95AB999C765935C8CCD4BF4B4CACB5C8458BC976
+ 9C5643AD7D4B35353A5444C910CC834B26458821593E1576445D1E3E653E1DB4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFE
+ FE7AFFFFFFFFFFFFFF7AFEFEFEFFFFFFFFFF82FEFEFE17FFFF03FEFEFEFFFFFF
+ FFFFFFFFFFFFFFFFFEFEFE03FFFFFFFFFFFFFFFFFFFF03FEFEFE32FFFFFFFFFF
+ FFFFFFFFFF03FEFEFEFFFFFFFFFFFF03FEFEFEFFFF17FEFE82FFFFFFFFFF03FE
+ FE7AFFFFFF03FEFEFEFFFFFFFFFFFEFEFE03FFFFFFFF81FEFE17FFFFFFFFFFFF
+ 81FEFE17FFFFFEFEFE03FFFFFFFFFFFFFFFF03FEFEFE03FFFFFFFFFFFFFFFFFF
+ 32CDFEFEFE7A825081FEFE50FF81FEFE17FFFFFFFFFFFFFFFFFF81FEFE507AFE
+ FE17FFFFFFFF2881FEFEFECDA63271FEFEA60A03FEFEFE6407B1181B1BD8FEFE
+ 170818D9FEFE17613C86195B191947040F8C972CB33463050567014A4A582FC1
+ 87949F778B8B2E211010A15C3593A58E6F4C759B2EF0871010060D7B2105F32E
+ 934C5FA1B5A521B21E483A547BD51006BD7EA1BF4DAB24B23A839E06314C4B76
+ 1E443AD424CCB2984310D4993A1E3E3E5476541E5D5D5D9A0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE81FFFFFFFFFFFF
+ FF81FEFEFEFFFFFF2881FEFECD71FFFFFF03FEFEFEFEFEFEFEFEFEFEFEFEFFFF
+ FEFEFE03FFFFFFFFFFFFFFFFFFFF17FEFEFE1AFFFFFFFFFFFFFFFFFFFF03FEFE
+ FEFFFFFFFFFFFF03FEFEFEFFFF17FEFE81FFFFFFFFFF03FEFEFEFFFFFF03FEFE
+ FEFFFFFFFFFFFEFEFE03FFFFFFFF81FEFE17FFFFFFFFFFFF81FEFE17FFFF81FE
+ FE03FFFFFFFFFFFFFFFF03FEFEFE030317177128FFFFFFFFFF28177AFEFEFEFE
+ CDFEFE03FF81FEFE17FFFFFFFFFFFFFFFFFF81FEFE82FEFECDFFFFFFFFFFDDFC
+ 036BCDFEFEFECDFEFE810A1AFEFEFE1AEE0B18861BD3FEFE170818D9FEFEFEFE
+ FEFEFEFEFEFEFEF1E523F22C341F2C0505674A34344A2F582FC17394777777A4
+ A87910C94B99BC140666AA06A40178AB5C77A8AB8B01D421AA66BFBF8EF53F54
+ 4C5656592FD421985C105C06D578CC4C064C595E8D9326765D0D31D421B6590D
+ 06998DBF3A459C7654545D1E5D5D54B00000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF81FEFEFEFFFFFFFFFFFFFF82FEFEFE28FFFF
+ 81FEFE7A1AFFFFFFFFFFFEFEFE710303030317FEFEFEFFFFFEFEFE17FFFFFFFF
+ FFFFFFFFFFFF17FEFEFEFFFFFFFFFFFFFFFFFFFFFF28FEFEFE71FFFFFFFFFF32
+ FEFEB8FFFF17FEFEFE28FFFFFFFF71FEFEFEFFFFFF28FEFEFEFFFFFFFFFFFEFE
+ FE17FFFFFFFF82FEFE7AFFFFFFFFFFFFB8FEFE32FFFF81FEFE03FFFFFFFFFFFF
+ FFFF03FEFEFE03B8FEFEFEFE82FFFFFFFFFFFFFF280382B8FEFEFE32FF82FEFE
+ 7AFFFFFFFFFFFFFFFFFF81FEFE717AFEFE32FFFFFFDDDDFCFCDBDB5032A6FEFE
+ FEB80A16B8FEFE17BB0870E8E8D3FEFE17081BF1FEFEA60389892D89F4FEFED3
+ 22D6092CB3B31F0533674A05057858783131949F949F2E8BAB7921A15699A55E
+ B5060DA1BF7979A106A8BFBF0DAB0DBF66BFBF0693525243543A4C062106489E
+ 9DAA9D4C7910BF9E599E458E98C8CA1E4B98CC48454B3A13C8D74C4B5D1E1D3E
+ 1E1E3E3D653E3EC50000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF81FEFEFEFFFFFFFFFFFFFF17FEFEFE03FF50FEFEFE28FFFFFFFF
+ FFFFA6FEFE32FFFFFFFF32FEFEB8FFFFFEFEFECD50FFFFFFFFFFFFFFFFFF17FE
+ FEFEFFFFFFFFFFFFFFFFFFFFFFFFA6FEFEA6FFFFFFFFFF81FEFE6BFFFF71FEFE
+ FEA6FFFFFFFFA6FEFEFEFFFFFFFFFEFEFE28FFFFFFFFFEFEFECD50FFFFFF50FE
+ FEFE50FFFFFFFF03FEFEFE1AFFFF81FEFE03FFFFFFFFFFFFFFFF1AFEFEFE71FE
+ FEFEFEFEFE6BFFFFFFFFFFFFFFFFFF28B8FEFE17FF71FEFEFE03FFFFFFFFFFFF
+ FFFF81FEFE0350CDFEFE71FFFFDDFCFCDBDBDB64FC6417FEFEFE0A0ED3FEFECD
+ 500E08B1B1D3FEFEA6611BA0FEFEB8EE3C5B4786B8FEFEC7E5F9F21FB36363F3
+ 67670178F087879424A42E8B7B21A879795C2166B75E5E14B774B74DBD4C4856
+ 4C9D564D9E454C4C93489B59143B53A73A3A5435763AC8C8B0CA3AB54B3A3A4B
+ 4B5683AD434B26353E1D1D1E1E444435C813484B76351D445D1E1D3D3E1315CB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6FE
+ FEFEFFFFFFFFFFFFFF17FEFEFE03FF03FEFEFE17FFFF1A32FFFF03FEFECD03FF
+ FF287AFEFE17FFFFFEFEFEFECD821703FFFFFFFFFFFF71FEFEFE71FFFFFFFFFF
+ FFFFFFFFFFFF50FEFEFEA61AFF1A6BFEFEFE50FFFF03FEFEFEFEB882177AFEFE
+ FECDFFFF5003FEFEFE17030328FFFEFEFEFECD821703FFA6FEFECD32FFFF71CD
+ FEFEA6FFFFFF81FEFE71FFFFFFFFFFFFFFFFFFFEFEFE7128FF507AFEFEFE03FF
+ FF0328FFFFFFFFFFB8FEFE17FFFF7AFEFECD3228FF280303FFFF81FEFE03FF32
+ FEFECD50FFDDFC1A50DDFCFC64DB32FEFEFEBBEE617AFEFECD321AEEEE6BFEFE
+ 81611960D9FEFE6BC43C18F6FEFECDD02700392CB36333674A01F058D1C1872E
+ 8B79C90DBFBF754D4D4D56954556459E453B7D1480373E1E1E3544134435443E
+ 6C443E5D253FA7C945441D1E3E441E1D443E3E44443E44543BA13A8044921313
+ 13923E15153E153E1515351D1D54C0C09265A9A9C09213AE0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFE1AFFFFFFFFFF
+ FF03FEFEFE03FFFFB8FEFEFEFEFEFECDFFFFFF32FEFEFE7A81FEFEFE7A28FFFF
+ FEFEFE7AFEFEFE17FFFFFFFFFFFF28FEFEFE6BFFFFFFFFFFFFFFFFFFFFFFFF32
+ FEFEFEFEFEFEFEFEFE32FFFFFF03FEFEFE81FEFEFEFEFEFEFE82FFFF81FEFEFE
+ FEFEFEFE03FFFEFEFE7AFEFEFE17FF287AFEFEFEFEFEFEFEFE7A28FFFFFF81FE
+ FE17FFFFFFFFFFFFFFFFFFFEFEFE03FFFFFF28CDFEFE6BFFFF82FE7A6B17177A
+ FEFEFE50FFFF50CDFEFEFEFEFEFEFE17FFFFA6FEFE32FFFFA6FEFEB828FCDB28
+ FECD8117176BCDFEFEA6166108C47AFEFEFEFEFEFEFEFEFEB8E3473096F4FEFE
+ CD81B8FEFEFEC72262F2381F3433054A7858C17331319F7BC975B648B245956F
+ C84B35449A9ACACA543B3B841DAC1313921D13921D1D151D6C1D1D3D3D3B983A
+ 1E13131D1D131D1315C0C01313C015138E5615B4CB15151513C03E133D65C015
+ 131544C51D15A9C09265C013651365A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFF03FEFEFE17FFFF
+ 5081FEFEFEFEFE6BFFFFFFFF037AFEFEFEFECD6B28FFFFFFFEFEFE716BFEFE17
+ FFFFFFFFFFFFFF6BFEFEFE03FFFFFFFFFFFFFFFFFFFFFFFF1A6BFEFEFEFEFEA6
+ 03FFFFFFFF03FEFEFE2882CDFEFEFECD82FFFFFF81FEFEFEFEFEFEFE03FFFEFE
+ FE716BFEFE17FFFFFF32B8FEFEFEFEB81728FFFFFFFF6BFEFE17FFFFFFFFFFFF
+ FFFFFFFEFEFE03FFFFFFFF81FEFE81FFFF0381CDFEFEFEFEFEB871FFFFFFFF1A
+ 6BFEFEFEFEFECD50FFFF17FEFE17FFFF28CDFEFE7A28DBDB6B7AFEFEFEFEFEFE
+ 6B7F0708E30BE3F67AFEFEFEFEFEFEFEF418EB512296F8CDFEFEFEFEF432510F
+ 009738B33433674A015831D4319F8BA85C0DBF064D4D4C4856454B6F6FB044B4
+ 3D3B5E3DAC7C3554C83A3A83453A3A56953A9C76A37D986A133E441E35444435
+ 764B4B7676C8544B439D1D1DC53537445D1E545D4B3A5D545D5435763792135D
+ 3E1E651E1E3E1ECB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFF03FEFEFE17FFFFFFFF28030350FFFF
+ FFFFFFFFFFFF28030350FFFFFFFFFFFFFFFFFFFFFF1A031AFFFFFFFFFFFFFF1A
+ CDFEFECD71FFFFFFFFFFFFFFFFFFFFFFFFFFFF030303FFFFFFFFFFFFFFFFFFFF
+ FFFFFFFF500303FFFFFFFFFFFFFF81FEFE03FFFFFFFFFFFFFFFFFF1A031AFFFF
+ FFFFFF1A03031AFFFFFFFFFFFFFF17FEFE17FFFFFFFFFFFFFFFFFFFEFEFE03FF
+ FFFF28CDFEFE81FFFFFFFFFF2803030328FFFFFFFFFFFFFFFFFF0303031AFFFF
+ FFFF17FEFE17FFFFFFFFFFFFFFFCFC640A646450030350BB16EE61E30BB17070
+ 700B89898989FBE819C351E5693622300C2D2D9604690FF92AF2382CB3B33305
+ 4A01739FC131217B7B79CCA8C910C910AB10107EA10D4D3A3D995E3D3A914556
+ 484C5906064C9E064C480659A38F0DAC4476764B3A3A4B4556459C4545454545
+ 5E9D441D7C355D35C8545454544B4B4B544B6A7637A9655D4B5D1E5D443E1EB4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FE
+ FEFE03FFFFFFFFFFFF28FEFEFE17FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32FEFEFEFE7A1703
+ 0371177A03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFE32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFE17FFFFFFFFFFFFFFFFFFFEFEFE6B171717B8FEFEFE17FF
+ FFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFE17FFFF
+ FFDDFCFFFFDBDB640A0A0ABBBB1616EE0761080BB1703C18E81B86ED195B6049
+ 0451364F4E4E4E4E4E4E4E270F2B55000939F72CB3346305674A317731C18BD5
+ 8B7BCC79A810A8A8C90D0D66660D75B55D7D5EA39B919C564548489E064C484C
+ 7448065954B95E6C353A76C83A833A45953A3A3A3A4545457E3A44923A443554
+ 35C8C8C854355454543A3580C5921E651E13445D3E441ECB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03FEFEFE17FFFFFFFFFF
+ FFFFFEFEFE6BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03CDFEFEFEFEFEFEFEFEFE28FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A17
+ 8117FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FE
+ FE81FFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFE7A28FFFFFFFFFFFFFCFCFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEA6FFDDFFFFFFFCFCFCDB64
+ 0A0ABBBB900EEE076108E30B703C18E886195B4742EB30512236294E270F0F0F
+ 02022B62552300EC9739381FB3346333674A312431877B248B7979A8C9105C7E
+ A8A17EA10D107E9B1E7D5EA34D91484556B64848590659594D4C7598265206AC
+ 543A76544B833A7645459595569E9E483BADCACB9C351E541EC8547676C83A76
+ 263AC8356C151E5D1D137676445D54B40000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF03FEFEFE17FFFFFFFFFFFFFFFEFEFE81FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFF28177AFEFEFEFEFEFE7AFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFE81FFFFFFFFFFFF
+ FFFFFFFEFEFEFEFEFEFEFECD6B28FFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFF17FEFE81DDFFDDFCFFFFFCDB640A0ABB16160EEE0761
+ 0808E3B1703CE886195B4742BE04512236294F4E270F02022B1CEF232300ECF2
+ C2F7381FB3346305674AC1D49F877BD2A47B21A85C105C7E5C0D7E7EAA7E0D6E
+ 3E7D7EA34D9B064548065956484C4C4C4D4D060684B99DB4763A453A4B45B276
+ 3AB5B595489EB79D93C86C1D4BB21E35459544CA9A9A956F263580ACCB923E45
+ 45560DB63E5D54B40000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF03030350FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDDFFFCFCFC0AFC640A0ABB16160EEE076108E30B707018E886
+ 19476049300451EA36294E270F0F022B1C1C238C8CECEC09C2382C1FB3633305
+ 674A58D49F2F7B24A48BABA85C10A1667E667E7E665C5C481E8B99A34C9BBF26
+ 59A10D9EB24C5959AA7575982552BDAC3A45B6483A48593A6F3A95BD4874483A
+ CAC86CB03A10B2458BC93A9A9A9A569556353AB0C5C5C888CCCCD5BF1D4435B4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFC
+ FFDBFFDB640A0ABBBB161690EE07610808E3B1703C181BED5B4742BE30042236
+ E54F4E270F0F022B1CEF238C00EC0909C2382C1F3463330567675894242FD2D5
+ CF2F8B7B2F87BFA1A1060D5CA17EA19B843F3BCA759B2F569888C12659598359
+ 4D750D14145206AC3A83F00688F02E2626AD833A4C4559569845352644D47B99
+ 8B4DCACA4B4B4B3A9C9C06B2441E1ED5CC8B103A134435CB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFCFCFFFFFCFFFFFFFFFFFFFFFCFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDFCFCDB0A0A0A0A
+ BB16160EEE076108E30B703C3CE886195B60493004512236694F27270F02022B
+ 1C55238C002A090939F72C1F34630505674A5894C1D1D49FA44A9F2158F00D7E
+ ABA1A1A166A1A14D938F3F25069B012EA17B2EB74C4C7498064806433BF55E6A
+ 454CD5CC06310D3A9595957645455999D2481D9A3A9F217EC99EC8C8264BC84B
+ 35060D4544541D06764545C83554C8AC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFCFCFCFCFFFCFCFCFCFCFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFDDFCFC640A0A0A0ABB1690EE070761E3
+ E30B703C181B86194760BE3004513636294E27270F022B621C558C0000EC0909
+ C2382C1F34633305674A58942F53312E24672F2E2F2FA8A85C667566660D0D4D
+ 1453528E069B77D55C775C66749B74744DB5BF433FBC3B6E489BA87B4C214C9B
+ 56489B48484893B97B484B4BD79D4B5606B7BD95BDB54BC88EAB5992A96F9A4B
+ 56959556454B44CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFC
+ FCFCFCFFFFFFFCFCFFFFFFFFFCFFFFFCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFCFCFC640A0A0ABBBB16160E07076108E30BB1703CE81B195B
+ 47C3BE30042236E54F4E270F0F022B62D6558C8C002A09F239382C1F34630505
+ 67017824C1AFA52E8B77777777A48B79AB1010105C5C664D5EAF5384065F7510
+ 667BAAAB7E0D7E0D0D4CBFB7B9535E6A729AAA7E66667E5C7EA1A1759B488EA5
+ A49DCAC8BD4D744D4D4D4D4C74B79DB5A3B98F06CACAB06E3AC8C83A954BC8AC
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFCFF
+ FCFFFFFCFCFFFCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCDB0A0A0ABBBBBBBB90EE07610808E30B7070181B8619476049300451223669
+ 4F4E270F02022BD6EF558C002A09F2C2F7382C1FB3633305674A7894C111BCCF
+ 7B798B77A48BA4A42E2E7B79A85C064DB96DAF14B79B5F0D7EA87E7979A85C5C
+ 7E0648AAF5BCB9747472064D66747E66AA4D5F6EB59314BCAFA44C9AB0B5849A
+ 84B5BD3A3ABD48B7A75A5AF57B0659757E7E5C5CC99979790000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFFFCFFFFFCFCFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCDB64640A0ABBBBBB
+ 1690EE076108E30BB1703CE81BED194742493004222236294F270F0F022B62EF
+ EF238C00ECECF2C2F7382C1F3463330567012F2F5A1185A48B2EA421A47B218B
+ 7979A85C5C66665CAF5A6D53C94CAA06664DAAAAAA4D4D4D14064C79BCBAF577
+ 9DB572B5B5729DB574744D4D6610D45AFDAF01C1772E9FC1C12FF0014ABCAFBA
+ 5AFDFD6D5A5A5A5A5A5A5ACEBACE5A2C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFFFFFCFCFCFCFCFFFFFCFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFDDFFFFFFFFFFFFFFFFFFFFDDDBDBDB640A0A0ABBBBBB16EEEE616108E30B
+ 703C3C1B86ED4760C330040422EA69294E270F0F022B621C55238C002A09F2C2
+ F72C1FB334330505670178F31111110524D22E21D221AB10AB79AB1079792EF0
+ FD6DFD6D0587318F3131C12FA5F07801F0010185BA6D5AAF0101F5BC058585BA
+ BABACEBACEBA5A6DFDFDFDFDFDFD6D5A5A6D6DFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCDBDBDBDBDB
+ DBFCFFFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFCFCFCFCDB640A0ABBBBBBBB160EEE076108E3E30B703C181B865B4760
+ C33004512236294F4E270F02022B1CEF23238C00EC0909E78A39F738112C2C1F
+ CECE6D41111111FD5ACE5A6D6D6D6D5A5A5A5A5A5A5A6DFDFDFDFDFDFDFD6D6D
+ 5A6D5A6D5A5A5A5A5A5A5AFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFFFCFCFCFC
+ FCFCFFFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBFCFCDB
+ 640ABBBBBB16160EEE07616108E30B70703CE81B195B47C3BE040422EAE5294E
+ 27270F022B621CEF238C8C00ECECEC6868E78A8A464646414141411111111111
+ 1111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
+ FCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFCFCFCFCFCFCFCFCFCFFFCFCFFFF
+ FFFFDDFFDDDDFFFFFFFFFFFFDDFFFFFFFFFFFFFFFCDBDB64640A0ABBBB16160E
+ EE07610808E3B1703C181BED194760493004512236E54F4E270F0F022B1C1C55
+ 238C00ECECECEC09688A8A8A4646464141414111111111111111FD1111FDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBDBDBDB
+ DBDBDBDBDBDBDB6464FCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFDDFFFFFFFFFFFF
+ FFFFFFFFFCDDFFFFFCFFFFFCDB64640A0A0ABBBBBB160EEE07610808E30B7070
+ 3CE81B195B4742BE300451EAE5294F4E270F02022B1C1C558C8C0000ECEC6868
+ E78A8A46464646414141411111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB6464646464
+ 64FCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFDDDDFFFFDDFFFFFFDDFFFFFFFFFFFC
+ FFFFFCFCFCFC640A0A0ABB1616160EEE076108080B0B703CE81B86194760C3BE
+ 04512236E54F4E270F0F022B2B1CEF8C8C0000ECECEC0909DCE7464646464141
+ 4111411111111111FDFD11FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB646464646464FCFC64FCFCFCFCFC
+ FCFCFCFCFCFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBFCDBDBDB0A0A
+ 0ABB1616160E0E07616108E30B70703CE886195B474249305151223669294E27
+ 0F0F022B2B1CEF238C8C0000ECEC096868E7E78A8A4646414141414111411111
+ 1111111111111111111111111111111111111111111111111111111111111111
+ 1111111111111111111111111111111111111111111111111111111111111111
+ 11111111111111111111111111111111111111111111118A0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFCFCFCFCFCDB
+ DBDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A646464646464DBFCFCFCDBFCDBFFFFFF
+ DDDDFFDDFFFFFFFFFFFFFFFFFFFCFCFCFCFFFCDBDB0A0A0ABBBB160E16EEEE07
+ 070808E30BB13C3CE81B86194760C3BE3004512236E54F4E4E270F0F022B2B1C
+ 1C55558C8C8C0000002A2AECECEC09EC09096868686868686868DCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCEC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB
+ DBDBDBDBDBDB64DBDBDBDBDBDBDBDBFCFCDBFCDBFFFFFFFFFFFFFFDDDDFFFFFF
+ FFFFFFFFFFFCFCFCFCFCFCDBDBDBDB640A0ABBBBBB160EEEEE07616108E3E3B1
+ 703C18181BED195B4760C349303004515122EAEAE5E529294F4F4E4E27272727
+ 270F0F0F0F0F0F0F0F0202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 020202020202020F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDDFCFCFCFCFCFCFCFCFCDD
+ DDDDDDDDDDFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFC640A0A0A0A0ABB161616900EEE0707610808E3E30B0BB170
+ 3C3C3C18E81B1B86EDED19195B5B4747474760604242C3C3C3C3494949494949
+ EBEBEBBEBEBEBE30BEBE30303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303049
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFDDDDFCFCFCFCFCFCFCFCDBDBDBDBDDFCFCFCDDDDFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDDFCFC64
+ 640A0A0A0ABB161616900EEE070761080808E3E30BB17070703C3CE81B1B1B86
+ ED1919195B5B4747476060424242C3C3C3494949494949EBBEEBBEBEBEBE3030
+ BE30303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030490000FCFCFCFCFCFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB
+ DBDB6464646464640A0A0A0A0A0A6464646464DBDBDBDBDBDBDBDBFCFFFFDDDD
+ FFDDFFFFFFFFFCFFFFFFDDFFFFFCFCFCFCDBDBDBDB640A0ABBBBBBBB16EEEE07
+ 610808E3E3B170703C181B86ED195B4742C3BE300404512222EA36E529294F4F
+ 4E4E4E272727270F0F0F0F0F0F0F020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020F0000FCFCFCFCFCFCFCFCFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCDBDBDBDBDBDBDB64640A0A0A0A0ABBBBBB
+ BBBBBBBBBBBB0A0ABB0A0A0A0A0A0A0ADB64FCFCFCFFDDDBFFFFDDFFFFFFFFFF
+ FFFFFCFFFFFFFC64DBDBDB0A0A0ABB161690EEEE07070808E30BB1703C181B1B
+ 195B476049300451512236294F4E27270F0F022B2B1C1CEF558C8C0000000000
+ ECECECECECEC09090968686868686868DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCEC0000FCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFF
+ FCFCFCFCFCFCDBDBDBDBDBDBDB640A0A0A0A0ABBBBBBBBBBBBBBBBBBBBBBBBBB
+ BB0A0A0A0A0A640A6464DBFCFCDDFCFFDDFCFFFFFFFFFFFFFFFFFFFFFFFCDBFC
+ 640A0A0ABBBBBBBB900EEE07616108E3E30B703C18E81B191947604930040451
+ 223669294E27270F02022B2B621CEF55238C8C00000000ECECECEC0909096868
+ 68E7E768E7E78AE7E78A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
+ 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
+ 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8AEC
+ 0000}
+ Login.LeftImage.Data = {
+ 07544269746D617016090000424D160900000000000036040000280000003200
+ 0000180000000100080000000000E00400000000000000000000000100000000
+ 000000000000000080000080000000808000800000008000800080800000C0C0
+ C000C0DCC000F0CAA6000020400000206000002080000020A0000020C0000020
+ E00000400000004020000040400000406000004080000040A0000040C0000040
+ E00000600000006020000060400000606000006080000060A0000060C0000060
+ E00000800000008020000080400000806000008080000080A0000080C0000080
+ E00000A0000000A0200000A0400000A0600000A0800000A0A00000A0C00000A0
+ E00000C0000000C0200000C0400000C0600000C0800000C0A00000C0C00000C0
+ E00000E0000000E0200000E0400000E0600000E0800000E0A00000E0C00000E0
+ E00040000000400020004000400040006000400080004000A0004000C0004000
+ E00040200000402020004020400040206000402080004020A0004020C0004020
+ E00040400000404020004040400040406000404080004040A0004040C0004040
+ E00040600000406020004060400040606000406080004060A0004060C0004060
+ E00040800000408020004080400040806000408080004080A0004080C0004080
+ E00040A0000040A0200040A0400040A0600040A0800040A0A00040A0C00040A0
+ E00040C0000040C0200040C0400040C0600040C0800040C0A00040C0C00040C0
+ E00040E0000040E0200040E0400040E0600040E0800040E0A00040E0C00040E0
+ E00080000000800020008000400080006000800080008000A0008000C0008000
+ E00080200000802020008020400080206000802080008020A0008020C0008020
+ E00080400000804020008040400080406000804080008040A0008040C0008040
+ E00080600000806020008060400080606000806080008060A0008060C0008060
+ E00080800000808020008080400080806000808080008080A0008080C0008080
+ E00080A0000080A0200080A0400080A0600080A0800080A0A00080A0C00080A0
+ E00080C0000080C0200080C0400080C0600080C0800080C0A00080C0C00080C0
+ E00080E0000080E0200080E0400080E0600080E0800080E0A00080E0C00080E0
+ E000C0000000C0002000C0004000C0006000C0008000C000A000C000C000C000
+ E000C0200000C0202000C0204000C0206000C0208000C020A000C020C000C020
+ E000C0400000C0402000C0404000C0406000C0408000C040A000C040C000C040
+ E000C0600000C0602000C0604000C0606000C0608000C060A000C060C000C060
+ E000C0800000C0802000C0804000C0806000C0808000C080A000C080C000C080
+ E000C0A00000C0A02000C0A04000C0A06000C0A08000C0A0A000C0A0C000C0A0
+ E000C0C00000C0C02000C0C04000C0C06000C0C08000C0C0A000F0FBFF00A4A0
+ A000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFF
+ FF00FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD525252525252525252525252
+ 5252FDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDAFB75E5E5E66666767676F6F6F6FB752FDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBF
+ BFBFBFBFBFBFBFBFBFB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFB76F676F6FB7B7B7B7B7776F5EB752FD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBFBFB752FDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFB76F676F6F6FB7B7
+ B7B7776F5EB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBFBFBF52FDFDFDFDFD
+ 0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAF
+ B76767676F6F6FB7B7B7776F5EB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBF
+ BFBF52FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDAFB76767676F6F6F6FB7B7776F5EB752FDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBF
+ BFBFBFBFBFBFBFBFBFBF52FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBFB7AFAFB7B7B7B7BFBFBFBFB7B752FD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDAFB76F675E5E5E5E5E5E676FB7A5FDFDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F79BFDFDFDFD
+ FDFDA4F7A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDF7F79BFDFDFDFDFDFDA407A3FDFDFDFDFDFDFD
+ 0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDF7F79BFDFDFDFDFDFDA407A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F7A4FDFDFDFDFDFDF707
+ A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDF707A49AFDFDFDFDA30707A3FDFDFDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F6A4
+ A49B9A9AA3A407079AFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F6F7F7A4A4F70707A3FDFDFDFD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDF7F6F6F6F6F607A3FDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7A3A3A3
+ A3A3FDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ 0000}
+ Log.WindowCaption = 'Seguran'#231'a'
+ Log.LabelDescription = 'Log do Sistema'
+ Log.LabelUser = 'Usu'#225'rio :'
+ Log.LabelDate = 'Data :'
+ Log.LabelLevel = 'N'#237'vel m'#237'nimo : '
+ Log.ColLevel = 'N'#237'vel'
+ Log.ColMessage = 'Mensagem'
+ Log.ColUser = 'Usu'#225'rio'
+ Log.ColDate = 'Data'
+ Log.BtFilter = '&Aplicar Filtro'
+ Log.BtDelete = '&Excluir Log'
+ Log.PromptDelete = 'Confirma excluir todos os registros de log selecionados ?'
+ Log.BtClose = '&Fechar'
+ UsersForm.WindowCaption = 'Seguran'#231'a'
+ UsersForm.LabelDescription = 'Cadastro de Usu'#225'rios'
+ UsersForm.ColName = 'Nome'
+ UsersForm.ColLogin = 'Login'
+ UsersForm.ColEmail = 'Email'
+ UsersForm.BtAdd = '&Adicionar'
+ UsersForm.BtChange = 'A<erar'
+ UsersForm.BtDelete = '&Excluir'
+ UsersForm.PromptDelete = 'Confirma excluir o usu'#225'rio "%s" ?'
+ UsersForm.BtRights = 'A&cessos'
+ UsersForm.BtPassword = '&Senha'
+ UsersForm.BtClose = '&Fechar'
+ AddChangeUser.WindowCaption = 'Cadastro de Usu'#225'rios'
+ AddChangeUser.LabelAdd = 'Adicionar Usu'#225'rio'
+ AddChangeUser.LabelChange = 'Alterar Usu'#225'rio'
+ AddChangeUser.LabelName = 'Nome : '
+ AddChangeUser.LabelLogin = 'Login : '
+ AddChangeUser.LabelEmail = 'Email : '
+ AddChangeUser.CheckPrivileged = 'Usu'#225'rio privilegiado'
+ AddChangeUser.BtSave = '&Gravar'
+ AddChangeUser.BtCancel = 'Cancelar'
+ AddChangeProfile.WindowCaption = 'Perfil de Usu'#225'rios'
+ AddChangeProfile.LabelAdd = 'Adicionar Perfil'
+ AddChangeProfile.LabelChange = 'Alterar Perfil'
+ AddChangeProfile.LabelName = 'Descri'#231#227'o : '
+ AddChangeProfile.BtSave = '&Gravar'
+ AddChangeProfile.BtCancel = 'Cancelar'
+ UsersProfile.WindowCaption = 'Seguran'#231'a'
+ UsersProfile.LabelDescription = 'Perfil de Usu'#225'rios'
+ UsersProfile.ColProfile = 'Perfil'
+ UsersProfile.BtAdd = '&Adicionar'
+ UsersProfile.BtChange = 'A<erar'
+ UsersProfile.BtDelete = '&Excluir'
+ UsersProfile.BtRights = 'A&cessos'
+ UsersProfile.PromptDelete = 'Existem usu'#225'rios com o perfil "%s". Confirma excluir?'
+ UsersProfile.BtClose = '&Fechar'
+ Rights.WindowCaption = 'Seguran'#231'a'
+ Rights.LabelUser = 'Permiss'#245'es do Usu'#225'rio : '
+ Rights.LabelProfile = 'Permiss'#245'es do Perfil : '
+ Rights.PageMenu = 'Itens do Menu'
+ Rights.PageActions = 'A'#231#245'es'
+ Rights.BtUnlock = '&Liberar'
+ Rights.BtLock = '&Bloquear'
+ Rights.BtSave = '&Gravar'
+ Rights.BtCancel = '&Cancelar'
+ ChangePassword.WindowCaption = 'Seguran'#231'a'
+ ChangePassword.LabelDescription = 'Trocar Senha'
+ ChangePassword.LabelCurrentPassword = 'Senha Atual :'
+ ChangePassword.LabelNewPassword = 'Nova Senha : '
+ ChangePassword.LabelConfirm = 'Confirma'#231#227'o : '
+ ChangePassword.BtSave = '&Gravar'
+ ChangePassword.BtCancel = 'Cancelar'
+ ResetPassword.WindowCaption = 'Definir senha do usu'#225'rio : "%s"'
+ ResetPassword.LabelPassword = 'Senha : '
+ XPStyleSet.DimLevel = 30
+ XPStyleSet.GrayLevel = 10
+ XPStyleSet.Font.Charset = ANSI_CHARSET
+ XPStyleSet.Font.Color = clMenuText
+ XPStyleSet.Font.Height = -11
+ XPStyleSet.Font.Name = 'Tahoma'
+ XPStyleSet.Font.Style = []
+ XPStyleSet.Color = clBtnFace
+ XPStyleSet.IconBackColor = clBtnFace
+ XPStyleSet.MenuBarColor = clBtnFace
+ XPStyleSet.SelectColor = clHighlight
+ XPStyleSet.SelectBorderColor = clHighlight
+ XPStyleSet.SelectFontColor = clMenuText
+ XPStyleSet.DisabledColor = clInactiveCaption
+ XPStyleSet.SeparatorColor = clBtnFace
+ XPStyleSet.CheckedColor = clHighlight
+ XPStyleSet.IconWidth = 24
+ XPStyleSet.DrawSelect = True
+ XPStyleSet.UseSystemColors = True
+ XPStyleSet.OverrideOwnerDraw = False
+ XPStyleSet.Gradient = False
+ XPStyleSet.FlatMenu = False
+ XPStyleSet.AutoDetect = False
+ XPStyleSet.BitBtnColor = clBtnFace
+ XPStyle = True
+ Left = 56
+ Top = 128
+ end
+ object UCXPStyle1: TUCXPStyle
+ Active = True
+ XPSettings.DimLevel = 30
+ XPSettings.GrayLevel = 10
+ XPSettings.Font.Charset = ANSI_CHARSET
+ XPSettings.Font.Color = clMenuText
+ XPSettings.Font.Height = -11
+ XPSettings.Font.Name = 'Tahoma'
+ XPSettings.Font.Style = []
+ XPSettings.Color = clBtnFace
+ XPSettings.IconBackColor = clBtnFace
+ XPSettings.MenuBarColor = clBtnFace
+ XPSettings.SelectColor = clHighlight
+ XPSettings.SelectBorderColor = clHighlight
+ XPSettings.SelectFontColor = clMenuText
+ XPSettings.DisabledColor = clInactiveCaption
+ XPSettings.SeparatorColor = clBtnFace
+ XPSettings.CheckedColor = clHighlight
+ XPSettings.IconWidth = 24
+ XPSettings.DrawSelect = True
+ XPSettings.UseSystemColors = True
+ XPSettings.OverrideOwnerDraw = False
+ XPSettings.Gradient = False
+ XPSettings.FlatMenu = False
+ XPSettings.AutoDetect = False
+ XPSettings.BitBtnColor = clBtnFace
+ UCSettings = UCSettings1
+ Left = 88
+ Top = 128
+ end
+ object UCDBXConn1: TUCDBXConn
+ Connection = SQLConnection1
+ Left = 88
+ Top = 88
+ end
+ object SQLConnection1: TSQLConnection
+ ConnectionName = 'ucbase'
+ DriverName = 'Interbase'
+ GetDriverFunc = 'getSQLDriverINTERBASE'
+ LibraryName = 'dbexpint.dll'
+ LoginPrompt = False
+ Params.Strings = (
+ 'DriverName=Interbase'
+ 'Database=base.gdb'
+ 'RoleName=RoleName'
+ 'User_Name=sysdba'
+ 'Password=masterkey'
+ 'ServerCharSet=WIN1251'
+ 'SQLDialect=3'
+ 'BlobSize=-1'
+ 'CommitRetain=False'
+ 'WaitOnLocks=True'
+ 'ErrorResourceFile='
+ 'LocaleCode=0000'
+ 'Interbase TransIsolation=ReadCommited'
+ 'Trim Char=False')
+ VendorLib = 'gds32.dll'
+ Left = 56
+ Top = 88
+ end
+end
diff --git a/official/2.20/Demos/1 Basic All Data Access/DBX/Unit1.pas b/official/2.20/Demos/1 Basic All Data Access/DBX/Unit1.pas
new file mode 100644
index 0000000..9027892
--- /dev/null
+++ b/official/2.20/Demos/1 Basic All Data Access/DBX/Unit1.pas
@@ -0,0 +1,89 @@
+unit Unit1;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, DB, UCBase, Menus, StdCtrls, Buttons, DBXpress,
+ SqlExpr, UCDBXConn;
+
+type
+ TForm1 = class(TForm)
+ UserControl1: TUserControl;
+ MainMenu1: TMainMenu;
+ Arquivo1: TMenuItem;
+ Abrir1: TMenuItem;
+ Salvar1: TMenuItem;
+ Salvar2: TMenuItem;
+ Salvarcomo1: TMenuItem;
+ Fechar1: TMenuItem;
+ N2: TMenuItem;
+ Dados1: TMenuItem;
+ Importar1: TMenuItem;
+ Exportar1: TMenuItem;
+ N4: TMenuItem;
+ Vincular1: TMenuItem;
+ N3: TMenuItem;
+ Sair2: TMenuItem;
+ Editar1: TMenuItem;
+ Copiar1: TMenuItem;
+ Colar1: TMenuItem;
+ Recortar1: TMenuItem;
+ N1: TMenuItem;
+ Selecionartudo1: TMenuItem;
+ N5: TMenuItem;
+ AreadeTransferencia1: TMenuItem;
+ Exibir2: TMenuItem;
+ Esvaziar1: TMenuItem;
+ Exibir1: TMenuItem;
+ Zoom1: TMenuItem;
+ Normal1: TMenuItem;
+ Grande1: TMenuItem;
+ Ajustarnajanela1: TMenuItem;
+ N6: TMenuItem;
+ Personalizar1: TMenuItem;
+ amanhonormal1: TMenuItem;
+ elacheia1: TMenuItem;
+ Relatorios1: TMenuItem;
+ Relatorio11: TMenuItem;
+ Relatorio21: TMenuItem;
+ Relatorio31: TMenuItem;
+ Relatorio41: TMenuItem;
+ Segurana1: TMenuItem;
+ Cadastrodeusuarios1: TMenuItem;
+ Perfildeusurios1: TMenuItem;
+ logdosistema: TMenuItem;
+ N7: TMenuItem;
+ rocarsenha1: TMenuItem;
+ EfetuarLogoff1: TMenuItem;
+ UCSettings1: TUCSettings;
+ UCXPStyle1: TUCXPStyle;
+ UCDBXConn1: TUCDBXConn;
+ SQLConnection1: TSQLConnection;
+ procedure FormCreate(Sender: TObject);
+ procedure EfetuarLogoff1Click(Sender: TObject);
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ Form1: TForm1;
+
+implementation
+
+{$R *.dfm}
+
+procedure TForm1.FormCreate(Sender: TObject);
+begin
+ SQLConnection1.Params.Values['Database'] := '127.0.0.1:' + ExtractFilePath(Application.ExeName) + '..\..\Base.Gdb';
+ SQLConnection1.Connected := True;
+end;
+
+procedure TForm1.EfetuarLogoff1Click(Sender: TObject);
+begin
+ UserControl1.Logoff;
+end;
+
+end.
diff --git a/official/2.20/Demos/1 Basic All Data Access/FIB/Project1.dpr b/official/2.20/Demos/1 Basic All Data Access/FIB/Project1.dpr
new file mode 100644
index 0000000..08b344c
--- /dev/null
+++ b/official/2.20/Demos/1 Basic All Data Access/FIB/Project1.dpr
@@ -0,0 +1,13 @@
+program Project1;
+
+uses
+ Forms,
+ Unit1 in 'Unit1.pas' {Form1};
+
+{$R *.res}
+
+begin
+ Application.Initialize;
+ Application.CreateForm(TForm1, Form1);
+ Application.Run;
+end.
diff --git a/official/2.20/Demos/1 Basic All Data Access/FIB/Project1.res b/official/2.20/Demos/1 Basic All Data Access/FIB/Project1.res
new file mode 100644
index 0000000..03109fc
Binary files /dev/null and b/official/2.20/Demos/1 Basic All Data Access/FIB/Project1.res differ
diff --git a/official/2.20/Demos/1 Basic All Data Access/FIB/Unit1.dfm b/official/2.20/Demos/1 Basic All Data Access/FIB/Unit1.dfm
new file mode 100644
index 0000000..898b9bb
--- /dev/null
+++ b/official/2.20/Demos/1 Basic All Data Access/FIB/Unit1.dfm
@@ -0,0 +1,1466 @@
+object Form1: TForm1
+ Left = 170
+ Top = 180
+ Width = 610
+ Height = 350
+ Caption = 'User Control - FIBPlus Basic Demo'
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ Menu = MainMenu1
+ OldCreateOrder = False
+ OnCreate = FormCreate
+ PixelsPerInch = 96
+ TextHeight = 13
+ object UserControl1: TUserControl
+ AutoStart = True
+ ApplicationID = 'FIBBasic'
+ ControlRight.MainMenu = MainMenu1
+ UsersForm.MenuItem = Cadastrodeusuarios1
+ UsersForm.UsePrivilegedField = False
+ UsersForm.ProtectAdmin = True
+ EncryptKey = 0
+ NotAllowedItems.MenuVisible = True
+ NotAllowedItems.ActionVisible = True
+ Login.AutoLogon.Active = False
+ Login.AutoLogon.MessageOnError = False
+ Login.InitialLogin.User = 'Admin'
+ Login.InitialLogin.Email = 'qmd@usercontrol.com.br'
+ Login.InitialLogin.Password = '#delphi'
+ Login.MaxLoginAttempts = 0
+ Login.GetLoginName = lnNone
+ LogControl.Active = True
+ LogControl.TableLog = 'FIBBCLog'
+ LogControl.MenuItem = logdosistema
+ ExtraRight = <>
+ LoginMode = lmActive
+ UsersProfile.Active = True
+ UsersProfile.MenuItem = Perfildeusurios1
+ TableUsers.FieldUserID = 'UCIdUser'
+ TableUsers.FieldUserName = 'UCUserName'
+ TableUsers.FieldLogin = 'UCLogin'
+ TableUsers.FieldPassword = 'UCPassword'
+ TableUsers.FieldEmail = 'UCEmail'
+ TableUsers.FieldPrivileged = 'UCPrivileged'
+ TableUsers.FieldTypeRec = 'UCTypeRec'
+ TableUsers.FieldProfile = 'UCProfile'
+ TableUsers.FieldKey = 'UCKey'
+ TableUsers.TableName = 'FIBBCTabUsers'
+ TableRights.FieldUserID = 'UCIdUser'
+ TableRights.FieldModule = 'UCModule'
+ TableRights.FieldComponentName = 'UCCompName'
+ TableRights.FieldFormName = 'UCFormName'
+ TableRights.FieldKey = 'UCKey'
+ TableRights.TableName = 'FIBBCTabRights'
+ ChangePasswordForm.MenuItem = rocarsenha1
+ ChangePasswordForm.ForcePassword = False
+ ChangePasswordForm.MinPasswordLength = 0
+ DataConnector = UCFIBConn1
+ Left = 152
+ Top = 88
+ end
+ object MainMenu1: TMainMenu
+ AutoHotkeys = maManual
+ OwnerDraw = True
+ Left = 56
+ Top = 56
+ object Arquivo1: TMenuItem
+ Caption = 'Arquivo'
+ object Abrir1: TMenuItem
+ Caption = 'Abrir'
+ end
+ object Salvar1: TMenuItem
+ Caption = '-'
+ end
+ object Salvar2: TMenuItem
+ Caption = 'Salvar'
+ end
+ object Salvarcomo1: TMenuItem
+ Caption = 'Salvar como...'
+ end
+ object Fechar1: TMenuItem
+ Caption = 'Fechar'
+ end
+ object N2: TMenuItem
+ Caption = '-'
+ end
+ object Dados1: TMenuItem
+ Caption = 'Dados'
+ object Importar1: TMenuItem
+ Caption = 'Importar'
+ end
+ object Exportar1: TMenuItem
+ Caption = 'Exportar'
+ end
+ object N4: TMenuItem
+ Caption = '-'
+ end
+ object Vincular1: TMenuItem
+ Caption = 'Vincular'
+ end
+ end
+ object N3: TMenuItem
+ Caption = '-'
+ end
+ object Sair2: TMenuItem
+ Caption = 'Sair'
+ end
+ end
+ object Editar1: TMenuItem
+ Caption = 'Editar'
+ object Copiar1: TMenuItem
+ Caption = 'Copiar'
+ end
+ object Colar1: TMenuItem
+ Caption = 'Colar'
+ end
+ object Recortar1: TMenuItem
+ Caption = 'Recortar'
+ end
+ object N1: TMenuItem
+ Caption = '-'
+ end
+ object Selecionartudo1: TMenuItem
+ Caption = 'Selecionar tudo'
+ end
+ object N5: TMenuItem
+ Caption = '-'
+ end
+ object AreadeTransferencia1: TMenuItem
+ Caption = 'Area de Transferencia'
+ object Exibir2: TMenuItem
+ Caption = 'Exibir'
+ end
+ object Esvaziar1: TMenuItem
+ Caption = 'Esvaziar'
+ end
+ end
+ end
+ object Exibir1: TMenuItem
+ Caption = 'Exibir'
+ object Zoom1: TMenuItem
+ Caption = 'Zoom...'
+ object Normal1: TMenuItem
+ Caption = 'Normal'
+ Checked = True
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object Grande1: TMenuItem
+ Caption = 'Grande'
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object Ajustarnajanela1: TMenuItem
+ Caption = 'Ajustar na janela'
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object N6: TMenuItem
+ Caption = '-'
+ GroupIndex = 1
+ end
+ object Personalizar1: TMenuItem
+ Caption = 'Personalizar'
+ GroupIndex = 1
+ end
+ end
+ object amanhonormal1: TMenuItem
+ Caption = 'Tamanho normal'
+ end
+ object elacheia1: TMenuItem
+ Caption = 'Tela cheia'
+ end
+ end
+ object Relatorios1: TMenuItem
+ Caption = 'Relatorios'
+ object Relatorio11: TMenuItem
+ Caption = 'Relatorio 1'
+ end
+ object Relatorio21: TMenuItem
+ Caption = 'Relatorio 2'
+ end
+ object Relatorio31: TMenuItem
+ Caption = 'Relatorio 3'
+ end
+ object Relatorio41: TMenuItem
+ Caption = 'Relatorio 4'
+ end
+ end
+ object Segurana1: TMenuItem
+ Caption = 'Seguran'#231'a'
+ object Cadastrodeusuarios1: TMenuItem
+ Caption = 'Cadastro de usuarios'
+ end
+ object Perfildeusurios1: TMenuItem
+ Caption = 'Perfil de usuarios'
+ end
+ object logdosistema: TMenuItem
+ Caption = 'Log do Sistema'
+ end
+ object N7: TMenuItem
+ Caption = '-'
+ end
+ object rocarsenha1: TMenuItem
+ Caption = 'Trocar senha'
+ end
+ object EfetuarLogoff1: TMenuItem
+ Caption = 'Efetuar Logoff'
+ OnClick = EfetuarLogoff1Click
+ end
+ end
+ end
+ object UCSettings1: TUCSettings
+ AppMessages.MsgsForm_BtNew = '&Nova Mensagem'
+ AppMessages.MsgsForm_BtReplay = '&Responder'
+ AppMessages.MsgsForm_BtForward = 'E&ncaminhar'
+ AppMessages.MsgsForm_BtDelete = '&Excluir'
+ AppMessages.MsgsForm_WindowCaption = 'Mensagens do Sistema'
+ AppMessages.MsgsForm_ColFrom = 'Remetente'
+ AppMessages.MsgsForm_ColSubject = 'Assunto'
+ AppMessages.MsgsForm_ColDate = 'Data'
+ AppMessages.MsgsForm_PromptDelete = 'Confirma excluir as mensagens selecionadas ?'
+ AppMessages.MsgRec_BtClose = '&Fechar'
+ AppMessages.MsgRec_WindowCaption = 'Mensagem'
+ AppMessages.MsgRec_Title = 'Mensagem Recebida'
+ AppMessages.MsgRec_LabelFrom = 'De :'
+ AppMessages.MsgRec_LabelDate = 'Date'
+ AppMessages.MsgRec_LabelSubject = 'Assunto'
+ AppMessages.MsgRec_LabelMessage = 'Mensagem'
+ AppMessages.MsgSend_BtSend = '&Enviar'
+ AppMessages.MsgSend_BtCancel = '&Cancelar'
+ AppMessages.MsgSend_WindowCaption = 'Mensagem'
+ AppMessages.MsgSend_Title = 'Enviar Nova Mensagem'
+ AppMessages.MsgSend_GroupTo = 'Para'
+ AppMessages.MsgSend_RadioUser = 'Usu'#225'rio :'
+ AppMessages.MsgSend_RadioAll = 'Todos'
+ AppMessages.MsgSend_GroupMessage = 'Mensagem'
+ CommonMessages.AutoLogonError = 'Falha de Auto Logon!'#13#10'Informe um usu'#225'rio e senha v'#225'lidos.'
+ CommonMessages.ChangePasswordError.InvalidCurrentPassword = 'Senha Atual n'#227'o confere!'
+ CommonMessages.ChangePasswordError.NewPasswordError = 'Os campos: Nova Senha e Confirma'#231#227'o devem ser iguais.'
+ CommonMessages.ChangePasswordError.NewEqualCurrent = 'Nova senha igual a senha atual'
+ CommonMessages.ChangePasswordError.PasswordRequired = 'A Senha '#233' obrigat'#243'ria'
+ CommonMessages.ChangePasswordError.MinPasswordLength = 'A senha deve conter no m'#237'nimo %d caracteres'
+ CommonMessages.ChangePasswordError.InvalidNewPassword = 'Proibido utilizar senhas obvias!'
+ CommonMessages.InvalidLogin = 'Usu'#225'rio ou Senha inv'#225'lidos!'
+ CommonMessages.InitialMessage.Strings = (
+ 'ATEN'#199#195'O Login Inicial:'
+ ''
+ 'Usu'#225'rio : :user'
+ 'Senha : :password'
+ ''
+ 'Defina as permiss'#245'es para este usu'#225'rio.')
+ CommonMessages.MaxLoginAttemptsError =
+ '%d Tentativas de login inv'#225'lido. Por motivos de segun'#231'a o '#13#10'sist' +
+ 'ema ser'#225' fechado.'
+ CommonMessages.PasswordChanged = 'Senha alterada com sucesso!'
+ CommonMessages.BlankPassword = 'Retirada senha do Login %s'
+ Login.WindowCaption = 'Login'
+ Login.LabelUser = 'Usu'#225'rio '
+ Login.LabelPassword = 'Senha : '
+ Login.BtOk = 'OK'
+ Login.BtCancel = '&Cancelar'
+ Login.TopImage.Data = {
+ 07544269746D6170B6790000424DB67900000000000036040000280000007601
+ 0000500000000100080000000000807500000000000000000000000100000000
+ 00009BB5D8007493BA00ACC2E000BBBBBB00CBD9EB007D9BC20051719900F6F8
+ FB00F2F5FA0095B0D500FCFDFE00EDF2F800A7B6BC0055759D00F8FAFC00B1C5
+ E1005979A10089A8D200CDD5D9003E5E88004D7199003D5D8700FAFBFD008888
+ 8800E5ECF500DDE6F200DDDDDD00E2EAF400A5BDDD00405F880042628C0089A6
+ CC008297A0005D7DA500C5D4E900A1B9DA006685AD004569920045679000B4C8
+ E300EEEEEE00BDCEE60099B3D600A9C0DE008BA8CD009EA5B0006181A9006E8D
+ B400D0DCED006989B10099999900809DC40085A2C80044638C00C1D1E8004462
+ 8C008EAACF0091ACD100486890005579A100E7EEF6003E5F890040608A005D82
+ AB00C0CBCF008CAAD400D5E0EF00496C950042618A004A6A93008FACD500D8E3
+ F0004C6C9400D2DEEE007795BD0046668E004E6E960050709700B8CBE400BBCD
+ E500CCCCCC00C8D7EA00648BB2006D93BA0044648E00A2BADB004A6B94009BAC
+ B300708EB5004E6F980085A5CF00DAE4F10058789E0043638D0050759D00506E
+ 9600D6E1EF00F4F7FB00A7BEDE00829FC600FDFEFE0041608B0054749A007A98
+ BF0093AFD600BECFE60044628A00666666004060880086A6D0004C6B92004867
+ 8E00EAEFF700AAAAAA0049688E006C8AB1004D6E940053729A00476690006584
+ AB007290B8005C7CA300333333005F7EA60046648E005A7DA50056779E00E6EA
+ EC0046648C0044444400777777004869920044678E0080A0C900E0E8F3006D8C
+ B3005576A000AAAEB50090ADD5006080A7009EB7DA006486AF00486A93006185
+ AC00F9FAFD004C6A92003C5B85004C6E96006988AF0049699100C6CFDC0093AE
+ D20051729B00597AA30045648B004E6D94004A6992004A6C92004D6D96006786
+ AD00B6BCC40056769E003D5A82003F628B006383A900698DB500555555005A7F
+ A7005B7AA1003A5A8400527399005A7BA200426188004668900039577F007D9F
+ C70047668D00EBF1F8004C6B940087A3CA00405F8600486990004E6D96004C6D
+ 9400222222006287AF0083A3CC00FBFCFD00779BC2004A6A9100D1DDEE005473
+ 9C003C5C87006B8BB20092ADD200D3DFEF00E1E5E900426189006C8BB5008B8F
+ 940045658D005878A00042638B003F5C84005C7BA4001111110084A3CC006183
+ AB00CDD6E1006A8AB3006282AB00808285006787B0006483AC00A5BCDB004061
+ 8A004F5153003E40420043637000FEFEFE0091AED600FEFFFF00758D9600F2F5
+ F5008FA0A900D9E0E200506D7A00EFF4F9005C788300BFD0E700B5C1C60091AE
+ D500E3EBF50069828D00C3D3E900D2DDEE0097B2D700DFE7F300F7F9FC00A3BB
+ DC006F8FB7007B7E830094AFD3007998C1002F3032007396BE00909296008FAB
+ D000686C7100A4BBDA00D2D9E400D9DEE600FEFEFF0088A7D20000000000FFFF
+ FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCFCFCFCFCFCFC
+ FCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB6464640A0A0A0ABBBBBBBBBB16
+ 16160E0E0EEEEEEE07EE0707616161070761070707EEEEEEEEEE90161616BB16
+ BB0ABB0A0A0A0ADB64646464DBDB64FCFFFCDBDB64DBDB0A640A0A0A0ABBBBBB
+ 16160EEEEE07610808E30BB1703C18E886195B47424930045122EA36294F4E27
+ 0F0F0F022B621CEF55558C8C000000ECECECECEC68096868DCDCDC8A8A8A8A8A
+ 8A46464646464646464646464646464646464646464646464646464646464646
+ 4646464646464646464646464646464646464646464646464646464646464646
+ 4646464646464646464646464646464646464646464646EC0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFC
+ FCFCFCDBDBDBDBDBDBDBDBDB64DB640A0A0A0A0ABBBBBBBB16161616160E0EEE
+ EE07EEEEEEEE6107070707EEEEEEEE0E0E0E0E161616BBBBBB0A0A0ADB0A6464
+ DBDBFCDBDBFCFCFFFFDBFCDDDBFCDBDB64640A0A0A0A0ABBBB16900EEE076108
+ 08E30BB1703C181B86195B4742BE3004512236694F4E27270F022B2B1CEF238C
+ 8C0000ECECEC09688A8A46464646414141111111111111111111FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCDB
+ DBDBDBDBDBDBDB6464640A0A0A0ABBBBBBBBBB161616160E0EEE0E0EEEEEEEEE
+ EEEEEEEEEE0E0E16901616BB16BBBB0A0A0A0A0A64DBDBFCFCDBFCFCFCFCFCFF
+ FFFCFCFFDDFFFCFCFCFF0A640A0A0ABB0A1616900EEE07070808E30BB1703C18
+ 1B1B195B604230040422EAE5294F4E270F02022B1C1C558C8C0000ECEC6868DC
+ DCE78A464646414141414111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCDBDBDBDBDBDB
+ DBDB64640A640A0A0ABBBBBB161616160E0E160E0E0E0E90EE0E0E9090901616
+ 161616BBBBBB0A0A640A0A64FCFCFCFCFCFFFFFCFFDDFFFCFCFFFFFFFCFFFCFF
+ FCDBFCDBDB0A0A0A0ABBBB16160E0EEE616108E30BB1703CE81BED5B47604930
+ 04512236E54F4E270F0F022B621CEF238C8C00ECECEC6809DCDC8A4646464641
+ 4141114111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB640A0A
+ 0A0A0ABBBBBBBB1616161616160E0E169090161616161616BBBBBBBB0ABB0A0A
+ 640A64DBDBFCFCDBFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFCFCFCFCFFFCFC0A0A
+ 0A0ABB1616160EEE07610808E30BB13C3C1B86195B4742BE3004222236294E27
+ 270F0F022B1CEF558C8C8C00ECECEC68DCE7DC8A464641414141411111111111
+ FD11FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB64640A0A0A0ABBBBBB
+ BBBBBB1616161616161616161616BBBB0ABB0A0A0A0A0A64FC64DBFCFCFCDDFC
+ FFDDFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFDDFCFFFCDDDB64640ABBBBBB160E0E
+ EE076108E30BB1703C181BED194760493004512236E54F4E270F0F022B621C55
+ 238C8C00ECECEC096868E7464646414141414111111111111111FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FCFFFFFCFCFCFCFCFCFCDBDBDBDBDBDB64640A0A0A0A0ABBBBBBBBBBBBBBBB16
+ BBBBBBBBBBBB0ABB0A0A0A0A640ADBDB64FCFCDBFCDDDDFCFFDDFFDDFFFFFFFF
+ FFFFFFFFFFDDFFFFFFDDFFFCFFFCDBDB64640ABBBBBB16900EEE070808E30B70
+ 703CE81B195B4742BE300451EAE5294F27270F022B2B1CEF558C8C0000ECECEC
+ 68DC8A8A464646464141414111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFCFC
+ FCFCFCFCFCDBDBDBDBDBDB64640A0A0A0ABBBBBBBBBBBBBBBBBB0ABBBB0A0A0A
+ 0A0A0A0A646464DBFCFCDDDBDBFCDDFCFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDBDB640A0ABBBBBB16900E07070808E3B1703C181BED194760
+ 493004512236694F4E270F02022B1C1C55238C00ECECECEC6809DC8A8A464641
+ 414141411111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFFFCFCFCDBFCFCDB
+ DBDBDBDBDB64640A0A0A0A0A0ABBBBBBBB0A0A0A0A0A0A0A0A0A0A64DBDBDBDB
+ DBFFFFDDDDDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFC
+ FC64640A0ABBBB16160EEE070808E30BB1703CE81BED5B4742BE300422EAE529
+ 4E27270F022B621C55238C8C00ECECEC0909DCE78A4646414641414111111111
+ 1111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCDBDBDBDBDBDB6464
+ 640A0A0A0A0ABBBBBB6464640A0A0A6464DB0ADB64DBDBFCFFFFFFDDDDFFFFFF
+ DDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFFDDDBFC640ABBBB16
+ BB0E0EEE070808E30B703C181B86194760C33004512236694F4E270F02022B1C
+ 1C55238C0000ECEC0968E7E78A8A41464141414141111111111111FDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A
+ 0A0A6464640A0A6464DBDBDBFCDBDBFCFCFFFFDDDDFFDDFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFCFCFC64640ABB16160EEE076108E3
+ 0BB1703CE81B195B47423004042236E54F4E270F02022B621C55238C00000909
+ C239382C1FCE85AF3305F3F5015353F5AF8585BC53B93F3F3FA7993B885E5E98
+ 98981414438E599E434343145E5E98593F52B9A7251E3D3D653E3E3E3E3E3ED7
+ 1E1E1E5D545D5DCA3E1E1E3B3B5DD7C03ED7A38E434354A365D7D76565D7D765
+ 6513153E3EC092AE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A6464646464
+ FCFCFCFCFCDBDBFCFCFFFFFFFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFCFCFCDB0A0A0ABB16160EEE070808E3B1703C181BED19
+ 4760BE3004512236694E270F0F022B621C558C00EC0997381F1F346333670101
+ F02F318DCF2EA7A78F52A5B97D14934393438E258E568E8E8E8E254325251459
+ 1414143B3FB93FA75E5E5E5E93985943438E8E25252525252676767683838326
+ 6554267DA78E263E3E3D15A33DA33D3E3D3D3D3D3D3D3D3D3E133D1E1E1592AE
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCFCFCFCDBDBDBDBDBDBDBDBDB646464646464FCFC6464FC64FCFCFCFCFCFCDB
+ FCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFF
+ FFFFFCFC64640A0ABBBB160E0E07610808E3B1703CE81B195B60C3BE04512236
+ 694F4E270F022B62D6558C002AF297382CB3633367677858319FA42E7BA8A87B
+ 21C9660648B5B53A4B4B8035CA6A6AC5353E1D1D3E1D3E1ECA268E883B3B4325
+ 26262654542626262626262626252525562543255EA77D5E2525262626262626
+ 252626262654262554252525431443255D1E2606433DA9A90000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE11212FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFF1212E1FFFFFFFFFFFFFFFFFF1212E1FFFFFFFFFF
+ FFFFFFFFDF121212FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE11212
+ E1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBFCFC
+ DBDBDBDBDB64646464646464FCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFF
+ DDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFDDFCFCFCFC0A0A
+ BBBB16160EEE610808E30B703C181BED194742BE300422EAE54F4E270F0F022B
+ 1C5523002A09C2382CB36333674A0158879F9F2E7B5CA10D21A1064D48BDBD72
+ 809A3535C56C6C6C13131D44441D1D3E1D1ECA438E263D3D3D3D3D1313131313
+ 3D131313133D3D3D3D3DA3A3435E435DA33E3D3D3D3E3E3EA33EA3A3A3D7A354
+ 5426268E5E88592665D75D765D3D15A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE120DADADADADAE940FFFFFF12DADA0C
+ FFFFFFFFFFFF0CDADADADADADADADEFFFFDADA12FFFFFFFF0CDADADAFFFFFFFF
+ FFFFE0DADADADAE440FFFFFFFF40E9DADADADADA20E1FFFFFFFF12DEDADADADA
+ DADE12FFFFFFDADADEFFFF7FDADADEFFFFFFDFE0E2DADADADADEFF12DADADADA
+ DADADADAFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB
+ DBDBDBDBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFC64646464BBBB160EEEEE61
+ 08E30BB1703CE886194760493004512236294E270F0F022B62D6238C2A09F239
+ 381F6333054A0158879F772E7B5C5CA1210D4C9B91726F6FC8C83535CA6AC5C5
+ 1D6C6C1DB41D6C6C1D3E5D4354A33D1E653E3E1D3D3D3D3D1313131313131313
+ 15133D3D8E14263D3D1315C015151515C0C0151313133DD7151315A343935492
+ 133D3DC0C0133DA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFE6E2DADAE00C57E4DADAE0FFFF7FDADA0CFFFFFFFFFFFF0CDA
+ DAE9DEDEDEDE57FFFFDEDA12FFFFFF7FDADADADAFFFFFFFFFFFFDADE0C0CE4DA
+ DA7FFFFF57DADAE2570CE0E2DADAE6FFFF12DADADA200CE0DADADA40FFFFE4DA
+ DEFFFF0CDADAE1FFFFE1E2DADA200C0CE0E4FF12DADAE4DEDEDEDEDEFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFDDFCFFFCFC6464640A64BB16160EEE070808E3B1703C181B
+ ED5B47C33004512236694F4E270F022B62EF238C0009F239381FB36305674A58
+ 2F9F772E21A1100D21BF5F9B9B91BD6FC8C83535CA6A6AC56A35441D1D1D6C1D
+ 15C0359E5DD71D441D1D1D131313131313131515151515151313C01526595465
+ 653E131515151515C0C0C0C0C0C0C0159215C0151E5D3E13C015C0A9921515AE
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FE2
+ DAE97FFFFFFFFFE0DADA40FFFFDADA0CFFFFFFFFFFFF0CDADAE6FFFFFFFFFFFF
+ FFDEDA12FFFFFFDEDADADADAFFFFFFFFFFFFDFFFFFFFDFDADA0CFF40DADAE0DF
+ FFFFFFDFE9DAE27FFF20DADA0CFFFFFF12DADADEFFFFDEDADEFFFFE4DAE0FFFF
+ FFE9DAE2E1FFFFFFFFFFFF12DADAE0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFCFCFCFCFCFCFCFCDBFCDBDBFCDBFFFFFCFCFCFCFCFCFCFFFF
+ FFFFFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFCFCFCFCFC64640ABBBB160EEE076108E30B703C181B86194742BE300422
+ EAE54F4E270F0202621C558C8C2A099739382CB3343333674A78589477A85C75
+ CC754D4D0606065F4D4D4D4C4C4C4C4C9191919191913AC83792449E3E151D13
+ 1D1D1D1D1D1D1D1D1D1D1D13131313151D13C092764565653E13131513131313
+ 131315151515C092921315C03D651E5415C092C0151592AE0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0CDADA7FFFFFFFFFFFFF
+ DEDAE4FFFFDADA0CFFFFFFFFFFFF12DADA0CFFFFFFFFFFFFFFDEDA0CFFFF40DA
+ DA0CDADAFFFFFFFFFFFFFFFFFFFF40DADAE6FF20DAE4FFFFFFFFFFFFDFE2DAE0
+ FFDEDADADFFFFFFFFFE4DADAFFFFDEDADEFFE6DAE2DFFFFFE1DADAE6FFFFFFFF
+ FFFFFFFFDADADEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFCFCFCFCFFFCFCFCFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFFFFFCFC6464
+ 640A0ABB160E0EEE070808E3B1703C1B86195B6049300451EA36694E270F0202
+ 2B1C55238C2A09F2C2382CB3346305674A4A017873A4C975CCBF4D0D0D667506
+ 4C4C4C9B4C4C9B4C064D9B9B4C9B4C4C9B131E593E1D373735353535357C7C4B
+ 54545454543535353737543EB69C1D1D3E1D13133E6565653E3E3E3E3E653E1D
+ 131392C03D3E13133DC092151315C0A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFDEDAE9FFFFFFFFFFFFFF0CDADA7FFFDADA0C
+ E1127FFFFFFF12DADAE012121212DFFFFFE0DA0CFFDFE4DA20E1DADAFFFFFFFF
+ FFFFFFFFFFE6DADAE9FFFFDADA57FFFFFFFFFFFFFF20DAE4FFDEDADAFFFFFFFF
+ FFDEDADAFFFFDEDADEFFE4DA0CFFFFFF0CDADADFFFFFFFFFFFFFFFFFDADAE912
+ 1212127FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFC
+ FCFCFCFCFCFCFFFFFCFFFCFFFFFCFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCDDFCFCFC64640A0ABB1616EEEE
+ 076108E3B1703C181BED5B60423004512236294E4E270F022B62EF2300002AF2
+ 97382C1FB33405336767582F8794C9BF210D98A10D755F744D4D4C4C4D4C4D4D
+ 4C48489B48B5BD4C06131E593D1D767C353535359A8080C854547C7C7C545435
+ 3735833E984BCBCB1E1E65651E1E1E1E651E1E1E1E5D3765371E3D3D1E3E9292
+ 3E15C013131513A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFDEDADEFFFFFFFFFFFFFF12DADA12FFDADA0CE2DADAE4E1FF12DA
+ DADADADADADA12FFFF0CDA0CFF0CDAE27FFFDADAE1FFFFFFFFFFFFFF0CDADAE9
+ DFFFFFDADA0CFFFFFFFFFFFFFF0CDADAFFDEDADAFFFFFFFFFFDEDADAFFFF20DA
+ DEE6DADA2012FFFF0CDADAFFFFFFFFFFFFFFFFFFDADADADADADADA0CFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCFCFCFCFFFFFF
+ FFFFFFFCFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFDDFCFFFCFC640A0ABBBBBB16EE076108E30BB13C18
+ 1BED5B4742BE040422EA694F4E270F022B62EF238C002A09C2F7381F1F1F63B3
+ B33401785831C9A121A10DC97EAA4D4C4C4C4C4C4C4C4D4C9B5F7E21104C6E4C
+ 0D444BBF3E1D76809A35CACACACACA355454C8C8C8C85454C8C8483E0D541D13
+ 1E1E653E3E3E3E3D651E1E651E1E1E3E1D1E653D3E139213133E3E13131313A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20DA
+ E4FFFFFFFFFFFFFF12DADA12FFDEDA571240E9DAE2DF12DADADE0C0C0C0C7FFF
+ FF0CDA577FDADA0CFFFFDADA12FFFFFFFFFFFFE0DADAE0DFFFFFFFE2DAE0FFFF
+ FFFFFFFFFF0CDADAFFDEDADAFFFFFFFFFFDEDADAFFFF0CDADEE1120CE2DA57FF
+ 0CDADA7FFFFFFFFFFFFFFFFFDADAE40C0C0C0C12FFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFFFFFFFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFC
+ FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFF
+ FFFFFFDDFCDDFC6464640A0ABBBB160EEE070808E3B1703CE81B194760493004
+ 2236E54F4E270F02022BD6558C000009F239381F1F2C3333676778585873100D
+ 215C66A80D664D5F066E4D4D4D0674AA9B21F031AB484C06BF1E26BF3E133AB0
+ 6F446C9A541E5454353A76C6D1B6767C6F9545CAC9D713151E445D4465443D3E
+ 655D651E4BD5761DCACA351E3E15C0153E15C0133E1315A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6DADA12FFFFFFFFFFFF
+ 57DADADFFFDEDA0CFFFF7FDADAE612DADA0CFFFFFFFFFFFFFF0CDADEDEDAE4FF
+ FFFFDADA12FFFFFFFFFF12DADAE0FFFFFFFFFFE0DAE2DFFFFFFFFFFFFFE9DAE9
+ FF0CDADA12FFFFFFFF0CDADAFFFF0CDADEFFFFFFE6DADA7F7FDADA0CFFFFFFFF
+ FFFFFFFFDADADEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFCFC
+ FC640A0A0ABB160EEE076108E3B1703CE81BED5B60493004512236294E270F02
+ 022B1CEF2300000997C2382CB32CB33463334A7858C1C90D79C9AA1010A87E5C
+ 754C75064D4D744D0D242EB74D4C4C06754426BFD71D953A3AB54BCA543E3A76
+ 9CC875D4213A3A243A9145357ED7131D5D3E3E3E1D13543E1E1E1E3D9EC6BF54
+ 9A35351E3E1515136513C0C0151313A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFDFE2DAE9DFFFFFFFFFE1E2DAE0FFFFDEDA0C
+ FFFFDFDADA0C12DADA0CFFFFFFFFFFFFFF0CDAE2DADA12FFFFFFE4DA12FFFFFF
+ FFFF0CDADAFFFFFFFFFFFF12DADAE0FFFFFFFFFFE6DADAE6FF0CDADA12FFFFFF
+ FF0CDADA12FF0CDADEFFFFFF40DADA12FFDEDADA12FFFFFFFFFFFFFFDADADEFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFC64640A0ABB160E
+ EE076108E30B703C181BED5B47C33004512236294F27270F022B62EF23002A09
+ 09C2382C1F2C386363054A017887A8BF7B10065C5C0DAA66664D66754D064D06
+ AA2E24AA4C4D0D4D063E26BF3E3E9C9CC8B5CA6C76548335443A0DCC45542ED5
+ 95484584BFD7134454831E13761D5D1E5D9265452EC698544BC8351E1D15133E
+ 653E15C0153E3EA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFF12E2DAE40C121257E2DAE2DFFFFFDEDADE0C0CDEDADA4012DA
+ DADE0C0C0C0C0C7FFF40DADADA20FFFFFFFFDEDAE6FFFFFFFFFF40DADA201212
+ 0CE1FFFF0CDADADEE61240E0DADADEFFFF0CDADA12FFFFFFFF0CDADA12FF0CDA
+ E40C0C57E2DADADFFFDFE9DADAE040124057E1FFDADAE40C0C0C0C0C12FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFC640A640ABB1616EE076108080B7070
+ 181B861947423004512236694F27270F022B62D6230000EC0997F72C1FB33834
+ 056701787887CC0D79AB4DAB215C5CA16606AAAA4D4D4D060101F3C1A84C6606
+ 061DAD986C44959C9A95449A7676761E1E567D7D84B7F0069148953A063E1337
+ 5D1E5D13763E443E54C05488D12F983A6FC835441D151D1E3D3E3E133D653EA2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ E1DEDADADADADADADEDFFFFFFFDEDADADADADADAE0FF12DADADADADADADADA12
+ FF12DADADA7FFFFFFFFFDEDA0CFFFFFFFFFFFFE0DADADADADA7FFFFFFF40E4DA
+ DADADADADA57FFFFFF0CDADA12FFFFFFFF0CDADA12FF0CDADADADADADAE2E6FF
+ FFFFDFE0DADADADADADA12FFDADADADADADADADA0CFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ DDFFFFFFFFFFFFFCFCFC640A0ABB16160EEE070808E3B1703CE886194742BE30
+ 042236694F4E270F022B62EF238C00EC09C2F72C1FB3B36367670101782FCC0D
+ 10794D2121A15CAAAAAA4D4D064C4C064D7E797B945C9B4D061D9598131E763A
+ C83A449544541D54C8138806A3AD9826914895569E1D153576924B1E3E5D543E
+ 155D83982E4AD47B6FC81E3E13151D1E3D3E3D13133E3DA20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FE60C0CE67F
+ FFFFFFFFFFE112121212127FFFFFDF1212121212121212DFFFDF1212E1FFFFFF
+ FFFFE1127FFFFFFFFFFFFFFFE10C0C0CE1FFFFFFFFFFFFE10C0C0C40DFFFFFFF
+ FF7F1212DFFFFFFFFF7F1212DFFF7F121212121212FFFFFFFFFFFFFFDF400C0C
+ 0C40DFFF12121212121212127FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
+ FF64640A640ABB160EEE070808E3B1703CE88619476049300451EAE54F4E270F
+ 020262D6558C002A0997F7381FB3343305674A0178C121A15C794D7910667BAA
+ 75790D4DAA4C4C06AA064C6E0D7506AA981D45061335763A4844443A1EB21E76
+ 3A4B764B563A7648919B9593563D157C5D4B5D13441EC01E65541E5476983AC8
+ 6FC81E3E1315134465131515151513A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFCFFFCFC64640A0ABB16
+ 0EEE076108E3B1703CE81B195B4749300451EAE54F4E270F022B2B1C55238C2A
+ 09F239381FB3343305676701782F8BA1C9AB4D211021019F0D2FA4AA66064D06
+ AA4CA1AA4D74664CBF1D43981354769CC8C8D101F0D19E1D3EB2443A453A453A
+ 6E4C9506831D15763D8313831E44541E3D15135D3A761E3A4B8035441D151365
+ 6513131E1E1315CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCDDFFFCDB64640ABB1616EE076108E30B70
+ 3C181BED5B47C330045122E5294E270F02022B1C55238C00099738382CB33463
+ 05674A0178782EA199CC06215C210558A1F32FBF66AA4D4D4C75AA4D5C4D0610
+ BF1D4898134B3A913AC5940D7676C8837C7CA87B3A9C3A486E4C45983A1D1576
+ 3A1376D15DB2C6761E1E5D15765454354B80351E1D15133E3D151E833A65C0A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFDDDDFCFFFCFCFC640A0ABBBB16EEEE6108E30BB170181BED5B474230
+ 0451EA36294E272702022B62558C8C2AEC9739381FB3343305674A01782FD5C9
+ 79A866A8109F874A8DC6F30DA10D4D66AA666666AA06BFA1A11D9EBF549A9C3A
+ 83D7F578787BBDBD5648D4C90DD276833ABF76C94B441D761E769CC65978B67C
+ 54351E5D54545476763A1D761315374465153DD13E1365A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFF
+ FFFCFC64640ABB16160EEE610808E37070181BED5B4742300451EA36694E270F
+ 02022B62EF8C8C002AF239F71F1FB36333054A017858775CAB8B06791078A4C1
+ 0521587779A1A8A85C5C5C5C0DAA66A10D15C999A34B9C3A4B83F0BF5966486E
+ AA4CD198CC109E839C9EADD2C81E443A54139EF3C6785FB695764B4B4B5D5D5D
+ 763AC83A1E445D44156583D41E3E1EA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFFFCFC646464BBBB
+ 160EEE070808E3B1703CE886194742BE04042236694F27270F022B1CD6238C2A
+ 09F2C2381FB3B3633305674A01F024107B2FA1AB7901AB2E0599D42410107966
+ 5C5C5C5C7E0D0DA10DD78F2ECA95569148B6016701774D100D4CD24810065945
+ 595643A5AD54C8953E9EC9CC88C6CC83599EB2B2453A767654358335D7441E3E
+ 135D59995D76B26F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC64DB640ABBBB160EEE070808E3B1
+ 703CE886194742BE30512236694F27270F022B1CEF238C002AF297382C1F3463
+ 3305674A015824A8CF2F7BC9102E0D10C9BF107E66ABAB105C5C5CA8105C5C10
+ BF458F8BAD9D6E6E9E3A065906AA9D0D0DAA0D06BF9806599893143143C8C876
+ 48567DF0317B59594C9E489E48569C9C45959826C8C84B848399F57899454B6A
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFDDFFFFFC64646464BBBB160E0E076108E3B1703CE886194742BE
+ 04042236694F4E270F022B62EF23000009F239382CB3343305674A4A78879F8B
+ 249FCF7E7E0DAA664D754D064D4DB7664D4C4C4D06060606459E0D06B5843A3A
+ 959B48B03A984C934C4D954C9D4D9E4C4343933B43C85454CAD7CA3ACA845426
+ 3A6F6F3A833A3A3A4B26AA8444D7A3D7543D1E44545D37B40000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
+ FFFCFCFC640A0ABB160E0E076108E30B703C181BED5B604930042236694F4E27
+ 0F022B1CEF23002A0939382C1F3433054A0158879FA47B21CCA10DBFB7489195
+ 91726F4856987DC972B09AB06FB0B0B04445C835AD9A9A6FB0356A953A4B4C3B
+ 3A6F9AC84B9A4BC835268326434B544B54CAD7CACA985E43C89ACA9A9A353554
+ 4B9598B76FC89ACA3D5D76B6833E1D6A0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFC64640A0ABB
+ 1616EE070808E3E3B1703CE81B1947C3300422EA694F27270F022B1C5523002A
+ F2C2382C1F3433676701583194778B7BCC5C0D6606065F9B6E6EBD3AC8067B8E
+ 6EB5B0B0B0C880804435CAC5C89A6AB09AB09A80C53599A79572729A6F35C835
+ 1E35C8CA26C8354B6ACA4B1D440D7D8E6FC89A9A35CA1E35C580C83A35C5CA6C
+ 3D767610597613AE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFCFC640A0ABB160EEE0761610808
+ 08E3E3B17018ED4749045136694F4E270F022B1C5523002A0939381F1F343367
+ 677858739FA47BA85C5C0D4C5F9B9191726E72C826563B846E729A9A80356A6A
+ 801D4B356A80AC806A9A6AC8D73D3B8872726F806A806A6A35441E543E354435
+ B01D6FCACAAD7E95B56FC89A9ACACA353580CBC8AC6A4B353D7615BF76541ECB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDDFFFCDDFC0A0A0ABB160EEE07076107EE0E0E0EEE0708B11B
+ 473051EAE54F4E270F022B1C5523002A0939381FB33433674A015873772E8BCC
+ 5C66665F5F4C6F953A72B03ACAB73B546F3A1D806AB4C580B0B46AB46FB46AB4
+ 449A1D4435157D9880B09A8080C5C5C57C15443735351D351D441DCA1E4B0635
+ 6F6F44C8445D1D3E1D443E44541E1DC81E443E4BC81E54CB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
+ FCFFFC6464640ABB160EEE07077F71176B818181170316081B4204EA694F4E27
+ 0F022B1CD623002A0939381FB36333674A0158872F739F777B9F7BA81066A14D
+ 9B483AC815837ECAB43A3A6EC84C6F95484806486E4806483A953A6FC8152193
+ 6CB09A6ACBC5657C44351D5415C854547C541EC8D73A4844CA6FC515A95D3544
+ 1D3A35443E1E44C01E441D351E1D35CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFC6464640ABB
+ BB0EEE070781FEFEFEFEFEFEFEFEA60AE31904EAE54F4E270F022B621CEF8C00
+ EC97381F1F63333305676778788773739424A4249F79C9AB5C5CBF486C43AB84
+ 80064C4C9B5F664C485C065F5C0D6E5F4D4C75064C448F43B46A6F4B959C3AB2
+ 9CB2B29CB6B61D459C6F6F8ECA4C3A1DCACA6C9A4B4B1D1D1EC03A4B153A159C
+ 35441D4413C044A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC640A64BB160EEE0707CDFE7A
+ 82D36BCDFEFEFE17EE1B3022E5294F4E270F0F022BD655002A97381FB3343333
+ 33674A01015887947377247B7B2E218B10ABA806A34899CA954D489BAA48664C
+ 754D75BF064C75A10D454D9806CA8F26CA3548C8B2445D54C8543A359E35483A
+ 954B4593AD0D351D1DCAC56C1D134445761E1D833E3E3E1D351E1D3EC09244A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFCFC64640A0ABBBB160EEE07D312610808E3C4F4FEFEB8
+ 163C495136E5E56969294F4E270262232AF2381FB334333305670505782F8794
+ 942424014A947B7EA8A8CC98D75699A3B5484C0DAA774D669B7506664A78D1C6
+ 779E4C98BF3524841D3A6E541E3A75B676563A563A54F021BD4B45483AA1C51D
+ 6C4BC54410D5BF131D35BF4859D10D5D35353E3E15C044A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFF
+ FCDDFCDBDB64640ABBBB90EE07616161616108E3F6FEFEFEBB70425122220430
+ 604242490436271C0009F71F1F3433330505336301C1C1949F24335831059458
+ 79AB21A1CA437D844B0D0648D4A8F04C0D4CAABFF0F30188787E060DBF268DAD
+ A94CC85676D478884B3A3A8376450DF05F6E489DB598356A6CB0CA6CBF990676
+ 764483D1313A44445D5D3E3E131535A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5003030328FFFFFFFFFFFFFFFF
+ FF5003031AFFFFFFFFFFFFFFFFFF280303031AFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFF1A03030328FFFFFFFFFFFFFFFF28030350FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A030350FFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFF50030328FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A03031AFFFFFFFFFFFFFFFFFFFF
+ FF28030350FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF030303FCFC6464
+ FC0A16EE0761EE1A030316EE12FEFEFE50B1600404428670E68903890B1B0402
+ 23EC381F34343333336767670578873131948B01F301F52E215C990DD73A99CA
+ BD4C064C66F0AB0D740DBF9E8DF30501D20D4D9859842ECA6C5935B29C244A83
+ 45C83A7659C926F0064CB7959D4D9A6AC89ACA562E103A44C0440DD2249C354B
+ 5D351D1D15135DA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFF03A6FEFEFEFEFEFEB86B1AFFFFFFFF6BFEFEFEFEFEB871FF
+ FFFFFFFF17B8FEFEFEFEFEFE17FFFF03FEFEFE28FFFFFFFFFFFFFFFFFFFFFFFF
+ FFFF036BCDFEFEFEFEFECD32FFFFFFFF717AFEFEFEFECD6B28FFFFFFFFFEFEFE
+ 03FFFFFFFFFF81FEFE17FFFFFFFF6BFEFEFEFE82FF03FEFEFE28FFFFFFFFFFFF
+ 286BCDFEFEFEFE7A71FFFFFFFF03FEFEFEFFFFFFFFFFFFFFFFFF17FEFEFE03FF
+ FFFFFFFFFFFFFFFF71B8FEFEFEFE3217FEFE81FFFFFFFF037AFEFEFEFEFE17FF
+ FF03FEFEFEFFFFFFFF81FEFECD50286BFEFEFEFEB8FCCDFEFE03BB0E615081FE
+ FEFECD17BBFEFEFE03B147EB47A0A6FEFEFEFEFEFEB8D04E2309381F34343333
+ 336733673487942F24A424F0317B7B7D215CAB5CCA8399A33A0606AA31A49F06
+ 667445BFD4054A7B4D4D060D4D56CFCA3E453A3A76B2013A564BCA3A932E01D2
+ 484848B5B7486AB49AC844C8CCA13A3E1E35C8C9D54476765D1E1315C01D54CB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B
+ FEFEFEFEFEFEFEFEFEFEFE32FFFFFFB8FEFEFEFEFEFEFE71FFFFFF81FEFEFECD
+ 8181CDFE81FFFF03FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF286BFEFEFEFEFEFE
+ FEFEFE81FFFFFF6BFEFEFEFEFEFEFEFECD50FFFFFF7AFEFE03FFFFFFFFFF82FE
+ FE17FFFFFF71FEFEFEFEFE81FF03FEFEFEFFFFFFFFFFFF50CDFEFEFEFEFEFEFE
+ FE6BFFFFFF50FEFEFEFFFFFFFFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFFFFFF1A
+ CDFEFE8117173203FEFE81FFFFFF32FEFEFEFEFEFEFE81FFFF1AFEFEFEFFFFFF
+ 71FEFEFE32FF82FEFECD8217822881FEFE030A9050CDFEFEFEFEFEFE6BFEFEFE
+ 030B5B47E0CDFEFEFEF4D9F4FEFE2D272309381FB363333305674A67012FC194
+ 9F772E944AF02179795C10A1444B885DC8754D75BF7E4C064C4C9B06107821C9
+ 4D4D66665993ABC81D455654543A3A54B09A4B6F5624F00D5F48834806543E1D
+ 5D54351E1E351E1E3DD78399064B44765D5D139213653ECB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFEFE6B71033281
+ FEFEFEFE03FFFF827128FF1A7AFEFEA6FFFF17FEFECD17FFFFFFFF1A32FFFF03
+ FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF7AFEFEFECD82710303176B7AFFFF71FE
+ FEFE1728FF037AFEFEB828FFFF81FEFE71FFFFFFFFFF17FEFE82FFFFFF17FEFE
+ FE03FF71FF03FEFEFEFFFFFFFFFFFF7AFEFE7A03FF2817FEFEFE17FFFFFFFEFE
+ FEFFFFFFFFFFFFFFFFFF03FEFEFE03FFFFFFFFFFFFFFFF17FEFEB8FFFFFFFF1A
+ FEFE7AFFFF1ACDFEFE7A71FFFF1A32FFFFFFFEFEFEFFFF28B8FEFE6BFFFFCDFE
+ FE32DDDDDB646BFEFE710A1681FEFECD32EEC4D3FEFEFEFE030BEDFACDFEFE81
+ 9647305151E0E0028C09381F34B3330505674A0178878731249FA4A4247B108B
+ 10AB21BF35450D546EAA744859069E0606BD594C48C9064C4DAA75754D14211D
+ 54487676543A353A3A9A4BCA3A59453A95B25643BF541D929C3E441D761D5D35
+ D7541E35134B3A541E1E3DC01D4465CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF7AFEFEFE17FFFFFFFFFF6BFEFEFE6BFFFFFF
+ FFFFFFFF82FEFEA6FFFFB8FEFE17FFFFFFFFFFFFFFFFFF1AFEFEFEFFFFFFFFFF
+ FFFFFFFFFFFFFF17FEFEFE8128FFFFFFFFFFFFFFFFFFB8FEFE17FFFFFFFF28CD
+ FEFE17FFFF81FEFE17FFFFFFFFFF17FEFE81FFFFFF17FEFEB8FFFFFFFF1AFEFE
+ FEFFFFFFFFFF32FEFECD28FFFFFFFF17FEFECDFFFFFFFEFEFEFFFFFFFFFFFFFF
+ FFFF03FEFEFE03FFFFFFFFFFFFFFFF17FEFE7AFFFFFFFFFFFEFEFEFFFF17FEFE
+ CD28FFFFFFFFFFFFFFFFFEFEFEFFFF82FEFEB828FFFFFEFEFE71FFDD646417FE
+ FE170A7FFEFEFE3290E3703CD3FEFEFE03E31BC7FEFEB8C4190436294F4E0F2B
+ 8C2AC21F3434333305674A017887C19F9F9FA48B8B21797B5C797BBF35565E54
+ C84D664C750659590D6EBFAABF1010994D660666B798211D92483A4576453E3A
+ C86E4B9D459A4583B2594C83C9C81EC5441E4B5D5D131D3ED73ED74B3E441E54
+ 1D1E3E133E3E3DCB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFEFEFEFEFFFFFFFFFFFF28FEFEFEB8FFFFFFFFFFFF71CDFEFE71
+ FF50FEFEFE28FFFFFFFFFFFFFFFFFFFFFEFEFE03FFFFFFFFFFFFFFFFFFFFFFCD
+ FEFEB828FFFFFFFFFFFFFFFFFF1AFEFEFE1AFFFFFFFFFF82FEFE81FFFF17FEFE
+ 17FFFFFFFFFF17FEFE81FFFFFF71FEFE7AFFFFFFFFFFFEFEFE03FFFFFFFF6BFE
+ FE6BFFFFFFFFFF28FEFEFE03FFFFFEFEFE03FFFFFFFFFFFFFFFF03FEFEFE03FF
+ FFFFFFFFFFFFFF1AFEFEFEA61AFFFFFFFEFEFEFFFFA6FEFE6BFFFFFFFFFFFFFF
+ FFFFFEFEFEFF50FEFEFE50FFFFFF6BFEFECD32FFFCFC17FEFE170A03FEFEFE28
+ 070B18E818B8FEFE0308E8D8FEFE820B4704223636694F0FD600971FB3343333
+ 330501782F582F9494772E2E2E778BA8AB10107ECA8399264D4D4D0694F0774C
+ 4C0D4C749F78D5C6934D5F0D95AB999C765935C8CCD4BF4B4CACB5C8458BC976
+ 9C5643AD7D4B35353A5444C910CC834B26458821593E1576445D1E3E653E1DB4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFE
+ FE7AFFFFFFFFFFFFFF7AFEFEFEFFFFFFFFFF82FEFEFE17FFFF03FEFEFEFFFFFF
+ FFFFFFFFFFFFFFFFFEFEFE03FFFFFFFFFFFFFFFFFFFF03FEFEFE32FFFFFFFFFF
+ FFFFFFFFFF03FEFEFEFFFFFFFFFFFF03FEFEFEFFFF17FEFE82FFFFFFFFFF03FE
+ FE7AFFFFFF03FEFEFEFFFFFFFFFFFEFEFE03FFFFFFFF81FEFE17FFFFFFFFFFFF
+ 81FEFE17FFFFFEFEFE03FFFFFFFFFFFFFFFF03FEFEFE03FFFFFFFFFFFFFFFFFF
+ 32CDFEFEFE7A825081FEFE50FF81FEFE17FFFFFFFFFFFFFFFFFF81FEFE507AFE
+ FE17FFFFFFFF2881FEFEFECDA63271FEFEA60A03FEFEFE6407B1181B1BD8FEFE
+ 170818D9FEFE17613C86195B191947040F8C972CB33463050567014A4A582FC1
+ 87949F778B8B2E211010A15C3593A58E6F4C759B2EF0871010060D7B2105F32E
+ 934C5FA1B5A521B21E483A547BD51006BD7EA1BF4DAB24B23A839E06314C4B76
+ 1E443AD424CCB2984310D4993A1E3E3E5476541E5D5D5D9A0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE81FFFFFFFFFFFF
+ FF81FEFEFEFFFFFF2881FEFECD71FFFFFF03FEFEFEFEFEFEFEFEFEFEFEFEFFFF
+ FEFEFE03FFFFFFFFFFFFFFFFFFFF17FEFEFE1AFFFFFFFFFFFFFFFFFFFF03FEFE
+ FEFFFFFFFFFFFF03FEFEFEFFFF17FEFE81FFFFFFFFFF03FEFEFEFFFFFF03FEFE
+ FEFFFFFFFFFFFEFEFE03FFFFFFFF81FEFE17FFFFFFFFFFFF81FEFE17FFFF81FE
+ FE03FFFFFFFFFFFFFFFF03FEFEFE030317177128FFFFFFFFFF28177AFEFEFEFE
+ CDFEFE03FF81FEFE17FFFFFFFFFFFFFFFFFF81FEFE82FEFECDFFFFFFFFFFDDFC
+ 036BCDFEFEFECDFEFE810A1AFEFEFE1AEE0B18861BD3FEFE170818D9FEFEFEFE
+ FEFEFEFEFEFEFEF1E523F22C341F2C0505674A34344A2F582FC17394777777A4
+ A87910C94B99BC140666AA06A40178AB5C77A8AB8B01D421AA66BFBF8EF53F54
+ 4C5656592FD421985C105C06D578CC4C064C595E8D9326765D0D31D421B6590D
+ 06998DBF3A459C7654545D1E5D5D54B00000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF81FEFEFEFFFFFFFFFFFFFF82FEFEFE28FFFF
+ 81FEFE7A1AFFFFFFFFFFFEFEFE710303030317FEFEFEFFFFFEFEFE17FFFFFFFF
+ FFFFFFFFFFFF17FEFEFEFFFFFFFFFFFFFFFFFFFFFF28FEFEFE71FFFFFFFFFF32
+ FEFEB8FFFF17FEFEFE28FFFFFFFF71FEFEFEFFFFFF28FEFEFEFFFFFFFFFFFEFE
+ FE17FFFFFFFF82FEFE7AFFFFFFFFFFFFB8FEFE32FFFF81FEFE03FFFFFFFFFFFF
+ FFFF03FEFEFE03B8FEFEFEFE82FFFFFFFFFFFFFF280382B8FEFEFE32FF82FEFE
+ 7AFFFFFFFFFFFFFFFFFF81FEFE717AFEFE32FFFFFFDDDDFCFCDBDB5032A6FEFE
+ FEB80A16B8FEFE17BB0870E8E8D3FEFE17081BF1FEFEA60389892D89F4FEFED3
+ 22D6092CB3B31F0533674A05057858783131949F949F2E8BAB7921A15699A55E
+ B5060DA1BF7979A106A8BFBF0DAB0DBF66BFBF0693525243543A4C062106489E
+ 9DAA9D4C7910BF9E599E458E98C8CA1E4B98CC48454B3A13C8D74C4B5D1E1D3E
+ 1E1E3E3D653E3EC50000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF81FEFEFEFFFFFFFFFFFFFF17FEFEFE03FF50FEFEFE28FFFFFFFF
+ FFFFA6FEFE32FFFFFFFF32FEFEB8FFFFFEFEFECD50FFFFFFFFFFFFFFFFFF17FE
+ FEFEFFFFFFFFFFFFFFFFFFFFFFFFA6FEFEA6FFFFFFFFFF81FEFE6BFFFF71FEFE
+ FEA6FFFFFFFFA6FEFEFEFFFFFFFFFEFEFE28FFFFFFFFFEFEFECD50FFFFFF50FE
+ FEFE50FFFFFFFF03FEFEFE1AFFFF81FEFE03FFFFFFFFFFFFFFFF1AFEFEFE71FE
+ FEFEFEFEFE6BFFFFFFFFFFFFFFFFFF28B8FEFE17FF71FEFEFE03FFFFFFFFFFFF
+ FFFF81FEFE0350CDFEFE71FFFFDDFCFCDBDBDB64FC6417FEFEFE0A0ED3FEFECD
+ 500E08B1B1D3FEFEA6611BA0FEFEB8EE3C5B4786B8FEFEC7E5F9F21FB36363F3
+ 67670178F087879424A42E8B7B21A879795C2166B75E5E14B774B74DBD4C4856
+ 4C9D564D9E454C4C93489B59143B53A73A3A5435763AC8C8B0CA3AB54B3A3A4B
+ 4B5683AD434B26353E1D1D1E1E444435C813484B76351D445D1E1D3D3E1315CB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6FE
+ FEFEFFFFFFFFFFFFFF17FEFEFE03FF03FEFEFE17FFFF1A32FFFF03FEFECD03FF
+ FF287AFEFE17FFFFFEFEFEFECD821703FFFFFFFFFFFF71FEFEFE71FFFFFFFFFF
+ FFFFFFFFFFFF50FEFEFEA61AFF1A6BFEFEFE50FFFF03FEFEFEFEB882177AFEFE
+ FECDFFFF5003FEFEFE17030328FFFEFEFEFECD821703FFA6FEFECD32FFFF71CD
+ FEFEA6FFFFFF81FEFE71FFFFFFFFFFFFFFFFFFFEFEFE7128FF507AFEFEFE03FF
+ FF0328FFFFFFFFFFB8FEFE17FFFF7AFEFECD3228FF280303FFFF81FEFE03FF32
+ FEFECD50FFDDFC1A50DDFCFC64DB32FEFEFEBBEE617AFEFECD321AEEEE6BFEFE
+ 81611960D9FEFE6BC43C18F6FEFECDD02700392CB36333674A01F058D1C1872E
+ 8B79C90DBFBF754D4D4D56954556459E453B7D1480373E1E1E3544134435443E
+ 6C443E5D253FA7C945441D1E3E441E1D443E3E44443E44543BA13A8044921313
+ 13923E15153E153E1515351D1D54C0C09265A9A9C09213AE0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFE1AFFFFFFFFFF
+ FF03FEFEFE03FFFFB8FEFEFEFEFEFECDFFFFFF32FEFEFE7A81FEFEFE7A28FFFF
+ FEFEFE7AFEFEFE17FFFFFFFFFFFF28FEFEFE6BFFFFFFFFFFFFFFFFFFFFFFFF32
+ FEFEFEFEFEFEFEFEFE32FFFFFF03FEFEFE81FEFEFEFEFEFEFE82FFFF81FEFEFE
+ FEFEFEFE03FFFEFEFE7AFEFEFE17FF287AFEFEFEFEFEFEFEFE7A28FFFFFF81FE
+ FE17FFFFFFFFFFFFFFFFFFFEFEFE03FFFFFF28CDFEFE6BFFFF82FE7A6B17177A
+ FEFEFE50FFFF50CDFEFEFEFEFEFEFE17FFFFA6FEFE32FFFFA6FEFEB828FCDB28
+ FECD8117176BCDFEFEA6166108C47AFEFEFEFEFEFEFEFEFEB8E3473096F4FEFE
+ CD81B8FEFEFEC72262F2381F3433054A7858C17331319F7BC975B648B245956F
+ C84B35449A9ACACA543B3B841DAC1313921D13921D1D151D6C1D1D3D3D3B983A
+ 1E13131D1D131D1315C0C01313C015138E5615B4CB15151513C03E133D65C015
+ 131544C51D15A9C09265C013651365A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFF03FEFEFE17FFFF
+ 5081FEFEFEFEFE6BFFFFFFFF037AFEFEFEFECD6B28FFFFFFFEFEFE716BFEFE17
+ FFFFFFFFFFFFFF6BFEFEFE03FFFFFFFFFFFFFFFFFFFFFFFF1A6BFEFEFEFEFEA6
+ 03FFFFFFFF03FEFEFE2882CDFEFEFECD82FFFFFF81FEFEFEFEFEFEFE03FFFEFE
+ FE716BFEFE17FFFFFF32B8FEFEFEFEB81728FFFFFFFF6BFEFE17FFFFFFFFFFFF
+ FFFFFFFEFEFE03FFFFFFFF81FEFE81FFFF0381CDFEFEFEFEFEB871FFFFFFFF1A
+ 6BFEFEFEFEFECD50FFFF17FEFE17FFFF28CDFEFE7A28DBDB6B7AFEFEFEFEFEFE
+ 6B7F0708E30BE3F67AFEFEFEFEFEFEFEF418EB512296F8CDFEFEFEFEF432510F
+ 009738B33433674A015831D4319F8BA85C0DBF064D4D4C4856454B6F6FB044B4
+ 3D3B5E3DAC7C3554C83A3A83453A3A56953A9C76A37D986A133E441E35444435
+ 764B4B7676C8544B439D1D1DC53537445D1E545D4B3A5D545D5435763792135D
+ 3E1E651E1E3E1ECB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFF03FEFEFE17FFFFFFFF28030350FFFF
+ FFFFFFFFFFFF28030350FFFFFFFFFFFFFFFFFFFFFF1A031AFFFFFFFFFFFFFF1A
+ CDFEFECD71FFFFFFFFFFFFFFFFFFFFFFFFFFFF030303FFFFFFFFFFFFFFFFFFFF
+ FFFFFFFF500303FFFFFFFFFFFFFF81FEFE03FFFFFFFFFFFFFFFFFF1A031AFFFF
+ FFFFFF1A03031AFFFFFFFFFFFFFF17FEFE17FFFFFFFFFFFFFFFFFFFEFEFE03FF
+ FFFF28CDFEFE81FFFFFFFFFF2803030328FFFFFFFFFFFFFFFFFF0303031AFFFF
+ FFFF17FEFE17FFFFFFFFFFFFFFFCFC640A646450030350BB16EE61E30BB17070
+ 700B89898989FBE819C351E5693622300C2D2D9604690FF92AF2382CB3B33305
+ 4A01739FC131217B7B79CCA8C910C910AB10107EA10D4D3A3D995E3D3A914556
+ 484C5906064C9E064C480659A38F0DAC4476764B3A3A4B4556459C4545454545
+ 5E9D441D7C355D35C8545454544B4B4B544B6A7637A9655D4B5D1E5D443E1EB4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FE
+ FEFE03FFFFFFFFFFFF28FEFEFE17FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32FEFEFEFE7A1703
+ 0371177A03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFE32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFE17FFFFFFFFFFFFFFFFFFFEFEFE6B171717B8FEFEFE17FF
+ FFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFE17FFFF
+ FFDDFCFFFFDBDB640A0A0ABBBB1616EE0761080BB1703C18E81B86ED195B6049
+ 0451364F4E4E4E4E4E4E4E270F2B55000939F72CB3346305674A317731C18BD5
+ 8B7BCC79A810A8A8C90D0D66660D75B55D7D5EA39B919C564548489E064C484C
+ 7448065954B95E6C353A76C83A833A45953A3A3A3A4545457E3A44923A443554
+ 35C8C8C854355454543A3580C5921E651E13445D3E441ECB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03FEFEFE17FFFFFFFFFF
+ FFFFFEFEFE6BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03CDFEFEFEFEFEFEFEFEFE28FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A17
+ 8117FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FE
+ FE81FFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFE7A28FFFFFFFFFFFFFCFCFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEA6FFDDFFFFFFFCFCFCDB64
+ 0A0ABBBB900EEE076108E30B703C18E886195B4742EB30512236294E270F0F0F
+ 02022B62552300EC9739381FB3346333674A312431877B248B7979A8C9105C7E
+ A8A17EA10D107E9B1E7D5EA34D91484556B64848590659594D4C7598265206AC
+ 543A76544B833A7645459595569E9E483BADCACB9C351E541EC8547676C83A76
+ 263AC8356C151E5D1D137676445D54B40000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF03FEFEFE17FFFFFFFFFFFFFFFEFEFE81FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFF28177AFEFEFEFEFEFE7AFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFE81FFFFFFFFFFFF
+ FFFFFFFEFEFEFEFEFEFEFECD6B28FFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFF17FEFE81DDFFDDFCFFFFFCDB640A0ABB16160EEE0761
+ 0808E3B1703CE886195B4742BE04512236294F4E270F02022B1CEF232300ECF2
+ C2F7381FB3346305674AC1D49F877BD2A47B21A85C105C7E5C0D7E7EAA7E0D6E
+ 3E7D7EA34D9B064548065956484C4C4C4D4D060684B99DB4763A453A4B45B276
+ 3AB5B595489EB79D93C86C1D4BB21E35459544CA9A9A956F263580ACCB923E45
+ 45560DB63E5D54B40000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF03030350FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDDFFFCFCFC0AFC640A0ABB16160EEE076108E30B707018E886
+ 19476049300451EA36294E270F0F022B1C1C238C8CECEC09C2382C1FB3633305
+ 674A58D49F2F7B24A48BABA85C10A1667E667E7E665C5C481E8B99A34C9BBF26
+ 59A10D9EB24C5959AA7575982552BDAC3A45B6483A48593A6F3A95BD4874483A
+ CAC86CB03A10B2458BC93A9A9A9A569556353AB0C5C5C888CCCCD5BF1D4435B4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFC
+ FFDBFFDB640A0ABBBB161690EE07610808E3B1703C181BED5B4742BE30042236
+ E54F4E270F0F022B1CEF238C00EC0909C2382C1F3463330567675894242FD2D5
+ CF2F8B7B2F87BFA1A1060D5CA17EA19B843F3BCA759B2F569888C12659598359
+ 4D750D14145206AC3A83F00688F02E2626AD833A4C4559569845352644D47B99
+ 8B4DCACA4B4B4B3A9C9C06B2441E1ED5CC8B103A134435CB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFCFCFFFFFCFFFFFFFFFFFFFFFCFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDFCFCDB0A0A0A0A
+ BB16160EEE076108E30B703C3CE886195B60493004512236694F27270F02022B
+ 1C55238C002A090939F72C1F34630505674A5894C1D1D49FA44A9F2158F00D7E
+ ABA1A1A166A1A14D938F3F25069B012EA17B2EB74C4C7498064806433BF55E6A
+ 454CD5CC06310D3A9595957645455999D2481D9A3A9F217EC99EC8C8264BC84B
+ 35060D4544541D06764545C83554C8AC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFCFCFCFCFFFCFCFCFCFCFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFDDFCFC640A0A0A0ABB1690EE070761E3
+ E30B703C181B86194760BE3004513636294E27270F022B621C558C0000EC0909
+ C2382C1F34633305674A58942F53312E24672F2E2F2FA8A85C667566660D0D4D
+ 1453528E069B77D55C775C66749B74744DB5BF433FBC3B6E489BA87B4C214C9B
+ 56489B48484893B97B484B4BD79D4B5606B7BD95BDB54BC88EAB5992A96F9A4B
+ 56959556454B44CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFC
+ FCFCFCFFFFFFFCFCFFFFFFFFFCFFFFFCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFCFCFC640A0A0ABBBB16160E07076108E30BB1703CE81B195B
+ 47C3BE30042236E54F4E270F0F022B62D6558C8C002A09F239382C1F34630505
+ 67017824C1AFA52E8B77777777A48B79AB1010105C5C664D5EAF5384065F7510
+ 667BAAAB7E0D7E0D0D4CBFB7B9535E6A729AAA7E66667E5C7EA1A1759B488EA5
+ A49DCAC8BD4D744D4D4D4D4C74B79DB5A3B98F06CACAB06E3AC8C83A954BC8AC
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFCFF
+ FCFFFFFCFCFFFCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCDB0A0A0ABBBBBBBB90EE07610808E30B7070181B8619476049300451223669
+ 4F4E270F02022BD6EF558C002A09F2C2F7382C1FB3633305674A7894C111BCCF
+ 7B798B77A48BA4A42E2E7B79A85C064DB96DAF14B79B5F0D7EA87E7979A85C5C
+ 7E0648AAF5BCB9747472064D66747E66AA4D5F6EB59314BCAFA44C9AB0B5849A
+ 84B5BD3A3ABD48B7A75A5AF57B0659757E7E5C5CC99979790000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFFFCFFFFFCFCFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCDB64640A0ABBBBBB
+ 1690EE076108E30BB1703CE81BED194742493004222236294F270F0F022B62EF
+ EF238C00ECECF2C2F7382C1F3463330567012F2F5A1185A48B2EA421A47B218B
+ 7979A85C5C66665CAF5A6D53C94CAA06664DAAAAAA4D4D4D14064C79BCBAF577
+ 9DB572B5B5729DB574744D4D6610D45AFDAF01C1772E9FC1C12FF0014ABCAFBA
+ 5AFDFD6D5A5A5A5A5A5A5ACEBACE5A2C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFFFFFCFCFCFCFCFFFFFCFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFDDFFFFFFFFFFFFFFFFFFFFDDDBDBDB640A0A0ABBBBBB16EEEE616108E30B
+ 703C3C1B86ED4760C330040422EA69294E270F0F022B621C55238C002A09F2C2
+ F72C1FB334330505670178F31111110524D22E21D221AB10AB79AB1079792EF0
+ FD6DFD6D0587318F3131C12FA5F07801F0010185BA6D5AAF0101F5BC058585BA
+ BABACEBACEBA5A6DFDFDFDFDFDFD6D5A5A6D6DFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCDBDBDBDBDB
+ DBFCFFFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFCFCFCFCDB640A0ABBBBBBBB160EEE076108E3E30B703C181B865B4760
+ C33004512236294F4E270F02022B1CEF23238C00EC0909E78A39F738112C2C1F
+ CECE6D41111111FD5ACE5A6D6D6D6D5A5A5A5A5A5A5A6DFDFDFDFDFDFDFD6D6D
+ 5A6D5A6D5A5A5A5A5A5A5AFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFFFCFCFCFC
+ FCFCFFFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBFCFCDB
+ 640ABBBBBB16160EEE07616108E30B70703CE81B195B47C3BE040422EAE5294E
+ 27270F022B621CEF238C8C00ECECEC6868E78A8A464646414141411111111111
+ 1111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
+ FCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFCFCFCFCFCFCFCFCFCFFFCFCFFFF
+ FFFFDDFFDDDDFFFFFFFFFFFFDDFFFFFFFFFFFFFFFCDBDB64640A0ABBBB16160E
+ EE07610808E3B1703C181BED194760493004512236E54F4E270F0F022B1C1C55
+ 238C00ECECECEC09688A8A8A4646464141414111111111111111FD1111FDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBDBDBDB
+ DBDBDBDBDBDBDB6464FCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFDDFFFFFFFFFFFF
+ FFFFFFFFFCDDFFFFFCFFFFFCDB64640A0A0ABBBBBB160EEE07610808E30B7070
+ 3CE81B195B4742BE300451EAE5294F4E270F02022B1C1C558C8C0000ECEC6868
+ E78A8A46464646414141411111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB6464646464
+ 64FCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFDDDDFFFFDDFFFFFFDDFFFFFFFFFFFC
+ FFFFFCFCFCFC640A0A0ABB1616160EEE076108080B0B703CE81B86194760C3BE
+ 04512236E54F4E270F0F022B2B1CEF8C8C0000ECECEC0909DCE7464646464141
+ 4111411111111111FDFD11FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB646464646464FCFC64FCFCFCFCFC
+ FCFCFCFCFCFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBFCDBDBDB0A0A
+ 0ABB1616160E0E07616108E30B70703CE886195B474249305151223669294E27
+ 0F0F022B2B1CEF238C8C0000ECEC096868E7E78A8A4646414141414111411111
+ 1111111111111111111111111111111111111111111111111111111111111111
+ 1111111111111111111111111111111111111111111111111111111111111111
+ 11111111111111111111111111111111111111111111118A0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFCFCFCFCFCDB
+ DBDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A646464646464DBFCFCFCDBFCDBFFFFFF
+ DDDDFFDDFFFFFFFFFFFFFFFFFFFCFCFCFCFFFCDBDB0A0A0ABBBB160E16EEEE07
+ 070808E30BB13C3CE81B86194760C3BE3004512236E54F4E4E270F0F022B2B1C
+ 1C55558C8C8C0000002A2AECECEC09EC09096868686868686868DCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCEC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB
+ DBDBDBDBDBDB64DBDBDBDBDBDBDBDBFCFCDBFCDBFFFFFFFFFFFFFFDDDDFFFFFF
+ FFFFFFFFFFFCFCFCFCFCFCDBDBDBDB640A0ABBBBBB160EEEEE07616108E3E3B1
+ 703C18181BED195B4760C349303004515122EAEAE5E529294F4F4E4E27272727
+ 270F0F0F0F0F0F0F0F0202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 020202020202020F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDDFCFCFCFCFCFCFCFCFCDD
+ DDDDDDDDDDFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFC640A0A0A0A0ABB161616900EEE0707610808E3E30B0BB170
+ 3C3C3C18E81B1B86EDED19195B5B4747474760604242C3C3C3C3494949494949
+ EBEBEBBEBEBEBE30BEBE30303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303049
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFDDDDFCFCFCFCFCFCFCFCDBDBDBDBDDFCFCFCDDDDFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDDFCFC64
+ 640A0A0A0ABB161616900EEE070761080808E3E30BB17070703C3CE81B1B1B86
+ ED1919195B5B4747476060424242C3C3C3494949494949EBBEEBBEBEBEBE3030
+ BE30303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030490000FCFCFCFCFCFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB
+ DBDB6464646464640A0A0A0A0A0A6464646464DBDBDBDBDBDBDBDBFCFFFFDDDD
+ FFDDFFFFFFFFFCFFFFFFDDFFFFFCFCFCFCDBDBDBDB640A0ABBBBBBBB16EEEE07
+ 610808E3E3B170703C181B86ED195B4742C3BE300404512222EA36E529294F4F
+ 4E4E4E272727270F0F0F0F0F0F0F020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020F0000FCFCFCFCFCFCFCFCFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCDBDBDBDBDBDBDB64640A0A0A0A0ABBBBBB
+ BBBBBBBBBBBB0A0ABB0A0A0A0A0A0A0ADB64FCFCFCFFDDDBFFFFDDFFFFFFFFFF
+ FFFFFCFFFFFFFC64DBDBDB0A0A0ABB161690EEEE07070808E30BB1703C181B1B
+ 195B476049300451512236294F4E27270F0F022B2B1C1CEF558C8C0000000000
+ ECECECECECEC09090968686868686868DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCEC0000FCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFF
+ FCFCFCFCFCFCDBDBDBDBDBDBDB640A0A0A0A0ABBBBBBBBBBBBBBBBBBBBBBBBBB
+ BB0A0A0A0A0A640A6464DBFCFCDDFCFFDDFCFFFFFFFFFFFFFFFFFFFFFFFCDBFC
+ 640A0A0ABBBBBBBB900EEE07616108E3E30B703C18E81B191947604930040451
+ 223669294E27270F02022B2B621CEF55238C8C00000000ECECECEC0909096868
+ 68E7E768E7E78AE7E78A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
+ 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
+ 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8AEC
+ 0000}
+ Login.LeftImage.Data = {
+ 07544269746D617016090000424D160900000000000036040000280000003200
+ 0000180000000100080000000000E00400000000000000000000000100000000
+ 000000000000000080000080000000808000800000008000800080800000C0C0
+ C000C0DCC000F0CAA6000020400000206000002080000020A0000020C0000020
+ E00000400000004020000040400000406000004080000040A0000040C0000040
+ E00000600000006020000060400000606000006080000060A0000060C0000060
+ E00000800000008020000080400000806000008080000080A0000080C0000080
+ E00000A0000000A0200000A0400000A0600000A0800000A0A00000A0C00000A0
+ E00000C0000000C0200000C0400000C0600000C0800000C0A00000C0C00000C0
+ E00000E0000000E0200000E0400000E0600000E0800000E0A00000E0C00000E0
+ E00040000000400020004000400040006000400080004000A0004000C0004000
+ E00040200000402020004020400040206000402080004020A0004020C0004020
+ E00040400000404020004040400040406000404080004040A0004040C0004040
+ E00040600000406020004060400040606000406080004060A0004060C0004060
+ E00040800000408020004080400040806000408080004080A0004080C0004080
+ E00040A0000040A0200040A0400040A0600040A0800040A0A00040A0C00040A0
+ E00040C0000040C0200040C0400040C0600040C0800040C0A00040C0C00040C0
+ E00040E0000040E0200040E0400040E0600040E0800040E0A00040E0C00040E0
+ E00080000000800020008000400080006000800080008000A0008000C0008000
+ E00080200000802020008020400080206000802080008020A0008020C0008020
+ E00080400000804020008040400080406000804080008040A0008040C0008040
+ E00080600000806020008060400080606000806080008060A0008060C0008060
+ E00080800000808020008080400080806000808080008080A0008080C0008080
+ E00080A0000080A0200080A0400080A0600080A0800080A0A00080A0C00080A0
+ E00080C0000080C0200080C0400080C0600080C0800080C0A00080C0C00080C0
+ E00080E0000080E0200080E0400080E0600080E0800080E0A00080E0C00080E0
+ E000C0000000C0002000C0004000C0006000C0008000C000A000C000C000C000
+ E000C0200000C0202000C0204000C0206000C0208000C020A000C020C000C020
+ E000C0400000C0402000C0404000C0406000C0408000C040A000C040C000C040
+ E000C0600000C0602000C0604000C0606000C0608000C060A000C060C000C060
+ E000C0800000C0802000C0804000C0806000C0808000C080A000C080C000C080
+ E000C0A00000C0A02000C0A04000C0A06000C0A08000C0A0A000C0A0C000C0A0
+ E000C0C00000C0C02000C0C04000C0C06000C0C08000C0C0A000F0FBFF00A4A0
+ A000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFF
+ FF00FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD525252525252525252525252
+ 5252FDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDAFB75E5E5E66666767676F6F6F6FB752FDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBF
+ BFBFBFBFBFBFBFBFBFB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFB76F676F6FB7B7B7B7B7776F5EB752FD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBFBFB752FDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFB76F676F6F6FB7B7
+ B7B7776F5EB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBFBFBF52FDFDFDFDFD
+ 0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAF
+ B76767676F6F6FB7B7B7776F5EB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBF
+ BFBF52FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDAFB76767676F6F6F6FB7B7776F5EB752FDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBF
+ BFBFBFBFBFBFBFBFBFBF52FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBFB7AFAFB7B7B7B7BFBFBFBFB7B752FD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDAFB76F675E5E5E5E5E5E676FB7A5FDFDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F79BFDFDFDFD
+ FDFDA4F7A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDF7F79BFDFDFDFDFDFDA407A3FDFDFDFDFDFDFD
+ 0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDF7F79BFDFDFDFDFDFDA407A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F7A4FDFDFDFDFDFDF707
+ A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDF707A49AFDFDFDFDA30707A3FDFDFDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F6A4
+ A49B9A9AA3A407079AFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F6F7F7A4A4F70707A3FDFDFDFD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDF7F6F6F6F6F607A3FDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7A3A3A3
+ A3A3FDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ 0000}
+ Log.WindowCaption = 'Seguran'#231'a'
+ Log.LabelDescription = 'Log do Sistema'
+ Log.LabelUser = 'Usu'#225'rio :'
+ Log.LabelDate = 'Data :'
+ Log.LabelLevel = 'N'#237'vel m'#237'nimo : '
+ Log.ColLevel = 'N'#237'vel'
+ Log.ColMessage = 'Mensagem'
+ Log.ColUser = 'Usu'#225'rio'
+ Log.ColDate = 'Data'
+ Log.BtFilter = '&Aplicar Filtro'
+ Log.BtDelete = '&Excluir Log'
+ Log.PromptDelete = 'Confirma excluir todos os registros de log selecionados ?'
+ Log.BtClose = '&Fechar'
+ UsersForm.WindowCaption = 'Seguran'#231'a'
+ UsersForm.LabelDescription = 'Cadastro de Usu'#225'rios'
+ UsersForm.ColName = 'Nome'
+ UsersForm.ColLogin = 'Login'
+ UsersForm.ColEmail = 'Email'
+ UsersForm.BtAdd = '&Adicionar'
+ UsersForm.BtChange = 'A<erar'
+ UsersForm.BtDelete = '&Excluir'
+ UsersForm.PromptDelete = 'Confirma excluir o usu'#225'rio "%s" ?'
+ UsersForm.BtRights = 'A&cessos'
+ UsersForm.BtPassword = '&Senha'
+ UsersForm.BtClose = '&Fechar'
+ AddChangeUser.WindowCaption = 'Cadastro de Usu'#225'rios'
+ AddChangeUser.LabelAdd = 'Adicionar Usu'#225'rio'
+ AddChangeUser.LabelChange = 'Alterar Usu'#225'rio'
+ AddChangeUser.LabelName = 'Nome : '
+ AddChangeUser.LabelLogin = 'Login : '
+ AddChangeUser.LabelEmail = 'Email : '
+ AddChangeUser.CheckPrivileged = 'Usu'#225'rio privilegiado'
+ AddChangeUser.BtSave = '&Gravar'
+ AddChangeUser.BtCancel = 'Cancelar'
+ AddChangeProfile.WindowCaption = 'Perfil de Usu'#225'rios'
+ AddChangeProfile.LabelAdd = 'Adicionar Perfil'
+ AddChangeProfile.LabelChange = 'Alterar Perfil'
+ AddChangeProfile.LabelName = 'Descri'#231#227'o : '
+ AddChangeProfile.BtSave = '&Gravar'
+ AddChangeProfile.BtCancel = 'Cancelar'
+ UsersProfile.WindowCaption = 'Seguran'#231'a'
+ UsersProfile.LabelDescription = 'Perfil de Usu'#225'rios'
+ UsersProfile.ColProfile = 'Perfil'
+ UsersProfile.BtAdd = '&Adicionar'
+ UsersProfile.BtChange = 'A<erar'
+ UsersProfile.BtDelete = '&Excluir'
+ UsersProfile.BtRights = 'A&cessos'
+ UsersProfile.PromptDelete = 'Existem usu'#225'rios com o perfil "%s". Confirma excluir?'
+ UsersProfile.BtClose = '&Fechar'
+ Rights.WindowCaption = 'Seguran'#231'a'
+ Rights.LabelUser = 'Permiss'#245'es do Usu'#225'rio : '
+ Rights.LabelProfile = 'Permiss'#245'es do Perfil : '
+ Rights.PageMenu = 'Itens do Menu'
+ Rights.PageActions = 'A'#231#245'es'
+ Rights.BtUnlock = '&Liberar'
+ Rights.BtLock = '&Bloquear'
+ Rights.BtSave = '&Gravar'
+ Rights.BtCancel = '&Cancelar'
+ ChangePassword.WindowCaption = 'Seguran'#231'a'
+ ChangePassword.LabelDescription = 'Trocar Senha'
+ ChangePassword.LabelCurrentPassword = 'Senha Atual :'
+ ChangePassword.LabelNewPassword = 'Nova Senha : '
+ ChangePassword.LabelConfirm = 'Confirma'#231#227'o : '
+ ChangePassword.BtSave = '&Gravar'
+ ChangePassword.BtCancel = 'Cancelar'
+ ResetPassword.WindowCaption = 'Definir senha do usu'#225'rio : "%s"'
+ ResetPassword.LabelPassword = 'Senha : '
+ XPStyleSet.DimLevel = 30
+ XPStyleSet.GrayLevel = 10
+ XPStyleSet.Font.Charset = ANSI_CHARSET
+ XPStyleSet.Font.Color = clMenuText
+ XPStyleSet.Font.Height = -11
+ XPStyleSet.Font.Name = 'Tahoma'
+ XPStyleSet.Font.Style = []
+ XPStyleSet.Color = clBtnFace
+ XPStyleSet.IconBackColor = clBtnFace
+ XPStyleSet.MenuBarColor = clBtnFace
+ XPStyleSet.SelectColor = clHighlight
+ XPStyleSet.SelectBorderColor = clHighlight
+ XPStyleSet.SelectFontColor = clMenuText
+ XPStyleSet.DisabledColor = clInactiveCaption
+ XPStyleSet.SeparatorColor = clBtnFace
+ XPStyleSet.CheckedColor = clHighlight
+ XPStyleSet.IconWidth = 24
+ XPStyleSet.DrawSelect = True
+ XPStyleSet.UseSystemColors = True
+ XPStyleSet.OverrideOwnerDraw = False
+ XPStyleSet.Gradient = False
+ XPStyleSet.FlatMenu = False
+ XPStyleSet.AutoDetect = False
+ XPStyleSet.BitBtnColor = clBtnFace
+ XPStyle = True
+ Left = 56
+ Top = 128
+ end
+ object UCXPStyle1: TUCXPStyle
+ Active = True
+ XPSettings.DimLevel = 30
+ XPSettings.GrayLevel = 10
+ XPSettings.Font.Charset = ANSI_CHARSET
+ XPSettings.Font.Color = clMenuText
+ XPSettings.Font.Height = -11
+ XPSettings.Font.Name = 'Tahoma'
+ XPSettings.Font.Style = []
+ XPSettings.Color = clBtnFace
+ XPSettings.IconBackColor = clBtnFace
+ XPSettings.MenuBarColor = clBtnFace
+ XPSettings.SelectColor = clHighlight
+ XPSettings.SelectBorderColor = clHighlight
+ XPSettings.SelectFontColor = clMenuText
+ XPSettings.DisabledColor = clInactiveCaption
+ XPSettings.SeparatorColor = clBtnFace
+ XPSettings.CheckedColor = clHighlight
+ XPSettings.IconWidth = 24
+ XPSettings.DrawSelect = True
+ XPSettings.UseSystemColors = True
+ XPSettings.OverrideOwnerDraw = False
+ XPSettings.Gradient = False
+ XPSettings.FlatMenu = False
+ XPSettings.AutoDetect = False
+ XPSettings.BitBtnColor = clBtnFace
+ UCSettings = UCSettings1
+ Left = 88
+ Top = 128
+ end
+ object pFIBDatabase1: TpFIBDatabase
+ DBParams.Strings = (
+ 'lc_ctype=WIN1251'
+ 'password=masterkey'
+ 'user_name=SYSDBA')
+ DefaultTransaction = pFIBTransaction1
+ SQLDialect = 3
+ Timeout = 0
+ WaitForRestoreConnect = 0
+ Left = 56
+ Top = 88
+ end
+ object pFIBTransaction1: TpFIBTransaction
+ DefaultDatabase = pFIBDatabase1
+ TimeoutAction = TARollback
+ Left = 88
+ Top = 88
+ end
+ object UCFIBConn1: TUCFIBConn
+ Connection = pFIBDatabase1
+ Transaction = pFIBTransaction1
+ Left = 120
+ Top = 88
+ end
+end
diff --git a/official/2.20/Demos/1 Basic All Data Access/FIB/Unit1.pas b/official/2.20/Demos/1 Basic All Data Access/FIB/Unit1.pas
new file mode 100644
index 0000000..f91f3f6
--- /dev/null
+++ b/official/2.20/Demos/1 Basic All Data Access/FIB/Unit1.pas
@@ -0,0 +1,90 @@
+unit Unit1;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, DB, UCBase, Menus, StdCtrls, Buttons,
+ FIBDatabase, pFIBDatabase, UCFIBConn;
+
+type
+ TForm1 = class(TForm)
+ UserControl1: TUserControl;
+ MainMenu1: TMainMenu;
+ Arquivo1: TMenuItem;
+ Abrir1: TMenuItem;
+ Salvar1: TMenuItem;
+ Salvar2: TMenuItem;
+ Salvarcomo1: TMenuItem;
+ Fechar1: TMenuItem;
+ N2: TMenuItem;
+ Dados1: TMenuItem;
+ Importar1: TMenuItem;
+ Exportar1: TMenuItem;
+ N4: TMenuItem;
+ Vincular1: TMenuItem;
+ N3: TMenuItem;
+ Sair2: TMenuItem;
+ Editar1: TMenuItem;
+ Copiar1: TMenuItem;
+ Colar1: TMenuItem;
+ Recortar1: TMenuItem;
+ N1: TMenuItem;
+ Selecionartudo1: TMenuItem;
+ N5: TMenuItem;
+ AreadeTransferencia1: TMenuItem;
+ Exibir2: TMenuItem;
+ Esvaziar1: TMenuItem;
+ Exibir1: TMenuItem;
+ Zoom1: TMenuItem;
+ Normal1: TMenuItem;
+ Grande1: TMenuItem;
+ Ajustarnajanela1: TMenuItem;
+ N6: TMenuItem;
+ Personalizar1: TMenuItem;
+ amanhonormal1: TMenuItem;
+ elacheia1: TMenuItem;
+ Relatorios1: TMenuItem;
+ Relatorio11: TMenuItem;
+ Relatorio21: TMenuItem;
+ Relatorio31: TMenuItem;
+ Relatorio41: TMenuItem;
+ Segurana1: TMenuItem;
+ Cadastrodeusuarios1: TMenuItem;
+ Perfildeusurios1: TMenuItem;
+ logdosistema: TMenuItem;
+ N7: TMenuItem;
+ rocarsenha1: TMenuItem;
+ EfetuarLogoff1: TMenuItem;
+ UCSettings1: TUCSettings;
+ UCXPStyle1: TUCXPStyle;
+ pFIBDatabase1: TpFIBDatabase;
+ pFIBTransaction1: TpFIBTransaction;
+ UCFIBConn1: TUCFIBConn;
+ procedure FormCreate(Sender: TObject);
+ procedure EfetuarLogoff1Click(Sender: TObject);
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ Form1: TForm1;
+
+implementation
+
+{$R *.dfm}
+
+procedure TForm1.FormCreate(Sender: TObject);
+begin
+ pFIBDatabase1.DBName := '127.0.0.1:' + ExtractFilePath(Application.ExeName) + '..\..\Base.Gdb';
+ pFIBDatabase1.Connected := True;
+end;
+
+procedure TForm1.EfetuarLogoff1Click(Sender: TObject);
+begin
+ UserControl1.Logoff;
+end;
+
+end.
diff --git a/official/2.20/Demos/1 Basic All Data Access/IBO/Project1.dpr b/official/2.20/Demos/1 Basic All Data Access/IBO/Project1.dpr
new file mode 100644
index 0000000..08b344c
--- /dev/null
+++ b/official/2.20/Demos/1 Basic All Data Access/IBO/Project1.dpr
@@ -0,0 +1,13 @@
+program Project1;
+
+uses
+ Forms,
+ Unit1 in 'Unit1.pas' {Form1};
+
+{$R *.res}
+
+begin
+ Application.Initialize;
+ Application.CreateForm(TForm1, Form1);
+ Application.Run;
+end.
diff --git a/official/2.20/Demos/1 Basic All Data Access/IBO/Project1.res b/official/2.20/Demos/1 Basic All Data Access/IBO/Project1.res
new file mode 100644
index 0000000..03109fc
Binary files /dev/null and b/official/2.20/Demos/1 Basic All Data Access/IBO/Project1.res differ
diff --git a/official/2.20/Demos/1 Basic All Data Access/IBO/Unit1.dfm b/official/2.20/Demos/1 Basic All Data Access/IBO/Unit1.dfm
new file mode 100644
index 0000000..3d13d28
--- /dev/null
+++ b/official/2.20/Demos/1 Basic All Data Access/IBO/Unit1.dfm
@@ -0,0 +1,1460 @@
+object Form1: TForm1
+ Left = 170
+ Top = 180
+ Width = 610
+ Height = 350
+ Caption = 'User Control - IBO Basic Demo'
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ Menu = MainMenu1
+ OldCreateOrder = False
+ OnCreate = FormCreate
+ PixelsPerInch = 96
+ TextHeight = 13
+ object UserControl1: TUserControl
+ AutoStart = True
+ ApplicationID = 'IBOBasic'
+ ControlRight.MainMenu = MainMenu1
+ UsersForm.MenuItem = Cadastrodeusuarios1
+ UsersForm.UsePrivilegedField = False
+ UsersForm.ProtectAdmin = True
+ EncryptKey = 0
+ NotAllowedItems.MenuVisible = True
+ NotAllowedItems.ActionVisible = True
+ Login.AutoLogon.Active = False
+ Login.AutoLogon.MessageOnError = False
+ Login.InitialLogin.User = 'Admin'
+ Login.InitialLogin.Email = 'qmd@usercontrol.com.br'
+ Login.InitialLogin.Password = '#delphi'
+ Login.MaxLoginAttempts = 0
+ Login.GetLoginName = lnNone
+ LogControl.Active = True
+ LogControl.TableLog = 'IBOBCLog'
+ LogControl.MenuItem = logdosistema
+ ExtraRight = <>
+ LoginMode = lmActive
+ UsersProfile.Active = True
+ UsersProfile.MenuItem = Perfildeusurios1
+ TableUsers.FieldUserID = 'UCIdUser'
+ TableUsers.FieldUserName = 'UCUserName'
+ TableUsers.FieldLogin = 'UCLogin'
+ TableUsers.FieldPassword = 'UCPassword'
+ TableUsers.FieldEmail = 'UCEmail'
+ TableUsers.FieldPrivileged = 'UCPrivileged'
+ TableUsers.FieldTypeRec = 'UCTypeRec'
+ TableUsers.FieldProfile = 'UCProfile'
+ TableUsers.FieldKey = 'UCKey'
+ TableUsers.TableName = 'IBOBCTabUsers'
+ TableRights.FieldUserID = 'UCIdUser'
+ TableRights.FieldModule = 'UCModule'
+ TableRights.FieldComponentName = 'UCCompName'
+ TableRights.FieldFormName = 'UCFormName'
+ TableRights.FieldKey = 'UCKey'
+ TableRights.TableName = 'IBOBCTabRights'
+ ChangePasswordForm.MenuItem = rocarsenha1
+ ChangePasswordForm.ForcePassword = False
+ ChangePasswordForm.MinPasswordLength = 0
+ DataConnector = UCIBOConn1
+ Left = 120
+ Top = 88
+ end
+ object MainMenu1: TMainMenu
+ AutoHotkeys = maManual
+ OwnerDraw = True
+ Left = 56
+ Top = 56
+ object Arquivo1: TMenuItem
+ Caption = 'Arquivo'
+ object Abrir1: TMenuItem
+ Caption = 'Abrir'
+ end
+ object Salvar1: TMenuItem
+ Caption = '-'
+ end
+ object Salvar2: TMenuItem
+ Caption = 'Salvar'
+ end
+ object Salvarcomo1: TMenuItem
+ Caption = 'Salvar como...'
+ end
+ object Fechar1: TMenuItem
+ Caption = 'Fechar'
+ end
+ object N2: TMenuItem
+ Caption = '-'
+ end
+ object Dados1: TMenuItem
+ Caption = 'Dados'
+ object Importar1: TMenuItem
+ Caption = 'Importar'
+ end
+ object Exportar1: TMenuItem
+ Caption = 'Exportar'
+ end
+ object N4: TMenuItem
+ Caption = '-'
+ end
+ object Vincular1: TMenuItem
+ Caption = 'Vincular'
+ end
+ end
+ object N3: TMenuItem
+ Caption = '-'
+ end
+ object Sair2: TMenuItem
+ Caption = 'Sair'
+ end
+ end
+ object Editar1: TMenuItem
+ Caption = 'Editar'
+ object Copiar1: TMenuItem
+ Caption = 'Copiar'
+ end
+ object Colar1: TMenuItem
+ Caption = 'Colar'
+ end
+ object Recortar1: TMenuItem
+ Caption = 'Recortar'
+ end
+ object N1: TMenuItem
+ Caption = '-'
+ end
+ object Selecionartudo1: TMenuItem
+ Caption = 'Selecionar tudo'
+ end
+ object N5: TMenuItem
+ Caption = '-'
+ end
+ object AreadeTransferencia1: TMenuItem
+ Caption = 'Area de Transferencia'
+ object Exibir2: TMenuItem
+ Caption = 'Exibir'
+ end
+ object Esvaziar1: TMenuItem
+ Caption = 'Esvaziar'
+ end
+ end
+ end
+ object Exibir1: TMenuItem
+ Caption = 'Exibir'
+ object Zoom1: TMenuItem
+ Caption = 'Zoom...'
+ object Normal1: TMenuItem
+ Caption = 'Normal'
+ Checked = True
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object Grande1: TMenuItem
+ Caption = 'Grande'
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object Ajustarnajanela1: TMenuItem
+ Caption = 'Ajustar na janela'
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object N6: TMenuItem
+ Caption = '-'
+ GroupIndex = 1
+ end
+ object Personalizar1: TMenuItem
+ Caption = 'Personalizar'
+ GroupIndex = 1
+ end
+ end
+ object amanhonormal1: TMenuItem
+ Caption = 'Tamanho normal'
+ end
+ object elacheia1: TMenuItem
+ Caption = 'Tela cheia'
+ end
+ end
+ object Relatorios1: TMenuItem
+ Caption = 'Relatorios'
+ object Relatorio11: TMenuItem
+ Caption = 'Relatorio 1'
+ end
+ object Relatorio21: TMenuItem
+ Caption = 'Relatorio 2'
+ end
+ object Relatorio31: TMenuItem
+ Caption = 'Relatorio 3'
+ end
+ object Relatorio41: TMenuItem
+ Caption = 'Relatorio 4'
+ end
+ end
+ object Segurana1: TMenuItem
+ Caption = 'Seguran'#231'a'
+ object Cadastrodeusuarios1: TMenuItem
+ Caption = 'Cadastro de usuarios'
+ end
+ object Perfildeusurios1: TMenuItem
+ Caption = 'Perfil de usuarios'
+ end
+ object logdosistema: TMenuItem
+ Caption = 'Log do Sistema'
+ end
+ object N7: TMenuItem
+ Caption = '-'
+ end
+ object rocarsenha1: TMenuItem
+ Caption = 'Trocar senha'
+ end
+ object EfetuarLogoff1: TMenuItem
+ Caption = 'Efetuar Logoff'
+ OnClick = EfetuarLogoff1Click
+ end
+ end
+ end
+ object UCSettings1: TUCSettings
+ AppMessages.MsgsForm_BtNew = '&Nova Mensagem'
+ AppMessages.MsgsForm_BtReplay = '&Responder'
+ AppMessages.MsgsForm_BtForward = 'E&ncaminhar'
+ AppMessages.MsgsForm_BtDelete = '&Excluir'
+ AppMessages.MsgsForm_WindowCaption = 'Mensagens do Sistema'
+ AppMessages.MsgsForm_ColFrom = 'Remetente'
+ AppMessages.MsgsForm_ColSubject = 'Assunto'
+ AppMessages.MsgsForm_ColDate = 'Data'
+ AppMessages.MsgsForm_PromptDelete = 'Confirma excluir as mensagens selecionadas ?'
+ AppMessages.MsgRec_BtClose = '&Fechar'
+ AppMessages.MsgRec_WindowCaption = 'Mensagem'
+ AppMessages.MsgRec_Title = 'Mensagem Recebida'
+ AppMessages.MsgRec_LabelFrom = 'De :'
+ AppMessages.MsgRec_LabelDate = 'Date'
+ AppMessages.MsgRec_LabelSubject = 'Assunto'
+ AppMessages.MsgRec_LabelMessage = 'Mensagem'
+ AppMessages.MsgSend_BtSend = '&Enviar'
+ AppMessages.MsgSend_BtCancel = '&Cancelar'
+ AppMessages.MsgSend_WindowCaption = 'Mensagem'
+ AppMessages.MsgSend_Title = 'Enviar Nova Mensagem'
+ AppMessages.MsgSend_GroupTo = 'Para'
+ AppMessages.MsgSend_RadioUser = 'Usu'#225'rio :'
+ AppMessages.MsgSend_RadioAll = 'Todos'
+ AppMessages.MsgSend_GroupMessage = 'Mensagem'
+ CommonMessages.AutoLogonError = 'Falha de Auto Logon!'#13#10'Informe um usu'#225'rio e senha v'#225'lidos.'
+ CommonMessages.ChangePasswordError.InvalidCurrentPassword = 'Senha Atual n'#227'o confere!'
+ CommonMessages.ChangePasswordError.NewPasswordError = 'Os campos: Nova Senha e Confirma'#231#227'o devem ser iguais.'
+ CommonMessages.ChangePasswordError.NewEqualCurrent = 'Nova senha igual a senha atual'
+ CommonMessages.ChangePasswordError.PasswordRequired = 'A Senha '#233' obrigat'#243'ria'
+ CommonMessages.ChangePasswordError.MinPasswordLength = 'A senha deve conter no m'#237'nimo %d caracteres'
+ CommonMessages.ChangePasswordError.InvalidNewPassword = 'Proibido utilizar senhas obvias!'
+ CommonMessages.InvalidLogin = 'Usu'#225'rio ou Senha inv'#225'lidos!'
+ CommonMessages.InitialMessage.Strings = (
+ 'ATEN'#199#195'O Login Inicial:'
+ ''
+ 'Usu'#225'rio : :user'
+ 'Senha : :password'
+ ''
+ 'Defina as permiss'#245'es para este usu'#225'rio.')
+ CommonMessages.MaxLoginAttemptsError =
+ '%d Tentativas de login inv'#225'lido. Por motivos de segun'#231'a o '#13#10'sist' +
+ 'ema ser'#225' fechado.'
+ CommonMessages.PasswordChanged = 'Senha alterada com sucesso!'
+ CommonMessages.BlankPassword = 'Retirada senha do Login %s'
+ Login.WindowCaption = 'Login'
+ Login.LabelUser = 'Usu'#225'rio '
+ Login.LabelPassword = 'Senha : '
+ Login.BtOk = 'OK'
+ Login.BtCancel = '&Cancelar'
+ Login.TopImage.Data = {
+ 07544269746D6170B6790000424DB67900000000000036040000280000007601
+ 0000500000000100080000000000807500000000000000000000000100000000
+ 00009BB5D8007493BA00ACC2E000BBBBBB00CBD9EB007D9BC20051719900F6F8
+ FB00F2F5FA0095B0D500FCFDFE00EDF2F800A7B6BC0055759D00F8FAFC00B1C5
+ E1005979A10089A8D200CDD5D9003E5E88004D7199003D5D8700FAFBFD008888
+ 8800E5ECF500DDE6F200DDDDDD00E2EAF400A5BDDD00405F880042628C0089A6
+ CC008297A0005D7DA500C5D4E900A1B9DA006685AD004569920045679000B4C8
+ E300EEEEEE00BDCEE60099B3D600A9C0DE008BA8CD009EA5B0006181A9006E8D
+ B400D0DCED006989B10099999900809DC40085A2C80044638C00C1D1E8004462
+ 8C008EAACF0091ACD100486890005579A100E7EEF6003E5F890040608A005D82
+ AB00C0CBCF008CAAD400D5E0EF00496C950042618A004A6A93008FACD500D8E3
+ F0004C6C9400D2DEEE007795BD0046668E004E6E960050709700B8CBE400BBCD
+ E500CCCCCC00C8D7EA00648BB2006D93BA0044648E00A2BADB004A6B94009BAC
+ B300708EB5004E6F980085A5CF00DAE4F10058789E0043638D0050759D00506E
+ 9600D6E1EF00F4F7FB00A7BEDE00829FC600FDFEFE0041608B0054749A007A98
+ BF0093AFD600BECFE60044628A00666666004060880086A6D0004C6B92004867
+ 8E00EAEFF700AAAAAA0049688E006C8AB1004D6E940053729A00476690006584
+ AB007290B8005C7CA300333333005F7EA60046648E005A7DA50056779E00E6EA
+ EC0046648C0044444400777777004869920044678E0080A0C900E0E8F3006D8C
+ B3005576A000AAAEB50090ADD5006080A7009EB7DA006486AF00486A93006185
+ AC00F9FAFD004C6A92003C5B85004C6E96006988AF0049699100C6CFDC0093AE
+ D20051729B00597AA30045648B004E6D94004A6992004A6C92004D6D96006786
+ AD00B6BCC40056769E003D5A82003F628B006383A900698DB500555555005A7F
+ A7005B7AA1003A5A8400527399005A7BA200426188004668900039577F007D9F
+ C70047668D00EBF1F8004C6B940087A3CA00405F8600486990004E6D96004C6D
+ 9400222222006287AF0083A3CC00FBFCFD00779BC2004A6A9100D1DDEE005473
+ 9C003C5C87006B8BB20092ADD200D3DFEF00E1E5E900426189006C8BB5008B8F
+ 940045658D005878A00042638B003F5C84005C7BA4001111110084A3CC006183
+ AB00CDD6E1006A8AB3006282AB00808285006787B0006483AC00A5BCDB004061
+ 8A004F5153003E40420043637000FEFEFE0091AED600FEFFFF00758D9600F2F5
+ F5008FA0A900D9E0E200506D7A00EFF4F9005C788300BFD0E700B5C1C60091AE
+ D500E3EBF50069828D00C3D3E900D2DDEE0097B2D700DFE7F300F7F9FC00A3BB
+ DC006F8FB7007B7E830094AFD3007998C1002F3032007396BE00909296008FAB
+ D000686C7100A4BBDA00D2D9E400D9DEE600FEFEFF0088A7D20000000000FFFF
+ FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCFCFCFCFCFCFC
+ FCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB6464640A0A0A0ABBBBBBBBBB16
+ 16160E0E0EEEEEEE07EE0707616161070761070707EEEEEEEEEE90161616BB16
+ BB0ABB0A0A0A0ADB64646464DBDB64FCFFFCDBDB64DBDB0A640A0A0A0ABBBBBB
+ 16160EEEEE07610808E30BB1703C18E886195B47424930045122EA36294F4E27
+ 0F0F0F022B621CEF55558C8C000000ECECECECEC68096868DCDCDC8A8A8A8A8A
+ 8A46464646464646464646464646464646464646464646464646464646464646
+ 4646464646464646464646464646464646464646464646464646464646464646
+ 4646464646464646464646464646464646464646464646EC0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFC
+ FCFCFCDBDBDBDBDBDBDBDBDB64DB640A0A0A0A0ABBBBBBBB16161616160E0EEE
+ EE07EEEEEEEE6107070707EEEEEEEE0E0E0E0E161616BBBBBB0A0A0ADB0A6464
+ DBDBFCDBDBFCFCFFFFDBFCDDDBFCDBDB64640A0A0A0A0ABBBB16900EEE076108
+ 08E30BB1703C181B86195B4742BE3004512236694F4E27270F022B2B1CEF238C
+ 8C0000ECECEC09688A8A46464646414141111111111111111111FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCDB
+ DBDBDBDBDBDBDB6464640A0A0A0ABBBBBBBBBB161616160E0EEE0E0EEEEEEEEE
+ EEEEEEEEEE0E0E16901616BB16BBBB0A0A0A0A0A64DBDBFCFCDBFCFCFCFCFCFF
+ FFFCFCFFDDFFFCFCFCFF0A640A0A0ABB0A1616900EEE07070808E30BB1703C18
+ 1B1B195B604230040422EAE5294F4E270F02022B1C1C558C8C0000ECEC6868DC
+ DCE78A464646414141414111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCDBDBDBDBDBDB
+ DBDB64640A640A0A0ABBBBBB161616160E0E160E0E0E0E90EE0E0E9090901616
+ 161616BBBBBB0A0A640A0A64FCFCFCFCFCFFFFFCFFDDFFFCFCFFFFFFFCFFFCFF
+ FCDBFCDBDB0A0A0A0ABBBB16160E0EEE616108E30BB1703CE81BED5B47604930
+ 04512236E54F4E270F0F022B621CEF238C8C00ECECEC6809DCDC8A4646464641
+ 4141114111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB640A0A
+ 0A0A0ABBBBBBBB1616161616160E0E169090161616161616BBBBBBBB0ABB0A0A
+ 640A64DBDBFCFCDBFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFCFCFCFCFFFCFC0A0A
+ 0A0ABB1616160EEE07610808E30BB13C3C1B86195B4742BE3004222236294E27
+ 270F0F022B1CEF558C8C8C00ECECEC68DCE7DC8A464641414141411111111111
+ FD11FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB64640A0A0A0ABBBBBB
+ BBBBBB1616161616161616161616BBBB0ABB0A0A0A0A0A64FC64DBFCFCFCDDFC
+ FFDDFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFDDFCFFFCDDDB64640ABBBBBB160E0E
+ EE076108E30BB1703C181BED194760493004512236E54F4E270F0F022B621C55
+ 238C8C00ECECEC096868E7464646414141414111111111111111FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FCFFFFFCFCFCFCFCFCFCDBDBDBDBDBDB64640A0A0A0A0ABBBBBBBBBBBBBBBB16
+ BBBBBBBBBBBB0ABB0A0A0A0A640ADBDB64FCFCDBFCDDDDFCFFDDFFDDFFFFFFFF
+ FFFFFFFFFFDDFFFFFFDDFFFCFFFCDBDB64640ABBBBBB16900EEE070808E30B70
+ 703CE81B195B4742BE300451EAE5294F27270F022B2B1CEF558C8C0000ECECEC
+ 68DC8A8A464646464141414111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFCFC
+ FCFCFCFCFCDBDBDBDBDBDB64640A0A0A0ABBBBBBBBBBBBBBBBBB0ABBBB0A0A0A
+ 0A0A0A0A646464DBFCFCDDDBDBFCDDFCFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDBDB640A0ABBBBBB16900E07070808E3B1703C181BED194760
+ 493004512236694F4E270F02022B1C1C55238C00ECECECEC6809DC8A8A464641
+ 414141411111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFFFCFCFCDBFCFCDB
+ DBDBDBDBDB64640A0A0A0A0A0ABBBBBBBB0A0A0A0A0A0A0A0A0A0A64DBDBDBDB
+ DBFFFFDDDDDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFC
+ FC64640A0ABBBB16160EEE070808E30BB1703CE81BED5B4742BE300422EAE529
+ 4E27270F022B621C55238C8C00ECECEC0909DCE78A4646414641414111111111
+ 1111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCDBDBDBDBDBDB6464
+ 640A0A0A0A0ABBBBBB6464640A0A0A6464DB0ADB64DBDBFCFFFFFFDDDDFFFFFF
+ DDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFFDDDBFC640ABBBB16
+ BB0E0EEE070808E30B703C181B86194760C33004512236694F4E270F02022B1C
+ 1C55238C0000ECEC0968E7E78A8A41464141414141111111111111FDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A
+ 0A0A6464640A0A6464DBDBDBFCDBDBFCFCFFFFDDDDFFDDFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFCFCFC64640ABB16160EEE076108E3
+ 0BB1703CE81B195B47423004042236E54F4E270F02022B621C55238C00000909
+ C239382C1FCE85AF3305F3F5015353F5AF8585BC53B93F3F3FA7993B885E5E98
+ 98981414438E599E434343145E5E98593F52B9A7251E3D3D653E3E3E3E3E3ED7
+ 1E1E1E5D545D5DCA3E1E1E3B3B5DD7C03ED7A38E434354A365D7D76565D7D765
+ 6513153E3EC092AE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A6464646464
+ FCFCFCFCFCDBDBFCFCFFFFFFFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFCFCFCDB0A0A0ABB16160EEE070808E3B1703C181BED19
+ 4760BE3004512236694E270F0F022B621C558C00EC0997381F1F346333670101
+ F02F318DCF2EA7A78F52A5B97D14934393438E258E568E8E8E8E254325251459
+ 1414143B3FB93FA75E5E5E5E93985943438E8E25252525252676767683838326
+ 6554267DA78E263E3E3D15A33DA33D3E3D3D3D3D3D3D3D3D3E133D1E1E1592AE
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCFCFCFCDBDBDBDBDBDBDBDBDB646464646464FCFC6464FC64FCFCFCFCFCFCDB
+ FCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFF
+ FFFFFCFC64640A0ABBBB160E0E07610808E3B1703CE81B195B60C3BE04512236
+ 694F4E270F022B62D6558C002AF297382CB3633367677858319FA42E7BA8A87B
+ 21C9660648B5B53A4B4B8035CA6A6AC5353E1D1D3E1D3E1ECA268E883B3B4325
+ 26262654542626262626262626252525562543255EA77D5E2525262626262626
+ 252626262654262554252525431443255D1E2606433DA9A90000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE11212FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFF1212E1FFFFFFFFFFFFFFFFFF1212E1FFFFFFFFFF
+ FFFFFFFFDF121212FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE11212
+ E1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBFCFC
+ DBDBDBDBDB64646464646464FCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFF
+ DDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFDDFCFCFCFC0A0A
+ BBBB16160EEE610808E30B703C181BED194742BE300422EAE54F4E270F0F022B
+ 1C5523002A09C2382CB36333674A0158879F9F2E7B5CA10D21A1064D48BDBD72
+ 809A3535C56C6C6C13131D44441D1D3E1D1ECA438E263D3D3D3D3D1313131313
+ 3D131313133D3D3D3D3DA3A3435E435DA33E3D3D3D3E3E3EA33EA3A3A3D7A354
+ 5426268E5E88592665D75D765D3D15A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE120DADADADADAE940FFFFFF12DADA0C
+ FFFFFFFFFFFF0CDADADADADADADADEFFFFDADA12FFFFFFFF0CDADADAFFFFFFFF
+ FFFFE0DADADADAE440FFFFFFFF40E9DADADADADA20E1FFFFFFFF12DEDADADADA
+ DADE12FFFFFFDADADEFFFF7FDADADEFFFFFFDFE0E2DADADADADEFF12DADADADA
+ DADADADAFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB
+ DBDBDBDBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFC64646464BBBB160EEEEE61
+ 08E30BB1703CE886194760493004512236294E270F0F022B62D6238C2A09F239
+ 381F6333054A0158879F772E7B5C5CA1210D4C9B91726F6FC8C83535CA6AC5C5
+ 1D6C6C1DB41D6C6C1D3E5D4354A33D1E653E3E1D3D3D3D3D1313131313131313
+ 15133D3D8E14263D3D1315C015151515C0C0151313133DD7151315A343935492
+ 133D3DC0C0133DA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFE6E2DADAE00C57E4DADAE0FFFF7FDADA0CFFFFFFFFFFFF0CDA
+ DAE9DEDEDEDE57FFFFDEDA12FFFFFF7FDADADADAFFFFFFFFFFFFDADE0C0CE4DA
+ DA7FFFFF57DADAE2570CE0E2DADAE6FFFF12DADADA200CE0DADADA40FFFFE4DA
+ DEFFFF0CDADAE1FFFFE1E2DADA200C0CE0E4FF12DADAE4DEDEDEDEDEFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFDDFCFFFCFC6464640A64BB16160EEE070808E3B1703C181B
+ ED5B47C33004512236694F4E270F022B62EF238C0009F239381FB36305674A58
+ 2F9F772E21A1100D21BF5F9B9B91BD6FC8C83535CA6A6AC56A35441D1D1D6C1D
+ 15C0359E5DD71D441D1D1D131313131313131515151515151313C01526595465
+ 653E131515151515C0C0C0C0C0C0C0159215C0151E5D3E13C015C0A9921515AE
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FE2
+ DAE97FFFFFFFFFE0DADA40FFFFDADA0CFFFFFFFFFFFF0CDADAE6FFFFFFFFFFFF
+ FFDEDA12FFFFFFDEDADADADAFFFFFFFFFFFFDFFFFFFFDFDADA0CFF40DADAE0DF
+ FFFFFFDFE9DAE27FFF20DADA0CFFFFFF12DADADEFFFFDEDADEFFFFE4DAE0FFFF
+ FFE9DAE2E1FFFFFFFFFFFF12DADAE0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFCFCFCFCFCFCFCFCDBFCDBDBFCDBFFFFFCFCFCFCFCFCFCFFFF
+ FFFFFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFCFCFCFCFC64640ABBBB160EEE076108E30B703C181B86194742BE300422
+ EAE54F4E270F0202621C558C8C2A099739382CB3343333674A78589477A85C75
+ CC754D4D0606065F4D4D4D4C4C4C4C4C9191919191913AC83792449E3E151D13
+ 1D1D1D1D1D1D1D1D1D1D1D13131313151D13C092764565653E13131513131313
+ 131315151515C092921315C03D651E5415C092C0151592AE0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0CDADA7FFFFFFFFFFFFF
+ DEDAE4FFFFDADA0CFFFFFFFFFFFF12DADA0CFFFFFFFFFFFFFFDEDA0CFFFF40DA
+ DA0CDADAFFFFFFFFFFFFFFFFFFFF40DADAE6FF20DAE4FFFFFFFFFFFFDFE2DAE0
+ FFDEDADADFFFFFFFFFE4DADAFFFFDEDADEFFE6DAE2DFFFFFE1DADAE6FFFFFFFF
+ FFFFFFFFDADADEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFCFCFCFCFFFCFCFCFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFFFFFCFC6464
+ 640A0ABB160E0EEE070808E3B1703C1B86195B6049300451EA36694E270F0202
+ 2B1C55238C2A09F2C2382CB3346305674A4A017873A4C975CCBF4D0D0D667506
+ 4C4C4C9B4C4C9B4C064D9B9B4C9B4C4C9B131E593E1D373735353535357C7C4B
+ 54545454543535353737543EB69C1D1D3E1D13133E6565653E3E3E3E3E653E1D
+ 131392C03D3E13133DC092151315C0A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFDEDAE9FFFFFFFFFFFFFF0CDADA7FFFDADA0C
+ E1127FFFFFFF12DADAE012121212DFFFFFE0DA0CFFDFE4DA20E1DADAFFFFFFFF
+ FFFFFFFFFFE6DADAE9FFFFDADA57FFFFFFFFFFFFFF20DAE4FFDEDADAFFFFFFFF
+ FFDEDADAFFFFDEDADEFFE4DA0CFFFFFF0CDADADFFFFFFFFFFFFFFFFFDADAE912
+ 1212127FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFC
+ FCFCFCFCFCFCFFFFFCFFFCFFFFFCFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCDDFCFCFC64640A0ABB1616EEEE
+ 076108E3B1703C181BED5B60423004512236294E4E270F022B62EF2300002AF2
+ 97382C1FB33405336767582F8794C9BF210D98A10D755F744D4D4C4C4D4C4D4D
+ 4C48489B48B5BD4C06131E593D1D767C353535359A8080C854547C7C7C545435
+ 3735833E984BCBCB1E1E65651E1E1E1E651E1E1E1E5D3765371E3D3D1E3E9292
+ 3E15C013131513A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFDEDADEFFFFFFFFFFFFFF12DADA12FFDADA0CE2DADAE4E1FF12DA
+ DADADADADADA12FFFF0CDA0CFF0CDAE27FFFDADAE1FFFFFFFFFFFFFF0CDADAE9
+ DFFFFFDADA0CFFFFFFFFFFFFFF0CDADAFFDEDADAFFFFFFFFFFDEDADAFFFF20DA
+ DEE6DADA2012FFFF0CDADAFFFFFFFFFFFFFFFFFFDADADADADADADA0CFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCFCFCFCFFFFFF
+ FFFFFFFCFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFDDFCFFFCFC640A0ABBBBBB16EE076108E30BB13C18
+ 1BED5B4742BE040422EA694F4E270F022B62EF238C002A09C2F7381F1F1F63B3
+ B33401785831C9A121A10DC97EAA4D4C4C4C4C4C4C4C4D4C9B5F7E21104C6E4C
+ 0D444BBF3E1D76809A35CACACACACA355454C8C8C8C85454C8C8483E0D541D13
+ 1E1E653E3E3E3E3D651E1E651E1E1E3E1D1E653D3E139213133E3E13131313A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20DA
+ E4FFFFFFFFFFFFFF12DADA12FFDEDA571240E9DAE2DF12DADADE0C0C0C0C7FFF
+ FF0CDA577FDADA0CFFFFDADA12FFFFFFFFFFFFE0DADAE0DFFFFFFFE2DAE0FFFF
+ FFFFFFFFFF0CDADAFFDEDADAFFFFFFFFFFDEDADAFFFF0CDADEE1120CE2DA57FF
+ 0CDADA7FFFFFFFFFFFFFFFFFDADAE40C0C0C0C12FFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFFFFFFFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFC
+ FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFF
+ FFFFFFDDFCDDFC6464640A0ABBBB160EEE070808E3B1703CE81B194760493004
+ 2236E54F4E270F02022BD6558C000009F239381F1F2C3333676778585873100D
+ 215C66A80D664D5F066E4D4D4D0674AA9B21F031AB484C06BF1E26BF3E133AB0
+ 6F446C9A541E5454353A76C6D1B6767C6F9545CAC9D713151E445D4465443D3E
+ 655D651E4BD5761DCACA351E3E15C0153E15C0133E1315A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6DADA12FFFFFFFFFFFF
+ 57DADADFFFDEDA0CFFFF7FDADAE612DADA0CFFFFFFFFFFFFFF0CDADEDEDAE4FF
+ FFFFDADA12FFFFFFFFFF12DADAE0FFFFFFFFFFE0DAE2DFFFFFFFFFFFFFE9DAE9
+ FF0CDADA12FFFFFFFF0CDADAFFFF0CDADEFFFFFFE6DADA7F7FDADA0CFFFFFFFF
+ FFFFFFFFDADADEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFCFC
+ FC640A0A0ABB160EEE076108E3B1703CE81BED5B60493004512236294E270F02
+ 022B1CEF2300000997C2382CB32CB33463334A7858C1C90D79C9AA1010A87E5C
+ 754C75064D4D744D0D242EB74D4C4C06754426BFD71D953A3AB54BCA543E3A76
+ 9CC875D4213A3A243A9145357ED7131D5D3E3E3E1D13543E1E1E1E3D9EC6BF54
+ 9A35351E3E1515136513C0C0151313A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFDFE2DAE9DFFFFFFFFFE1E2DAE0FFFFDEDA0C
+ FFFFDFDADA0C12DADA0CFFFFFFFFFFFFFF0CDAE2DADA12FFFFFFE4DA12FFFFFF
+ FFFF0CDADAFFFFFFFFFFFF12DADAE0FFFFFFFFFFE6DADAE6FF0CDADA12FFFFFF
+ FF0CDADA12FF0CDADEFFFFFF40DADA12FFDEDADA12FFFFFFFFFFFFFFDADADEFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFC64640A0ABB160E
+ EE076108E30B703C181BED5B47C33004512236294F27270F022B62EF23002A09
+ 09C2382C1F2C386363054A017887A8BF7B10065C5C0DAA66664D66754D064D06
+ AA2E24AA4C4D0D4D063E26BF3E3E9C9CC8B5CA6C76548335443A0DCC45542ED5
+ 95484584BFD7134454831E13761D5D1E5D9265452EC698544BC8351E1D15133E
+ 653E15C0153E3EA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFF12E2DAE40C121257E2DAE2DFFFFFDEDADE0C0CDEDADA4012DA
+ DADE0C0C0C0C0C7FFF40DADADA20FFFFFFFFDEDAE6FFFFFFFFFF40DADA201212
+ 0CE1FFFF0CDADADEE61240E0DADADEFFFF0CDADA12FFFFFFFF0CDADA12FF0CDA
+ E40C0C57E2DADADFFFDFE9DADAE040124057E1FFDADAE40C0C0C0C0C12FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFC640A640ABB1616EE076108080B7070
+ 181B861947423004512236694F27270F022B62D6230000EC0997F72C1FB33834
+ 056701787887CC0D79AB4DAB215C5CA16606AAAA4D4D4D060101F3C1A84C6606
+ 061DAD986C44959C9A95449A7676761E1E567D7D84B7F0069148953A063E1337
+ 5D1E5D13763E443E54C05488D12F983A6FC835441D151D1E3D3E3E133D653EA2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ E1DEDADADADADADADEDFFFFFFFDEDADADADADADAE0FF12DADADADADADADADA12
+ FF12DADADA7FFFFFFFFFDEDA0CFFFFFFFFFFFFE0DADADADADA7FFFFFFF40E4DA
+ DADADADADA57FFFFFF0CDADA12FFFFFFFF0CDADA12FF0CDADADADADADAE2E6FF
+ FFFFDFE0DADADADADADA12FFDADADADADADADADA0CFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ DDFFFFFFFFFFFFFCFCFC640A0ABB16160EEE070808E3B1703CE886194742BE30
+ 042236694F4E270F022B62EF238C00EC09C2F72C1FB3B36367670101782FCC0D
+ 10794D2121A15CAAAAAA4D4D064C4C064D7E797B945C9B4D061D9598131E763A
+ C83A449544541D54C8138806A3AD9826914895569E1D153576924B1E3E5D543E
+ 155D83982E4AD47B6FC81E3E13151D1E3D3E3D13133E3DA20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FE60C0CE67F
+ FFFFFFFFFFE112121212127FFFFFDF1212121212121212DFFFDF1212E1FFFFFF
+ FFFFE1127FFFFFFFFFFFFFFFE10C0C0CE1FFFFFFFFFFFFE10C0C0C40DFFFFFFF
+ FF7F1212DFFFFFFFFF7F1212DFFF7F121212121212FFFFFFFFFFFFFFDF400C0C
+ 0C40DFFF12121212121212127FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
+ FF64640A640ABB160EEE070808E3B1703CE88619476049300451EAE54F4E270F
+ 020262D6558C002A0997F7381FB3343305674A0178C121A15C794D7910667BAA
+ 75790D4DAA4C4C06AA064C6E0D7506AA981D45061335763A4844443A1EB21E76
+ 3A4B764B563A7648919B9593563D157C5D4B5D13441EC01E65541E5476983AC8
+ 6FC81E3E1315134465131515151513A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFCFFFCFC64640A0ABB16
+ 0EEE076108E3B1703CE81B195B4749300451EAE54F4E270F022B2B1C55238C2A
+ 09F239381FB3343305676701782F8BA1C9AB4D211021019F0D2FA4AA66064D06
+ AA4CA1AA4D74664CBF1D43981354769CC8C8D101F0D19E1D3EB2443A453A453A
+ 6E4C9506831D15763D8313831E44541E3D15135D3A761E3A4B8035441D151365
+ 6513131E1E1315CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCDDFFFCDB64640ABB1616EE076108E30B70
+ 3C181BED5B47C330045122E5294E270F02022B1C55238C00099738382CB33463
+ 05674A0178782EA199CC06215C210558A1F32FBF66AA4D4D4C75AA4D5C4D0610
+ BF1D4898134B3A913AC5940D7676C8837C7CA87B3A9C3A486E4C45983A1D1576
+ 3A1376D15DB2C6761E1E5D15765454354B80351E1D15133E3D151E833A65C0A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFDDDDFCFFFCFCFC640A0ABBBB16EEEE6108E30BB170181BED5B474230
+ 0451EA36294E272702022B62558C8C2AEC9739381FB3343305674A01782FD5C9
+ 79A866A8109F874A8DC6F30DA10D4D66AA666666AA06BFA1A11D9EBF549A9C3A
+ 83D7F578787BBDBD5648D4C90DD276833ABF76C94B441D761E769CC65978B67C
+ 54351E5D54545476763A1D761315374465153DD13E1365A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFF
+ FFFCFC64640ABB16160EEE610808E37070181BED5B4742300451EA36694E270F
+ 02022B62EF8C8C002AF239F71F1FB36333054A017858775CAB8B06791078A4C1
+ 0521587779A1A8A85C5C5C5C0DAA66A10D15C999A34B9C3A4B83F0BF5966486E
+ AA4CD198CC109E839C9EADD2C81E443A54139EF3C6785FB695764B4B4B5D5D5D
+ 763AC83A1E445D44156583D41E3E1EA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFFFCFC646464BBBB
+ 160EEE070808E3B1703CE886194742BE04042236694F27270F022B1CD6238C2A
+ 09F2C2381FB3B3633305674A01F024107B2FA1AB7901AB2E0599D42410107966
+ 5C5C5C5C7E0D0DA10DD78F2ECA95569148B6016701774D100D4CD24810065945
+ 595643A5AD54C8953E9EC9CC88C6CC83599EB2B2453A767654358335D7441E3E
+ 135D59995D76B26F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC64DB640ABBBB160EEE070808E3B1
+ 703CE886194742BE30512236694F27270F022B1CEF238C002AF297382C1F3463
+ 3305674A015824A8CF2F7BC9102E0D10C9BF107E66ABAB105C5C5CA8105C5C10
+ BF458F8BAD9D6E6E9E3A065906AA9D0D0DAA0D06BF9806599893143143C8C876
+ 48567DF0317B59594C9E489E48569C9C45959826C8C84B848399F57899454B6A
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFDDFFFFFC64646464BBBB160E0E076108E3B1703CE886194742BE
+ 04042236694F4E270F022B62EF23000009F239382CB3343305674A4A78879F8B
+ 249FCF7E7E0DAA664D754D064D4DB7664D4C4C4D06060606459E0D06B5843A3A
+ 959B48B03A984C934C4D954C9D4D9E4C4343933B43C85454CAD7CA3ACA845426
+ 3A6F6F3A833A3A3A4B26AA8444D7A3D7543D1E44545D37B40000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
+ FFFCFCFC640A0ABB160E0E076108E30B703C181BED5B604930042236694F4E27
+ 0F022B1CEF23002A0939382C1F3433054A0158879FA47B21CCA10DBFB7489195
+ 91726F4856987DC972B09AB06FB0B0B04445C835AD9A9A6FB0356A953A4B4C3B
+ 3A6F9AC84B9A4BC835268326434B544B54CAD7CACA985E43C89ACA9A9A353554
+ 4B9598B76FC89ACA3D5D76B6833E1D6A0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFC64640A0ABB
+ 1616EE070808E3E3B1703CE81B1947C3300422EA694F27270F022B1C5523002A
+ F2C2382C1F3433676701583194778B7BCC5C0D6606065F9B6E6EBD3AC8067B8E
+ 6EB5B0B0B0C880804435CAC5C89A6AB09AB09A80C53599A79572729A6F35C835
+ 1E35C8CA26C8354B6ACA4B1D440D7D8E6FC89A9A35CA1E35C580C83A35C5CA6C
+ 3D767610597613AE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFCFC640A0ABB160EEE0761610808
+ 08E3E3B17018ED4749045136694F4E270F022B1C5523002A0939381F1F343367
+ 677858739FA47BA85C5C0D4C5F9B9191726E72C826563B846E729A9A80356A6A
+ 801D4B356A80AC806A9A6AC8D73D3B8872726F806A806A6A35441E543E354435
+ B01D6FCACAAD7E95B56FC89A9ACACA353580CBC8AC6A4B353D7615BF76541ECB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDDFFFCDDFC0A0A0ABB160EEE07076107EE0E0E0EEE0708B11B
+ 473051EAE54F4E270F022B1C5523002A0939381FB33433674A015873772E8BCC
+ 5C66665F5F4C6F953A72B03ACAB73B546F3A1D806AB4C580B0B46AB46FB46AB4
+ 449A1D4435157D9880B09A8080C5C5C57C15443735351D351D441DCA1E4B0635
+ 6F6F44C8445D1D3E1D443E44541E1DC81E443E4BC81E54CB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
+ FCFFFC6464640ABB160EEE07077F71176B818181170316081B4204EA694F4E27
+ 0F022B1CD623002A0939381FB36333674A0158872F739F777B9F7BA81066A14D
+ 9B483AC815837ECAB43A3A6EC84C6F95484806486E4806483A953A6FC8152193
+ 6CB09A6ACBC5657C44351D5415C854547C541EC8D73A4844CA6FC515A95D3544
+ 1D3A35443E1E44C01E441D351E1D35CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFC6464640ABB
+ BB0EEE070781FEFEFEFEFEFEFEFEA60AE31904EAE54F4E270F022B621CEF8C00
+ EC97381F1F63333305676778788773739424A4249F79C9AB5C5CBF486C43AB84
+ 80064C4C9B5F664C485C065F5C0D6E5F4D4C75064C448F43B46A6F4B959C3AB2
+ 9CB2B29CB6B61D459C6F6F8ECA4C3A1DCACA6C9A4B4B1D1D1EC03A4B153A159C
+ 35441D4413C044A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC640A64BB160EEE0707CDFE7A
+ 82D36BCDFEFEFE17EE1B3022E5294F4E270F0F022BD655002A97381FB3343333
+ 33674A01015887947377247B7B2E218B10ABA806A34899CA954D489BAA48664C
+ 754D75BF064C75A10D454D9806CA8F26CA3548C8B2445D54C8543A359E35483A
+ 954B4593AD0D351D1DCAC56C1D134445761E1D833E3E3E1D351E1D3EC09244A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFCFC64640A0ABBBB160EEE07D312610808E3C4F4FEFEB8
+ 163C495136E5E56969294F4E270262232AF2381FB334333305670505782F8794
+ 942424014A947B7EA8A8CC98D75699A3B5484C0DAA774D669B7506664A78D1C6
+ 779E4C98BF3524841D3A6E541E3A75B676563A563A54F021BD4B45483AA1C51D
+ 6C4BC54410D5BF131D35BF4859D10D5D35353E3E15C044A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFF
+ FCDDFCDBDB64640ABBBB90EE07616161616108E3F6FEFEFEBB70425122220430
+ 604242490436271C0009F71F1F3433330505336301C1C1949F24335831059458
+ 79AB21A1CA437D844B0D0648D4A8F04C0D4CAABFF0F30188787E060DBF268DAD
+ A94CC85676D478884B3A3A8376450DF05F6E489DB598356A6CB0CA6CBF990676
+ 764483D1313A44445D5D3E3E131535A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5003030328FFFFFFFFFFFFFFFF
+ FF5003031AFFFFFFFFFFFFFFFFFF280303031AFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFF1A03030328FFFFFFFFFFFFFFFF28030350FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A030350FFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFF50030328FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A03031AFFFFFFFFFFFFFFFFFFFF
+ FF28030350FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF030303FCFC6464
+ FC0A16EE0761EE1A030316EE12FEFEFE50B1600404428670E68903890B1B0402
+ 23EC381F34343333336767670578873131948B01F301F52E215C990DD73A99CA
+ BD4C064C66F0AB0D740DBF9E8DF30501D20D4D9859842ECA6C5935B29C244A83
+ 45C83A7659C926F0064CB7959D4D9A6AC89ACA562E103A44C0440DD2249C354B
+ 5D351D1D15135DA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFF03A6FEFEFEFEFEFEB86B1AFFFFFFFF6BFEFEFEFEFEB871FF
+ FFFFFFFF17B8FEFEFEFEFEFE17FFFF03FEFEFE28FFFFFFFFFFFFFFFFFFFFFFFF
+ FFFF036BCDFEFEFEFEFECD32FFFFFFFF717AFEFEFEFECD6B28FFFFFFFFFEFEFE
+ 03FFFFFFFFFF81FEFE17FFFFFFFF6BFEFEFEFE82FF03FEFEFE28FFFFFFFFFFFF
+ 286BCDFEFEFEFE7A71FFFFFFFF03FEFEFEFFFFFFFFFFFFFFFFFF17FEFEFE03FF
+ FFFFFFFFFFFFFFFF71B8FEFEFEFE3217FEFE81FFFFFFFF037AFEFEFEFEFE17FF
+ FF03FEFEFEFFFFFFFF81FEFECD50286BFEFEFEFEB8FCCDFEFE03BB0E615081FE
+ FEFECD17BBFEFEFE03B147EB47A0A6FEFEFEFEFEFEB8D04E2309381F34343333
+ 336733673487942F24A424F0317B7B7D215CAB5CCA8399A33A0606AA31A49F06
+ 667445BFD4054A7B4D4D060D4D56CFCA3E453A3A76B2013A564BCA3A932E01D2
+ 484848B5B7486AB49AC844C8CCA13A3E1E35C8C9D54476765D1E1315C01D54CB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B
+ FEFEFEFEFEFEFEFEFEFEFE32FFFFFFB8FEFEFEFEFEFEFE71FFFFFF81FEFEFECD
+ 8181CDFE81FFFF03FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF286BFEFEFEFEFEFE
+ FEFEFE81FFFFFF6BFEFEFEFEFEFEFEFECD50FFFFFF7AFEFE03FFFFFFFFFF82FE
+ FE17FFFFFF71FEFEFEFEFE81FF03FEFEFEFFFFFFFFFFFF50CDFEFEFEFEFEFEFE
+ FE6BFFFFFF50FEFEFEFFFFFFFFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFFFFFF1A
+ CDFEFE8117173203FEFE81FFFFFF32FEFEFEFEFEFEFE81FFFF1AFEFEFEFFFFFF
+ 71FEFEFE32FF82FEFECD8217822881FEFE030A9050CDFEFEFEFEFEFE6BFEFEFE
+ 030B5B47E0CDFEFEFEF4D9F4FEFE2D272309381FB363333305674A67012FC194
+ 9F772E944AF02179795C10A1444B885DC8754D75BF7E4C064C4C9B06107821C9
+ 4D4D66665993ABC81D455654543A3A54B09A4B6F5624F00D5F48834806543E1D
+ 5D54351E1E351E1E3DD78399064B44765D5D139213653ECB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFEFE6B71033281
+ FEFEFEFE03FFFF827128FF1A7AFEFEA6FFFF17FEFECD17FFFFFFFF1A32FFFF03
+ FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF7AFEFEFECD82710303176B7AFFFF71FE
+ FEFE1728FF037AFEFEB828FFFF81FEFE71FFFFFFFFFF17FEFE82FFFFFF17FEFE
+ FE03FF71FF03FEFEFEFFFFFFFFFFFF7AFEFE7A03FF2817FEFEFE17FFFFFFFEFE
+ FEFFFFFFFFFFFFFFFFFF03FEFEFE03FFFFFFFFFFFFFFFF17FEFEB8FFFFFFFF1A
+ FEFE7AFFFF1ACDFEFE7A71FFFF1A32FFFFFFFEFEFEFFFF28B8FEFE6BFFFFCDFE
+ FE32DDDDDB646BFEFE710A1681FEFECD32EEC4D3FEFEFEFE030BEDFACDFEFE81
+ 9647305151E0E0028C09381F34B3330505674A0178878731249FA4A4247B108B
+ 10AB21BF35450D546EAA744859069E0606BD594C48C9064C4DAA75754D14211D
+ 54487676543A353A3A9A4BCA3A59453A95B25643BF541D929C3E441D761D5D35
+ D7541E35134B3A541E1E3DC01D4465CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF7AFEFEFE17FFFFFFFFFF6BFEFEFE6BFFFFFF
+ FFFFFFFF82FEFEA6FFFFB8FEFE17FFFFFFFFFFFFFFFFFF1AFEFEFEFFFFFFFFFF
+ FFFFFFFFFFFFFF17FEFEFE8128FFFFFFFFFFFFFFFFFFB8FEFE17FFFFFFFF28CD
+ FEFE17FFFF81FEFE17FFFFFFFFFF17FEFE81FFFFFF17FEFEB8FFFFFFFF1AFEFE
+ FEFFFFFFFFFF32FEFECD28FFFFFFFF17FEFECDFFFFFFFEFEFEFFFFFFFFFFFFFF
+ FFFF03FEFEFE03FFFFFFFFFFFFFFFF17FEFE7AFFFFFFFFFFFEFEFEFFFF17FEFE
+ CD28FFFFFFFFFFFFFFFFFEFEFEFFFF82FEFEB828FFFFFEFEFE71FFDD646417FE
+ FE170A7FFEFEFE3290E3703CD3FEFEFE03E31BC7FEFEB8C4190436294F4E0F2B
+ 8C2AC21F3434333305674A017887C19F9F9FA48B8B21797B5C797BBF35565E54
+ C84D664C750659590D6EBFAABF1010994D660666B798211D92483A4576453E3A
+ C86E4B9D459A4583B2594C83C9C81EC5441E4B5D5D131D3ED73ED74B3E441E54
+ 1D1E3E133E3E3DCB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFEFEFEFEFFFFFFFFFFFF28FEFEFEB8FFFFFFFFFFFF71CDFEFE71
+ FF50FEFEFE28FFFFFFFFFFFFFFFFFFFFFEFEFE03FFFFFFFFFFFFFFFFFFFFFFCD
+ FEFEB828FFFFFFFFFFFFFFFFFF1AFEFEFE1AFFFFFFFFFF82FEFE81FFFF17FEFE
+ 17FFFFFFFFFF17FEFE81FFFFFF71FEFE7AFFFFFFFFFFFEFEFE03FFFFFFFF6BFE
+ FE6BFFFFFFFFFF28FEFEFE03FFFFFEFEFE03FFFFFFFFFFFFFFFF03FEFEFE03FF
+ FFFFFFFFFFFFFF1AFEFEFEA61AFFFFFFFEFEFEFFFFA6FEFE6BFFFFFFFFFFFFFF
+ FFFFFEFEFEFF50FEFEFE50FFFFFF6BFEFECD32FFFCFC17FEFE170A03FEFEFE28
+ 070B18E818B8FEFE0308E8D8FEFE820B4704223636694F0FD600971FB3343333
+ 330501782F582F9494772E2E2E778BA8AB10107ECA8399264D4D4D0694F0774C
+ 4C0D4C749F78D5C6934D5F0D95AB999C765935C8CCD4BF4B4CACB5C8458BC976
+ 9C5643AD7D4B35353A5444C910CC834B26458821593E1576445D1E3E653E1DB4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFE
+ FE7AFFFFFFFFFFFFFF7AFEFEFEFFFFFFFFFF82FEFEFE17FFFF03FEFEFEFFFFFF
+ FFFFFFFFFFFFFFFFFEFEFE03FFFFFFFFFFFFFFFFFFFF03FEFEFE32FFFFFFFFFF
+ FFFFFFFFFF03FEFEFEFFFFFFFFFFFF03FEFEFEFFFF17FEFE82FFFFFFFFFF03FE
+ FE7AFFFFFF03FEFEFEFFFFFFFFFFFEFEFE03FFFFFFFF81FEFE17FFFFFFFFFFFF
+ 81FEFE17FFFFFEFEFE03FFFFFFFFFFFFFFFF03FEFEFE03FFFFFFFFFFFFFFFFFF
+ 32CDFEFEFE7A825081FEFE50FF81FEFE17FFFFFFFFFFFFFFFFFF81FEFE507AFE
+ FE17FFFFFFFF2881FEFEFECDA63271FEFEA60A03FEFEFE6407B1181B1BD8FEFE
+ 170818D9FEFE17613C86195B191947040F8C972CB33463050567014A4A582FC1
+ 87949F778B8B2E211010A15C3593A58E6F4C759B2EF0871010060D7B2105F32E
+ 934C5FA1B5A521B21E483A547BD51006BD7EA1BF4DAB24B23A839E06314C4B76
+ 1E443AD424CCB2984310D4993A1E3E3E5476541E5D5D5D9A0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE81FFFFFFFFFFFF
+ FF81FEFEFEFFFFFF2881FEFECD71FFFFFF03FEFEFEFEFEFEFEFEFEFEFEFEFFFF
+ FEFEFE03FFFFFFFFFFFFFFFFFFFF17FEFEFE1AFFFFFFFFFFFFFFFFFFFF03FEFE
+ FEFFFFFFFFFFFF03FEFEFEFFFF17FEFE81FFFFFFFFFF03FEFEFEFFFFFF03FEFE
+ FEFFFFFFFFFFFEFEFE03FFFFFFFF81FEFE17FFFFFFFFFFFF81FEFE17FFFF81FE
+ FE03FFFFFFFFFFFFFFFF03FEFEFE030317177128FFFFFFFFFF28177AFEFEFEFE
+ CDFEFE03FF81FEFE17FFFFFFFFFFFFFFFFFF81FEFE82FEFECDFFFFFFFFFFDDFC
+ 036BCDFEFEFECDFEFE810A1AFEFEFE1AEE0B18861BD3FEFE170818D9FEFEFEFE
+ FEFEFEFEFEFEFEF1E523F22C341F2C0505674A34344A2F582FC17394777777A4
+ A87910C94B99BC140666AA06A40178AB5C77A8AB8B01D421AA66BFBF8EF53F54
+ 4C5656592FD421985C105C06D578CC4C064C595E8D9326765D0D31D421B6590D
+ 06998DBF3A459C7654545D1E5D5D54B00000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF81FEFEFEFFFFFFFFFFFFFF82FEFEFE28FFFF
+ 81FEFE7A1AFFFFFFFFFFFEFEFE710303030317FEFEFEFFFFFEFEFE17FFFFFFFF
+ FFFFFFFFFFFF17FEFEFEFFFFFFFFFFFFFFFFFFFFFF28FEFEFE71FFFFFFFFFF32
+ FEFEB8FFFF17FEFEFE28FFFFFFFF71FEFEFEFFFFFF28FEFEFEFFFFFFFFFFFEFE
+ FE17FFFFFFFF82FEFE7AFFFFFFFFFFFFB8FEFE32FFFF81FEFE03FFFFFFFFFFFF
+ FFFF03FEFEFE03B8FEFEFEFE82FFFFFFFFFFFFFF280382B8FEFEFE32FF82FEFE
+ 7AFFFFFFFFFFFFFFFFFF81FEFE717AFEFE32FFFFFFDDDDFCFCDBDB5032A6FEFE
+ FEB80A16B8FEFE17BB0870E8E8D3FEFE17081BF1FEFEA60389892D89F4FEFED3
+ 22D6092CB3B31F0533674A05057858783131949F949F2E8BAB7921A15699A55E
+ B5060DA1BF7979A106A8BFBF0DAB0DBF66BFBF0693525243543A4C062106489E
+ 9DAA9D4C7910BF9E599E458E98C8CA1E4B98CC48454B3A13C8D74C4B5D1E1D3E
+ 1E1E3E3D653E3EC50000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF81FEFEFEFFFFFFFFFFFFFF17FEFEFE03FF50FEFEFE28FFFFFFFF
+ FFFFA6FEFE32FFFFFFFF32FEFEB8FFFFFEFEFECD50FFFFFFFFFFFFFFFFFF17FE
+ FEFEFFFFFFFFFFFFFFFFFFFFFFFFA6FEFEA6FFFFFFFFFF81FEFE6BFFFF71FEFE
+ FEA6FFFFFFFFA6FEFEFEFFFFFFFFFEFEFE28FFFFFFFFFEFEFECD50FFFFFF50FE
+ FEFE50FFFFFFFF03FEFEFE1AFFFF81FEFE03FFFFFFFFFFFFFFFF1AFEFEFE71FE
+ FEFEFEFEFE6BFFFFFFFFFFFFFFFFFF28B8FEFE17FF71FEFEFE03FFFFFFFFFFFF
+ FFFF81FEFE0350CDFEFE71FFFFDDFCFCDBDBDB64FC6417FEFEFE0A0ED3FEFECD
+ 500E08B1B1D3FEFEA6611BA0FEFEB8EE3C5B4786B8FEFEC7E5F9F21FB36363F3
+ 67670178F087879424A42E8B7B21A879795C2166B75E5E14B774B74DBD4C4856
+ 4C9D564D9E454C4C93489B59143B53A73A3A5435763AC8C8B0CA3AB54B3A3A4B
+ 4B5683AD434B26353E1D1D1E1E444435C813484B76351D445D1E1D3D3E1315CB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6FE
+ FEFEFFFFFFFFFFFFFF17FEFEFE03FF03FEFEFE17FFFF1A32FFFF03FEFECD03FF
+ FF287AFEFE17FFFFFEFEFEFECD821703FFFFFFFFFFFF71FEFEFE71FFFFFFFFFF
+ FFFFFFFFFFFF50FEFEFEA61AFF1A6BFEFEFE50FFFF03FEFEFEFEB882177AFEFE
+ FECDFFFF5003FEFEFE17030328FFFEFEFEFECD821703FFA6FEFECD32FFFF71CD
+ FEFEA6FFFFFF81FEFE71FFFFFFFFFFFFFFFFFFFEFEFE7128FF507AFEFEFE03FF
+ FF0328FFFFFFFFFFB8FEFE17FFFF7AFEFECD3228FF280303FFFF81FEFE03FF32
+ FEFECD50FFDDFC1A50DDFCFC64DB32FEFEFEBBEE617AFEFECD321AEEEE6BFEFE
+ 81611960D9FEFE6BC43C18F6FEFECDD02700392CB36333674A01F058D1C1872E
+ 8B79C90DBFBF754D4D4D56954556459E453B7D1480373E1E1E3544134435443E
+ 6C443E5D253FA7C945441D1E3E441E1D443E3E44443E44543BA13A8044921313
+ 13923E15153E153E1515351D1D54C0C09265A9A9C09213AE0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFE1AFFFFFFFFFF
+ FF03FEFEFE03FFFFB8FEFEFEFEFEFECDFFFFFF32FEFEFE7A81FEFEFE7A28FFFF
+ FEFEFE7AFEFEFE17FFFFFFFFFFFF28FEFEFE6BFFFFFFFFFFFFFFFFFFFFFFFF32
+ FEFEFEFEFEFEFEFEFE32FFFFFF03FEFEFE81FEFEFEFEFEFEFE82FFFF81FEFEFE
+ FEFEFEFE03FFFEFEFE7AFEFEFE17FF287AFEFEFEFEFEFEFEFE7A28FFFFFF81FE
+ FE17FFFFFFFFFFFFFFFFFFFEFEFE03FFFFFF28CDFEFE6BFFFF82FE7A6B17177A
+ FEFEFE50FFFF50CDFEFEFEFEFEFEFE17FFFFA6FEFE32FFFFA6FEFEB828FCDB28
+ FECD8117176BCDFEFEA6166108C47AFEFEFEFEFEFEFEFEFEB8E3473096F4FEFE
+ CD81B8FEFEFEC72262F2381F3433054A7858C17331319F7BC975B648B245956F
+ C84B35449A9ACACA543B3B841DAC1313921D13921D1D151D6C1D1D3D3D3B983A
+ 1E13131D1D131D1315C0C01313C015138E5615B4CB15151513C03E133D65C015
+ 131544C51D15A9C09265C013651365A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFF03FEFEFE17FFFF
+ 5081FEFEFEFEFE6BFFFFFFFF037AFEFEFEFECD6B28FFFFFFFEFEFE716BFEFE17
+ FFFFFFFFFFFFFF6BFEFEFE03FFFFFFFFFFFFFFFFFFFFFFFF1A6BFEFEFEFEFEA6
+ 03FFFFFFFF03FEFEFE2882CDFEFEFECD82FFFFFF81FEFEFEFEFEFEFE03FFFEFE
+ FE716BFEFE17FFFFFF32B8FEFEFEFEB81728FFFFFFFF6BFEFE17FFFFFFFFFFFF
+ FFFFFFFEFEFE03FFFFFFFF81FEFE81FFFF0381CDFEFEFEFEFEB871FFFFFFFF1A
+ 6BFEFEFEFEFECD50FFFF17FEFE17FFFF28CDFEFE7A28DBDB6B7AFEFEFEFEFEFE
+ 6B7F0708E30BE3F67AFEFEFEFEFEFEFEF418EB512296F8CDFEFEFEFEF432510F
+ 009738B33433674A015831D4319F8BA85C0DBF064D4D4C4856454B6F6FB044B4
+ 3D3B5E3DAC7C3554C83A3A83453A3A56953A9C76A37D986A133E441E35444435
+ 764B4B7676C8544B439D1D1DC53537445D1E545D4B3A5D545D5435763792135D
+ 3E1E651E1E3E1ECB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFF03FEFEFE17FFFFFFFF28030350FFFF
+ FFFFFFFFFFFF28030350FFFFFFFFFFFFFFFFFFFFFF1A031AFFFFFFFFFFFFFF1A
+ CDFEFECD71FFFFFFFFFFFFFFFFFFFFFFFFFFFF030303FFFFFFFFFFFFFFFFFFFF
+ FFFFFFFF500303FFFFFFFFFFFFFF81FEFE03FFFFFFFFFFFFFFFFFF1A031AFFFF
+ FFFFFF1A03031AFFFFFFFFFFFFFF17FEFE17FFFFFFFFFFFFFFFFFFFEFEFE03FF
+ FFFF28CDFEFE81FFFFFFFFFF2803030328FFFFFFFFFFFFFFFFFF0303031AFFFF
+ FFFF17FEFE17FFFFFFFFFFFFFFFCFC640A646450030350BB16EE61E30BB17070
+ 700B89898989FBE819C351E5693622300C2D2D9604690FF92AF2382CB3B33305
+ 4A01739FC131217B7B79CCA8C910C910AB10107EA10D4D3A3D995E3D3A914556
+ 484C5906064C9E064C480659A38F0DAC4476764B3A3A4B4556459C4545454545
+ 5E9D441D7C355D35C8545454544B4B4B544B6A7637A9655D4B5D1E5D443E1EB4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FE
+ FEFE03FFFFFFFFFFFF28FEFEFE17FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32FEFEFEFE7A1703
+ 0371177A03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFE32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFE17FFFFFFFFFFFFFFFFFFFEFEFE6B171717B8FEFEFE17FF
+ FFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFE17FFFF
+ FFDDFCFFFFDBDB640A0A0ABBBB1616EE0761080BB1703C18E81B86ED195B6049
+ 0451364F4E4E4E4E4E4E4E270F2B55000939F72CB3346305674A317731C18BD5
+ 8B7BCC79A810A8A8C90D0D66660D75B55D7D5EA39B919C564548489E064C484C
+ 7448065954B95E6C353A76C83A833A45953A3A3A3A4545457E3A44923A443554
+ 35C8C8C854355454543A3580C5921E651E13445D3E441ECB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03FEFEFE17FFFFFFFFFF
+ FFFFFEFEFE6BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03CDFEFEFEFEFEFEFEFEFE28FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A17
+ 8117FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FE
+ FE81FFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFE7A28FFFFFFFFFFFFFCFCFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEA6FFDDFFFFFFFCFCFCDB64
+ 0A0ABBBB900EEE076108E30B703C18E886195B4742EB30512236294E270F0F0F
+ 02022B62552300EC9739381FB3346333674A312431877B248B7979A8C9105C7E
+ A8A17EA10D107E9B1E7D5EA34D91484556B64848590659594D4C7598265206AC
+ 543A76544B833A7645459595569E9E483BADCACB9C351E541EC8547676C83A76
+ 263AC8356C151E5D1D137676445D54B40000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF03FEFEFE17FFFFFFFFFFFFFFFEFEFE81FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFF28177AFEFEFEFEFEFE7AFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFE81FFFFFFFFFFFF
+ FFFFFFFEFEFEFEFEFEFEFECD6B28FFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFF17FEFE81DDFFDDFCFFFFFCDB640A0ABB16160EEE0761
+ 0808E3B1703CE886195B4742BE04512236294F4E270F02022B1CEF232300ECF2
+ C2F7381FB3346305674AC1D49F877BD2A47B21A85C105C7E5C0D7E7EAA7E0D6E
+ 3E7D7EA34D9B064548065956484C4C4C4D4D060684B99DB4763A453A4B45B276
+ 3AB5B595489EB79D93C86C1D4BB21E35459544CA9A9A956F263580ACCB923E45
+ 45560DB63E5D54B40000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF03030350FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDDFFFCFCFC0AFC640A0ABB16160EEE076108E30B707018E886
+ 19476049300451EA36294E270F0F022B1C1C238C8CECEC09C2382C1FB3633305
+ 674A58D49F2F7B24A48BABA85C10A1667E667E7E665C5C481E8B99A34C9BBF26
+ 59A10D9EB24C5959AA7575982552BDAC3A45B6483A48593A6F3A95BD4874483A
+ CAC86CB03A10B2458BC93A9A9A9A569556353AB0C5C5C888CCCCD5BF1D4435B4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFC
+ FFDBFFDB640A0ABBBB161690EE07610808E3B1703C181BED5B4742BE30042236
+ E54F4E270F0F022B1CEF238C00EC0909C2382C1F3463330567675894242FD2D5
+ CF2F8B7B2F87BFA1A1060D5CA17EA19B843F3BCA759B2F569888C12659598359
+ 4D750D14145206AC3A83F00688F02E2626AD833A4C4559569845352644D47B99
+ 8B4DCACA4B4B4B3A9C9C06B2441E1ED5CC8B103A134435CB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFCFCFFFFFCFFFFFFFFFFFFFFFCFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDFCFCDB0A0A0A0A
+ BB16160EEE076108E30B703C3CE886195B60493004512236694F27270F02022B
+ 1C55238C002A090939F72C1F34630505674A5894C1D1D49FA44A9F2158F00D7E
+ ABA1A1A166A1A14D938F3F25069B012EA17B2EB74C4C7498064806433BF55E6A
+ 454CD5CC06310D3A9595957645455999D2481D9A3A9F217EC99EC8C8264BC84B
+ 35060D4544541D06764545C83554C8AC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFCFCFCFCFFFCFCFCFCFCFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFDDFCFC640A0A0A0ABB1690EE070761E3
+ E30B703C181B86194760BE3004513636294E27270F022B621C558C0000EC0909
+ C2382C1F34633305674A58942F53312E24672F2E2F2FA8A85C667566660D0D4D
+ 1453528E069B77D55C775C66749B74744DB5BF433FBC3B6E489BA87B4C214C9B
+ 56489B48484893B97B484B4BD79D4B5606B7BD95BDB54BC88EAB5992A96F9A4B
+ 56959556454B44CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFC
+ FCFCFCFFFFFFFCFCFFFFFFFFFCFFFFFCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFCFCFC640A0A0ABBBB16160E07076108E30BB1703CE81B195B
+ 47C3BE30042236E54F4E270F0F022B62D6558C8C002A09F239382C1F34630505
+ 67017824C1AFA52E8B77777777A48B79AB1010105C5C664D5EAF5384065F7510
+ 667BAAAB7E0D7E0D0D4CBFB7B9535E6A729AAA7E66667E5C7EA1A1759B488EA5
+ A49DCAC8BD4D744D4D4D4D4C74B79DB5A3B98F06CACAB06E3AC8C83A954BC8AC
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFCFF
+ FCFFFFFCFCFFFCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCDB0A0A0ABBBBBBBB90EE07610808E30B7070181B8619476049300451223669
+ 4F4E270F02022BD6EF558C002A09F2C2F7382C1FB3633305674A7894C111BCCF
+ 7B798B77A48BA4A42E2E7B79A85C064DB96DAF14B79B5F0D7EA87E7979A85C5C
+ 7E0648AAF5BCB9747472064D66747E66AA4D5F6EB59314BCAFA44C9AB0B5849A
+ 84B5BD3A3ABD48B7A75A5AF57B0659757E7E5C5CC99979790000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFFFCFFFFFCFCFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCDB64640A0ABBBBBB
+ 1690EE076108E30BB1703CE81BED194742493004222236294F270F0F022B62EF
+ EF238C00ECECF2C2F7382C1F3463330567012F2F5A1185A48B2EA421A47B218B
+ 7979A85C5C66665CAF5A6D53C94CAA06664DAAAAAA4D4D4D14064C79BCBAF577
+ 9DB572B5B5729DB574744D4D6610D45AFDAF01C1772E9FC1C12FF0014ABCAFBA
+ 5AFDFD6D5A5A5A5A5A5A5ACEBACE5A2C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFFFFFCFCFCFCFCFFFFFCFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFDDFFFFFFFFFFFFFFFFFFFFDDDBDBDB640A0A0ABBBBBB16EEEE616108E30B
+ 703C3C1B86ED4760C330040422EA69294E270F0F022B621C55238C002A09F2C2
+ F72C1FB334330505670178F31111110524D22E21D221AB10AB79AB1079792EF0
+ FD6DFD6D0587318F3131C12FA5F07801F0010185BA6D5AAF0101F5BC058585BA
+ BABACEBACEBA5A6DFDFDFDFDFDFD6D5A5A6D6DFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCDBDBDBDBDB
+ DBFCFFFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFCFCFCFCDB640A0ABBBBBBBB160EEE076108E3E30B703C181B865B4760
+ C33004512236294F4E270F02022B1CEF23238C00EC0909E78A39F738112C2C1F
+ CECE6D41111111FD5ACE5A6D6D6D6D5A5A5A5A5A5A5A6DFDFDFDFDFDFDFD6D6D
+ 5A6D5A6D5A5A5A5A5A5A5AFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFFFCFCFCFC
+ FCFCFFFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBFCFCDB
+ 640ABBBBBB16160EEE07616108E30B70703CE81B195B47C3BE040422EAE5294E
+ 27270F022B621CEF238C8C00ECECEC6868E78A8A464646414141411111111111
+ 1111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
+ FCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFCFCFCFCFCFCFCFCFCFFFCFCFFFF
+ FFFFDDFFDDDDFFFFFFFFFFFFDDFFFFFFFFFFFFFFFCDBDB64640A0ABBBB16160E
+ EE07610808E3B1703C181BED194760493004512236E54F4E270F0F022B1C1C55
+ 238C00ECECECEC09688A8A8A4646464141414111111111111111FD1111FDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBDBDBDB
+ DBDBDBDBDBDBDB6464FCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFDDFFFFFFFFFFFF
+ FFFFFFFFFCDDFFFFFCFFFFFCDB64640A0A0ABBBBBB160EEE07610808E30B7070
+ 3CE81B195B4742BE300451EAE5294F4E270F02022B1C1C558C8C0000ECEC6868
+ E78A8A46464646414141411111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB6464646464
+ 64FCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFDDDDFFFFDDFFFFFFDDFFFFFFFFFFFC
+ FFFFFCFCFCFC640A0A0ABB1616160EEE076108080B0B703CE81B86194760C3BE
+ 04512236E54F4E270F0F022B2B1CEF8C8C0000ECECEC0909DCE7464646464141
+ 4111411111111111FDFD11FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB646464646464FCFC64FCFCFCFCFC
+ FCFCFCFCFCFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBFCDBDBDB0A0A
+ 0ABB1616160E0E07616108E30B70703CE886195B474249305151223669294E27
+ 0F0F022B2B1CEF238C8C0000ECEC096868E7E78A8A4646414141414111411111
+ 1111111111111111111111111111111111111111111111111111111111111111
+ 1111111111111111111111111111111111111111111111111111111111111111
+ 11111111111111111111111111111111111111111111118A0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFCFCFCFCFCDB
+ DBDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A646464646464DBFCFCFCDBFCDBFFFFFF
+ DDDDFFDDFFFFFFFFFFFFFFFFFFFCFCFCFCFFFCDBDB0A0A0ABBBB160E16EEEE07
+ 070808E30BB13C3CE81B86194760C3BE3004512236E54F4E4E270F0F022B2B1C
+ 1C55558C8C8C0000002A2AECECEC09EC09096868686868686868DCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCEC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB
+ DBDBDBDBDBDB64DBDBDBDBDBDBDBDBFCFCDBFCDBFFFFFFFFFFFFFFDDDDFFFFFF
+ FFFFFFFFFFFCFCFCFCFCFCDBDBDBDB640A0ABBBBBB160EEEEE07616108E3E3B1
+ 703C18181BED195B4760C349303004515122EAEAE5E529294F4F4E4E27272727
+ 270F0F0F0F0F0F0F0F0202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 020202020202020F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDDFCFCFCFCFCFCFCFCFCDD
+ DDDDDDDDDDFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFC640A0A0A0A0ABB161616900EEE0707610808E3E30B0BB170
+ 3C3C3C18E81B1B86EDED19195B5B4747474760604242C3C3C3C3494949494949
+ EBEBEBBEBEBEBE30BEBE30303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303049
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFDDDDFCFCFCFCFCFCFCFCDBDBDBDBDDFCFCFCDDDDFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDDFCFC64
+ 640A0A0A0ABB161616900EEE070761080808E3E30BB17070703C3CE81B1B1B86
+ ED1919195B5B4747476060424242C3C3C3494949494949EBBEEBBEBEBEBE3030
+ BE30303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030490000FCFCFCFCFCFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB
+ DBDB6464646464640A0A0A0A0A0A6464646464DBDBDBDBDBDBDBDBFCFFFFDDDD
+ FFDDFFFFFFFFFCFFFFFFDDFFFFFCFCFCFCDBDBDBDB640A0ABBBBBBBB16EEEE07
+ 610808E3E3B170703C181B86ED195B4742C3BE300404512222EA36E529294F4F
+ 4E4E4E272727270F0F0F0F0F0F0F020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020F0000FCFCFCFCFCFCFCFCFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCDBDBDBDBDBDBDB64640A0A0A0A0ABBBBBB
+ BBBBBBBBBBBB0A0ABB0A0A0A0A0A0A0ADB64FCFCFCFFDDDBFFFFDDFFFFFFFFFF
+ FFFFFCFFFFFFFC64DBDBDB0A0A0ABB161690EEEE07070808E30BB1703C181B1B
+ 195B476049300451512236294F4E27270F0F022B2B1C1CEF558C8C0000000000
+ ECECECECECEC09090968686868686868DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCEC0000FCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFF
+ FCFCFCFCFCFCDBDBDBDBDBDBDB640A0A0A0A0ABBBBBBBBBBBBBBBBBBBBBBBBBB
+ BB0A0A0A0A0A640A6464DBFCFCDDFCFFDDFCFFFFFFFFFFFFFFFFFFFFFFFCDBFC
+ 640A0A0ABBBBBBBB900EEE07616108E3E30B703C18E81B191947604930040451
+ 223669294E27270F02022B2B621CEF55238C8C00000000ECECECEC0909096868
+ 68E7E768E7E78AE7E78A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
+ 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
+ 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8AEC
+ 0000}
+ Login.LeftImage.Data = {
+ 07544269746D617016090000424D160900000000000036040000280000003200
+ 0000180000000100080000000000E00400000000000000000000000100000000
+ 000000000000000080000080000000808000800000008000800080800000C0C0
+ C000C0DCC000F0CAA6000020400000206000002080000020A0000020C0000020
+ E00000400000004020000040400000406000004080000040A0000040C0000040
+ E00000600000006020000060400000606000006080000060A0000060C0000060
+ E00000800000008020000080400000806000008080000080A0000080C0000080
+ E00000A0000000A0200000A0400000A0600000A0800000A0A00000A0C00000A0
+ E00000C0000000C0200000C0400000C0600000C0800000C0A00000C0C00000C0
+ E00000E0000000E0200000E0400000E0600000E0800000E0A00000E0C00000E0
+ E00040000000400020004000400040006000400080004000A0004000C0004000
+ E00040200000402020004020400040206000402080004020A0004020C0004020
+ E00040400000404020004040400040406000404080004040A0004040C0004040
+ E00040600000406020004060400040606000406080004060A0004060C0004060
+ E00040800000408020004080400040806000408080004080A0004080C0004080
+ E00040A0000040A0200040A0400040A0600040A0800040A0A00040A0C00040A0
+ E00040C0000040C0200040C0400040C0600040C0800040C0A00040C0C00040C0
+ E00040E0000040E0200040E0400040E0600040E0800040E0A00040E0C00040E0
+ E00080000000800020008000400080006000800080008000A0008000C0008000
+ E00080200000802020008020400080206000802080008020A0008020C0008020
+ E00080400000804020008040400080406000804080008040A0008040C0008040
+ E00080600000806020008060400080606000806080008060A0008060C0008060
+ E00080800000808020008080400080806000808080008080A0008080C0008080
+ E00080A0000080A0200080A0400080A0600080A0800080A0A00080A0C00080A0
+ E00080C0000080C0200080C0400080C0600080C0800080C0A00080C0C00080C0
+ E00080E0000080E0200080E0400080E0600080E0800080E0A00080E0C00080E0
+ E000C0000000C0002000C0004000C0006000C0008000C000A000C000C000C000
+ E000C0200000C0202000C0204000C0206000C0208000C020A000C020C000C020
+ E000C0400000C0402000C0404000C0406000C0408000C040A000C040C000C040
+ E000C0600000C0602000C0604000C0606000C0608000C060A000C060C000C060
+ E000C0800000C0802000C0804000C0806000C0808000C080A000C080C000C080
+ E000C0A00000C0A02000C0A04000C0A06000C0A08000C0A0A000C0A0C000C0A0
+ E000C0C00000C0C02000C0C04000C0C06000C0C08000C0C0A000F0FBFF00A4A0
+ A000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFF
+ FF00FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD525252525252525252525252
+ 5252FDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDAFB75E5E5E66666767676F6F6F6FB752FDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBF
+ BFBFBFBFBFBFBFBFBFB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFB76F676F6FB7B7B7B7B7776F5EB752FD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBFBFB752FDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFB76F676F6F6FB7B7
+ B7B7776F5EB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBFBFBF52FDFDFDFDFD
+ 0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAF
+ B76767676F6F6FB7B7B7776F5EB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBF
+ BFBF52FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDAFB76767676F6F6F6FB7B7776F5EB752FDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBF
+ BFBFBFBFBFBFBFBFBFBF52FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBFB7AFAFB7B7B7B7BFBFBFBFB7B752FD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDAFB76F675E5E5E5E5E5E676FB7A5FDFDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F79BFDFDFDFD
+ FDFDA4F7A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDF7F79BFDFDFDFDFDFDA407A3FDFDFDFDFDFDFD
+ 0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDF7F79BFDFDFDFDFDFDA407A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F7A4FDFDFDFDFDFDF707
+ A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDF707A49AFDFDFDFDA30707A3FDFDFDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F6A4
+ A49B9A9AA3A407079AFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F6F7F7A4A4F70707A3FDFDFDFD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDF7F6F6F6F6F607A3FDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7A3A3A3
+ A3A3FDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ 0000}
+ Log.WindowCaption = 'Seguran'#231'a'
+ Log.LabelDescription = 'Log do Sistema'
+ Log.LabelUser = 'Usu'#225'rio :'
+ Log.LabelDate = 'Data :'
+ Log.LabelLevel = 'N'#237'vel m'#237'nimo : '
+ Log.ColLevel = 'N'#237'vel'
+ Log.ColMessage = 'Mensagem'
+ Log.ColUser = 'Usu'#225'rio'
+ Log.ColDate = 'Data'
+ Log.BtFilter = '&Aplicar Filtro'
+ Log.BtDelete = '&Excluir Log'
+ Log.PromptDelete = 'Confirma excluir todos os registros de log selecionados ?'
+ Log.BtClose = '&Fechar'
+ UsersForm.WindowCaption = 'Seguran'#231'a'
+ UsersForm.LabelDescription = 'Cadastro de Usu'#225'rios'
+ UsersForm.ColName = 'Nome'
+ UsersForm.ColLogin = 'Login'
+ UsersForm.ColEmail = 'Email'
+ UsersForm.BtAdd = '&Adicionar'
+ UsersForm.BtChange = 'A<erar'
+ UsersForm.BtDelete = '&Excluir'
+ UsersForm.PromptDelete = 'Confirma excluir o usu'#225'rio "%s" ?'
+ UsersForm.BtRights = 'A&cessos'
+ UsersForm.BtPassword = '&Senha'
+ UsersForm.BtClose = '&Fechar'
+ AddChangeUser.WindowCaption = 'Cadastro de Usu'#225'rios'
+ AddChangeUser.LabelAdd = 'Adicionar Usu'#225'rio'
+ AddChangeUser.LabelChange = 'Alterar Usu'#225'rio'
+ AddChangeUser.LabelName = 'Nome : '
+ AddChangeUser.LabelLogin = 'Login : '
+ AddChangeUser.LabelEmail = 'Email : '
+ AddChangeUser.CheckPrivileged = 'Usu'#225'rio privilegiado'
+ AddChangeUser.BtSave = '&Gravar'
+ AddChangeUser.BtCancel = 'Cancelar'
+ AddChangeProfile.WindowCaption = 'Perfil de Usu'#225'rios'
+ AddChangeProfile.LabelAdd = 'Adicionar Perfil'
+ AddChangeProfile.LabelChange = 'Alterar Perfil'
+ AddChangeProfile.LabelName = 'Descri'#231#227'o : '
+ AddChangeProfile.BtSave = '&Gravar'
+ AddChangeProfile.BtCancel = 'Cancelar'
+ UsersProfile.WindowCaption = 'Seguran'#231'a'
+ UsersProfile.LabelDescription = 'Perfil de Usu'#225'rios'
+ UsersProfile.ColProfile = 'Perfil'
+ UsersProfile.BtAdd = '&Adicionar'
+ UsersProfile.BtChange = 'A<erar'
+ UsersProfile.BtDelete = '&Excluir'
+ UsersProfile.BtRights = 'A&cessos'
+ UsersProfile.PromptDelete = 'Existem usu'#225'rios com o perfil "%s". Confirma excluir?'
+ UsersProfile.BtClose = '&Fechar'
+ Rights.WindowCaption = 'Seguran'#231'a'
+ Rights.LabelUser = 'Permiss'#245'es do Usu'#225'rio : '
+ Rights.LabelProfile = 'Permiss'#245'es do Perfil : '
+ Rights.PageMenu = 'Itens do Menu'
+ Rights.PageActions = 'A'#231#245'es'
+ Rights.BtUnlock = '&Liberar'
+ Rights.BtLock = '&Bloquear'
+ Rights.BtSave = '&Gravar'
+ Rights.BtCancel = '&Cancelar'
+ ChangePassword.WindowCaption = 'Seguran'#231'a'
+ ChangePassword.LabelDescription = 'Trocar Senha'
+ ChangePassword.LabelCurrentPassword = 'Senha Atual :'
+ ChangePassword.LabelNewPassword = 'Nova Senha : '
+ ChangePassword.LabelConfirm = 'Confirma'#231#227'o : '
+ ChangePassword.BtSave = '&Gravar'
+ ChangePassword.BtCancel = 'Cancelar'
+ ResetPassword.WindowCaption = 'Definir senha do usu'#225'rio : "%s"'
+ ResetPassword.LabelPassword = 'Senha : '
+ XPStyleSet.DimLevel = 30
+ XPStyleSet.GrayLevel = 10
+ XPStyleSet.Font.Charset = ANSI_CHARSET
+ XPStyleSet.Font.Color = clMenuText
+ XPStyleSet.Font.Height = -11
+ XPStyleSet.Font.Name = 'Tahoma'
+ XPStyleSet.Font.Style = []
+ XPStyleSet.Color = clBtnFace
+ XPStyleSet.IconBackColor = clBtnFace
+ XPStyleSet.MenuBarColor = clBtnFace
+ XPStyleSet.SelectColor = clHighlight
+ XPStyleSet.SelectBorderColor = clHighlight
+ XPStyleSet.SelectFontColor = clMenuText
+ XPStyleSet.DisabledColor = clInactiveCaption
+ XPStyleSet.SeparatorColor = clBtnFace
+ XPStyleSet.CheckedColor = clHighlight
+ XPStyleSet.IconWidth = 24
+ XPStyleSet.DrawSelect = True
+ XPStyleSet.UseSystemColors = True
+ XPStyleSet.OverrideOwnerDraw = False
+ XPStyleSet.Gradient = False
+ XPStyleSet.FlatMenu = False
+ XPStyleSet.AutoDetect = False
+ XPStyleSet.BitBtnColor = clBtnFace
+ XPStyle = True
+ Left = 56
+ Top = 128
+ end
+ object UCXPStyle1: TUCXPStyle
+ Active = True
+ XPSettings.DimLevel = 30
+ XPSettings.GrayLevel = 10
+ XPSettings.Font.Charset = ANSI_CHARSET
+ XPSettings.Font.Color = clMenuText
+ XPSettings.Font.Height = -11
+ XPSettings.Font.Name = 'Tahoma'
+ XPSettings.Font.Style = []
+ XPSettings.Color = clBtnFace
+ XPSettings.IconBackColor = clBtnFace
+ XPSettings.MenuBarColor = clBtnFace
+ XPSettings.SelectColor = clHighlight
+ XPSettings.SelectBorderColor = clHighlight
+ XPSettings.SelectFontColor = clMenuText
+ XPSettings.DisabledColor = clInactiveCaption
+ XPSettings.SeparatorColor = clBtnFace
+ XPSettings.CheckedColor = clHighlight
+ XPSettings.IconWidth = 24
+ XPSettings.DrawSelect = True
+ XPSettings.UseSystemColors = True
+ XPSettings.OverrideOwnerDraw = False
+ XPSettings.Gradient = False
+ XPSettings.FlatMenu = False
+ XPSettings.AutoDetect = False
+ XPSettings.BitBtnColor = clBtnFace
+ UCSettings = UCSettings1
+ Left = 88
+ Top = 128
+ end
+ object IBODatabase1: TIBODatabase
+ SQLDialect = 3
+ Params.Strings = (
+ 'CHARACTER SET=WIN1251'
+ 'PATH=d:\delphi\compd7\usercontrolwork\demos\base.gdb'
+ 'PROTOCOL=TCP/IP'
+ 'SERVER=127.0.0.1'
+ 'SQL DIALECT=3'
+ 'USER NAME=SYSDBA')
+ Left = 56
+ Top = 88
+ SavedPassword = '.JuMbLe.01.432B0639073E0E4B49'
+ end
+ object UCIBOConn1: TUCIBOConn
+ Connection = IBODatabase1
+ Left = 88
+ Top = 88
+ end
+end
diff --git a/official/2.20/Demos/1 Basic All Data Access/IBO/Unit1.pas b/official/2.20/Demos/1 Basic All Data Access/IBO/Unit1.pas
new file mode 100644
index 0000000..fbd5ec4
--- /dev/null
+++ b/official/2.20/Demos/1 Basic All Data Access/IBO/Unit1.pas
@@ -0,0 +1,89 @@
+unit Unit1;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, DB, UCBase, Menus, StdCtrls, Buttons, UCIBOConn,
+ IB_Components, IBODataset;
+
+type
+ TForm1 = class(TForm)
+ UserControl1: TUserControl;
+ MainMenu1: TMainMenu;
+ Arquivo1: TMenuItem;
+ Abrir1: TMenuItem;
+ Salvar1: TMenuItem;
+ Salvar2: TMenuItem;
+ Salvarcomo1: TMenuItem;
+ Fechar1: TMenuItem;
+ N2: TMenuItem;
+ Dados1: TMenuItem;
+ Importar1: TMenuItem;
+ Exportar1: TMenuItem;
+ N4: TMenuItem;
+ Vincular1: TMenuItem;
+ N3: TMenuItem;
+ Sair2: TMenuItem;
+ Editar1: TMenuItem;
+ Copiar1: TMenuItem;
+ Colar1: TMenuItem;
+ Recortar1: TMenuItem;
+ N1: TMenuItem;
+ Selecionartudo1: TMenuItem;
+ N5: TMenuItem;
+ AreadeTransferencia1: TMenuItem;
+ Exibir2: TMenuItem;
+ Esvaziar1: TMenuItem;
+ Exibir1: TMenuItem;
+ Zoom1: TMenuItem;
+ Normal1: TMenuItem;
+ Grande1: TMenuItem;
+ Ajustarnajanela1: TMenuItem;
+ N6: TMenuItem;
+ Personalizar1: TMenuItem;
+ amanhonormal1: TMenuItem;
+ elacheia1: TMenuItem;
+ Relatorios1: TMenuItem;
+ Relatorio11: TMenuItem;
+ Relatorio21: TMenuItem;
+ Relatorio31: TMenuItem;
+ Relatorio41: TMenuItem;
+ Segurana1: TMenuItem;
+ Cadastrodeusuarios1: TMenuItem;
+ Perfildeusurios1: TMenuItem;
+ logdosistema: TMenuItem;
+ N7: TMenuItem;
+ rocarsenha1: TMenuItem;
+ EfetuarLogoff1: TMenuItem;
+ UCSettings1: TUCSettings;
+ UCXPStyle1: TUCXPStyle;
+ IBODatabase1: TIBODatabase;
+ UCIBOConn1: TUCIBOConn;
+ procedure FormCreate(Sender: TObject);
+ procedure EfetuarLogoff1Click(Sender: TObject);
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ Form1: TForm1;
+
+implementation
+
+{$R *.dfm}
+
+procedure TForm1.FormCreate(Sender: TObject);
+begin
+ IBODatabase1.DatabaseName := '127.0.0.1:' + ExtractFilePath(Application.ExeName) + '..\..\Base.Gdb';
+ IBODatabase1.Connected := True;
+end;
+
+procedure TForm1.EfetuarLogoff1Click(Sender: TObject);
+begin
+ UserControl1.Logoff;
+end;
+
+end.
diff --git a/official/2.20/Demos/1 Basic All Data Access/IBX/Project1.dpr b/official/2.20/Demos/1 Basic All Data Access/IBX/Project1.dpr
new file mode 100644
index 0000000..08b344c
--- /dev/null
+++ b/official/2.20/Demos/1 Basic All Data Access/IBX/Project1.dpr
@@ -0,0 +1,13 @@
+program Project1;
+
+uses
+ Forms,
+ Unit1 in 'Unit1.pas' {Form1};
+
+{$R *.res}
+
+begin
+ Application.Initialize;
+ Application.CreateForm(TForm1, Form1);
+ Application.Run;
+end.
diff --git a/official/2.20/Demos/1 Basic All Data Access/IBX/Project1.res b/official/2.20/Demos/1 Basic All Data Access/IBX/Project1.res
new file mode 100644
index 0000000..03109fc
Binary files /dev/null and b/official/2.20/Demos/1 Basic All Data Access/IBX/Project1.res differ
diff --git a/official/2.20/Demos/1 Basic All Data Access/IBX/Unit1.dfm b/official/2.20/Demos/1 Basic All Data Access/IBX/Unit1.dfm
new file mode 100644
index 0000000..b318e0c
--- /dev/null
+++ b/official/2.20/Demos/1 Basic All Data Access/IBX/Unit1.dfm
@@ -0,0 +1,1467 @@
+object Form1: TForm1
+ Left = 170
+ Top = 180
+ Width = 610
+ Height = 350
+ Caption = 'User Control - IBX Basic Demo'
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ Menu = MainMenu1
+ OldCreateOrder = False
+ OnCreate = FormCreate
+ PixelsPerInch = 96
+ TextHeight = 13
+ object UserControl1: TUserControl
+ AutoStart = True
+ ApplicationID = 'IBXBasic'
+ ControlRight.MainMenu = MainMenu1
+ UsersForm.MenuItem = Cadastrodeusuarios1
+ UsersForm.UsePrivilegedField = False
+ UsersForm.ProtectAdmin = True
+ EncryptKey = 0
+ NotAllowedItems.MenuVisible = True
+ NotAllowedItems.ActionVisible = True
+ Login.AutoLogon.Active = False
+ Login.AutoLogon.MessageOnError = False
+ Login.InitialLogin.User = 'Admin'
+ Login.InitialLogin.Email = 'qmd@usercontrol.com.br'
+ Login.InitialLogin.Password = '#delphi'
+ Login.MaxLoginAttempts = 0
+ Login.GetLoginName = lnNone
+ LogControl.Active = True
+ LogControl.TableLog = 'IBXBCLog'
+ LogControl.MenuItem = logdosistema
+ ExtraRight = <>
+ LoginMode = lmActive
+ UsersProfile.Active = True
+ UsersProfile.MenuItem = Perfildeusurios1
+ TableUsers.FieldUserID = 'UCIdUser'
+ TableUsers.FieldUserName = 'UCUserName'
+ TableUsers.FieldLogin = 'UCLogin'
+ TableUsers.FieldPassword = 'UCPassword'
+ TableUsers.FieldEmail = 'UCEmail'
+ TableUsers.FieldPrivileged = 'UCPrivileged'
+ TableUsers.FieldTypeRec = 'UCTypeRec'
+ TableUsers.FieldProfile = 'UCProfile'
+ TableUsers.FieldKey = 'UCKey'
+ TableUsers.TableName = 'IBXBCTabUsers'
+ TableRights.FieldUserID = 'UCIdUser'
+ TableRights.FieldModule = 'UCModule'
+ TableRights.FieldComponentName = 'UCCompName'
+ TableRights.FieldFormName = 'UCFormName'
+ TableRights.FieldKey = 'UCKey'
+ TableRights.TableName = 'IBXBCTabRights'
+ ChangePasswordForm.MenuItem = rocarsenha1
+ ChangePasswordForm.ForcePassword = False
+ ChangePasswordForm.MinPasswordLength = 0
+ DataConnector = UCIBXConn1
+ Left = 152
+ Top = 88
+ end
+ object MainMenu1: TMainMenu
+ AutoHotkeys = maManual
+ OwnerDraw = True
+ Left = 56
+ Top = 56
+ object Arquivo1: TMenuItem
+ Caption = 'Arquivo'
+ object Abrir1: TMenuItem
+ Caption = 'Abrir'
+ end
+ object Salvar1: TMenuItem
+ Caption = '-'
+ end
+ object Salvar2: TMenuItem
+ Caption = 'Salvar'
+ end
+ object Salvarcomo1: TMenuItem
+ Caption = 'Salvar como...'
+ end
+ object Fechar1: TMenuItem
+ Caption = 'Fechar'
+ end
+ object N2: TMenuItem
+ Caption = '-'
+ end
+ object Dados1: TMenuItem
+ Caption = 'Dados'
+ object Importar1: TMenuItem
+ Caption = 'Importar'
+ end
+ object Exportar1: TMenuItem
+ Caption = 'Exportar'
+ end
+ object N4: TMenuItem
+ Caption = '-'
+ end
+ object Vincular1: TMenuItem
+ Caption = 'Vincular'
+ end
+ end
+ object N3: TMenuItem
+ Caption = '-'
+ end
+ object Sair2: TMenuItem
+ Caption = 'Sair'
+ end
+ end
+ object Editar1: TMenuItem
+ Caption = 'Editar'
+ object Copiar1: TMenuItem
+ Caption = 'Copiar'
+ end
+ object Colar1: TMenuItem
+ Caption = 'Colar'
+ end
+ object Recortar1: TMenuItem
+ Caption = 'Recortar'
+ end
+ object N1: TMenuItem
+ Caption = '-'
+ end
+ object Selecionartudo1: TMenuItem
+ Caption = 'Selecionar tudo'
+ end
+ object N5: TMenuItem
+ Caption = '-'
+ end
+ object AreadeTransferencia1: TMenuItem
+ Caption = 'Area de Transferencia'
+ object Exibir2: TMenuItem
+ Caption = 'Exibir'
+ end
+ object Esvaziar1: TMenuItem
+ Caption = 'Esvaziar'
+ end
+ end
+ end
+ object Exibir1: TMenuItem
+ Caption = 'Exibir'
+ object Zoom1: TMenuItem
+ Caption = 'Zoom...'
+ object Normal1: TMenuItem
+ Caption = 'Normal'
+ Checked = True
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object Grande1: TMenuItem
+ Caption = 'Grande'
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object Ajustarnajanela1: TMenuItem
+ Caption = 'Ajustar na janela'
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object N6: TMenuItem
+ Caption = '-'
+ GroupIndex = 1
+ end
+ object Personalizar1: TMenuItem
+ Caption = 'Personalizar'
+ GroupIndex = 1
+ end
+ end
+ object amanhonormal1: TMenuItem
+ Caption = 'Tamanho normal'
+ end
+ object elacheia1: TMenuItem
+ Caption = 'Tela cheia'
+ end
+ end
+ object Relatorios1: TMenuItem
+ Caption = 'Relatorios'
+ object Relatorio11: TMenuItem
+ Caption = 'Relatorio 1'
+ end
+ object Relatorio21: TMenuItem
+ Caption = 'Relatorio 2'
+ end
+ object Relatorio31: TMenuItem
+ Caption = 'Relatorio 3'
+ end
+ object Relatorio41: TMenuItem
+ Caption = 'Relatorio 4'
+ end
+ end
+ object Segurana1: TMenuItem
+ Caption = 'Seguran'#231'a'
+ object Cadastrodeusuarios1: TMenuItem
+ Caption = 'Cadastro de usuarios'
+ end
+ object Perfildeusurios1: TMenuItem
+ Caption = 'Perfil de usuarios'
+ end
+ object logdosistema: TMenuItem
+ Caption = 'Log do Sistema'
+ end
+ object N7: TMenuItem
+ Caption = '-'
+ end
+ object rocarsenha1: TMenuItem
+ Caption = 'Trocar senha'
+ end
+ object EfetuarLogoff1: TMenuItem
+ Caption = 'Efetuar Logoff'
+ OnClick = EfetuarLogoff1Click
+ end
+ end
+ end
+ object UCSettings1: TUCSettings
+ AppMessages.MsgsForm_BtNew = '&Nova Mensagem'
+ AppMessages.MsgsForm_BtReplay = '&Responder'
+ AppMessages.MsgsForm_BtForward = 'E&ncaminhar'
+ AppMessages.MsgsForm_BtDelete = '&Excluir'
+ AppMessages.MsgsForm_WindowCaption = 'Mensagens do Sistema'
+ AppMessages.MsgsForm_ColFrom = 'Remetente'
+ AppMessages.MsgsForm_ColSubject = 'Assunto'
+ AppMessages.MsgsForm_ColDate = 'Data'
+ AppMessages.MsgsForm_PromptDelete = 'Confirma excluir as mensagens selecionadas ?'
+ AppMessages.MsgRec_BtClose = '&Fechar'
+ AppMessages.MsgRec_WindowCaption = 'Mensagem'
+ AppMessages.MsgRec_Title = 'Mensagem Recebida'
+ AppMessages.MsgRec_LabelFrom = 'De :'
+ AppMessages.MsgRec_LabelDate = 'Date'
+ AppMessages.MsgRec_LabelSubject = 'Assunto'
+ AppMessages.MsgRec_LabelMessage = 'Mensagem'
+ AppMessages.MsgSend_BtSend = '&Enviar'
+ AppMessages.MsgSend_BtCancel = '&Cancelar'
+ AppMessages.MsgSend_WindowCaption = 'Mensagem'
+ AppMessages.MsgSend_Title = 'Enviar Nova Mensagem'
+ AppMessages.MsgSend_GroupTo = 'Para'
+ AppMessages.MsgSend_RadioUser = 'Usu'#225'rio :'
+ AppMessages.MsgSend_RadioAll = 'Todos'
+ AppMessages.MsgSend_GroupMessage = 'Mensagem'
+ CommonMessages.AutoLogonError = 'Falha de Auto Logon!'#13#10'Informe um usu'#225'rio e senha v'#225'lidos.'
+ CommonMessages.ChangePasswordError.InvalidCurrentPassword = 'Senha Atual n'#227'o confere!'
+ CommonMessages.ChangePasswordError.NewPasswordError = 'Os campos: Nova Senha e Confirma'#231#227'o devem ser iguais.'
+ CommonMessages.ChangePasswordError.NewEqualCurrent = 'Nova senha igual a senha atual'
+ CommonMessages.ChangePasswordError.PasswordRequired = 'A Senha '#233' obrigat'#243'ria'
+ CommonMessages.ChangePasswordError.MinPasswordLength = 'A senha deve conter no m'#237'nimo %d caracteres'
+ CommonMessages.ChangePasswordError.InvalidNewPassword = 'Proibido utilizar senhas obvias!'
+ CommonMessages.InvalidLogin = 'Usu'#225'rio ou Senha inv'#225'lidos!'
+ CommonMessages.InitialMessage.Strings = (
+ 'ATEN'#199#195'O Login Inicial:'
+ ''
+ 'Usu'#225'rio : :user'
+ 'Senha : :password'
+ ''
+ 'Defina as permiss'#245'es para este usu'#225'rio.')
+ CommonMessages.MaxLoginAttemptsError =
+ '%d Tentativas de login inv'#225'lido. Por motivos de segun'#231'a o '#13#10'sist' +
+ 'ema ser'#225' fechado.'
+ CommonMessages.PasswordChanged = 'Senha alterada com sucesso!'
+ CommonMessages.BlankPassword = 'Retirada senha do Login %s'
+ Login.WindowCaption = 'Login'
+ Login.LabelUser = 'Usu'#225'rio '
+ Login.LabelPassword = 'Senha : '
+ Login.BtOk = 'OK'
+ Login.BtCancel = '&Cancelar'
+ Login.TopImage.Data = {
+ 07544269746D6170B6790000424DB67900000000000036040000280000007601
+ 0000500000000100080000000000807500000000000000000000000100000000
+ 00009BB5D8007493BA00ACC2E000BBBBBB00CBD9EB007D9BC20051719900F6F8
+ FB00F2F5FA0095B0D500FCFDFE00EDF2F800A7B6BC0055759D00F8FAFC00B1C5
+ E1005979A10089A8D200CDD5D9003E5E88004D7199003D5D8700FAFBFD008888
+ 8800E5ECF500DDE6F200DDDDDD00E2EAF400A5BDDD00405F880042628C0089A6
+ CC008297A0005D7DA500C5D4E900A1B9DA006685AD004569920045679000B4C8
+ E300EEEEEE00BDCEE60099B3D600A9C0DE008BA8CD009EA5B0006181A9006E8D
+ B400D0DCED006989B10099999900809DC40085A2C80044638C00C1D1E8004462
+ 8C008EAACF0091ACD100486890005579A100E7EEF6003E5F890040608A005D82
+ AB00C0CBCF008CAAD400D5E0EF00496C950042618A004A6A93008FACD500D8E3
+ F0004C6C9400D2DEEE007795BD0046668E004E6E960050709700B8CBE400BBCD
+ E500CCCCCC00C8D7EA00648BB2006D93BA0044648E00A2BADB004A6B94009BAC
+ B300708EB5004E6F980085A5CF00DAE4F10058789E0043638D0050759D00506E
+ 9600D6E1EF00F4F7FB00A7BEDE00829FC600FDFEFE0041608B0054749A007A98
+ BF0093AFD600BECFE60044628A00666666004060880086A6D0004C6B92004867
+ 8E00EAEFF700AAAAAA0049688E006C8AB1004D6E940053729A00476690006584
+ AB007290B8005C7CA300333333005F7EA60046648E005A7DA50056779E00E6EA
+ EC0046648C0044444400777777004869920044678E0080A0C900E0E8F3006D8C
+ B3005576A000AAAEB50090ADD5006080A7009EB7DA006486AF00486A93006185
+ AC00F9FAFD004C6A92003C5B85004C6E96006988AF0049699100C6CFDC0093AE
+ D20051729B00597AA30045648B004E6D94004A6992004A6C92004D6D96006786
+ AD00B6BCC40056769E003D5A82003F628B006383A900698DB500555555005A7F
+ A7005B7AA1003A5A8400527399005A7BA200426188004668900039577F007D9F
+ C70047668D00EBF1F8004C6B940087A3CA00405F8600486990004E6D96004C6D
+ 9400222222006287AF0083A3CC00FBFCFD00779BC2004A6A9100D1DDEE005473
+ 9C003C5C87006B8BB20092ADD200D3DFEF00E1E5E900426189006C8BB5008B8F
+ 940045658D005878A00042638B003F5C84005C7BA4001111110084A3CC006183
+ AB00CDD6E1006A8AB3006282AB00808285006787B0006483AC00A5BCDB004061
+ 8A004F5153003E40420043637000FEFEFE0091AED600FEFFFF00758D9600F2F5
+ F5008FA0A900D9E0E200506D7A00EFF4F9005C788300BFD0E700B5C1C60091AE
+ D500E3EBF50069828D00C3D3E900D2DDEE0097B2D700DFE7F300F7F9FC00A3BB
+ DC006F8FB7007B7E830094AFD3007998C1002F3032007396BE00909296008FAB
+ D000686C7100A4BBDA00D2D9E400D9DEE600FEFEFF0088A7D20000000000FFFF
+ FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCFCFCFCFCFCFC
+ FCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB6464640A0A0A0ABBBBBBBBBB16
+ 16160E0E0EEEEEEE07EE0707616161070761070707EEEEEEEEEE90161616BB16
+ BB0ABB0A0A0A0ADB64646464DBDB64FCFFFCDBDB64DBDB0A640A0A0A0ABBBBBB
+ 16160EEEEE07610808E30BB1703C18E886195B47424930045122EA36294F4E27
+ 0F0F0F022B621CEF55558C8C000000ECECECECEC68096868DCDCDC8A8A8A8A8A
+ 8A46464646464646464646464646464646464646464646464646464646464646
+ 4646464646464646464646464646464646464646464646464646464646464646
+ 4646464646464646464646464646464646464646464646EC0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFC
+ FCFCFCDBDBDBDBDBDBDBDBDB64DB640A0A0A0A0ABBBBBBBB16161616160E0EEE
+ EE07EEEEEEEE6107070707EEEEEEEE0E0E0E0E161616BBBBBB0A0A0ADB0A6464
+ DBDBFCDBDBFCFCFFFFDBFCDDDBFCDBDB64640A0A0A0A0ABBBB16900EEE076108
+ 08E30BB1703C181B86195B4742BE3004512236694F4E27270F022B2B1CEF238C
+ 8C0000ECECEC09688A8A46464646414141111111111111111111FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCDB
+ DBDBDBDBDBDBDB6464640A0A0A0ABBBBBBBBBB161616160E0EEE0E0EEEEEEEEE
+ EEEEEEEEEE0E0E16901616BB16BBBB0A0A0A0A0A64DBDBFCFCDBFCFCFCFCFCFF
+ FFFCFCFFDDFFFCFCFCFF0A640A0A0ABB0A1616900EEE07070808E30BB1703C18
+ 1B1B195B604230040422EAE5294F4E270F02022B1C1C558C8C0000ECEC6868DC
+ DCE78A464646414141414111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCDBDBDBDBDBDB
+ DBDB64640A640A0A0ABBBBBB161616160E0E160E0E0E0E90EE0E0E9090901616
+ 161616BBBBBB0A0A640A0A64FCFCFCFCFCFFFFFCFFDDFFFCFCFFFFFFFCFFFCFF
+ FCDBFCDBDB0A0A0A0ABBBB16160E0EEE616108E30BB1703CE81BED5B47604930
+ 04512236E54F4E270F0F022B621CEF238C8C00ECECEC6809DCDC8A4646464641
+ 4141114111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB640A0A
+ 0A0A0ABBBBBBBB1616161616160E0E169090161616161616BBBBBBBB0ABB0A0A
+ 640A64DBDBFCFCDBFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFCFCFCFCFFFCFC0A0A
+ 0A0ABB1616160EEE07610808E30BB13C3C1B86195B4742BE3004222236294E27
+ 270F0F022B1CEF558C8C8C00ECECEC68DCE7DC8A464641414141411111111111
+ FD11FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB64640A0A0A0ABBBBBB
+ BBBBBB1616161616161616161616BBBB0ABB0A0A0A0A0A64FC64DBFCFCFCDDFC
+ FFDDFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFDDFCFFFCDDDB64640ABBBBBB160E0E
+ EE076108E30BB1703C181BED194760493004512236E54F4E270F0F022B621C55
+ 238C8C00ECECEC096868E7464646414141414111111111111111FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FCFFFFFCFCFCFCFCFCFCDBDBDBDBDBDB64640A0A0A0A0ABBBBBBBBBBBBBBBB16
+ BBBBBBBBBBBB0ABB0A0A0A0A640ADBDB64FCFCDBFCDDDDFCFFDDFFDDFFFFFFFF
+ FFFFFFFFFFDDFFFFFFDDFFFCFFFCDBDB64640ABBBBBB16900EEE070808E30B70
+ 703CE81B195B4742BE300451EAE5294F27270F022B2B1CEF558C8C0000ECECEC
+ 68DC8A8A464646464141414111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFCFC
+ FCFCFCFCFCDBDBDBDBDBDB64640A0A0A0ABBBBBBBBBBBBBBBBBB0ABBBB0A0A0A
+ 0A0A0A0A646464DBFCFCDDDBDBFCDDFCFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDBDB640A0ABBBBBB16900E07070808E3B1703C181BED194760
+ 493004512236694F4E270F02022B1C1C55238C00ECECECEC6809DC8A8A464641
+ 414141411111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFFFCFCFCDBFCFCDB
+ DBDBDBDBDB64640A0A0A0A0A0ABBBBBBBB0A0A0A0A0A0A0A0A0A0A64DBDBDBDB
+ DBFFFFDDDDDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFC
+ FC64640A0ABBBB16160EEE070808E30BB1703CE81BED5B4742BE300422EAE529
+ 4E27270F022B621C55238C8C00ECECEC0909DCE78A4646414641414111111111
+ 1111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCDBDBDBDBDBDB6464
+ 640A0A0A0A0ABBBBBB6464640A0A0A6464DB0ADB64DBDBFCFFFFFFDDDDFFFFFF
+ DDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFFDDDBFC640ABBBB16
+ BB0E0EEE070808E30B703C181B86194760C33004512236694F4E270F02022B1C
+ 1C55238C0000ECEC0968E7E78A8A41464141414141111111111111FDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A
+ 0A0A6464640A0A6464DBDBDBFCDBDBFCFCFFFFDDDDFFDDFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFCFCFC64640ABB16160EEE076108E3
+ 0BB1703CE81B195B47423004042236E54F4E270F02022B621C55238C00000909
+ C239382C1FCE85AF3305F3F5015353F5AF8585BC53B93F3F3FA7993B885E5E98
+ 98981414438E599E434343145E5E98593F52B9A7251E3D3D653E3E3E3E3E3ED7
+ 1E1E1E5D545D5DCA3E1E1E3B3B5DD7C03ED7A38E434354A365D7D76565D7D765
+ 6513153E3EC092AE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A6464646464
+ FCFCFCFCFCDBDBFCFCFFFFFFFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFCFCFCDB0A0A0ABB16160EEE070808E3B1703C181BED19
+ 4760BE3004512236694E270F0F022B621C558C00EC0997381F1F346333670101
+ F02F318DCF2EA7A78F52A5B97D14934393438E258E568E8E8E8E254325251459
+ 1414143B3FB93FA75E5E5E5E93985943438E8E25252525252676767683838326
+ 6554267DA78E263E3E3D15A33DA33D3E3D3D3D3D3D3D3D3D3E133D1E1E1592AE
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCFCFCFCDBDBDBDBDBDBDBDBDB646464646464FCFC6464FC64FCFCFCFCFCFCDB
+ FCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFF
+ FFFFFCFC64640A0ABBBB160E0E07610808E3B1703CE81B195B60C3BE04512236
+ 694F4E270F022B62D6558C002AF297382CB3633367677858319FA42E7BA8A87B
+ 21C9660648B5B53A4B4B8035CA6A6AC5353E1D1D3E1D3E1ECA268E883B3B4325
+ 26262654542626262626262626252525562543255EA77D5E2525262626262626
+ 252626262654262554252525431443255D1E2606433DA9A90000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE11212FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFF1212E1FFFFFFFFFFFFFFFFFF1212E1FFFFFFFFFF
+ FFFFFFFFDF121212FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE11212
+ E1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBFCFC
+ DBDBDBDBDB64646464646464FCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFF
+ DDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFDDFCFCFCFC0A0A
+ BBBB16160EEE610808E30B703C181BED194742BE300422EAE54F4E270F0F022B
+ 1C5523002A09C2382CB36333674A0158879F9F2E7B5CA10D21A1064D48BDBD72
+ 809A3535C56C6C6C13131D44441D1D3E1D1ECA438E263D3D3D3D3D1313131313
+ 3D131313133D3D3D3D3DA3A3435E435DA33E3D3D3D3E3E3EA33EA3A3A3D7A354
+ 5426268E5E88592665D75D765D3D15A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE120DADADADADAE940FFFFFF12DADA0C
+ FFFFFFFFFFFF0CDADADADADADADADEFFFFDADA12FFFFFFFF0CDADADAFFFFFFFF
+ FFFFE0DADADADAE440FFFFFFFF40E9DADADADADA20E1FFFFFFFF12DEDADADADA
+ DADE12FFFFFFDADADEFFFF7FDADADEFFFFFFDFE0E2DADADADADEFF12DADADADA
+ DADADADAFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB
+ DBDBDBDBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFC64646464BBBB160EEEEE61
+ 08E30BB1703CE886194760493004512236294E270F0F022B62D6238C2A09F239
+ 381F6333054A0158879F772E7B5C5CA1210D4C9B91726F6FC8C83535CA6AC5C5
+ 1D6C6C1DB41D6C6C1D3E5D4354A33D1E653E3E1D3D3D3D3D1313131313131313
+ 15133D3D8E14263D3D1315C015151515C0C0151313133DD7151315A343935492
+ 133D3DC0C0133DA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFE6E2DADAE00C57E4DADAE0FFFF7FDADA0CFFFFFFFFFFFF0CDA
+ DAE9DEDEDEDE57FFFFDEDA12FFFFFF7FDADADADAFFFFFFFFFFFFDADE0C0CE4DA
+ DA7FFFFF57DADAE2570CE0E2DADAE6FFFF12DADADA200CE0DADADA40FFFFE4DA
+ DEFFFF0CDADAE1FFFFE1E2DADA200C0CE0E4FF12DADAE4DEDEDEDEDEFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFDDFCFFFCFC6464640A64BB16160EEE070808E3B1703C181B
+ ED5B47C33004512236694F4E270F022B62EF238C0009F239381FB36305674A58
+ 2F9F772E21A1100D21BF5F9B9B91BD6FC8C83535CA6A6AC56A35441D1D1D6C1D
+ 15C0359E5DD71D441D1D1D131313131313131515151515151313C01526595465
+ 653E131515151515C0C0C0C0C0C0C0159215C0151E5D3E13C015C0A9921515AE
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FE2
+ DAE97FFFFFFFFFE0DADA40FFFFDADA0CFFFFFFFFFFFF0CDADAE6FFFFFFFFFFFF
+ FFDEDA12FFFFFFDEDADADADAFFFFFFFFFFFFDFFFFFFFDFDADA0CFF40DADAE0DF
+ FFFFFFDFE9DAE27FFF20DADA0CFFFFFF12DADADEFFFFDEDADEFFFFE4DAE0FFFF
+ FFE9DAE2E1FFFFFFFFFFFF12DADAE0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFCFCFCFCFCFCFCFCDBFCDBDBFCDBFFFFFCFCFCFCFCFCFCFFFF
+ FFFFFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFCFCFCFCFC64640ABBBB160EEE076108E30B703C181B86194742BE300422
+ EAE54F4E270F0202621C558C8C2A099739382CB3343333674A78589477A85C75
+ CC754D4D0606065F4D4D4D4C4C4C4C4C9191919191913AC83792449E3E151D13
+ 1D1D1D1D1D1D1D1D1D1D1D13131313151D13C092764565653E13131513131313
+ 131315151515C092921315C03D651E5415C092C0151592AE0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0CDADA7FFFFFFFFFFFFF
+ DEDAE4FFFFDADA0CFFFFFFFFFFFF12DADA0CFFFFFFFFFFFFFFDEDA0CFFFF40DA
+ DA0CDADAFFFFFFFFFFFFFFFFFFFF40DADAE6FF20DAE4FFFFFFFFFFFFDFE2DAE0
+ FFDEDADADFFFFFFFFFE4DADAFFFFDEDADEFFE6DAE2DFFFFFE1DADAE6FFFFFFFF
+ FFFFFFFFDADADEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFCFCFCFCFFFCFCFCFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFFFFFCFC6464
+ 640A0ABB160E0EEE070808E3B1703C1B86195B6049300451EA36694E270F0202
+ 2B1C55238C2A09F2C2382CB3346305674A4A017873A4C975CCBF4D0D0D667506
+ 4C4C4C9B4C4C9B4C064D9B9B4C9B4C4C9B131E593E1D373735353535357C7C4B
+ 54545454543535353737543EB69C1D1D3E1D13133E6565653E3E3E3E3E653E1D
+ 131392C03D3E13133DC092151315C0A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFDEDAE9FFFFFFFFFFFFFF0CDADA7FFFDADA0C
+ E1127FFFFFFF12DADAE012121212DFFFFFE0DA0CFFDFE4DA20E1DADAFFFFFFFF
+ FFFFFFFFFFE6DADAE9FFFFDADA57FFFFFFFFFFFFFF20DAE4FFDEDADAFFFFFFFF
+ FFDEDADAFFFFDEDADEFFE4DA0CFFFFFF0CDADADFFFFFFFFFFFFFFFFFDADAE912
+ 1212127FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFC
+ FCFCFCFCFCFCFFFFFCFFFCFFFFFCFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCDDFCFCFC64640A0ABB1616EEEE
+ 076108E3B1703C181BED5B60423004512236294E4E270F022B62EF2300002AF2
+ 97382C1FB33405336767582F8794C9BF210D98A10D755F744D4D4C4C4D4C4D4D
+ 4C48489B48B5BD4C06131E593D1D767C353535359A8080C854547C7C7C545435
+ 3735833E984BCBCB1E1E65651E1E1E1E651E1E1E1E5D3765371E3D3D1E3E9292
+ 3E15C013131513A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFDEDADEFFFFFFFFFFFFFF12DADA12FFDADA0CE2DADAE4E1FF12DA
+ DADADADADADA12FFFF0CDA0CFF0CDAE27FFFDADAE1FFFFFFFFFFFFFF0CDADAE9
+ DFFFFFDADA0CFFFFFFFFFFFFFF0CDADAFFDEDADAFFFFFFFFFFDEDADAFFFF20DA
+ DEE6DADA2012FFFF0CDADAFFFFFFFFFFFFFFFFFFDADADADADADADA0CFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCFCFCFCFFFFFF
+ FFFFFFFCFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFDDFCFFFCFC640A0ABBBBBB16EE076108E30BB13C18
+ 1BED5B4742BE040422EA694F4E270F022B62EF238C002A09C2F7381F1F1F63B3
+ B33401785831C9A121A10DC97EAA4D4C4C4C4C4C4C4C4D4C9B5F7E21104C6E4C
+ 0D444BBF3E1D76809A35CACACACACA355454C8C8C8C85454C8C8483E0D541D13
+ 1E1E653E3E3E3E3D651E1E651E1E1E3E1D1E653D3E139213133E3E13131313A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20DA
+ E4FFFFFFFFFFFFFF12DADA12FFDEDA571240E9DAE2DF12DADADE0C0C0C0C7FFF
+ FF0CDA577FDADA0CFFFFDADA12FFFFFFFFFFFFE0DADAE0DFFFFFFFE2DAE0FFFF
+ FFFFFFFFFF0CDADAFFDEDADAFFFFFFFFFFDEDADAFFFF0CDADEE1120CE2DA57FF
+ 0CDADA7FFFFFFFFFFFFFFFFFDADAE40C0C0C0C12FFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFFFFFFFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFC
+ FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFF
+ FFFFFFDDFCDDFC6464640A0ABBBB160EEE070808E3B1703CE81B194760493004
+ 2236E54F4E270F02022BD6558C000009F239381F1F2C3333676778585873100D
+ 215C66A80D664D5F066E4D4D4D0674AA9B21F031AB484C06BF1E26BF3E133AB0
+ 6F446C9A541E5454353A76C6D1B6767C6F9545CAC9D713151E445D4465443D3E
+ 655D651E4BD5761DCACA351E3E15C0153E15C0133E1315A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6DADA12FFFFFFFFFFFF
+ 57DADADFFFDEDA0CFFFF7FDADAE612DADA0CFFFFFFFFFFFFFF0CDADEDEDAE4FF
+ FFFFDADA12FFFFFFFFFF12DADAE0FFFFFFFFFFE0DAE2DFFFFFFFFFFFFFE9DAE9
+ FF0CDADA12FFFFFFFF0CDADAFFFF0CDADEFFFFFFE6DADA7F7FDADA0CFFFFFFFF
+ FFFFFFFFDADADEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFCFC
+ FC640A0A0ABB160EEE076108E3B1703CE81BED5B60493004512236294E270F02
+ 022B1CEF2300000997C2382CB32CB33463334A7858C1C90D79C9AA1010A87E5C
+ 754C75064D4D744D0D242EB74D4C4C06754426BFD71D953A3AB54BCA543E3A76
+ 9CC875D4213A3A243A9145357ED7131D5D3E3E3E1D13543E1E1E1E3D9EC6BF54
+ 9A35351E3E1515136513C0C0151313A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFDFE2DAE9DFFFFFFFFFE1E2DAE0FFFFDEDA0C
+ FFFFDFDADA0C12DADA0CFFFFFFFFFFFFFF0CDAE2DADA12FFFFFFE4DA12FFFFFF
+ FFFF0CDADAFFFFFFFFFFFF12DADAE0FFFFFFFFFFE6DADAE6FF0CDADA12FFFFFF
+ FF0CDADA12FF0CDADEFFFFFF40DADA12FFDEDADA12FFFFFFFFFFFFFFDADADEFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFC64640A0ABB160E
+ EE076108E30B703C181BED5B47C33004512236294F27270F022B62EF23002A09
+ 09C2382C1F2C386363054A017887A8BF7B10065C5C0DAA66664D66754D064D06
+ AA2E24AA4C4D0D4D063E26BF3E3E9C9CC8B5CA6C76548335443A0DCC45542ED5
+ 95484584BFD7134454831E13761D5D1E5D9265452EC698544BC8351E1D15133E
+ 653E15C0153E3EA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFF12E2DAE40C121257E2DAE2DFFFFFDEDADE0C0CDEDADA4012DA
+ DADE0C0C0C0C0C7FFF40DADADA20FFFFFFFFDEDAE6FFFFFFFFFF40DADA201212
+ 0CE1FFFF0CDADADEE61240E0DADADEFFFF0CDADA12FFFFFFFF0CDADA12FF0CDA
+ E40C0C57E2DADADFFFDFE9DADAE040124057E1FFDADAE40C0C0C0C0C12FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFC640A640ABB1616EE076108080B7070
+ 181B861947423004512236694F27270F022B62D6230000EC0997F72C1FB33834
+ 056701787887CC0D79AB4DAB215C5CA16606AAAA4D4D4D060101F3C1A84C6606
+ 061DAD986C44959C9A95449A7676761E1E567D7D84B7F0069148953A063E1337
+ 5D1E5D13763E443E54C05488D12F983A6FC835441D151D1E3D3E3E133D653EA2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ E1DEDADADADADADADEDFFFFFFFDEDADADADADADAE0FF12DADADADADADADADA12
+ FF12DADADA7FFFFFFFFFDEDA0CFFFFFFFFFFFFE0DADADADADA7FFFFFFF40E4DA
+ DADADADADA57FFFFFF0CDADA12FFFFFFFF0CDADA12FF0CDADADADADADAE2E6FF
+ FFFFDFE0DADADADADADA12FFDADADADADADADADA0CFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ DDFFFFFFFFFFFFFCFCFC640A0ABB16160EEE070808E3B1703CE886194742BE30
+ 042236694F4E270F022B62EF238C00EC09C2F72C1FB3B36367670101782FCC0D
+ 10794D2121A15CAAAAAA4D4D064C4C064D7E797B945C9B4D061D9598131E763A
+ C83A449544541D54C8138806A3AD9826914895569E1D153576924B1E3E5D543E
+ 155D83982E4AD47B6FC81E3E13151D1E3D3E3D13133E3DA20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FE60C0CE67F
+ FFFFFFFFFFE112121212127FFFFFDF1212121212121212DFFFDF1212E1FFFFFF
+ FFFFE1127FFFFFFFFFFFFFFFE10C0C0CE1FFFFFFFFFFFFE10C0C0C40DFFFFFFF
+ FF7F1212DFFFFFFFFF7F1212DFFF7F121212121212FFFFFFFFFFFFFFDF400C0C
+ 0C40DFFF12121212121212127FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
+ FF64640A640ABB160EEE070808E3B1703CE88619476049300451EAE54F4E270F
+ 020262D6558C002A0997F7381FB3343305674A0178C121A15C794D7910667BAA
+ 75790D4DAA4C4C06AA064C6E0D7506AA981D45061335763A4844443A1EB21E76
+ 3A4B764B563A7648919B9593563D157C5D4B5D13441EC01E65541E5476983AC8
+ 6FC81E3E1315134465131515151513A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFCFFFCFC64640A0ABB16
+ 0EEE076108E3B1703CE81B195B4749300451EAE54F4E270F022B2B1C55238C2A
+ 09F239381FB3343305676701782F8BA1C9AB4D211021019F0D2FA4AA66064D06
+ AA4CA1AA4D74664CBF1D43981354769CC8C8D101F0D19E1D3EB2443A453A453A
+ 6E4C9506831D15763D8313831E44541E3D15135D3A761E3A4B8035441D151365
+ 6513131E1E1315CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCDDFFFCDB64640ABB1616EE076108E30B70
+ 3C181BED5B47C330045122E5294E270F02022B1C55238C00099738382CB33463
+ 05674A0178782EA199CC06215C210558A1F32FBF66AA4D4D4C75AA4D5C4D0610
+ BF1D4898134B3A913AC5940D7676C8837C7CA87B3A9C3A486E4C45983A1D1576
+ 3A1376D15DB2C6761E1E5D15765454354B80351E1D15133E3D151E833A65C0A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFDDDDFCFFFCFCFC640A0ABBBB16EEEE6108E30BB170181BED5B474230
+ 0451EA36294E272702022B62558C8C2AEC9739381FB3343305674A01782FD5C9
+ 79A866A8109F874A8DC6F30DA10D4D66AA666666AA06BFA1A11D9EBF549A9C3A
+ 83D7F578787BBDBD5648D4C90DD276833ABF76C94B441D761E769CC65978B67C
+ 54351E5D54545476763A1D761315374465153DD13E1365A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFF
+ FFFCFC64640ABB16160EEE610808E37070181BED5B4742300451EA36694E270F
+ 02022B62EF8C8C002AF239F71F1FB36333054A017858775CAB8B06791078A4C1
+ 0521587779A1A8A85C5C5C5C0DAA66A10D15C999A34B9C3A4B83F0BF5966486E
+ AA4CD198CC109E839C9EADD2C81E443A54139EF3C6785FB695764B4B4B5D5D5D
+ 763AC83A1E445D44156583D41E3E1EA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFFFCFC646464BBBB
+ 160EEE070808E3B1703CE886194742BE04042236694F27270F022B1CD6238C2A
+ 09F2C2381FB3B3633305674A01F024107B2FA1AB7901AB2E0599D42410107966
+ 5C5C5C5C7E0D0DA10DD78F2ECA95569148B6016701774D100D4CD24810065945
+ 595643A5AD54C8953E9EC9CC88C6CC83599EB2B2453A767654358335D7441E3E
+ 135D59995D76B26F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC64DB640ABBBB160EEE070808E3B1
+ 703CE886194742BE30512236694F27270F022B1CEF238C002AF297382C1F3463
+ 3305674A015824A8CF2F7BC9102E0D10C9BF107E66ABAB105C5C5CA8105C5C10
+ BF458F8BAD9D6E6E9E3A065906AA9D0D0DAA0D06BF9806599893143143C8C876
+ 48567DF0317B59594C9E489E48569C9C45959826C8C84B848399F57899454B6A
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFDDFFFFFC64646464BBBB160E0E076108E3B1703CE886194742BE
+ 04042236694F4E270F022B62EF23000009F239382CB3343305674A4A78879F8B
+ 249FCF7E7E0DAA664D754D064D4DB7664D4C4C4D06060606459E0D06B5843A3A
+ 959B48B03A984C934C4D954C9D4D9E4C4343933B43C85454CAD7CA3ACA845426
+ 3A6F6F3A833A3A3A4B26AA8444D7A3D7543D1E44545D37B40000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
+ FFFCFCFC640A0ABB160E0E076108E30B703C181BED5B604930042236694F4E27
+ 0F022B1CEF23002A0939382C1F3433054A0158879FA47B21CCA10DBFB7489195
+ 91726F4856987DC972B09AB06FB0B0B04445C835AD9A9A6FB0356A953A4B4C3B
+ 3A6F9AC84B9A4BC835268326434B544B54CAD7CACA985E43C89ACA9A9A353554
+ 4B9598B76FC89ACA3D5D76B6833E1D6A0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFC64640A0ABB
+ 1616EE070808E3E3B1703CE81B1947C3300422EA694F27270F022B1C5523002A
+ F2C2382C1F3433676701583194778B7BCC5C0D6606065F9B6E6EBD3AC8067B8E
+ 6EB5B0B0B0C880804435CAC5C89A6AB09AB09A80C53599A79572729A6F35C835
+ 1E35C8CA26C8354B6ACA4B1D440D7D8E6FC89A9A35CA1E35C580C83A35C5CA6C
+ 3D767610597613AE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFCFC640A0ABB160EEE0761610808
+ 08E3E3B17018ED4749045136694F4E270F022B1C5523002A0939381F1F343367
+ 677858739FA47BA85C5C0D4C5F9B9191726E72C826563B846E729A9A80356A6A
+ 801D4B356A80AC806A9A6AC8D73D3B8872726F806A806A6A35441E543E354435
+ B01D6FCACAAD7E95B56FC89A9ACACA353580CBC8AC6A4B353D7615BF76541ECB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDDFFFCDDFC0A0A0ABB160EEE07076107EE0E0E0EEE0708B11B
+ 473051EAE54F4E270F022B1C5523002A0939381FB33433674A015873772E8BCC
+ 5C66665F5F4C6F953A72B03ACAB73B546F3A1D806AB4C580B0B46AB46FB46AB4
+ 449A1D4435157D9880B09A8080C5C5C57C15443735351D351D441DCA1E4B0635
+ 6F6F44C8445D1D3E1D443E44541E1DC81E443E4BC81E54CB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
+ FCFFFC6464640ABB160EEE07077F71176B818181170316081B4204EA694F4E27
+ 0F022B1CD623002A0939381FB36333674A0158872F739F777B9F7BA81066A14D
+ 9B483AC815837ECAB43A3A6EC84C6F95484806486E4806483A953A6FC8152193
+ 6CB09A6ACBC5657C44351D5415C854547C541EC8D73A4844CA6FC515A95D3544
+ 1D3A35443E1E44C01E441D351E1D35CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFC6464640ABB
+ BB0EEE070781FEFEFEFEFEFEFEFEA60AE31904EAE54F4E270F022B621CEF8C00
+ EC97381F1F63333305676778788773739424A4249F79C9AB5C5CBF486C43AB84
+ 80064C4C9B5F664C485C065F5C0D6E5F4D4C75064C448F43B46A6F4B959C3AB2
+ 9CB2B29CB6B61D459C6F6F8ECA4C3A1DCACA6C9A4B4B1D1D1EC03A4B153A159C
+ 35441D4413C044A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC640A64BB160EEE0707CDFE7A
+ 82D36BCDFEFEFE17EE1B3022E5294F4E270F0F022BD655002A97381FB3343333
+ 33674A01015887947377247B7B2E218B10ABA806A34899CA954D489BAA48664C
+ 754D75BF064C75A10D454D9806CA8F26CA3548C8B2445D54C8543A359E35483A
+ 954B4593AD0D351D1DCAC56C1D134445761E1D833E3E3E1D351E1D3EC09244A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFCFC64640A0ABBBB160EEE07D312610808E3C4F4FEFEB8
+ 163C495136E5E56969294F4E270262232AF2381FB334333305670505782F8794
+ 942424014A947B7EA8A8CC98D75699A3B5484C0DAA774D669B7506664A78D1C6
+ 779E4C98BF3524841D3A6E541E3A75B676563A563A54F021BD4B45483AA1C51D
+ 6C4BC54410D5BF131D35BF4859D10D5D35353E3E15C044A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFF
+ FCDDFCDBDB64640ABBBB90EE07616161616108E3F6FEFEFEBB70425122220430
+ 604242490436271C0009F71F1F3433330505336301C1C1949F24335831059458
+ 79AB21A1CA437D844B0D0648D4A8F04C0D4CAABFF0F30188787E060DBF268DAD
+ A94CC85676D478884B3A3A8376450DF05F6E489DB598356A6CB0CA6CBF990676
+ 764483D1313A44445D5D3E3E131535A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5003030328FFFFFFFFFFFFFFFF
+ FF5003031AFFFFFFFFFFFFFFFFFF280303031AFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFF1A03030328FFFFFFFFFFFFFFFF28030350FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A030350FFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFF50030328FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A03031AFFFFFFFFFFFFFFFFFFFF
+ FF28030350FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF030303FCFC6464
+ FC0A16EE0761EE1A030316EE12FEFEFE50B1600404428670E68903890B1B0402
+ 23EC381F34343333336767670578873131948B01F301F52E215C990DD73A99CA
+ BD4C064C66F0AB0D740DBF9E8DF30501D20D4D9859842ECA6C5935B29C244A83
+ 45C83A7659C926F0064CB7959D4D9A6AC89ACA562E103A44C0440DD2249C354B
+ 5D351D1D15135DA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFF03A6FEFEFEFEFEFEB86B1AFFFFFFFF6BFEFEFEFEFEB871FF
+ FFFFFFFF17B8FEFEFEFEFEFE17FFFF03FEFEFE28FFFFFFFFFFFFFFFFFFFFFFFF
+ FFFF036BCDFEFEFEFEFECD32FFFFFFFF717AFEFEFEFECD6B28FFFFFFFFFEFEFE
+ 03FFFFFFFFFF81FEFE17FFFFFFFF6BFEFEFEFE82FF03FEFEFE28FFFFFFFFFFFF
+ 286BCDFEFEFEFE7A71FFFFFFFF03FEFEFEFFFFFFFFFFFFFFFFFF17FEFEFE03FF
+ FFFFFFFFFFFFFFFF71B8FEFEFEFE3217FEFE81FFFFFFFF037AFEFEFEFEFE17FF
+ FF03FEFEFEFFFFFFFF81FEFECD50286BFEFEFEFEB8FCCDFEFE03BB0E615081FE
+ FEFECD17BBFEFEFE03B147EB47A0A6FEFEFEFEFEFEB8D04E2309381F34343333
+ 336733673487942F24A424F0317B7B7D215CAB5CCA8399A33A0606AA31A49F06
+ 667445BFD4054A7B4D4D060D4D56CFCA3E453A3A76B2013A564BCA3A932E01D2
+ 484848B5B7486AB49AC844C8CCA13A3E1E35C8C9D54476765D1E1315C01D54CB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B
+ FEFEFEFEFEFEFEFEFEFEFE32FFFFFFB8FEFEFEFEFEFEFE71FFFFFF81FEFEFECD
+ 8181CDFE81FFFF03FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF286BFEFEFEFEFEFE
+ FEFEFE81FFFFFF6BFEFEFEFEFEFEFEFECD50FFFFFF7AFEFE03FFFFFFFFFF82FE
+ FE17FFFFFF71FEFEFEFEFE81FF03FEFEFEFFFFFFFFFFFF50CDFEFEFEFEFEFEFE
+ FE6BFFFFFF50FEFEFEFFFFFFFFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFFFFFF1A
+ CDFEFE8117173203FEFE81FFFFFF32FEFEFEFEFEFEFE81FFFF1AFEFEFEFFFFFF
+ 71FEFEFE32FF82FEFECD8217822881FEFE030A9050CDFEFEFEFEFEFE6BFEFEFE
+ 030B5B47E0CDFEFEFEF4D9F4FEFE2D272309381FB363333305674A67012FC194
+ 9F772E944AF02179795C10A1444B885DC8754D75BF7E4C064C4C9B06107821C9
+ 4D4D66665993ABC81D455654543A3A54B09A4B6F5624F00D5F48834806543E1D
+ 5D54351E1E351E1E3DD78399064B44765D5D139213653ECB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFEFE6B71033281
+ FEFEFEFE03FFFF827128FF1A7AFEFEA6FFFF17FEFECD17FFFFFFFF1A32FFFF03
+ FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF7AFEFEFECD82710303176B7AFFFF71FE
+ FEFE1728FF037AFEFEB828FFFF81FEFE71FFFFFFFFFF17FEFE82FFFFFF17FEFE
+ FE03FF71FF03FEFEFEFFFFFFFFFFFF7AFEFE7A03FF2817FEFEFE17FFFFFFFEFE
+ FEFFFFFFFFFFFFFFFFFF03FEFEFE03FFFFFFFFFFFFFFFF17FEFEB8FFFFFFFF1A
+ FEFE7AFFFF1ACDFEFE7A71FFFF1A32FFFFFFFEFEFEFFFF28B8FEFE6BFFFFCDFE
+ FE32DDDDDB646BFEFE710A1681FEFECD32EEC4D3FEFEFEFE030BEDFACDFEFE81
+ 9647305151E0E0028C09381F34B3330505674A0178878731249FA4A4247B108B
+ 10AB21BF35450D546EAA744859069E0606BD594C48C9064C4DAA75754D14211D
+ 54487676543A353A3A9A4BCA3A59453A95B25643BF541D929C3E441D761D5D35
+ D7541E35134B3A541E1E3DC01D4465CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF7AFEFEFE17FFFFFFFFFF6BFEFEFE6BFFFFFF
+ FFFFFFFF82FEFEA6FFFFB8FEFE17FFFFFFFFFFFFFFFFFF1AFEFEFEFFFFFFFFFF
+ FFFFFFFFFFFFFF17FEFEFE8128FFFFFFFFFFFFFFFFFFB8FEFE17FFFFFFFF28CD
+ FEFE17FFFF81FEFE17FFFFFFFFFF17FEFE81FFFFFF17FEFEB8FFFFFFFF1AFEFE
+ FEFFFFFFFFFF32FEFECD28FFFFFFFF17FEFECDFFFFFFFEFEFEFFFFFFFFFFFFFF
+ FFFF03FEFEFE03FFFFFFFFFFFFFFFF17FEFE7AFFFFFFFFFFFEFEFEFFFF17FEFE
+ CD28FFFFFFFFFFFFFFFFFEFEFEFFFF82FEFEB828FFFFFEFEFE71FFDD646417FE
+ FE170A7FFEFEFE3290E3703CD3FEFEFE03E31BC7FEFEB8C4190436294F4E0F2B
+ 8C2AC21F3434333305674A017887C19F9F9FA48B8B21797B5C797BBF35565E54
+ C84D664C750659590D6EBFAABF1010994D660666B798211D92483A4576453E3A
+ C86E4B9D459A4583B2594C83C9C81EC5441E4B5D5D131D3ED73ED74B3E441E54
+ 1D1E3E133E3E3DCB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFEFEFEFEFFFFFFFFFFFF28FEFEFEB8FFFFFFFFFFFF71CDFEFE71
+ FF50FEFEFE28FFFFFFFFFFFFFFFFFFFFFEFEFE03FFFFFFFFFFFFFFFFFFFFFFCD
+ FEFEB828FFFFFFFFFFFFFFFFFF1AFEFEFE1AFFFFFFFFFF82FEFE81FFFF17FEFE
+ 17FFFFFFFFFF17FEFE81FFFFFF71FEFE7AFFFFFFFFFFFEFEFE03FFFFFFFF6BFE
+ FE6BFFFFFFFFFF28FEFEFE03FFFFFEFEFE03FFFFFFFFFFFFFFFF03FEFEFE03FF
+ FFFFFFFFFFFFFF1AFEFEFEA61AFFFFFFFEFEFEFFFFA6FEFE6BFFFFFFFFFFFFFF
+ FFFFFEFEFEFF50FEFEFE50FFFFFF6BFEFECD32FFFCFC17FEFE170A03FEFEFE28
+ 070B18E818B8FEFE0308E8D8FEFE820B4704223636694F0FD600971FB3343333
+ 330501782F582F9494772E2E2E778BA8AB10107ECA8399264D4D4D0694F0774C
+ 4C0D4C749F78D5C6934D5F0D95AB999C765935C8CCD4BF4B4CACB5C8458BC976
+ 9C5643AD7D4B35353A5444C910CC834B26458821593E1576445D1E3E653E1DB4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFE
+ FE7AFFFFFFFFFFFFFF7AFEFEFEFFFFFFFFFF82FEFEFE17FFFF03FEFEFEFFFFFF
+ FFFFFFFFFFFFFFFFFEFEFE03FFFFFFFFFFFFFFFFFFFF03FEFEFE32FFFFFFFFFF
+ FFFFFFFFFF03FEFEFEFFFFFFFFFFFF03FEFEFEFFFF17FEFE82FFFFFFFFFF03FE
+ FE7AFFFFFF03FEFEFEFFFFFFFFFFFEFEFE03FFFFFFFF81FEFE17FFFFFFFFFFFF
+ 81FEFE17FFFFFEFEFE03FFFFFFFFFFFFFFFF03FEFEFE03FFFFFFFFFFFFFFFFFF
+ 32CDFEFEFE7A825081FEFE50FF81FEFE17FFFFFFFFFFFFFFFFFF81FEFE507AFE
+ FE17FFFFFFFF2881FEFEFECDA63271FEFEA60A03FEFEFE6407B1181B1BD8FEFE
+ 170818D9FEFE17613C86195B191947040F8C972CB33463050567014A4A582FC1
+ 87949F778B8B2E211010A15C3593A58E6F4C759B2EF0871010060D7B2105F32E
+ 934C5FA1B5A521B21E483A547BD51006BD7EA1BF4DAB24B23A839E06314C4B76
+ 1E443AD424CCB2984310D4993A1E3E3E5476541E5D5D5D9A0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE81FFFFFFFFFFFF
+ FF81FEFEFEFFFFFF2881FEFECD71FFFFFF03FEFEFEFEFEFEFEFEFEFEFEFEFFFF
+ FEFEFE03FFFFFFFFFFFFFFFFFFFF17FEFEFE1AFFFFFFFFFFFFFFFFFFFF03FEFE
+ FEFFFFFFFFFFFF03FEFEFEFFFF17FEFE81FFFFFFFFFF03FEFEFEFFFFFF03FEFE
+ FEFFFFFFFFFFFEFEFE03FFFFFFFF81FEFE17FFFFFFFFFFFF81FEFE17FFFF81FE
+ FE03FFFFFFFFFFFFFFFF03FEFEFE030317177128FFFFFFFFFF28177AFEFEFEFE
+ CDFEFE03FF81FEFE17FFFFFFFFFFFFFFFFFF81FEFE82FEFECDFFFFFFFFFFDDFC
+ 036BCDFEFEFECDFEFE810A1AFEFEFE1AEE0B18861BD3FEFE170818D9FEFEFEFE
+ FEFEFEFEFEFEFEF1E523F22C341F2C0505674A34344A2F582FC17394777777A4
+ A87910C94B99BC140666AA06A40178AB5C77A8AB8B01D421AA66BFBF8EF53F54
+ 4C5656592FD421985C105C06D578CC4C064C595E8D9326765D0D31D421B6590D
+ 06998DBF3A459C7654545D1E5D5D54B00000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF81FEFEFEFFFFFFFFFFFFFF82FEFEFE28FFFF
+ 81FEFE7A1AFFFFFFFFFFFEFEFE710303030317FEFEFEFFFFFEFEFE17FFFFFFFF
+ FFFFFFFFFFFF17FEFEFEFFFFFFFFFFFFFFFFFFFFFF28FEFEFE71FFFFFFFFFF32
+ FEFEB8FFFF17FEFEFE28FFFFFFFF71FEFEFEFFFFFF28FEFEFEFFFFFFFFFFFEFE
+ FE17FFFFFFFF82FEFE7AFFFFFFFFFFFFB8FEFE32FFFF81FEFE03FFFFFFFFFFFF
+ FFFF03FEFEFE03B8FEFEFEFE82FFFFFFFFFFFFFF280382B8FEFEFE32FF82FEFE
+ 7AFFFFFFFFFFFFFFFFFF81FEFE717AFEFE32FFFFFFDDDDFCFCDBDB5032A6FEFE
+ FEB80A16B8FEFE17BB0870E8E8D3FEFE17081BF1FEFEA60389892D89F4FEFED3
+ 22D6092CB3B31F0533674A05057858783131949F949F2E8BAB7921A15699A55E
+ B5060DA1BF7979A106A8BFBF0DAB0DBF66BFBF0693525243543A4C062106489E
+ 9DAA9D4C7910BF9E599E458E98C8CA1E4B98CC48454B3A13C8D74C4B5D1E1D3E
+ 1E1E3E3D653E3EC50000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF81FEFEFEFFFFFFFFFFFFFF17FEFEFE03FF50FEFEFE28FFFFFFFF
+ FFFFA6FEFE32FFFFFFFF32FEFEB8FFFFFEFEFECD50FFFFFFFFFFFFFFFFFF17FE
+ FEFEFFFFFFFFFFFFFFFFFFFFFFFFA6FEFEA6FFFFFFFFFF81FEFE6BFFFF71FEFE
+ FEA6FFFFFFFFA6FEFEFEFFFFFFFFFEFEFE28FFFFFFFFFEFEFECD50FFFFFF50FE
+ FEFE50FFFFFFFF03FEFEFE1AFFFF81FEFE03FFFFFFFFFFFFFFFF1AFEFEFE71FE
+ FEFEFEFEFE6BFFFFFFFFFFFFFFFFFF28B8FEFE17FF71FEFEFE03FFFFFFFFFFFF
+ FFFF81FEFE0350CDFEFE71FFFFDDFCFCDBDBDB64FC6417FEFEFE0A0ED3FEFECD
+ 500E08B1B1D3FEFEA6611BA0FEFEB8EE3C5B4786B8FEFEC7E5F9F21FB36363F3
+ 67670178F087879424A42E8B7B21A879795C2166B75E5E14B774B74DBD4C4856
+ 4C9D564D9E454C4C93489B59143B53A73A3A5435763AC8C8B0CA3AB54B3A3A4B
+ 4B5683AD434B26353E1D1D1E1E444435C813484B76351D445D1E1D3D3E1315CB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6FE
+ FEFEFFFFFFFFFFFFFF17FEFEFE03FF03FEFEFE17FFFF1A32FFFF03FEFECD03FF
+ FF287AFEFE17FFFFFEFEFEFECD821703FFFFFFFFFFFF71FEFEFE71FFFFFFFFFF
+ FFFFFFFFFFFF50FEFEFEA61AFF1A6BFEFEFE50FFFF03FEFEFEFEB882177AFEFE
+ FECDFFFF5003FEFEFE17030328FFFEFEFEFECD821703FFA6FEFECD32FFFF71CD
+ FEFEA6FFFFFF81FEFE71FFFFFFFFFFFFFFFFFFFEFEFE7128FF507AFEFEFE03FF
+ FF0328FFFFFFFFFFB8FEFE17FFFF7AFEFECD3228FF280303FFFF81FEFE03FF32
+ FEFECD50FFDDFC1A50DDFCFC64DB32FEFEFEBBEE617AFEFECD321AEEEE6BFEFE
+ 81611960D9FEFE6BC43C18F6FEFECDD02700392CB36333674A01F058D1C1872E
+ 8B79C90DBFBF754D4D4D56954556459E453B7D1480373E1E1E3544134435443E
+ 6C443E5D253FA7C945441D1E3E441E1D443E3E44443E44543BA13A8044921313
+ 13923E15153E153E1515351D1D54C0C09265A9A9C09213AE0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFE1AFFFFFFFFFF
+ FF03FEFEFE03FFFFB8FEFEFEFEFEFECDFFFFFF32FEFEFE7A81FEFEFE7A28FFFF
+ FEFEFE7AFEFEFE17FFFFFFFFFFFF28FEFEFE6BFFFFFFFFFFFFFFFFFFFFFFFF32
+ FEFEFEFEFEFEFEFEFE32FFFFFF03FEFEFE81FEFEFEFEFEFEFE82FFFF81FEFEFE
+ FEFEFEFE03FFFEFEFE7AFEFEFE17FF287AFEFEFEFEFEFEFEFE7A28FFFFFF81FE
+ FE17FFFFFFFFFFFFFFFFFFFEFEFE03FFFFFF28CDFEFE6BFFFF82FE7A6B17177A
+ FEFEFE50FFFF50CDFEFEFEFEFEFEFE17FFFFA6FEFE32FFFFA6FEFEB828FCDB28
+ FECD8117176BCDFEFEA6166108C47AFEFEFEFEFEFEFEFEFEB8E3473096F4FEFE
+ CD81B8FEFEFEC72262F2381F3433054A7858C17331319F7BC975B648B245956F
+ C84B35449A9ACACA543B3B841DAC1313921D13921D1D151D6C1D1D3D3D3B983A
+ 1E13131D1D131D1315C0C01313C015138E5615B4CB15151513C03E133D65C015
+ 131544C51D15A9C09265C013651365A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFF03FEFEFE17FFFF
+ 5081FEFEFEFEFE6BFFFFFFFF037AFEFEFEFECD6B28FFFFFFFEFEFE716BFEFE17
+ FFFFFFFFFFFFFF6BFEFEFE03FFFFFFFFFFFFFFFFFFFFFFFF1A6BFEFEFEFEFEA6
+ 03FFFFFFFF03FEFEFE2882CDFEFEFECD82FFFFFF81FEFEFEFEFEFEFE03FFFEFE
+ FE716BFEFE17FFFFFF32B8FEFEFEFEB81728FFFFFFFF6BFEFE17FFFFFFFFFFFF
+ FFFFFFFEFEFE03FFFFFFFF81FEFE81FFFF0381CDFEFEFEFEFEB871FFFFFFFF1A
+ 6BFEFEFEFEFECD50FFFF17FEFE17FFFF28CDFEFE7A28DBDB6B7AFEFEFEFEFEFE
+ 6B7F0708E30BE3F67AFEFEFEFEFEFEFEF418EB512296F8CDFEFEFEFEF432510F
+ 009738B33433674A015831D4319F8BA85C0DBF064D4D4C4856454B6F6FB044B4
+ 3D3B5E3DAC7C3554C83A3A83453A3A56953A9C76A37D986A133E441E35444435
+ 764B4B7676C8544B439D1D1DC53537445D1E545D4B3A5D545D5435763792135D
+ 3E1E651E1E3E1ECB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFF03FEFEFE17FFFFFFFF28030350FFFF
+ FFFFFFFFFFFF28030350FFFFFFFFFFFFFFFFFFFFFF1A031AFFFFFFFFFFFFFF1A
+ CDFEFECD71FFFFFFFFFFFFFFFFFFFFFFFFFFFF030303FFFFFFFFFFFFFFFFFFFF
+ FFFFFFFF500303FFFFFFFFFFFFFF81FEFE03FFFFFFFFFFFFFFFFFF1A031AFFFF
+ FFFFFF1A03031AFFFFFFFFFFFFFF17FEFE17FFFFFFFFFFFFFFFFFFFEFEFE03FF
+ FFFF28CDFEFE81FFFFFFFFFF2803030328FFFFFFFFFFFFFFFFFF0303031AFFFF
+ FFFF17FEFE17FFFFFFFFFFFFFFFCFC640A646450030350BB16EE61E30BB17070
+ 700B89898989FBE819C351E5693622300C2D2D9604690FF92AF2382CB3B33305
+ 4A01739FC131217B7B79CCA8C910C910AB10107EA10D4D3A3D995E3D3A914556
+ 484C5906064C9E064C480659A38F0DAC4476764B3A3A4B4556459C4545454545
+ 5E9D441D7C355D35C8545454544B4B4B544B6A7637A9655D4B5D1E5D443E1EB4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FE
+ FEFE03FFFFFFFFFFFF28FEFEFE17FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32FEFEFEFE7A1703
+ 0371177A03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFE32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFE17FFFFFFFFFFFFFFFFFFFEFEFE6B171717B8FEFEFE17FF
+ FFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFE17FFFF
+ FFDDFCFFFFDBDB640A0A0ABBBB1616EE0761080BB1703C18E81B86ED195B6049
+ 0451364F4E4E4E4E4E4E4E270F2B55000939F72CB3346305674A317731C18BD5
+ 8B7BCC79A810A8A8C90D0D66660D75B55D7D5EA39B919C564548489E064C484C
+ 7448065954B95E6C353A76C83A833A45953A3A3A3A4545457E3A44923A443554
+ 35C8C8C854355454543A3580C5921E651E13445D3E441ECB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03FEFEFE17FFFFFFFFFF
+ FFFFFEFEFE6BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03CDFEFEFEFEFEFEFEFEFE28FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A17
+ 8117FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FE
+ FE81FFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFE7A28FFFFFFFFFFFFFCFCFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEA6FFDDFFFFFFFCFCFCDB64
+ 0A0ABBBB900EEE076108E30B703C18E886195B4742EB30512236294E270F0F0F
+ 02022B62552300EC9739381FB3346333674A312431877B248B7979A8C9105C7E
+ A8A17EA10D107E9B1E7D5EA34D91484556B64848590659594D4C7598265206AC
+ 543A76544B833A7645459595569E9E483BADCACB9C351E541EC8547676C83A76
+ 263AC8356C151E5D1D137676445D54B40000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF03FEFEFE17FFFFFFFFFFFFFFFEFEFE81FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFF28177AFEFEFEFEFEFE7AFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFE81FFFFFFFFFFFF
+ FFFFFFFEFEFEFEFEFEFEFECD6B28FFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFF17FEFE81DDFFDDFCFFFFFCDB640A0ABB16160EEE0761
+ 0808E3B1703CE886195B4742BE04512236294F4E270F02022B1CEF232300ECF2
+ C2F7381FB3346305674AC1D49F877BD2A47B21A85C105C7E5C0D7E7EAA7E0D6E
+ 3E7D7EA34D9B064548065956484C4C4C4D4D060684B99DB4763A453A4B45B276
+ 3AB5B595489EB79D93C86C1D4BB21E35459544CA9A9A956F263580ACCB923E45
+ 45560DB63E5D54B40000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF03030350FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDDFFFCFCFC0AFC640A0ABB16160EEE076108E30B707018E886
+ 19476049300451EA36294E270F0F022B1C1C238C8CECEC09C2382C1FB3633305
+ 674A58D49F2F7B24A48BABA85C10A1667E667E7E665C5C481E8B99A34C9BBF26
+ 59A10D9EB24C5959AA7575982552BDAC3A45B6483A48593A6F3A95BD4874483A
+ CAC86CB03A10B2458BC93A9A9A9A569556353AB0C5C5C888CCCCD5BF1D4435B4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFC
+ FFDBFFDB640A0ABBBB161690EE07610808E3B1703C181BED5B4742BE30042236
+ E54F4E270F0F022B1CEF238C00EC0909C2382C1F3463330567675894242FD2D5
+ CF2F8B7B2F87BFA1A1060D5CA17EA19B843F3BCA759B2F569888C12659598359
+ 4D750D14145206AC3A83F00688F02E2626AD833A4C4559569845352644D47B99
+ 8B4DCACA4B4B4B3A9C9C06B2441E1ED5CC8B103A134435CB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFCFCFFFFFCFFFFFFFFFFFFFFFCFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDFCFCDB0A0A0A0A
+ BB16160EEE076108E30B703C3CE886195B60493004512236694F27270F02022B
+ 1C55238C002A090939F72C1F34630505674A5894C1D1D49FA44A9F2158F00D7E
+ ABA1A1A166A1A14D938F3F25069B012EA17B2EB74C4C7498064806433BF55E6A
+ 454CD5CC06310D3A9595957645455999D2481D9A3A9F217EC99EC8C8264BC84B
+ 35060D4544541D06764545C83554C8AC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFCFCFCFCFFFCFCFCFCFCFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFDDFCFC640A0A0A0ABB1690EE070761E3
+ E30B703C181B86194760BE3004513636294E27270F022B621C558C0000EC0909
+ C2382C1F34633305674A58942F53312E24672F2E2F2FA8A85C667566660D0D4D
+ 1453528E069B77D55C775C66749B74744DB5BF433FBC3B6E489BA87B4C214C9B
+ 56489B48484893B97B484B4BD79D4B5606B7BD95BDB54BC88EAB5992A96F9A4B
+ 56959556454B44CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFC
+ FCFCFCFFFFFFFCFCFFFFFFFFFCFFFFFCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFCFCFC640A0A0ABBBB16160E07076108E30BB1703CE81B195B
+ 47C3BE30042236E54F4E270F0F022B62D6558C8C002A09F239382C1F34630505
+ 67017824C1AFA52E8B77777777A48B79AB1010105C5C664D5EAF5384065F7510
+ 667BAAAB7E0D7E0D0D4CBFB7B9535E6A729AAA7E66667E5C7EA1A1759B488EA5
+ A49DCAC8BD4D744D4D4D4D4C74B79DB5A3B98F06CACAB06E3AC8C83A954BC8AC
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFCFF
+ FCFFFFFCFCFFFCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCDB0A0A0ABBBBBBBB90EE07610808E30B7070181B8619476049300451223669
+ 4F4E270F02022BD6EF558C002A09F2C2F7382C1FB3633305674A7894C111BCCF
+ 7B798B77A48BA4A42E2E7B79A85C064DB96DAF14B79B5F0D7EA87E7979A85C5C
+ 7E0648AAF5BCB9747472064D66747E66AA4D5F6EB59314BCAFA44C9AB0B5849A
+ 84B5BD3A3ABD48B7A75A5AF57B0659757E7E5C5CC99979790000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFFFCFFFFFCFCFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCDB64640A0ABBBBBB
+ 1690EE076108E30BB1703CE81BED194742493004222236294F270F0F022B62EF
+ EF238C00ECECF2C2F7382C1F3463330567012F2F5A1185A48B2EA421A47B218B
+ 7979A85C5C66665CAF5A6D53C94CAA06664DAAAAAA4D4D4D14064C79BCBAF577
+ 9DB572B5B5729DB574744D4D6610D45AFDAF01C1772E9FC1C12FF0014ABCAFBA
+ 5AFDFD6D5A5A5A5A5A5A5ACEBACE5A2C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFFFFFCFCFCFCFCFFFFFCFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFDDFFFFFFFFFFFFFFFFFFFFDDDBDBDB640A0A0ABBBBBB16EEEE616108E30B
+ 703C3C1B86ED4760C330040422EA69294E270F0F022B621C55238C002A09F2C2
+ F72C1FB334330505670178F31111110524D22E21D221AB10AB79AB1079792EF0
+ FD6DFD6D0587318F3131C12FA5F07801F0010185BA6D5AAF0101F5BC058585BA
+ BABACEBACEBA5A6DFDFDFDFDFDFD6D5A5A6D6DFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCDBDBDBDBDB
+ DBFCFFFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFCFCFCFCDB640A0ABBBBBBBB160EEE076108E3E30B703C181B865B4760
+ C33004512236294F4E270F02022B1CEF23238C00EC0909E78A39F738112C2C1F
+ CECE6D41111111FD5ACE5A6D6D6D6D5A5A5A5A5A5A5A6DFDFDFDFDFDFDFD6D6D
+ 5A6D5A6D5A5A5A5A5A5A5AFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFFFCFCFCFC
+ FCFCFFFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBFCFCDB
+ 640ABBBBBB16160EEE07616108E30B70703CE81B195B47C3BE040422EAE5294E
+ 27270F022B621CEF238C8C00ECECEC6868E78A8A464646414141411111111111
+ 1111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
+ FCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFCFCFCFCFCFCFCFCFCFFFCFCFFFF
+ FFFFDDFFDDDDFFFFFFFFFFFFDDFFFFFFFFFFFFFFFCDBDB64640A0ABBBB16160E
+ EE07610808E3B1703C181BED194760493004512236E54F4E270F0F022B1C1C55
+ 238C00ECECECEC09688A8A8A4646464141414111111111111111FD1111FDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBDBDBDB
+ DBDBDBDBDBDBDB6464FCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFDDFFFFFFFFFFFF
+ FFFFFFFFFCDDFFFFFCFFFFFCDB64640A0A0ABBBBBB160EEE07610808E30B7070
+ 3CE81B195B4742BE300451EAE5294F4E270F02022B1C1C558C8C0000ECEC6868
+ E78A8A46464646414141411111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB6464646464
+ 64FCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFDDDDFFFFDDFFFFFFDDFFFFFFFFFFFC
+ FFFFFCFCFCFC640A0A0ABB1616160EEE076108080B0B703CE81B86194760C3BE
+ 04512236E54F4E270F0F022B2B1CEF8C8C0000ECECEC0909DCE7464646464141
+ 4111411111111111FDFD11FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB646464646464FCFC64FCFCFCFCFC
+ FCFCFCFCFCFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBFCDBDBDB0A0A
+ 0ABB1616160E0E07616108E30B70703CE886195B474249305151223669294E27
+ 0F0F022B2B1CEF238C8C0000ECEC096868E7E78A8A4646414141414111411111
+ 1111111111111111111111111111111111111111111111111111111111111111
+ 1111111111111111111111111111111111111111111111111111111111111111
+ 11111111111111111111111111111111111111111111118A0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFCFCFCFCFCDB
+ DBDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A646464646464DBFCFCFCDBFCDBFFFFFF
+ DDDDFFDDFFFFFFFFFFFFFFFFFFFCFCFCFCFFFCDBDB0A0A0ABBBB160E16EEEE07
+ 070808E30BB13C3CE81B86194760C3BE3004512236E54F4E4E270F0F022B2B1C
+ 1C55558C8C8C0000002A2AECECEC09EC09096868686868686868DCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCEC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB
+ DBDBDBDBDBDB64DBDBDBDBDBDBDBDBFCFCDBFCDBFFFFFFFFFFFFFFDDDDFFFFFF
+ FFFFFFFFFFFCFCFCFCFCFCDBDBDBDB640A0ABBBBBB160EEEEE07616108E3E3B1
+ 703C18181BED195B4760C349303004515122EAEAE5E529294F4F4E4E27272727
+ 270F0F0F0F0F0F0F0F0202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 020202020202020F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDDFCFCFCFCFCFCFCFCFCDD
+ DDDDDDDDDDFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFC640A0A0A0A0ABB161616900EEE0707610808E3E30B0BB170
+ 3C3C3C18E81B1B86EDED19195B5B4747474760604242C3C3C3C3494949494949
+ EBEBEBBEBEBEBE30BEBE30303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303049
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFDDDDFCFCFCFCFCFCFCFCDBDBDBDBDDFCFCFCDDDDFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDDFCFC64
+ 640A0A0A0ABB161616900EEE070761080808E3E30BB17070703C3CE81B1B1B86
+ ED1919195B5B4747476060424242C3C3C3494949494949EBBEEBBEBEBEBE3030
+ BE30303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030490000FCFCFCFCFCFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB
+ DBDB6464646464640A0A0A0A0A0A6464646464DBDBDBDBDBDBDBDBFCFFFFDDDD
+ FFDDFFFFFFFFFCFFFFFFDDFFFFFCFCFCFCDBDBDBDB640A0ABBBBBBBB16EEEE07
+ 610808E3E3B170703C181B86ED195B4742C3BE300404512222EA36E529294F4F
+ 4E4E4E272727270F0F0F0F0F0F0F020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020F0000FCFCFCFCFCFCFCFCFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCDBDBDBDBDBDBDB64640A0A0A0A0ABBBBBB
+ BBBBBBBBBBBB0A0ABB0A0A0A0A0A0A0ADB64FCFCFCFFDDDBFFFFDDFFFFFFFFFF
+ FFFFFCFFFFFFFC64DBDBDB0A0A0ABB161690EEEE07070808E30BB1703C181B1B
+ 195B476049300451512236294F4E27270F0F022B2B1C1CEF558C8C0000000000
+ ECECECECECEC09090968686868686868DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCEC0000FCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFF
+ FCFCFCFCFCFCDBDBDBDBDBDBDB640A0A0A0A0ABBBBBBBBBBBBBBBBBBBBBBBBBB
+ BB0A0A0A0A0A640A6464DBFCFCDDFCFFDDFCFFFFFFFFFFFFFFFFFFFFFFFCDBFC
+ 640A0A0ABBBBBBBB900EEE07616108E3E30B703C18E81B191947604930040451
+ 223669294E27270F02022B2B621CEF55238C8C00000000ECECECEC0909096868
+ 68E7E768E7E78AE7E78A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
+ 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
+ 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8AEC
+ 0000}
+ Login.LeftImage.Data = {
+ 07544269746D617016090000424D160900000000000036040000280000003200
+ 0000180000000100080000000000E00400000000000000000000000100000000
+ 000000000000000080000080000000808000800000008000800080800000C0C0
+ C000C0DCC000F0CAA6000020400000206000002080000020A0000020C0000020
+ E00000400000004020000040400000406000004080000040A0000040C0000040
+ E00000600000006020000060400000606000006080000060A0000060C0000060
+ E00000800000008020000080400000806000008080000080A0000080C0000080
+ E00000A0000000A0200000A0400000A0600000A0800000A0A00000A0C00000A0
+ E00000C0000000C0200000C0400000C0600000C0800000C0A00000C0C00000C0
+ E00000E0000000E0200000E0400000E0600000E0800000E0A00000E0C00000E0
+ E00040000000400020004000400040006000400080004000A0004000C0004000
+ E00040200000402020004020400040206000402080004020A0004020C0004020
+ E00040400000404020004040400040406000404080004040A0004040C0004040
+ E00040600000406020004060400040606000406080004060A0004060C0004060
+ E00040800000408020004080400040806000408080004080A0004080C0004080
+ E00040A0000040A0200040A0400040A0600040A0800040A0A00040A0C00040A0
+ E00040C0000040C0200040C0400040C0600040C0800040C0A00040C0C00040C0
+ E00040E0000040E0200040E0400040E0600040E0800040E0A00040E0C00040E0
+ E00080000000800020008000400080006000800080008000A0008000C0008000
+ E00080200000802020008020400080206000802080008020A0008020C0008020
+ E00080400000804020008040400080406000804080008040A0008040C0008040
+ E00080600000806020008060400080606000806080008060A0008060C0008060
+ E00080800000808020008080400080806000808080008080A0008080C0008080
+ E00080A0000080A0200080A0400080A0600080A0800080A0A00080A0C00080A0
+ E00080C0000080C0200080C0400080C0600080C0800080C0A00080C0C00080C0
+ E00080E0000080E0200080E0400080E0600080E0800080E0A00080E0C00080E0
+ E000C0000000C0002000C0004000C0006000C0008000C000A000C000C000C000
+ E000C0200000C0202000C0204000C0206000C0208000C020A000C020C000C020
+ E000C0400000C0402000C0404000C0406000C0408000C040A000C040C000C040
+ E000C0600000C0602000C0604000C0606000C0608000C060A000C060C000C060
+ E000C0800000C0802000C0804000C0806000C0808000C080A000C080C000C080
+ E000C0A00000C0A02000C0A04000C0A06000C0A08000C0A0A000C0A0C000C0A0
+ E000C0C00000C0C02000C0C04000C0C06000C0C08000C0C0A000F0FBFF00A4A0
+ A000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFF
+ FF00FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD525252525252525252525252
+ 5252FDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDAFB75E5E5E66666767676F6F6F6FB752FDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBF
+ BFBFBFBFBFBFBFBFBFB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFB76F676F6FB7B7B7B7B7776F5EB752FD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBFBFB752FDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFB76F676F6F6FB7B7
+ B7B7776F5EB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBFBFBF52FDFDFDFDFD
+ 0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAF
+ B76767676F6F6FB7B7B7776F5EB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBF
+ BFBF52FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDAFB76767676F6F6F6FB7B7776F5EB752FDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBF
+ BFBFBFBFBFBFBFBFBFBF52FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBFB7AFAFB7B7B7B7BFBFBFBFB7B752FD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDAFB76F675E5E5E5E5E5E676FB7A5FDFDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F79BFDFDFDFD
+ FDFDA4F7A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDF7F79BFDFDFDFDFDFDA407A3FDFDFDFDFDFDFD
+ 0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDF7F79BFDFDFDFDFDFDA407A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F7A4FDFDFDFDFDFDF707
+ A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDF707A49AFDFDFDFDA30707A3FDFDFDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F6A4
+ A49B9A9AA3A407079AFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F6F7F7A4A4F70707A3FDFDFDFD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDF7F6F6F6F6F607A3FDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7A3A3A3
+ A3A3FDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ 0000}
+ Log.WindowCaption = 'Seguran'#231'a'
+ Log.LabelDescription = 'Log do Sistema'
+ Log.LabelUser = 'Usu'#225'rio :'
+ Log.LabelDate = 'Data :'
+ Log.LabelLevel = 'N'#237'vel m'#237'nimo : '
+ Log.ColLevel = 'N'#237'vel'
+ Log.ColMessage = 'Mensagem'
+ Log.ColUser = 'Usu'#225'rio'
+ Log.ColDate = 'Data'
+ Log.BtFilter = '&Aplicar Filtro'
+ Log.BtDelete = '&Excluir Log'
+ Log.PromptDelete = 'Confirma excluir todos os registros de log selecionados ?'
+ Log.BtClose = '&Fechar'
+ UsersForm.WindowCaption = 'Seguran'#231'a'
+ UsersForm.LabelDescription = 'Cadastro de Usu'#225'rios'
+ UsersForm.ColName = 'Nome'
+ UsersForm.ColLogin = 'Login'
+ UsersForm.ColEmail = 'Email'
+ UsersForm.BtAdd = '&Adicionar'
+ UsersForm.BtChange = 'A<erar'
+ UsersForm.BtDelete = '&Excluir'
+ UsersForm.PromptDelete = 'Confirma excluir o usu'#225'rio "%s" ?'
+ UsersForm.BtRights = 'A&cessos'
+ UsersForm.BtPassword = '&Senha'
+ UsersForm.BtClose = '&Fechar'
+ AddChangeUser.WindowCaption = 'Cadastro de Usu'#225'rios'
+ AddChangeUser.LabelAdd = 'Adicionar Usu'#225'rio'
+ AddChangeUser.LabelChange = 'Alterar Usu'#225'rio'
+ AddChangeUser.LabelName = 'Nome : '
+ AddChangeUser.LabelLogin = 'Login : '
+ AddChangeUser.LabelEmail = 'Email : '
+ AddChangeUser.CheckPrivileged = 'Usu'#225'rio privilegiado'
+ AddChangeUser.BtSave = '&Gravar'
+ AddChangeUser.BtCancel = 'Cancelar'
+ AddChangeProfile.WindowCaption = 'Perfil de Usu'#225'rios'
+ AddChangeProfile.LabelAdd = 'Adicionar Perfil'
+ AddChangeProfile.LabelChange = 'Alterar Perfil'
+ AddChangeProfile.LabelName = 'Descri'#231#227'o : '
+ AddChangeProfile.BtSave = '&Gravar'
+ AddChangeProfile.BtCancel = 'Cancelar'
+ UsersProfile.WindowCaption = 'Seguran'#231'a'
+ UsersProfile.LabelDescription = 'Perfil de Usu'#225'rios'
+ UsersProfile.ColProfile = 'Perfil'
+ UsersProfile.BtAdd = '&Adicionar'
+ UsersProfile.BtChange = 'A<erar'
+ UsersProfile.BtDelete = '&Excluir'
+ UsersProfile.BtRights = 'A&cessos'
+ UsersProfile.PromptDelete = 'Existem usu'#225'rios com o perfil "%s". Confirma excluir?'
+ UsersProfile.BtClose = '&Fechar'
+ Rights.WindowCaption = 'Seguran'#231'a'
+ Rights.LabelUser = 'Permiss'#245'es do Usu'#225'rio : '
+ Rights.LabelProfile = 'Permiss'#245'es do Perfil : '
+ Rights.PageMenu = 'Itens do Menu'
+ Rights.PageActions = 'A'#231#245'es'
+ Rights.BtUnlock = '&Liberar'
+ Rights.BtLock = '&Bloquear'
+ Rights.BtSave = '&Gravar'
+ Rights.BtCancel = '&Cancelar'
+ ChangePassword.WindowCaption = 'Seguran'#231'a'
+ ChangePassword.LabelDescription = 'Trocar Senha'
+ ChangePassword.LabelCurrentPassword = 'Senha Atual :'
+ ChangePassword.LabelNewPassword = 'Nova Senha : '
+ ChangePassword.LabelConfirm = 'Confirma'#231#227'o : '
+ ChangePassword.BtSave = '&Gravar'
+ ChangePassword.BtCancel = 'Cancelar'
+ ResetPassword.WindowCaption = 'Definir senha do usu'#225'rio : "%s"'
+ ResetPassword.LabelPassword = 'Senha : '
+ XPStyleSet.DimLevel = 30
+ XPStyleSet.GrayLevel = 10
+ XPStyleSet.Font.Charset = ANSI_CHARSET
+ XPStyleSet.Font.Color = clMenuText
+ XPStyleSet.Font.Height = -11
+ XPStyleSet.Font.Name = 'Tahoma'
+ XPStyleSet.Font.Style = []
+ XPStyleSet.Color = clBtnFace
+ XPStyleSet.IconBackColor = clBtnFace
+ XPStyleSet.MenuBarColor = clBtnFace
+ XPStyleSet.SelectColor = clHighlight
+ XPStyleSet.SelectBorderColor = clHighlight
+ XPStyleSet.SelectFontColor = clMenuText
+ XPStyleSet.DisabledColor = clInactiveCaption
+ XPStyleSet.SeparatorColor = clBtnFace
+ XPStyleSet.CheckedColor = clHighlight
+ XPStyleSet.IconWidth = 24
+ XPStyleSet.DrawSelect = True
+ XPStyleSet.UseSystemColors = True
+ XPStyleSet.OverrideOwnerDraw = False
+ XPStyleSet.Gradient = False
+ XPStyleSet.FlatMenu = False
+ XPStyleSet.AutoDetect = False
+ XPStyleSet.BitBtnColor = clBtnFace
+ XPStyle = True
+ Left = 56
+ Top = 128
+ end
+ object UCXPStyle1: TUCXPStyle
+ Active = True
+ XPSettings.DimLevel = 30
+ XPSettings.GrayLevel = 10
+ XPSettings.Font.Charset = ANSI_CHARSET
+ XPSettings.Font.Color = clMenuText
+ XPSettings.Font.Height = -11
+ XPSettings.Font.Name = 'Tahoma'
+ XPSettings.Font.Style = []
+ XPSettings.Color = clBtnFace
+ XPSettings.IconBackColor = clBtnFace
+ XPSettings.MenuBarColor = clBtnFace
+ XPSettings.SelectColor = clHighlight
+ XPSettings.SelectBorderColor = clHighlight
+ XPSettings.SelectFontColor = clMenuText
+ XPSettings.DisabledColor = clInactiveCaption
+ XPSettings.SeparatorColor = clBtnFace
+ XPSettings.CheckedColor = clHighlight
+ XPSettings.IconWidth = 24
+ XPSettings.DrawSelect = True
+ XPSettings.UseSystemColors = True
+ XPSettings.OverrideOwnerDraw = False
+ XPSettings.Gradient = False
+ XPSettings.FlatMenu = False
+ XPSettings.AutoDetect = False
+ XPSettings.BitBtnColor = clBtnFace
+ UCSettings = UCSettings1
+ Left = 88
+ Top = 128
+ end
+ object UCIBXConn1: TUCIBXConn
+ Connection = IBDatabase1
+ Transaction = IBTransaction1
+ Left = 120
+ Top = 88
+ end
+ object IBDatabase1: TIBDatabase
+ Params.Strings = (
+ 'USER_NAME=SYSDBA'
+ 'PASSWORD=masterkey')
+ LoginPrompt = False
+ DefaultTransaction = IBTransaction1
+ IdleTimer = 0
+ SQLDialect = 3
+ TraceFlags = []
+ Left = 56
+ Top = 88
+ end
+ object IBTransaction1: TIBTransaction
+ Active = False
+ DefaultDatabase = IBDatabase1
+ AutoStopAction = saNone
+ Left = 88
+ Top = 88
+ end
+end
diff --git a/official/2.20/Demos/1 Basic All Data Access/IBX/Unit1.pas b/official/2.20/Demos/1 Basic All Data Access/IBX/Unit1.pas
new file mode 100644
index 0000000..4e50b58
--- /dev/null
+++ b/official/2.20/Demos/1 Basic All Data Access/IBX/Unit1.pas
@@ -0,0 +1,90 @@
+unit Unit1;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, DB, UCBase, Menus, StdCtrls, Buttons,
+ IBDatabase, UCIBXConn;
+
+type
+ TForm1 = class(TForm)
+ UserControl1: TUserControl;
+ MainMenu1: TMainMenu;
+ Arquivo1: TMenuItem;
+ Abrir1: TMenuItem;
+ Salvar1: TMenuItem;
+ Salvar2: TMenuItem;
+ Salvarcomo1: TMenuItem;
+ Fechar1: TMenuItem;
+ N2: TMenuItem;
+ Dados1: TMenuItem;
+ Importar1: TMenuItem;
+ Exportar1: TMenuItem;
+ N4: TMenuItem;
+ Vincular1: TMenuItem;
+ N3: TMenuItem;
+ Sair2: TMenuItem;
+ Editar1: TMenuItem;
+ Copiar1: TMenuItem;
+ Colar1: TMenuItem;
+ Recortar1: TMenuItem;
+ N1: TMenuItem;
+ Selecionartudo1: TMenuItem;
+ N5: TMenuItem;
+ AreadeTransferencia1: TMenuItem;
+ Exibir2: TMenuItem;
+ Esvaziar1: TMenuItem;
+ Exibir1: TMenuItem;
+ Zoom1: TMenuItem;
+ Normal1: TMenuItem;
+ Grande1: TMenuItem;
+ Ajustarnajanela1: TMenuItem;
+ N6: TMenuItem;
+ Personalizar1: TMenuItem;
+ amanhonormal1: TMenuItem;
+ elacheia1: TMenuItem;
+ Relatorios1: TMenuItem;
+ Relatorio11: TMenuItem;
+ Relatorio21: TMenuItem;
+ Relatorio31: TMenuItem;
+ Relatorio41: TMenuItem;
+ Segurana1: TMenuItem;
+ Cadastrodeusuarios1: TMenuItem;
+ Perfildeusurios1: TMenuItem;
+ logdosistema: TMenuItem;
+ N7: TMenuItem;
+ rocarsenha1: TMenuItem;
+ EfetuarLogoff1: TMenuItem;
+ UCSettings1: TUCSettings;
+ UCXPStyle1: TUCXPStyle;
+ UCIBXConn1: TUCIBXConn;
+ IBDatabase1: TIBDatabase;
+ IBTransaction1: TIBTransaction;
+ procedure FormCreate(Sender: TObject);
+ procedure EfetuarLogoff1Click(Sender: TObject);
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ Form1: TForm1;
+
+implementation
+
+{$R *.dfm}
+
+procedure TForm1.FormCreate(Sender: TObject);
+begin
+ IBDatabase1.DatabaseName := '127.0.0.1:' + ExtractFilePath(Application.ExeName) + '..\..\Base.Gdb';
+ IBDatabase1.Connected := True;
+end;
+
+procedure TForm1.EfetuarLogoff1Click(Sender: TObject);
+begin
+ UserControl1.Logoff;
+end;
+
+end.
diff --git a/official/2.20/Demos/1 Basic All Data Access/MDO/Project1.dpr b/official/2.20/Demos/1 Basic All Data Access/MDO/Project1.dpr
new file mode 100644
index 0000000..08b344c
--- /dev/null
+++ b/official/2.20/Demos/1 Basic All Data Access/MDO/Project1.dpr
@@ -0,0 +1,13 @@
+program Project1;
+
+uses
+ Forms,
+ Unit1 in 'Unit1.pas' {Form1};
+
+{$R *.res}
+
+begin
+ Application.Initialize;
+ Application.CreateForm(TForm1, Form1);
+ Application.Run;
+end.
diff --git a/official/2.20/Demos/1 Basic All Data Access/MDO/Project1.res b/official/2.20/Demos/1 Basic All Data Access/MDO/Project1.res
new file mode 100644
index 0000000..03109fc
Binary files /dev/null and b/official/2.20/Demos/1 Basic All Data Access/MDO/Project1.res differ
diff --git a/official/2.20/Demos/1 Basic All Data Access/MDO/Unit1.dfm b/official/2.20/Demos/1 Basic All Data Access/MDO/Unit1.dfm
new file mode 100644
index 0000000..582ff2b
--- /dev/null
+++ b/official/2.20/Demos/1 Basic All Data Access/MDO/Unit1.dfm
@@ -0,0 +1,1469 @@
+object Form1: TForm1
+ Left = 170
+ Top = 180
+ Width = 610
+ Height = 350
+ Caption = 'User Control - MDO Basic Demo'
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ Menu = MainMenu1
+ OldCreateOrder = False
+ OnCreate = FormCreate
+ PixelsPerInch = 96
+ TextHeight = 13
+ object UserControl1: TUserControl
+ AutoStart = True
+ ApplicationID = 'MDOBasic'
+ ControlRight.MainMenu = MainMenu1
+ UsersForm.MenuItem = Cadastrodeusuarios1
+ UsersForm.UsePrivilegedField = False
+ UsersForm.ProtectAdmin = True
+ EncryptKey = 0
+ NotAllowedItems.MenuVisible = True
+ NotAllowedItems.ActionVisible = True
+ Login.AutoLogon.Active = False
+ Login.AutoLogon.MessageOnError = False
+ Login.InitialLogin.User = 'Admin'
+ Login.InitialLogin.Email = 'qmd@usercontrol.com.br'
+ Login.InitialLogin.Password = '#delphi'
+ Login.MaxLoginAttempts = 0
+ Login.GetLoginName = lnNone
+ LogControl.Active = True
+ LogControl.TableLog = 'MDOBCLog'
+ LogControl.MenuItem = logdosistema
+ ExtraRight = <>
+ LoginMode = lmActive
+ UsersProfile.Active = True
+ UsersProfile.MenuItem = Perfildeusurios1
+ TableUsers.FieldUserID = 'UCIdUser'
+ TableUsers.FieldUserName = 'UCUserName'
+ TableUsers.FieldLogin = 'UCLogin'
+ TableUsers.FieldPassword = 'UCPassword'
+ TableUsers.FieldEmail = 'UCEmail'
+ TableUsers.FieldPrivileged = 'UCPrivileged'
+ TableUsers.FieldTypeRec = 'UCTypeRec'
+ TableUsers.FieldProfile = 'UCProfile'
+ TableUsers.FieldKey = 'UCKey'
+ TableUsers.TableName = 'MDOBCTabUsers'
+ TableRights.FieldUserID = 'UCIdUser'
+ TableRights.FieldModule = 'UCModule'
+ TableRights.FieldComponentName = 'UCCompName'
+ TableRights.FieldFormName = 'UCFormName'
+ TableRights.FieldKey = 'UCKey'
+ TableRights.TableName = 'MDOBCTabRights'
+ ChangePasswordForm.MenuItem = rocarsenha1
+ ChangePasswordForm.ForcePassword = False
+ ChangePasswordForm.MinPasswordLength = 0
+ DataConnector = UCMDOConn1
+ Left = 152
+ Top = 88
+ end
+ object MainMenu1: TMainMenu
+ AutoHotkeys = maManual
+ OwnerDraw = True
+ Left = 56
+ Top = 56
+ object Arquivo1: TMenuItem
+ Caption = 'Arquivo'
+ object Abrir1: TMenuItem
+ Caption = 'Abrir'
+ end
+ object Salvar1: TMenuItem
+ Caption = '-'
+ end
+ object Salvar2: TMenuItem
+ Caption = 'Salvar'
+ end
+ object Salvarcomo1: TMenuItem
+ Caption = 'Salvar como...'
+ end
+ object Fechar1: TMenuItem
+ Caption = 'Fechar'
+ end
+ object N2: TMenuItem
+ Caption = '-'
+ end
+ object Dados1: TMenuItem
+ Caption = 'Dados'
+ object Importar1: TMenuItem
+ Caption = 'Importar'
+ end
+ object Exportar1: TMenuItem
+ Caption = 'Exportar'
+ end
+ object N4: TMenuItem
+ Caption = '-'
+ end
+ object Vincular1: TMenuItem
+ Caption = 'Vincular'
+ end
+ end
+ object N3: TMenuItem
+ Caption = '-'
+ end
+ object Sair2: TMenuItem
+ Caption = 'Sair'
+ end
+ end
+ object Editar1: TMenuItem
+ Caption = 'Editar'
+ object Copiar1: TMenuItem
+ Caption = 'Copiar'
+ end
+ object Colar1: TMenuItem
+ Caption = 'Colar'
+ end
+ object Recortar1: TMenuItem
+ Caption = 'Recortar'
+ end
+ object N1: TMenuItem
+ Caption = '-'
+ end
+ object Selecionartudo1: TMenuItem
+ Caption = 'Selecionar tudo'
+ end
+ object N5: TMenuItem
+ Caption = '-'
+ end
+ object AreadeTransferencia1: TMenuItem
+ Caption = 'Area de Transferencia'
+ object Exibir2: TMenuItem
+ Caption = 'Exibir'
+ end
+ object Esvaziar1: TMenuItem
+ Caption = 'Esvaziar'
+ end
+ end
+ end
+ object Exibir1: TMenuItem
+ Caption = 'Exibir'
+ object Zoom1: TMenuItem
+ Caption = 'Zoom...'
+ object Normal1: TMenuItem
+ Caption = 'Normal'
+ Checked = True
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object Grande1: TMenuItem
+ Caption = 'Grande'
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object Ajustarnajanela1: TMenuItem
+ Caption = 'Ajustar na janela'
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object N6: TMenuItem
+ Caption = '-'
+ GroupIndex = 1
+ end
+ object Personalizar1: TMenuItem
+ Caption = 'Personalizar'
+ GroupIndex = 1
+ end
+ end
+ object amanhonormal1: TMenuItem
+ Caption = 'Tamanho normal'
+ end
+ object elacheia1: TMenuItem
+ Caption = 'Tela cheia'
+ end
+ end
+ object Relatorios1: TMenuItem
+ Caption = 'Relatorios'
+ object Relatorio11: TMenuItem
+ Caption = 'Relatorio 1'
+ end
+ object Relatorio21: TMenuItem
+ Caption = 'Relatorio 2'
+ end
+ object Relatorio31: TMenuItem
+ Caption = 'Relatorio 3'
+ end
+ object Relatorio41: TMenuItem
+ Caption = 'Relatorio 4'
+ end
+ end
+ object Segurana1: TMenuItem
+ Caption = 'Seguran'#231'a'
+ object Cadastrodeusuarios1: TMenuItem
+ Caption = 'Cadastro de usuarios'
+ end
+ object Perfildeusurios1: TMenuItem
+ Caption = 'Perfil de usuarios'
+ end
+ object logdosistema: TMenuItem
+ Caption = 'Log do Sistema'
+ end
+ object N7: TMenuItem
+ Caption = '-'
+ end
+ object rocarsenha1: TMenuItem
+ Caption = 'Trocar senha'
+ end
+ object EfetuarLogoff1: TMenuItem
+ Caption = 'Efetuar Logoff'
+ OnClick = EfetuarLogoff1Click
+ end
+ end
+ end
+ object UCSettings1: TUCSettings
+ AppMessages.MsgsForm_BtNew = '&Nova Mensagem'
+ AppMessages.MsgsForm_BtReplay = '&Responder'
+ AppMessages.MsgsForm_BtForward = 'E&ncaminhar'
+ AppMessages.MsgsForm_BtDelete = '&Excluir'
+ AppMessages.MsgsForm_WindowCaption = 'Mensagens do Sistema'
+ AppMessages.MsgsForm_ColFrom = 'Remetente'
+ AppMessages.MsgsForm_ColSubject = 'Assunto'
+ AppMessages.MsgsForm_ColDate = 'Data'
+ AppMessages.MsgsForm_PromptDelete = 'Confirma excluir as mensagens selecionadas ?'
+ AppMessages.MsgRec_BtClose = '&Fechar'
+ AppMessages.MsgRec_WindowCaption = 'Mensagem'
+ AppMessages.MsgRec_Title = 'Mensagem Recebida'
+ AppMessages.MsgRec_LabelFrom = 'De :'
+ AppMessages.MsgRec_LabelDate = 'Date'
+ AppMessages.MsgRec_LabelSubject = 'Assunto'
+ AppMessages.MsgRec_LabelMessage = 'Mensagem'
+ AppMessages.MsgSend_BtSend = '&Enviar'
+ AppMessages.MsgSend_BtCancel = '&Cancelar'
+ AppMessages.MsgSend_WindowCaption = 'Mensagem'
+ AppMessages.MsgSend_Title = 'Enviar Nova Mensagem'
+ AppMessages.MsgSend_GroupTo = 'Para'
+ AppMessages.MsgSend_RadioUser = 'Usu'#225'rio :'
+ AppMessages.MsgSend_RadioAll = 'Todos'
+ AppMessages.MsgSend_GroupMessage = 'Mensagem'
+ CommonMessages.AutoLogonError = 'Falha de Auto Logon!'#13#10'Informe um usu'#225'rio e senha v'#225'lidos.'
+ CommonMessages.ChangePasswordError.InvalidCurrentPassword = 'Senha Atual n'#227'o confere!'
+ CommonMessages.ChangePasswordError.NewPasswordError = 'Os campos: Nova Senha e Confirma'#231#227'o devem ser iguais.'
+ CommonMessages.ChangePasswordError.NewEqualCurrent = 'Nova senha igual a senha atual'
+ CommonMessages.ChangePasswordError.PasswordRequired = 'A Senha '#233' obrigat'#243'ria'
+ CommonMessages.ChangePasswordError.MinPasswordLength = 'A senha deve conter no m'#237'nimo %d caracteres'
+ CommonMessages.ChangePasswordError.InvalidNewPassword = 'Proibido utilizar senhas obvias!'
+ CommonMessages.InvalidLogin = 'Usu'#225'rio ou Senha inv'#225'lidos!'
+ CommonMessages.InitialMessage.Strings = (
+ 'ATEN'#199#195'O Login Inicial:'
+ ''
+ 'Usu'#225'rio : :user'
+ 'Senha : :password'
+ ''
+ 'Defina as permiss'#245'es para este usu'#225'rio.')
+ CommonMessages.MaxLoginAttemptsError =
+ '%d Tentativas de login inv'#225'lido. Por motivos de segun'#231'a o '#13#10'sist' +
+ 'ema ser'#225' fechado.'
+ CommonMessages.PasswordChanged = 'Senha alterada com sucesso!'
+ CommonMessages.BlankPassword = 'Retirada senha do Login %s'
+ Login.WindowCaption = 'Login'
+ Login.LabelUser = 'Usu'#225'rio '
+ Login.LabelPassword = 'Senha : '
+ Login.BtOk = 'OK'
+ Login.BtCancel = '&Cancelar'
+ Login.TopImage.Data = {
+ 07544269746D6170B6790000424DB67900000000000036040000280000007601
+ 0000500000000100080000000000807500000000000000000000000100000000
+ 00009BB5D8007493BA00ACC2E000BBBBBB00CBD9EB007D9BC20051719900F6F8
+ FB00F2F5FA0095B0D500FCFDFE00EDF2F800A7B6BC0055759D00F8FAFC00B1C5
+ E1005979A10089A8D200CDD5D9003E5E88004D7199003D5D8700FAFBFD008888
+ 8800E5ECF500DDE6F200DDDDDD00E2EAF400A5BDDD00405F880042628C0089A6
+ CC008297A0005D7DA500C5D4E900A1B9DA006685AD004569920045679000B4C8
+ E300EEEEEE00BDCEE60099B3D600A9C0DE008BA8CD009EA5B0006181A9006E8D
+ B400D0DCED006989B10099999900809DC40085A2C80044638C00C1D1E8004462
+ 8C008EAACF0091ACD100486890005579A100E7EEF6003E5F890040608A005D82
+ AB00C0CBCF008CAAD400D5E0EF00496C950042618A004A6A93008FACD500D8E3
+ F0004C6C9400D2DEEE007795BD0046668E004E6E960050709700B8CBE400BBCD
+ E500CCCCCC00C8D7EA00648BB2006D93BA0044648E00A2BADB004A6B94009BAC
+ B300708EB5004E6F980085A5CF00DAE4F10058789E0043638D0050759D00506E
+ 9600D6E1EF00F4F7FB00A7BEDE00829FC600FDFEFE0041608B0054749A007A98
+ BF0093AFD600BECFE60044628A00666666004060880086A6D0004C6B92004867
+ 8E00EAEFF700AAAAAA0049688E006C8AB1004D6E940053729A00476690006584
+ AB007290B8005C7CA300333333005F7EA60046648E005A7DA50056779E00E6EA
+ EC0046648C0044444400777777004869920044678E0080A0C900E0E8F3006D8C
+ B3005576A000AAAEB50090ADD5006080A7009EB7DA006486AF00486A93006185
+ AC00F9FAFD004C6A92003C5B85004C6E96006988AF0049699100C6CFDC0093AE
+ D20051729B00597AA30045648B004E6D94004A6992004A6C92004D6D96006786
+ AD00B6BCC40056769E003D5A82003F628B006383A900698DB500555555005A7F
+ A7005B7AA1003A5A8400527399005A7BA200426188004668900039577F007D9F
+ C70047668D00EBF1F8004C6B940087A3CA00405F8600486990004E6D96004C6D
+ 9400222222006287AF0083A3CC00FBFCFD00779BC2004A6A9100D1DDEE005473
+ 9C003C5C87006B8BB20092ADD200D3DFEF00E1E5E900426189006C8BB5008B8F
+ 940045658D005878A00042638B003F5C84005C7BA4001111110084A3CC006183
+ AB00CDD6E1006A8AB3006282AB00808285006787B0006483AC00A5BCDB004061
+ 8A004F5153003E40420043637000FEFEFE0091AED600FEFFFF00758D9600F2F5
+ F5008FA0A900D9E0E200506D7A00EFF4F9005C788300BFD0E700B5C1C60091AE
+ D500E3EBF50069828D00C3D3E900D2DDEE0097B2D700DFE7F300F7F9FC00A3BB
+ DC006F8FB7007B7E830094AFD3007998C1002F3032007396BE00909296008FAB
+ D000686C7100A4BBDA00D2D9E400D9DEE600FEFEFF0088A7D20000000000FFFF
+ FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCFCFCFCFCFCFC
+ FCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB6464640A0A0A0ABBBBBBBBBB16
+ 16160E0E0EEEEEEE07EE0707616161070761070707EEEEEEEEEE90161616BB16
+ BB0ABB0A0A0A0ADB64646464DBDB64FCFFFCDBDB64DBDB0A640A0A0A0ABBBBBB
+ 16160EEEEE07610808E30BB1703C18E886195B47424930045122EA36294F4E27
+ 0F0F0F022B621CEF55558C8C000000ECECECECEC68096868DCDCDC8A8A8A8A8A
+ 8A46464646464646464646464646464646464646464646464646464646464646
+ 4646464646464646464646464646464646464646464646464646464646464646
+ 4646464646464646464646464646464646464646464646EC0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFC
+ FCFCFCDBDBDBDBDBDBDBDBDB64DB640A0A0A0A0ABBBBBBBB16161616160E0EEE
+ EE07EEEEEEEE6107070707EEEEEEEE0E0E0E0E161616BBBBBB0A0A0ADB0A6464
+ DBDBFCDBDBFCFCFFFFDBFCDDDBFCDBDB64640A0A0A0A0ABBBB16900EEE076108
+ 08E30BB1703C181B86195B4742BE3004512236694F4E27270F022B2B1CEF238C
+ 8C0000ECECEC09688A8A46464646414141111111111111111111FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCDB
+ DBDBDBDBDBDBDB6464640A0A0A0ABBBBBBBBBB161616160E0EEE0E0EEEEEEEEE
+ EEEEEEEEEE0E0E16901616BB16BBBB0A0A0A0A0A64DBDBFCFCDBFCFCFCFCFCFF
+ FFFCFCFFDDFFFCFCFCFF0A640A0A0ABB0A1616900EEE07070808E30BB1703C18
+ 1B1B195B604230040422EAE5294F4E270F02022B1C1C558C8C0000ECEC6868DC
+ DCE78A464646414141414111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCDBDBDBDBDBDB
+ DBDB64640A640A0A0ABBBBBB161616160E0E160E0E0E0E90EE0E0E9090901616
+ 161616BBBBBB0A0A640A0A64FCFCFCFCFCFFFFFCFFDDFFFCFCFFFFFFFCFFFCFF
+ FCDBFCDBDB0A0A0A0ABBBB16160E0EEE616108E30BB1703CE81BED5B47604930
+ 04512236E54F4E270F0F022B621CEF238C8C00ECECEC6809DCDC8A4646464641
+ 4141114111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB640A0A
+ 0A0A0ABBBBBBBB1616161616160E0E169090161616161616BBBBBBBB0ABB0A0A
+ 640A64DBDBFCFCDBFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFCFCFCFCFFFCFC0A0A
+ 0A0ABB1616160EEE07610808E30BB13C3C1B86195B4742BE3004222236294E27
+ 270F0F022B1CEF558C8C8C00ECECEC68DCE7DC8A464641414141411111111111
+ FD11FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB64640A0A0A0ABBBBBB
+ BBBBBB1616161616161616161616BBBB0ABB0A0A0A0A0A64FC64DBFCFCFCDDFC
+ FFDDFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFDDFCFFFCDDDB64640ABBBBBB160E0E
+ EE076108E30BB1703C181BED194760493004512236E54F4E270F0F022B621C55
+ 238C8C00ECECEC096868E7464646414141414111111111111111FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FCFFFFFCFCFCFCFCFCFCDBDBDBDBDBDB64640A0A0A0A0ABBBBBBBBBBBBBBBB16
+ BBBBBBBBBBBB0ABB0A0A0A0A640ADBDB64FCFCDBFCDDDDFCFFDDFFDDFFFFFFFF
+ FFFFFFFFFFDDFFFFFFDDFFFCFFFCDBDB64640ABBBBBB16900EEE070808E30B70
+ 703CE81B195B4742BE300451EAE5294F27270F022B2B1CEF558C8C0000ECECEC
+ 68DC8A8A464646464141414111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFCFC
+ FCFCFCFCFCDBDBDBDBDBDB64640A0A0A0ABBBBBBBBBBBBBBBBBB0ABBBB0A0A0A
+ 0A0A0A0A646464DBFCFCDDDBDBFCDDFCFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDBDB640A0ABBBBBB16900E07070808E3B1703C181BED194760
+ 493004512236694F4E270F02022B1C1C55238C00ECECECEC6809DC8A8A464641
+ 414141411111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFFFCFCFCDBFCFCDB
+ DBDBDBDBDB64640A0A0A0A0A0ABBBBBBBB0A0A0A0A0A0A0A0A0A0A64DBDBDBDB
+ DBFFFFDDDDDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFC
+ FC64640A0ABBBB16160EEE070808E30BB1703CE81BED5B4742BE300422EAE529
+ 4E27270F022B621C55238C8C00ECECEC0909DCE78A4646414641414111111111
+ 1111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCDBDBDBDBDBDB6464
+ 640A0A0A0A0ABBBBBB6464640A0A0A6464DB0ADB64DBDBFCFFFFFFDDDDFFFFFF
+ DDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFFDDDBFC640ABBBB16
+ BB0E0EEE070808E30B703C181B86194760C33004512236694F4E270F02022B1C
+ 1C55238C0000ECEC0968E7E78A8A41464141414141111111111111FDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A
+ 0A0A6464640A0A6464DBDBDBFCDBDBFCFCFFFFDDDDFFDDFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFCFCFC64640ABB16160EEE076108E3
+ 0BB1703CE81B195B47423004042236E54F4E270F02022B621C55238C00000909
+ C239382C1FCE85AF3305F3F5015353F5AF8585BC53B93F3F3FA7993B885E5E98
+ 98981414438E599E434343145E5E98593F52B9A7251E3D3D653E3E3E3E3E3ED7
+ 1E1E1E5D545D5DCA3E1E1E3B3B5DD7C03ED7A38E434354A365D7D76565D7D765
+ 6513153E3EC092AE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A6464646464
+ FCFCFCFCFCDBDBFCFCFFFFFFFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFCFCFCDB0A0A0ABB16160EEE070808E3B1703C181BED19
+ 4760BE3004512236694E270F0F022B621C558C00EC0997381F1F346333670101
+ F02F318DCF2EA7A78F52A5B97D14934393438E258E568E8E8E8E254325251459
+ 1414143B3FB93FA75E5E5E5E93985943438E8E25252525252676767683838326
+ 6554267DA78E263E3E3D15A33DA33D3E3D3D3D3D3D3D3D3D3E133D1E1E1592AE
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCFCFCFCDBDBDBDBDBDBDBDBDB646464646464FCFC6464FC64FCFCFCFCFCFCDB
+ FCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFF
+ FFFFFCFC64640A0ABBBB160E0E07610808E3B1703CE81B195B60C3BE04512236
+ 694F4E270F022B62D6558C002AF297382CB3633367677858319FA42E7BA8A87B
+ 21C9660648B5B53A4B4B8035CA6A6AC5353E1D1D3E1D3E1ECA268E883B3B4325
+ 26262654542626262626262626252525562543255EA77D5E2525262626262626
+ 252626262654262554252525431443255D1E2606433DA9A90000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE11212FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFF1212E1FFFFFFFFFFFFFFFFFF1212E1FFFFFFFFFF
+ FFFFFFFFDF121212FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE11212
+ E1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBFCFC
+ DBDBDBDBDB64646464646464FCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFF
+ DDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFDDFCFCFCFC0A0A
+ BBBB16160EEE610808E30B703C181BED194742BE300422EAE54F4E270F0F022B
+ 1C5523002A09C2382CB36333674A0158879F9F2E7B5CA10D21A1064D48BDBD72
+ 809A3535C56C6C6C13131D44441D1D3E1D1ECA438E263D3D3D3D3D1313131313
+ 3D131313133D3D3D3D3DA3A3435E435DA33E3D3D3D3E3E3EA33EA3A3A3D7A354
+ 5426268E5E88592665D75D765D3D15A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE120DADADADADAE940FFFFFF12DADA0C
+ FFFFFFFFFFFF0CDADADADADADADADEFFFFDADA12FFFFFFFF0CDADADAFFFFFFFF
+ FFFFE0DADADADAE440FFFFFFFF40E9DADADADADA20E1FFFFFFFF12DEDADADADA
+ DADE12FFFFFFDADADEFFFF7FDADADEFFFFFFDFE0E2DADADADADEFF12DADADADA
+ DADADADAFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB
+ DBDBDBDBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFC64646464BBBB160EEEEE61
+ 08E30BB1703CE886194760493004512236294E270F0F022B62D6238C2A09F239
+ 381F6333054A0158879F772E7B5C5CA1210D4C9B91726F6FC8C83535CA6AC5C5
+ 1D6C6C1DB41D6C6C1D3E5D4354A33D1E653E3E1D3D3D3D3D1313131313131313
+ 15133D3D8E14263D3D1315C015151515C0C0151313133DD7151315A343935492
+ 133D3DC0C0133DA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFE6E2DADAE00C57E4DADAE0FFFF7FDADA0CFFFFFFFFFFFF0CDA
+ DAE9DEDEDEDE57FFFFDEDA12FFFFFF7FDADADADAFFFFFFFFFFFFDADE0C0CE4DA
+ DA7FFFFF57DADAE2570CE0E2DADAE6FFFF12DADADA200CE0DADADA40FFFFE4DA
+ DEFFFF0CDADAE1FFFFE1E2DADA200C0CE0E4FF12DADAE4DEDEDEDEDEFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFDDFCFFFCFC6464640A64BB16160EEE070808E3B1703C181B
+ ED5B47C33004512236694F4E270F022B62EF238C0009F239381FB36305674A58
+ 2F9F772E21A1100D21BF5F9B9B91BD6FC8C83535CA6A6AC56A35441D1D1D6C1D
+ 15C0359E5DD71D441D1D1D131313131313131515151515151313C01526595465
+ 653E131515151515C0C0C0C0C0C0C0159215C0151E5D3E13C015C0A9921515AE
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FE2
+ DAE97FFFFFFFFFE0DADA40FFFFDADA0CFFFFFFFFFFFF0CDADAE6FFFFFFFFFFFF
+ FFDEDA12FFFFFFDEDADADADAFFFFFFFFFFFFDFFFFFFFDFDADA0CFF40DADAE0DF
+ FFFFFFDFE9DAE27FFF20DADA0CFFFFFF12DADADEFFFFDEDADEFFFFE4DAE0FFFF
+ FFE9DAE2E1FFFFFFFFFFFF12DADAE0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFCFCFCFCFCFCFCFCDBFCDBDBFCDBFFFFFCFCFCFCFCFCFCFFFF
+ FFFFFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFCFCFCFCFC64640ABBBB160EEE076108E30B703C181B86194742BE300422
+ EAE54F4E270F0202621C558C8C2A099739382CB3343333674A78589477A85C75
+ CC754D4D0606065F4D4D4D4C4C4C4C4C9191919191913AC83792449E3E151D13
+ 1D1D1D1D1D1D1D1D1D1D1D13131313151D13C092764565653E13131513131313
+ 131315151515C092921315C03D651E5415C092C0151592AE0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0CDADA7FFFFFFFFFFFFF
+ DEDAE4FFFFDADA0CFFFFFFFFFFFF12DADA0CFFFFFFFFFFFFFFDEDA0CFFFF40DA
+ DA0CDADAFFFFFFFFFFFFFFFFFFFF40DADAE6FF20DAE4FFFFFFFFFFFFDFE2DAE0
+ FFDEDADADFFFFFFFFFE4DADAFFFFDEDADEFFE6DAE2DFFFFFE1DADAE6FFFFFFFF
+ FFFFFFFFDADADEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFCFCFCFCFFFCFCFCFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFFFFFCFC6464
+ 640A0ABB160E0EEE070808E3B1703C1B86195B6049300451EA36694E270F0202
+ 2B1C55238C2A09F2C2382CB3346305674A4A017873A4C975CCBF4D0D0D667506
+ 4C4C4C9B4C4C9B4C064D9B9B4C9B4C4C9B131E593E1D373735353535357C7C4B
+ 54545454543535353737543EB69C1D1D3E1D13133E6565653E3E3E3E3E653E1D
+ 131392C03D3E13133DC092151315C0A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFDEDAE9FFFFFFFFFFFFFF0CDADA7FFFDADA0C
+ E1127FFFFFFF12DADAE012121212DFFFFFE0DA0CFFDFE4DA20E1DADAFFFFFFFF
+ FFFFFFFFFFE6DADAE9FFFFDADA57FFFFFFFFFFFFFF20DAE4FFDEDADAFFFFFFFF
+ FFDEDADAFFFFDEDADEFFE4DA0CFFFFFF0CDADADFFFFFFFFFFFFFFFFFDADAE912
+ 1212127FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFC
+ FCFCFCFCFCFCFFFFFCFFFCFFFFFCFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCDDFCFCFC64640A0ABB1616EEEE
+ 076108E3B1703C181BED5B60423004512236294E4E270F022B62EF2300002AF2
+ 97382C1FB33405336767582F8794C9BF210D98A10D755F744D4D4C4C4D4C4D4D
+ 4C48489B48B5BD4C06131E593D1D767C353535359A8080C854547C7C7C545435
+ 3735833E984BCBCB1E1E65651E1E1E1E651E1E1E1E5D3765371E3D3D1E3E9292
+ 3E15C013131513A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFDEDADEFFFFFFFFFFFFFF12DADA12FFDADA0CE2DADAE4E1FF12DA
+ DADADADADADA12FFFF0CDA0CFF0CDAE27FFFDADAE1FFFFFFFFFFFFFF0CDADAE9
+ DFFFFFDADA0CFFFFFFFFFFFFFF0CDADAFFDEDADAFFFFFFFFFFDEDADAFFFF20DA
+ DEE6DADA2012FFFF0CDADAFFFFFFFFFFFFFFFFFFDADADADADADADA0CFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCFCFCFCFFFFFF
+ FFFFFFFCFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFDDFCFFFCFC640A0ABBBBBB16EE076108E30BB13C18
+ 1BED5B4742BE040422EA694F4E270F022B62EF238C002A09C2F7381F1F1F63B3
+ B33401785831C9A121A10DC97EAA4D4C4C4C4C4C4C4C4D4C9B5F7E21104C6E4C
+ 0D444BBF3E1D76809A35CACACACACA355454C8C8C8C85454C8C8483E0D541D13
+ 1E1E653E3E3E3E3D651E1E651E1E1E3E1D1E653D3E139213133E3E13131313A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20DA
+ E4FFFFFFFFFFFFFF12DADA12FFDEDA571240E9DAE2DF12DADADE0C0C0C0C7FFF
+ FF0CDA577FDADA0CFFFFDADA12FFFFFFFFFFFFE0DADAE0DFFFFFFFE2DAE0FFFF
+ FFFFFFFFFF0CDADAFFDEDADAFFFFFFFFFFDEDADAFFFF0CDADEE1120CE2DA57FF
+ 0CDADA7FFFFFFFFFFFFFFFFFDADAE40C0C0C0C12FFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFFFFFFFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFC
+ FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFF
+ FFFFFFDDFCDDFC6464640A0ABBBB160EEE070808E3B1703CE81B194760493004
+ 2236E54F4E270F02022BD6558C000009F239381F1F2C3333676778585873100D
+ 215C66A80D664D5F066E4D4D4D0674AA9B21F031AB484C06BF1E26BF3E133AB0
+ 6F446C9A541E5454353A76C6D1B6767C6F9545CAC9D713151E445D4465443D3E
+ 655D651E4BD5761DCACA351E3E15C0153E15C0133E1315A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6DADA12FFFFFFFFFFFF
+ 57DADADFFFDEDA0CFFFF7FDADAE612DADA0CFFFFFFFFFFFFFF0CDADEDEDAE4FF
+ FFFFDADA12FFFFFFFFFF12DADAE0FFFFFFFFFFE0DAE2DFFFFFFFFFFFFFE9DAE9
+ FF0CDADA12FFFFFFFF0CDADAFFFF0CDADEFFFFFFE6DADA7F7FDADA0CFFFFFFFF
+ FFFFFFFFDADADEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFCFC
+ FC640A0A0ABB160EEE076108E3B1703CE81BED5B60493004512236294E270F02
+ 022B1CEF2300000997C2382CB32CB33463334A7858C1C90D79C9AA1010A87E5C
+ 754C75064D4D744D0D242EB74D4C4C06754426BFD71D953A3AB54BCA543E3A76
+ 9CC875D4213A3A243A9145357ED7131D5D3E3E3E1D13543E1E1E1E3D9EC6BF54
+ 9A35351E3E1515136513C0C0151313A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFDFE2DAE9DFFFFFFFFFE1E2DAE0FFFFDEDA0C
+ FFFFDFDADA0C12DADA0CFFFFFFFFFFFFFF0CDAE2DADA12FFFFFFE4DA12FFFFFF
+ FFFF0CDADAFFFFFFFFFFFF12DADAE0FFFFFFFFFFE6DADAE6FF0CDADA12FFFFFF
+ FF0CDADA12FF0CDADEFFFFFF40DADA12FFDEDADA12FFFFFFFFFFFFFFDADADEFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFC64640A0ABB160E
+ EE076108E30B703C181BED5B47C33004512236294F27270F022B62EF23002A09
+ 09C2382C1F2C386363054A017887A8BF7B10065C5C0DAA66664D66754D064D06
+ AA2E24AA4C4D0D4D063E26BF3E3E9C9CC8B5CA6C76548335443A0DCC45542ED5
+ 95484584BFD7134454831E13761D5D1E5D9265452EC698544BC8351E1D15133E
+ 653E15C0153E3EA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFF12E2DAE40C121257E2DAE2DFFFFFDEDADE0C0CDEDADA4012DA
+ DADE0C0C0C0C0C7FFF40DADADA20FFFFFFFFDEDAE6FFFFFFFFFF40DADA201212
+ 0CE1FFFF0CDADADEE61240E0DADADEFFFF0CDADA12FFFFFFFF0CDADA12FF0CDA
+ E40C0C57E2DADADFFFDFE9DADAE040124057E1FFDADAE40C0C0C0C0C12FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFC640A640ABB1616EE076108080B7070
+ 181B861947423004512236694F27270F022B62D6230000EC0997F72C1FB33834
+ 056701787887CC0D79AB4DAB215C5CA16606AAAA4D4D4D060101F3C1A84C6606
+ 061DAD986C44959C9A95449A7676761E1E567D7D84B7F0069148953A063E1337
+ 5D1E5D13763E443E54C05488D12F983A6FC835441D151D1E3D3E3E133D653EA2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ E1DEDADADADADADADEDFFFFFFFDEDADADADADADAE0FF12DADADADADADADADA12
+ FF12DADADA7FFFFFFFFFDEDA0CFFFFFFFFFFFFE0DADADADADA7FFFFFFF40E4DA
+ DADADADADA57FFFFFF0CDADA12FFFFFFFF0CDADA12FF0CDADADADADADAE2E6FF
+ FFFFDFE0DADADADADADA12FFDADADADADADADADA0CFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ DDFFFFFFFFFFFFFCFCFC640A0ABB16160EEE070808E3B1703CE886194742BE30
+ 042236694F4E270F022B62EF238C00EC09C2F72C1FB3B36367670101782FCC0D
+ 10794D2121A15CAAAAAA4D4D064C4C064D7E797B945C9B4D061D9598131E763A
+ C83A449544541D54C8138806A3AD9826914895569E1D153576924B1E3E5D543E
+ 155D83982E4AD47B6FC81E3E13151D1E3D3E3D13133E3DA20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FE60C0CE67F
+ FFFFFFFFFFE112121212127FFFFFDF1212121212121212DFFFDF1212E1FFFFFF
+ FFFFE1127FFFFFFFFFFFFFFFE10C0C0CE1FFFFFFFFFFFFE10C0C0C40DFFFFFFF
+ FF7F1212DFFFFFFFFF7F1212DFFF7F121212121212FFFFFFFFFFFFFFDF400C0C
+ 0C40DFFF12121212121212127FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
+ FF64640A640ABB160EEE070808E3B1703CE88619476049300451EAE54F4E270F
+ 020262D6558C002A0997F7381FB3343305674A0178C121A15C794D7910667BAA
+ 75790D4DAA4C4C06AA064C6E0D7506AA981D45061335763A4844443A1EB21E76
+ 3A4B764B563A7648919B9593563D157C5D4B5D13441EC01E65541E5476983AC8
+ 6FC81E3E1315134465131515151513A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFCFFFCFC64640A0ABB16
+ 0EEE076108E3B1703CE81B195B4749300451EAE54F4E270F022B2B1C55238C2A
+ 09F239381FB3343305676701782F8BA1C9AB4D211021019F0D2FA4AA66064D06
+ AA4CA1AA4D74664CBF1D43981354769CC8C8D101F0D19E1D3EB2443A453A453A
+ 6E4C9506831D15763D8313831E44541E3D15135D3A761E3A4B8035441D151365
+ 6513131E1E1315CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCDDFFFCDB64640ABB1616EE076108E30B70
+ 3C181BED5B47C330045122E5294E270F02022B1C55238C00099738382CB33463
+ 05674A0178782EA199CC06215C210558A1F32FBF66AA4D4D4C75AA4D5C4D0610
+ BF1D4898134B3A913AC5940D7676C8837C7CA87B3A9C3A486E4C45983A1D1576
+ 3A1376D15DB2C6761E1E5D15765454354B80351E1D15133E3D151E833A65C0A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFDDDDFCFFFCFCFC640A0ABBBB16EEEE6108E30BB170181BED5B474230
+ 0451EA36294E272702022B62558C8C2AEC9739381FB3343305674A01782FD5C9
+ 79A866A8109F874A8DC6F30DA10D4D66AA666666AA06BFA1A11D9EBF549A9C3A
+ 83D7F578787BBDBD5648D4C90DD276833ABF76C94B441D761E769CC65978B67C
+ 54351E5D54545476763A1D761315374465153DD13E1365A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFF
+ FFFCFC64640ABB16160EEE610808E37070181BED5B4742300451EA36694E270F
+ 02022B62EF8C8C002AF239F71F1FB36333054A017858775CAB8B06791078A4C1
+ 0521587779A1A8A85C5C5C5C0DAA66A10D15C999A34B9C3A4B83F0BF5966486E
+ AA4CD198CC109E839C9EADD2C81E443A54139EF3C6785FB695764B4B4B5D5D5D
+ 763AC83A1E445D44156583D41E3E1EA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFFFCFC646464BBBB
+ 160EEE070808E3B1703CE886194742BE04042236694F27270F022B1CD6238C2A
+ 09F2C2381FB3B3633305674A01F024107B2FA1AB7901AB2E0599D42410107966
+ 5C5C5C5C7E0D0DA10DD78F2ECA95569148B6016701774D100D4CD24810065945
+ 595643A5AD54C8953E9EC9CC88C6CC83599EB2B2453A767654358335D7441E3E
+ 135D59995D76B26F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC64DB640ABBBB160EEE070808E3B1
+ 703CE886194742BE30512236694F27270F022B1CEF238C002AF297382C1F3463
+ 3305674A015824A8CF2F7BC9102E0D10C9BF107E66ABAB105C5C5CA8105C5C10
+ BF458F8BAD9D6E6E9E3A065906AA9D0D0DAA0D06BF9806599893143143C8C876
+ 48567DF0317B59594C9E489E48569C9C45959826C8C84B848399F57899454B6A
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFDDFFFFFC64646464BBBB160E0E076108E3B1703CE886194742BE
+ 04042236694F4E270F022B62EF23000009F239382CB3343305674A4A78879F8B
+ 249FCF7E7E0DAA664D754D064D4DB7664D4C4C4D06060606459E0D06B5843A3A
+ 959B48B03A984C934C4D954C9D4D9E4C4343933B43C85454CAD7CA3ACA845426
+ 3A6F6F3A833A3A3A4B26AA8444D7A3D7543D1E44545D37B40000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
+ FFFCFCFC640A0ABB160E0E076108E30B703C181BED5B604930042236694F4E27
+ 0F022B1CEF23002A0939382C1F3433054A0158879FA47B21CCA10DBFB7489195
+ 91726F4856987DC972B09AB06FB0B0B04445C835AD9A9A6FB0356A953A4B4C3B
+ 3A6F9AC84B9A4BC835268326434B544B54CAD7CACA985E43C89ACA9A9A353554
+ 4B9598B76FC89ACA3D5D76B6833E1D6A0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFC64640A0ABB
+ 1616EE070808E3E3B1703CE81B1947C3300422EA694F27270F022B1C5523002A
+ F2C2382C1F3433676701583194778B7BCC5C0D6606065F9B6E6EBD3AC8067B8E
+ 6EB5B0B0B0C880804435CAC5C89A6AB09AB09A80C53599A79572729A6F35C835
+ 1E35C8CA26C8354B6ACA4B1D440D7D8E6FC89A9A35CA1E35C580C83A35C5CA6C
+ 3D767610597613AE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFCFC640A0ABB160EEE0761610808
+ 08E3E3B17018ED4749045136694F4E270F022B1C5523002A0939381F1F343367
+ 677858739FA47BA85C5C0D4C5F9B9191726E72C826563B846E729A9A80356A6A
+ 801D4B356A80AC806A9A6AC8D73D3B8872726F806A806A6A35441E543E354435
+ B01D6FCACAAD7E95B56FC89A9ACACA353580CBC8AC6A4B353D7615BF76541ECB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDDFFFCDDFC0A0A0ABB160EEE07076107EE0E0E0EEE0708B11B
+ 473051EAE54F4E270F022B1C5523002A0939381FB33433674A015873772E8BCC
+ 5C66665F5F4C6F953A72B03ACAB73B546F3A1D806AB4C580B0B46AB46FB46AB4
+ 449A1D4435157D9880B09A8080C5C5C57C15443735351D351D441DCA1E4B0635
+ 6F6F44C8445D1D3E1D443E44541E1DC81E443E4BC81E54CB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
+ FCFFFC6464640ABB160EEE07077F71176B818181170316081B4204EA694F4E27
+ 0F022B1CD623002A0939381FB36333674A0158872F739F777B9F7BA81066A14D
+ 9B483AC815837ECAB43A3A6EC84C6F95484806486E4806483A953A6FC8152193
+ 6CB09A6ACBC5657C44351D5415C854547C541EC8D73A4844CA6FC515A95D3544
+ 1D3A35443E1E44C01E441D351E1D35CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFC6464640ABB
+ BB0EEE070781FEFEFEFEFEFEFEFEA60AE31904EAE54F4E270F022B621CEF8C00
+ EC97381F1F63333305676778788773739424A4249F79C9AB5C5CBF486C43AB84
+ 80064C4C9B5F664C485C065F5C0D6E5F4D4C75064C448F43B46A6F4B959C3AB2
+ 9CB2B29CB6B61D459C6F6F8ECA4C3A1DCACA6C9A4B4B1D1D1EC03A4B153A159C
+ 35441D4413C044A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC640A64BB160EEE0707CDFE7A
+ 82D36BCDFEFEFE17EE1B3022E5294F4E270F0F022BD655002A97381FB3343333
+ 33674A01015887947377247B7B2E218B10ABA806A34899CA954D489BAA48664C
+ 754D75BF064C75A10D454D9806CA8F26CA3548C8B2445D54C8543A359E35483A
+ 954B4593AD0D351D1DCAC56C1D134445761E1D833E3E3E1D351E1D3EC09244A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFCFC64640A0ABBBB160EEE07D312610808E3C4F4FEFEB8
+ 163C495136E5E56969294F4E270262232AF2381FB334333305670505782F8794
+ 942424014A947B7EA8A8CC98D75699A3B5484C0DAA774D669B7506664A78D1C6
+ 779E4C98BF3524841D3A6E541E3A75B676563A563A54F021BD4B45483AA1C51D
+ 6C4BC54410D5BF131D35BF4859D10D5D35353E3E15C044A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFF
+ FCDDFCDBDB64640ABBBB90EE07616161616108E3F6FEFEFEBB70425122220430
+ 604242490436271C0009F71F1F3433330505336301C1C1949F24335831059458
+ 79AB21A1CA437D844B0D0648D4A8F04C0D4CAABFF0F30188787E060DBF268DAD
+ A94CC85676D478884B3A3A8376450DF05F6E489DB598356A6CB0CA6CBF990676
+ 764483D1313A44445D5D3E3E131535A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5003030328FFFFFFFFFFFFFFFF
+ FF5003031AFFFFFFFFFFFFFFFFFF280303031AFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFF1A03030328FFFFFFFFFFFFFFFF28030350FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A030350FFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFF50030328FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A03031AFFFFFFFFFFFFFFFFFFFF
+ FF28030350FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF030303FCFC6464
+ FC0A16EE0761EE1A030316EE12FEFEFE50B1600404428670E68903890B1B0402
+ 23EC381F34343333336767670578873131948B01F301F52E215C990DD73A99CA
+ BD4C064C66F0AB0D740DBF9E8DF30501D20D4D9859842ECA6C5935B29C244A83
+ 45C83A7659C926F0064CB7959D4D9A6AC89ACA562E103A44C0440DD2249C354B
+ 5D351D1D15135DA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFF03A6FEFEFEFEFEFEB86B1AFFFFFFFF6BFEFEFEFEFEB871FF
+ FFFFFFFF17B8FEFEFEFEFEFE17FFFF03FEFEFE28FFFFFFFFFFFFFFFFFFFFFFFF
+ FFFF036BCDFEFEFEFEFECD32FFFFFFFF717AFEFEFEFECD6B28FFFFFFFFFEFEFE
+ 03FFFFFFFFFF81FEFE17FFFFFFFF6BFEFEFEFE82FF03FEFEFE28FFFFFFFFFFFF
+ 286BCDFEFEFEFE7A71FFFFFFFF03FEFEFEFFFFFFFFFFFFFFFFFF17FEFEFE03FF
+ FFFFFFFFFFFFFFFF71B8FEFEFEFE3217FEFE81FFFFFFFF037AFEFEFEFEFE17FF
+ FF03FEFEFEFFFFFFFF81FEFECD50286BFEFEFEFEB8FCCDFEFE03BB0E615081FE
+ FEFECD17BBFEFEFE03B147EB47A0A6FEFEFEFEFEFEB8D04E2309381F34343333
+ 336733673487942F24A424F0317B7B7D215CAB5CCA8399A33A0606AA31A49F06
+ 667445BFD4054A7B4D4D060D4D56CFCA3E453A3A76B2013A564BCA3A932E01D2
+ 484848B5B7486AB49AC844C8CCA13A3E1E35C8C9D54476765D1E1315C01D54CB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B
+ FEFEFEFEFEFEFEFEFEFEFE32FFFFFFB8FEFEFEFEFEFEFE71FFFFFF81FEFEFECD
+ 8181CDFE81FFFF03FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF286BFEFEFEFEFEFE
+ FEFEFE81FFFFFF6BFEFEFEFEFEFEFEFECD50FFFFFF7AFEFE03FFFFFFFFFF82FE
+ FE17FFFFFF71FEFEFEFEFE81FF03FEFEFEFFFFFFFFFFFF50CDFEFEFEFEFEFEFE
+ FE6BFFFFFF50FEFEFEFFFFFFFFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFFFFFF1A
+ CDFEFE8117173203FEFE81FFFFFF32FEFEFEFEFEFEFE81FFFF1AFEFEFEFFFFFF
+ 71FEFEFE32FF82FEFECD8217822881FEFE030A9050CDFEFEFEFEFEFE6BFEFEFE
+ 030B5B47E0CDFEFEFEF4D9F4FEFE2D272309381FB363333305674A67012FC194
+ 9F772E944AF02179795C10A1444B885DC8754D75BF7E4C064C4C9B06107821C9
+ 4D4D66665993ABC81D455654543A3A54B09A4B6F5624F00D5F48834806543E1D
+ 5D54351E1E351E1E3DD78399064B44765D5D139213653ECB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFEFE6B71033281
+ FEFEFEFE03FFFF827128FF1A7AFEFEA6FFFF17FEFECD17FFFFFFFF1A32FFFF03
+ FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF7AFEFEFECD82710303176B7AFFFF71FE
+ FEFE1728FF037AFEFEB828FFFF81FEFE71FFFFFFFFFF17FEFE82FFFFFF17FEFE
+ FE03FF71FF03FEFEFEFFFFFFFFFFFF7AFEFE7A03FF2817FEFEFE17FFFFFFFEFE
+ FEFFFFFFFFFFFFFFFFFF03FEFEFE03FFFFFFFFFFFFFFFF17FEFEB8FFFFFFFF1A
+ FEFE7AFFFF1ACDFEFE7A71FFFF1A32FFFFFFFEFEFEFFFF28B8FEFE6BFFFFCDFE
+ FE32DDDDDB646BFEFE710A1681FEFECD32EEC4D3FEFEFEFE030BEDFACDFEFE81
+ 9647305151E0E0028C09381F34B3330505674A0178878731249FA4A4247B108B
+ 10AB21BF35450D546EAA744859069E0606BD594C48C9064C4DAA75754D14211D
+ 54487676543A353A3A9A4BCA3A59453A95B25643BF541D929C3E441D761D5D35
+ D7541E35134B3A541E1E3DC01D4465CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF7AFEFEFE17FFFFFFFFFF6BFEFEFE6BFFFFFF
+ FFFFFFFF82FEFEA6FFFFB8FEFE17FFFFFFFFFFFFFFFFFF1AFEFEFEFFFFFFFFFF
+ FFFFFFFFFFFFFF17FEFEFE8128FFFFFFFFFFFFFFFFFFB8FEFE17FFFFFFFF28CD
+ FEFE17FFFF81FEFE17FFFFFFFFFF17FEFE81FFFFFF17FEFEB8FFFFFFFF1AFEFE
+ FEFFFFFFFFFF32FEFECD28FFFFFFFF17FEFECDFFFFFFFEFEFEFFFFFFFFFFFFFF
+ FFFF03FEFEFE03FFFFFFFFFFFFFFFF17FEFE7AFFFFFFFFFFFEFEFEFFFF17FEFE
+ CD28FFFFFFFFFFFFFFFFFEFEFEFFFF82FEFEB828FFFFFEFEFE71FFDD646417FE
+ FE170A7FFEFEFE3290E3703CD3FEFEFE03E31BC7FEFEB8C4190436294F4E0F2B
+ 8C2AC21F3434333305674A017887C19F9F9FA48B8B21797B5C797BBF35565E54
+ C84D664C750659590D6EBFAABF1010994D660666B798211D92483A4576453E3A
+ C86E4B9D459A4583B2594C83C9C81EC5441E4B5D5D131D3ED73ED74B3E441E54
+ 1D1E3E133E3E3DCB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFEFEFEFEFFFFFFFFFFFF28FEFEFEB8FFFFFFFFFFFF71CDFEFE71
+ FF50FEFEFE28FFFFFFFFFFFFFFFFFFFFFEFEFE03FFFFFFFFFFFFFFFFFFFFFFCD
+ FEFEB828FFFFFFFFFFFFFFFFFF1AFEFEFE1AFFFFFFFFFF82FEFE81FFFF17FEFE
+ 17FFFFFFFFFF17FEFE81FFFFFF71FEFE7AFFFFFFFFFFFEFEFE03FFFFFFFF6BFE
+ FE6BFFFFFFFFFF28FEFEFE03FFFFFEFEFE03FFFFFFFFFFFFFFFF03FEFEFE03FF
+ FFFFFFFFFFFFFF1AFEFEFEA61AFFFFFFFEFEFEFFFFA6FEFE6BFFFFFFFFFFFFFF
+ FFFFFEFEFEFF50FEFEFE50FFFFFF6BFEFECD32FFFCFC17FEFE170A03FEFEFE28
+ 070B18E818B8FEFE0308E8D8FEFE820B4704223636694F0FD600971FB3343333
+ 330501782F582F9494772E2E2E778BA8AB10107ECA8399264D4D4D0694F0774C
+ 4C0D4C749F78D5C6934D5F0D95AB999C765935C8CCD4BF4B4CACB5C8458BC976
+ 9C5643AD7D4B35353A5444C910CC834B26458821593E1576445D1E3E653E1DB4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFE
+ FE7AFFFFFFFFFFFFFF7AFEFEFEFFFFFFFFFF82FEFEFE17FFFF03FEFEFEFFFFFF
+ FFFFFFFFFFFFFFFFFEFEFE03FFFFFFFFFFFFFFFFFFFF03FEFEFE32FFFFFFFFFF
+ FFFFFFFFFF03FEFEFEFFFFFFFFFFFF03FEFEFEFFFF17FEFE82FFFFFFFFFF03FE
+ FE7AFFFFFF03FEFEFEFFFFFFFFFFFEFEFE03FFFFFFFF81FEFE17FFFFFFFFFFFF
+ 81FEFE17FFFFFEFEFE03FFFFFFFFFFFFFFFF03FEFEFE03FFFFFFFFFFFFFFFFFF
+ 32CDFEFEFE7A825081FEFE50FF81FEFE17FFFFFFFFFFFFFFFFFF81FEFE507AFE
+ FE17FFFFFFFF2881FEFEFECDA63271FEFEA60A03FEFEFE6407B1181B1BD8FEFE
+ 170818D9FEFE17613C86195B191947040F8C972CB33463050567014A4A582FC1
+ 87949F778B8B2E211010A15C3593A58E6F4C759B2EF0871010060D7B2105F32E
+ 934C5FA1B5A521B21E483A547BD51006BD7EA1BF4DAB24B23A839E06314C4B76
+ 1E443AD424CCB2984310D4993A1E3E3E5476541E5D5D5D9A0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE81FFFFFFFFFFFF
+ FF81FEFEFEFFFFFF2881FEFECD71FFFFFF03FEFEFEFEFEFEFEFEFEFEFEFEFFFF
+ FEFEFE03FFFFFFFFFFFFFFFFFFFF17FEFEFE1AFFFFFFFFFFFFFFFFFFFF03FEFE
+ FEFFFFFFFFFFFF03FEFEFEFFFF17FEFE81FFFFFFFFFF03FEFEFEFFFFFF03FEFE
+ FEFFFFFFFFFFFEFEFE03FFFFFFFF81FEFE17FFFFFFFFFFFF81FEFE17FFFF81FE
+ FE03FFFFFFFFFFFFFFFF03FEFEFE030317177128FFFFFFFFFF28177AFEFEFEFE
+ CDFEFE03FF81FEFE17FFFFFFFFFFFFFFFFFF81FEFE82FEFECDFFFFFFFFFFDDFC
+ 036BCDFEFEFECDFEFE810A1AFEFEFE1AEE0B18861BD3FEFE170818D9FEFEFEFE
+ FEFEFEFEFEFEFEF1E523F22C341F2C0505674A34344A2F582FC17394777777A4
+ A87910C94B99BC140666AA06A40178AB5C77A8AB8B01D421AA66BFBF8EF53F54
+ 4C5656592FD421985C105C06D578CC4C064C595E8D9326765D0D31D421B6590D
+ 06998DBF3A459C7654545D1E5D5D54B00000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF81FEFEFEFFFFFFFFFFFFFF82FEFEFE28FFFF
+ 81FEFE7A1AFFFFFFFFFFFEFEFE710303030317FEFEFEFFFFFEFEFE17FFFFFFFF
+ FFFFFFFFFFFF17FEFEFEFFFFFFFFFFFFFFFFFFFFFF28FEFEFE71FFFFFFFFFF32
+ FEFEB8FFFF17FEFEFE28FFFFFFFF71FEFEFEFFFFFF28FEFEFEFFFFFFFFFFFEFE
+ FE17FFFFFFFF82FEFE7AFFFFFFFFFFFFB8FEFE32FFFF81FEFE03FFFFFFFFFFFF
+ FFFF03FEFEFE03B8FEFEFEFE82FFFFFFFFFFFFFF280382B8FEFEFE32FF82FEFE
+ 7AFFFFFFFFFFFFFFFFFF81FEFE717AFEFE32FFFFFFDDDDFCFCDBDB5032A6FEFE
+ FEB80A16B8FEFE17BB0870E8E8D3FEFE17081BF1FEFEA60389892D89F4FEFED3
+ 22D6092CB3B31F0533674A05057858783131949F949F2E8BAB7921A15699A55E
+ B5060DA1BF7979A106A8BFBF0DAB0DBF66BFBF0693525243543A4C062106489E
+ 9DAA9D4C7910BF9E599E458E98C8CA1E4B98CC48454B3A13C8D74C4B5D1E1D3E
+ 1E1E3E3D653E3EC50000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF81FEFEFEFFFFFFFFFFFFFF17FEFEFE03FF50FEFEFE28FFFFFFFF
+ FFFFA6FEFE32FFFFFFFF32FEFEB8FFFFFEFEFECD50FFFFFFFFFFFFFFFFFF17FE
+ FEFEFFFFFFFFFFFFFFFFFFFFFFFFA6FEFEA6FFFFFFFFFF81FEFE6BFFFF71FEFE
+ FEA6FFFFFFFFA6FEFEFEFFFFFFFFFEFEFE28FFFFFFFFFEFEFECD50FFFFFF50FE
+ FEFE50FFFFFFFF03FEFEFE1AFFFF81FEFE03FFFFFFFFFFFFFFFF1AFEFEFE71FE
+ FEFEFEFEFE6BFFFFFFFFFFFFFFFFFF28B8FEFE17FF71FEFEFE03FFFFFFFFFFFF
+ FFFF81FEFE0350CDFEFE71FFFFDDFCFCDBDBDB64FC6417FEFEFE0A0ED3FEFECD
+ 500E08B1B1D3FEFEA6611BA0FEFEB8EE3C5B4786B8FEFEC7E5F9F21FB36363F3
+ 67670178F087879424A42E8B7B21A879795C2166B75E5E14B774B74DBD4C4856
+ 4C9D564D9E454C4C93489B59143B53A73A3A5435763AC8C8B0CA3AB54B3A3A4B
+ 4B5683AD434B26353E1D1D1E1E444435C813484B76351D445D1E1D3D3E1315CB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6FE
+ FEFEFFFFFFFFFFFFFF17FEFEFE03FF03FEFEFE17FFFF1A32FFFF03FEFECD03FF
+ FF287AFEFE17FFFFFEFEFEFECD821703FFFFFFFFFFFF71FEFEFE71FFFFFFFFFF
+ FFFFFFFFFFFF50FEFEFEA61AFF1A6BFEFEFE50FFFF03FEFEFEFEB882177AFEFE
+ FECDFFFF5003FEFEFE17030328FFFEFEFEFECD821703FFA6FEFECD32FFFF71CD
+ FEFEA6FFFFFF81FEFE71FFFFFFFFFFFFFFFFFFFEFEFE7128FF507AFEFEFE03FF
+ FF0328FFFFFFFFFFB8FEFE17FFFF7AFEFECD3228FF280303FFFF81FEFE03FF32
+ FEFECD50FFDDFC1A50DDFCFC64DB32FEFEFEBBEE617AFEFECD321AEEEE6BFEFE
+ 81611960D9FEFE6BC43C18F6FEFECDD02700392CB36333674A01F058D1C1872E
+ 8B79C90DBFBF754D4D4D56954556459E453B7D1480373E1E1E3544134435443E
+ 6C443E5D253FA7C945441D1E3E441E1D443E3E44443E44543BA13A8044921313
+ 13923E15153E153E1515351D1D54C0C09265A9A9C09213AE0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFE1AFFFFFFFFFF
+ FF03FEFEFE03FFFFB8FEFEFEFEFEFECDFFFFFF32FEFEFE7A81FEFEFE7A28FFFF
+ FEFEFE7AFEFEFE17FFFFFFFFFFFF28FEFEFE6BFFFFFFFFFFFFFFFFFFFFFFFF32
+ FEFEFEFEFEFEFEFEFE32FFFFFF03FEFEFE81FEFEFEFEFEFEFE82FFFF81FEFEFE
+ FEFEFEFE03FFFEFEFE7AFEFEFE17FF287AFEFEFEFEFEFEFEFE7A28FFFFFF81FE
+ FE17FFFFFFFFFFFFFFFFFFFEFEFE03FFFFFF28CDFEFE6BFFFF82FE7A6B17177A
+ FEFEFE50FFFF50CDFEFEFEFEFEFEFE17FFFFA6FEFE32FFFFA6FEFEB828FCDB28
+ FECD8117176BCDFEFEA6166108C47AFEFEFEFEFEFEFEFEFEB8E3473096F4FEFE
+ CD81B8FEFEFEC72262F2381F3433054A7858C17331319F7BC975B648B245956F
+ C84B35449A9ACACA543B3B841DAC1313921D13921D1D151D6C1D1D3D3D3B983A
+ 1E13131D1D131D1315C0C01313C015138E5615B4CB15151513C03E133D65C015
+ 131544C51D15A9C09265C013651365A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFF03FEFEFE17FFFF
+ 5081FEFEFEFEFE6BFFFFFFFF037AFEFEFEFECD6B28FFFFFFFEFEFE716BFEFE17
+ FFFFFFFFFFFFFF6BFEFEFE03FFFFFFFFFFFFFFFFFFFFFFFF1A6BFEFEFEFEFEA6
+ 03FFFFFFFF03FEFEFE2882CDFEFEFECD82FFFFFF81FEFEFEFEFEFEFE03FFFEFE
+ FE716BFEFE17FFFFFF32B8FEFEFEFEB81728FFFFFFFF6BFEFE17FFFFFFFFFFFF
+ FFFFFFFEFEFE03FFFFFFFF81FEFE81FFFF0381CDFEFEFEFEFEB871FFFFFFFF1A
+ 6BFEFEFEFEFECD50FFFF17FEFE17FFFF28CDFEFE7A28DBDB6B7AFEFEFEFEFEFE
+ 6B7F0708E30BE3F67AFEFEFEFEFEFEFEF418EB512296F8CDFEFEFEFEF432510F
+ 009738B33433674A015831D4319F8BA85C0DBF064D4D4C4856454B6F6FB044B4
+ 3D3B5E3DAC7C3554C83A3A83453A3A56953A9C76A37D986A133E441E35444435
+ 764B4B7676C8544B439D1D1DC53537445D1E545D4B3A5D545D5435763792135D
+ 3E1E651E1E3E1ECB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFF03FEFEFE17FFFFFFFF28030350FFFF
+ FFFFFFFFFFFF28030350FFFFFFFFFFFFFFFFFFFFFF1A031AFFFFFFFFFFFFFF1A
+ CDFEFECD71FFFFFFFFFFFFFFFFFFFFFFFFFFFF030303FFFFFFFFFFFFFFFFFFFF
+ FFFFFFFF500303FFFFFFFFFFFFFF81FEFE03FFFFFFFFFFFFFFFFFF1A031AFFFF
+ FFFFFF1A03031AFFFFFFFFFFFFFF17FEFE17FFFFFFFFFFFFFFFFFFFEFEFE03FF
+ FFFF28CDFEFE81FFFFFFFFFF2803030328FFFFFFFFFFFFFFFFFF0303031AFFFF
+ FFFF17FEFE17FFFFFFFFFFFFFFFCFC640A646450030350BB16EE61E30BB17070
+ 700B89898989FBE819C351E5693622300C2D2D9604690FF92AF2382CB3B33305
+ 4A01739FC131217B7B79CCA8C910C910AB10107EA10D4D3A3D995E3D3A914556
+ 484C5906064C9E064C480659A38F0DAC4476764B3A3A4B4556459C4545454545
+ 5E9D441D7C355D35C8545454544B4B4B544B6A7637A9655D4B5D1E5D443E1EB4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FE
+ FEFE03FFFFFFFFFFFF28FEFEFE17FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32FEFEFEFE7A1703
+ 0371177A03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFE32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFE17FFFFFFFFFFFFFFFFFFFEFEFE6B171717B8FEFEFE17FF
+ FFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFE17FFFF
+ FFDDFCFFFFDBDB640A0A0ABBBB1616EE0761080BB1703C18E81B86ED195B6049
+ 0451364F4E4E4E4E4E4E4E270F2B55000939F72CB3346305674A317731C18BD5
+ 8B7BCC79A810A8A8C90D0D66660D75B55D7D5EA39B919C564548489E064C484C
+ 7448065954B95E6C353A76C83A833A45953A3A3A3A4545457E3A44923A443554
+ 35C8C8C854355454543A3580C5921E651E13445D3E441ECB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03FEFEFE17FFFFFFFFFF
+ FFFFFEFEFE6BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03CDFEFEFEFEFEFEFEFEFE28FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A17
+ 8117FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FE
+ FE81FFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFE7A28FFFFFFFFFFFFFCFCFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEA6FFDDFFFFFFFCFCFCDB64
+ 0A0ABBBB900EEE076108E30B703C18E886195B4742EB30512236294E270F0F0F
+ 02022B62552300EC9739381FB3346333674A312431877B248B7979A8C9105C7E
+ A8A17EA10D107E9B1E7D5EA34D91484556B64848590659594D4C7598265206AC
+ 543A76544B833A7645459595569E9E483BADCACB9C351E541EC8547676C83A76
+ 263AC8356C151E5D1D137676445D54B40000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF03FEFEFE17FFFFFFFFFFFFFFFEFEFE81FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFF28177AFEFEFEFEFEFE7AFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFE81FFFFFFFFFFFF
+ FFFFFFFEFEFEFEFEFEFEFECD6B28FFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFF17FEFE81DDFFDDFCFFFFFCDB640A0ABB16160EEE0761
+ 0808E3B1703CE886195B4742BE04512236294F4E270F02022B1CEF232300ECF2
+ C2F7381FB3346305674AC1D49F877BD2A47B21A85C105C7E5C0D7E7EAA7E0D6E
+ 3E7D7EA34D9B064548065956484C4C4C4D4D060684B99DB4763A453A4B45B276
+ 3AB5B595489EB79D93C86C1D4BB21E35459544CA9A9A956F263580ACCB923E45
+ 45560DB63E5D54B40000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF03030350FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDDFFFCFCFC0AFC640A0ABB16160EEE076108E30B707018E886
+ 19476049300451EA36294E270F0F022B1C1C238C8CECEC09C2382C1FB3633305
+ 674A58D49F2F7B24A48BABA85C10A1667E667E7E665C5C481E8B99A34C9BBF26
+ 59A10D9EB24C5959AA7575982552BDAC3A45B6483A48593A6F3A95BD4874483A
+ CAC86CB03A10B2458BC93A9A9A9A569556353AB0C5C5C888CCCCD5BF1D4435B4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFC
+ FFDBFFDB640A0ABBBB161690EE07610808E3B1703C181BED5B4742BE30042236
+ E54F4E270F0F022B1CEF238C00EC0909C2382C1F3463330567675894242FD2D5
+ CF2F8B7B2F87BFA1A1060D5CA17EA19B843F3BCA759B2F569888C12659598359
+ 4D750D14145206AC3A83F00688F02E2626AD833A4C4559569845352644D47B99
+ 8B4DCACA4B4B4B3A9C9C06B2441E1ED5CC8B103A134435CB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFCFCFFFFFCFFFFFFFFFFFFFFFCFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDFCFCDB0A0A0A0A
+ BB16160EEE076108E30B703C3CE886195B60493004512236694F27270F02022B
+ 1C55238C002A090939F72C1F34630505674A5894C1D1D49FA44A9F2158F00D7E
+ ABA1A1A166A1A14D938F3F25069B012EA17B2EB74C4C7498064806433BF55E6A
+ 454CD5CC06310D3A9595957645455999D2481D9A3A9F217EC99EC8C8264BC84B
+ 35060D4544541D06764545C83554C8AC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFCFCFCFCFFFCFCFCFCFCFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFDDFCFC640A0A0A0ABB1690EE070761E3
+ E30B703C181B86194760BE3004513636294E27270F022B621C558C0000EC0909
+ C2382C1F34633305674A58942F53312E24672F2E2F2FA8A85C667566660D0D4D
+ 1453528E069B77D55C775C66749B74744DB5BF433FBC3B6E489BA87B4C214C9B
+ 56489B48484893B97B484B4BD79D4B5606B7BD95BDB54BC88EAB5992A96F9A4B
+ 56959556454B44CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFC
+ FCFCFCFFFFFFFCFCFFFFFFFFFCFFFFFCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFCFCFC640A0A0ABBBB16160E07076108E30BB1703CE81B195B
+ 47C3BE30042236E54F4E270F0F022B62D6558C8C002A09F239382C1F34630505
+ 67017824C1AFA52E8B77777777A48B79AB1010105C5C664D5EAF5384065F7510
+ 667BAAAB7E0D7E0D0D4CBFB7B9535E6A729AAA7E66667E5C7EA1A1759B488EA5
+ A49DCAC8BD4D744D4D4D4D4C74B79DB5A3B98F06CACAB06E3AC8C83A954BC8AC
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFCFF
+ FCFFFFFCFCFFFCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCDB0A0A0ABBBBBBBB90EE07610808E30B7070181B8619476049300451223669
+ 4F4E270F02022BD6EF558C002A09F2C2F7382C1FB3633305674A7894C111BCCF
+ 7B798B77A48BA4A42E2E7B79A85C064DB96DAF14B79B5F0D7EA87E7979A85C5C
+ 7E0648AAF5BCB9747472064D66747E66AA4D5F6EB59314BCAFA44C9AB0B5849A
+ 84B5BD3A3ABD48B7A75A5AF57B0659757E7E5C5CC99979790000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFFFCFFFFFCFCFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCDB64640A0ABBBBBB
+ 1690EE076108E30BB1703CE81BED194742493004222236294F270F0F022B62EF
+ EF238C00ECECF2C2F7382C1F3463330567012F2F5A1185A48B2EA421A47B218B
+ 7979A85C5C66665CAF5A6D53C94CAA06664DAAAAAA4D4D4D14064C79BCBAF577
+ 9DB572B5B5729DB574744D4D6610D45AFDAF01C1772E9FC1C12FF0014ABCAFBA
+ 5AFDFD6D5A5A5A5A5A5A5ACEBACE5A2C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFFFFFCFCFCFCFCFFFFFCFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFDDFFFFFFFFFFFFFFFFFFFFDDDBDBDB640A0A0ABBBBBB16EEEE616108E30B
+ 703C3C1B86ED4760C330040422EA69294E270F0F022B621C55238C002A09F2C2
+ F72C1FB334330505670178F31111110524D22E21D221AB10AB79AB1079792EF0
+ FD6DFD6D0587318F3131C12FA5F07801F0010185BA6D5AAF0101F5BC058585BA
+ BABACEBACEBA5A6DFDFDFDFDFDFD6D5A5A6D6DFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCDBDBDBDBDB
+ DBFCFFFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFCFCFCFCDB640A0ABBBBBBBB160EEE076108E3E30B703C181B865B4760
+ C33004512236294F4E270F02022B1CEF23238C00EC0909E78A39F738112C2C1F
+ CECE6D41111111FD5ACE5A6D6D6D6D5A5A5A5A5A5A5A6DFDFDFDFDFDFDFD6D6D
+ 5A6D5A6D5A5A5A5A5A5A5AFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFFFCFCFCFC
+ FCFCFFFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBFCFCDB
+ 640ABBBBBB16160EEE07616108E30B70703CE81B195B47C3BE040422EAE5294E
+ 27270F022B621CEF238C8C00ECECEC6868E78A8A464646414141411111111111
+ 1111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
+ FCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFCFCFCFCFCFCFCFCFCFFFCFCFFFF
+ FFFFDDFFDDDDFFFFFFFFFFFFDDFFFFFFFFFFFFFFFCDBDB64640A0ABBBB16160E
+ EE07610808E3B1703C181BED194760493004512236E54F4E270F0F022B1C1C55
+ 238C00ECECECEC09688A8A8A4646464141414111111111111111FD1111FDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBDBDBDB
+ DBDBDBDBDBDBDB6464FCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFDDFFFFFFFFFFFF
+ FFFFFFFFFCDDFFFFFCFFFFFCDB64640A0A0ABBBBBB160EEE07610808E30B7070
+ 3CE81B195B4742BE300451EAE5294F4E270F02022B1C1C558C8C0000ECEC6868
+ E78A8A46464646414141411111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB6464646464
+ 64FCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFDDDDFFFFDDFFFFFFDDFFFFFFFFFFFC
+ FFFFFCFCFCFC640A0A0ABB1616160EEE076108080B0B703CE81B86194760C3BE
+ 04512236E54F4E270F0F022B2B1CEF8C8C0000ECECEC0909DCE7464646464141
+ 4111411111111111FDFD11FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB646464646464FCFC64FCFCFCFCFC
+ FCFCFCFCFCFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBFCDBDBDB0A0A
+ 0ABB1616160E0E07616108E30B70703CE886195B474249305151223669294E27
+ 0F0F022B2B1CEF238C8C0000ECEC096868E7E78A8A4646414141414111411111
+ 1111111111111111111111111111111111111111111111111111111111111111
+ 1111111111111111111111111111111111111111111111111111111111111111
+ 11111111111111111111111111111111111111111111118A0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFCFCFCFCFCDB
+ DBDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A646464646464DBFCFCFCDBFCDBFFFFFF
+ DDDDFFDDFFFFFFFFFFFFFFFFFFFCFCFCFCFFFCDBDB0A0A0ABBBB160E16EEEE07
+ 070808E30BB13C3CE81B86194760C3BE3004512236E54F4E4E270F0F022B2B1C
+ 1C55558C8C8C0000002A2AECECEC09EC09096868686868686868DCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCEC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB
+ DBDBDBDBDBDB64DBDBDBDBDBDBDBDBFCFCDBFCDBFFFFFFFFFFFFFFDDDDFFFFFF
+ FFFFFFFFFFFCFCFCFCFCFCDBDBDBDB640A0ABBBBBB160EEEEE07616108E3E3B1
+ 703C18181BED195B4760C349303004515122EAEAE5E529294F4F4E4E27272727
+ 270F0F0F0F0F0F0F0F0202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 020202020202020F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDDFCFCFCFCFCFCFCFCFCDD
+ DDDDDDDDDDFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFC640A0A0A0A0ABB161616900EEE0707610808E3E30B0BB170
+ 3C3C3C18E81B1B86EDED19195B5B4747474760604242C3C3C3C3494949494949
+ EBEBEBBEBEBEBE30BEBE30303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303049
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFDDDDFCFCFCFCFCFCFCFCDBDBDBDBDDFCFCFCDDDDFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDDFCFC64
+ 640A0A0A0ABB161616900EEE070761080808E3E30BB17070703C3CE81B1B1B86
+ ED1919195B5B4747476060424242C3C3C3494949494949EBBEEBBEBEBEBE3030
+ BE30303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030490000FCFCFCFCFCFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB
+ DBDB6464646464640A0A0A0A0A0A6464646464DBDBDBDBDBDBDBDBFCFFFFDDDD
+ FFDDFFFFFFFFFCFFFFFFDDFFFFFCFCFCFCDBDBDBDB640A0ABBBBBBBB16EEEE07
+ 610808E3E3B170703C181B86ED195B4742C3BE300404512222EA36E529294F4F
+ 4E4E4E272727270F0F0F0F0F0F0F020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020F0000FCFCFCFCFCFCFCFCFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCDBDBDBDBDBDBDB64640A0A0A0A0ABBBBBB
+ BBBBBBBBBBBB0A0ABB0A0A0A0A0A0A0ADB64FCFCFCFFDDDBFFFFDDFFFFFFFFFF
+ FFFFFCFFFFFFFC64DBDBDB0A0A0ABB161690EEEE07070808E30BB1703C181B1B
+ 195B476049300451512236294F4E27270F0F022B2B1C1CEF558C8C0000000000
+ ECECECECECEC09090968686868686868DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCEC0000FCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFF
+ FCFCFCFCFCFCDBDBDBDBDBDBDB640A0A0A0A0ABBBBBBBBBBBBBBBBBBBBBBBBBB
+ BB0A0A0A0A0A640A6464DBFCFCDDFCFFDDFCFFFFFFFFFFFFFFFFFFFFFFFCDBFC
+ 640A0A0ABBBBBBBB900EEE07616108E3E30B703C18E81B191947604930040451
+ 223669294E27270F02022B2B621CEF55238C8C00000000ECECECEC0909096868
+ 68E7E768E7E78AE7E78A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
+ 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
+ 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8AEC
+ 0000}
+ Login.LeftImage.Data = {
+ 07544269746D617016090000424D160900000000000036040000280000003200
+ 0000180000000100080000000000E00400000000000000000000000100000000
+ 000000000000000080000080000000808000800000008000800080800000C0C0
+ C000C0DCC000F0CAA6000020400000206000002080000020A0000020C0000020
+ E00000400000004020000040400000406000004080000040A0000040C0000040
+ E00000600000006020000060400000606000006080000060A0000060C0000060
+ E00000800000008020000080400000806000008080000080A0000080C0000080
+ E00000A0000000A0200000A0400000A0600000A0800000A0A00000A0C00000A0
+ E00000C0000000C0200000C0400000C0600000C0800000C0A00000C0C00000C0
+ E00000E0000000E0200000E0400000E0600000E0800000E0A00000E0C00000E0
+ E00040000000400020004000400040006000400080004000A0004000C0004000
+ E00040200000402020004020400040206000402080004020A0004020C0004020
+ E00040400000404020004040400040406000404080004040A0004040C0004040
+ E00040600000406020004060400040606000406080004060A0004060C0004060
+ E00040800000408020004080400040806000408080004080A0004080C0004080
+ E00040A0000040A0200040A0400040A0600040A0800040A0A00040A0C00040A0
+ E00040C0000040C0200040C0400040C0600040C0800040C0A00040C0C00040C0
+ E00040E0000040E0200040E0400040E0600040E0800040E0A00040E0C00040E0
+ E00080000000800020008000400080006000800080008000A0008000C0008000
+ E00080200000802020008020400080206000802080008020A0008020C0008020
+ E00080400000804020008040400080406000804080008040A0008040C0008040
+ E00080600000806020008060400080606000806080008060A0008060C0008060
+ E00080800000808020008080400080806000808080008080A0008080C0008080
+ E00080A0000080A0200080A0400080A0600080A0800080A0A00080A0C00080A0
+ E00080C0000080C0200080C0400080C0600080C0800080C0A00080C0C00080C0
+ E00080E0000080E0200080E0400080E0600080E0800080E0A00080E0C00080E0
+ E000C0000000C0002000C0004000C0006000C0008000C000A000C000C000C000
+ E000C0200000C0202000C0204000C0206000C0208000C020A000C020C000C020
+ E000C0400000C0402000C0404000C0406000C0408000C040A000C040C000C040
+ E000C0600000C0602000C0604000C0606000C0608000C060A000C060C000C060
+ E000C0800000C0802000C0804000C0806000C0808000C080A000C080C000C080
+ E000C0A00000C0A02000C0A04000C0A06000C0A08000C0A0A000C0A0C000C0A0
+ E000C0C00000C0C02000C0C04000C0C06000C0C08000C0C0A000F0FBFF00A4A0
+ A000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFF
+ FF00FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD525252525252525252525252
+ 5252FDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDAFB75E5E5E66666767676F6F6F6FB752FDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBF
+ BFBFBFBFBFBFBFBFBFB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFB76F676F6FB7B7B7B7B7776F5EB752FD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBFBFB752FDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFB76F676F6F6FB7B7
+ B7B7776F5EB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBFBFBF52FDFDFDFDFD
+ 0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAF
+ B76767676F6F6FB7B7B7776F5EB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBF
+ BFBF52FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDAFB76767676F6F6F6FB7B7776F5EB752FDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBF
+ BFBFBFBFBFBFBFBFBFBF52FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBFB7AFAFB7B7B7B7BFBFBFBFB7B752FD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDAFB76F675E5E5E5E5E5E676FB7A5FDFDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F79BFDFDFDFD
+ FDFDA4F7A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDF7F79BFDFDFDFDFDFDA407A3FDFDFDFDFDFDFD
+ 0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDF7F79BFDFDFDFDFDFDA407A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F7A4FDFDFDFDFDFDF707
+ A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDF707A49AFDFDFDFDA30707A3FDFDFDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F6A4
+ A49B9A9AA3A407079AFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F6F7F7A4A4F70707A3FDFDFDFD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDF7F6F6F6F6F607A3FDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7A3A3A3
+ A3A3FDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ 0000}
+ Log.WindowCaption = 'Seguran'#231'a'
+ Log.LabelDescription = 'Log do Sistema'
+ Log.LabelUser = 'Usu'#225'rio :'
+ Log.LabelDate = 'Data :'
+ Log.LabelLevel = 'N'#237'vel m'#237'nimo : '
+ Log.ColLevel = 'N'#237'vel'
+ Log.ColMessage = 'Mensagem'
+ Log.ColUser = 'Usu'#225'rio'
+ Log.ColDate = 'Data'
+ Log.BtFilter = '&Aplicar Filtro'
+ Log.BtDelete = '&Excluir Log'
+ Log.PromptDelete = 'Confirma excluir todos os registros de log selecionados ?'
+ Log.BtClose = '&Fechar'
+ UsersForm.WindowCaption = 'Seguran'#231'a'
+ UsersForm.LabelDescription = 'Cadastro de Usu'#225'rios'
+ UsersForm.ColName = 'Nome'
+ UsersForm.ColLogin = 'Login'
+ UsersForm.ColEmail = 'Email'
+ UsersForm.BtAdd = '&Adicionar'
+ UsersForm.BtChange = 'A<erar'
+ UsersForm.BtDelete = '&Excluir'
+ UsersForm.PromptDelete = 'Confirma excluir o usu'#225'rio "%s" ?'
+ UsersForm.BtRights = 'A&cessos'
+ UsersForm.BtPassword = '&Senha'
+ UsersForm.BtClose = '&Fechar'
+ AddChangeUser.WindowCaption = 'Cadastro de Usu'#225'rios'
+ AddChangeUser.LabelAdd = 'Adicionar Usu'#225'rio'
+ AddChangeUser.LabelChange = 'Alterar Usu'#225'rio'
+ AddChangeUser.LabelName = 'Nome : '
+ AddChangeUser.LabelLogin = 'Login : '
+ AddChangeUser.LabelEmail = 'Email : '
+ AddChangeUser.CheckPrivileged = 'Usu'#225'rio privilegiado'
+ AddChangeUser.BtSave = '&Gravar'
+ AddChangeUser.BtCancel = 'Cancelar'
+ AddChangeProfile.WindowCaption = 'Perfil de Usu'#225'rios'
+ AddChangeProfile.LabelAdd = 'Adicionar Perfil'
+ AddChangeProfile.LabelChange = 'Alterar Perfil'
+ AddChangeProfile.LabelName = 'Descri'#231#227'o : '
+ AddChangeProfile.BtSave = '&Gravar'
+ AddChangeProfile.BtCancel = 'Cancelar'
+ UsersProfile.WindowCaption = 'Seguran'#231'a'
+ UsersProfile.LabelDescription = 'Perfil de Usu'#225'rios'
+ UsersProfile.ColProfile = 'Perfil'
+ UsersProfile.BtAdd = '&Adicionar'
+ UsersProfile.BtChange = 'A<erar'
+ UsersProfile.BtDelete = '&Excluir'
+ UsersProfile.BtRights = 'A&cessos'
+ UsersProfile.PromptDelete = 'Existem usu'#225'rios com o perfil "%s". Confirma excluir?'
+ UsersProfile.BtClose = '&Fechar'
+ Rights.WindowCaption = 'Seguran'#231'a'
+ Rights.LabelUser = 'Permiss'#245'es do Usu'#225'rio : '
+ Rights.LabelProfile = 'Permiss'#245'es do Perfil : '
+ Rights.PageMenu = 'Itens do Menu'
+ Rights.PageActions = 'A'#231#245'es'
+ Rights.BtUnlock = '&Liberar'
+ Rights.BtLock = '&Bloquear'
+ Rights.BtSave = '&Gravar'
+ Rights.BtCancel = '&Cancelar'
+ ChangePassword.WindowCaption = 'Seguran'#231'a'
+ ChangePassword.LabelDescription = 'Trocar Senha'
+ ChangePassword.LabelCurrentPassword = 'Senha Atual :'
+ ChangePassword.LabelNewPassword = 'Nova Senha : '
+ ChangePassword.LabelConfirm = 'Confirma'#231#227'o : '
+ ChangePassword.BtSave = '&Gravar'
+ ChangePassword.BtCancel = 'Cancelar'
+ ResetPassword.WindowCaption = 'Definir senha do usu'#225'rio : "%s"'
+ ResetPassword.LabelPassword = 'Senha : '
+ XPStyleSet.DimLevel = 30
+ XPStyleSet.GrayLevel = 10
+ XPStyleSet.Font.Charset = ANSI_CHARSET
+ XPStyleSet.Font.Color = clMenuText
+ XPStyleSet.Font.Height = -11
+ XPStyleSet.Font.Name = 'Tahoma'
+ XPStyleSet.Font.Style = []
+ XPStyleSet.Color = clBtnFace
+ XPStyleSet.IconBackColor = clBtnFace
+ XPStyleSet.MenuBarColor = clBtnFace
+ XPStyleSet.SelectColor = clHighlight
+ XPStyleSet.SelectBorderColor = clHighlight
+ XPStyleSet.SelectFontColor = clMenuText
+ XPStyleSet.DisabledColor = clInactiveCaption
+ XPStyleSet.SeparatorColor = clBtnFace
+ XPStyleSet.CheckedColor = clHighlight
+ XPStyleSet.IconWidth = 24
+ XPStyleSet.DrawSelect = True
+ XPStyleSet.UseSystemColors = True
+ XPStyleSet.OverrideOwnerDraw = False
+ XPStyleSet.Gradient = False
+ XPStyleSet.FlatMenu = False
+ XPStyleSet.AutoDetect = False
+ XPStyleSet.BitBtnColor = clBtnFace
+ XPStyle = True
+ Left = 56
+ Top = 128
+ end
+ object UCXPStyle1: TUCXPStyle
+ Active = True
+ XPSettings.DimLevel = 30
+ XPSettings.GrayLevel = 10
+ XPSettings.Font.Charset = ANSI_CHARSET
+ XPSettings.Font.Color = clMenuText
+ XPSettings.Font.Height = -11
+ XPSettings.Font.Name = 'Tahoma'
+ XPSettings.Font.Style = []
+ XPSettings.Color = clBtnFace
+ XPSettings.IconBackColor = clBtnFace
+ XPSettings.MenuBarColor = clBtnFace
+ XPSettings.SelectColor = clHighlight
+ XPSettings.SelectBorderColor = clHighlight
+ XPSettings.SelectFontColor = clMenuText
+ XPSettings.DisabledColor = clInactiveCaption
+ XPSettings.SeparatorColor = clBtnFace
+ XPSettings.CheckedColor = clHighlight
+ XPSettings.IconWidth = 24
+ XPSettings.DrawSelect = True
+ XPSettings.UseSystemColors = True
+ XPSettings.OverrideOwnerDraw = False
+ XPSettings.Gradient = False
+ XPSettings.FlatMenu = False
+ XPSettings.AutoDetect = False
+ XPSettings.BitBtnColor = clBtnFace
+ UCSettings = UCSettings1
+ Left = 88
+ Top = 128
+ end
+ object MDODatabase1: TMDODatabase
+ ClientLib = clFBClient
+ DefaultTransaction = MDOTransaction1
+ IdleTimer = 0
+ LoginPrompt = False
+ Params.Strings = (
+ 'user_name=SYSDBA'
+ 'password=masterkey'
+ 'lc_ctype=WIN1251')
+ SQLDialect = 3
+ TraceFlags = []
+ Left = 56
+ Top = 88
+ end
+ object MDOTransaction1: TMDOTransaction
+ Active = False
+ AutoCommit = False
+ DefaultDatabase = MDODatabase1
+ Left = 88
+ Top = 88
+ end
+ object UCMDOConn1: TUCMDOConn
+ Connection = MDODatabase1
+ Transaction = MDOTransaction1
+ Left = 120
+ Top = 88
+ end
+end
diff --git a/official/2.20/Demos/1 Basic All Data Access/MDO/Unit1.pas b/official/2.20/Demos/1 Basic All Data Access/MDO/Unit1.pas
new file mode 100644
index 0000000..201ccf9
--- /dev/null
+++ b/official/2.20/Demos/1 Basic All Data Access/MDO/Unit1.pas
@@ -0,0 +1,90 @@
+unit Unit1;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, DB, UCBase, Menus, StdCtrls, Buttons,
+ UCMDOConn, MDODatabase;
+
+type
+ TForm1 = class(TForm)
+ UserControl1: TUserControl;
+ MainMenu1: TMainMenu;
+ Arquivo1: TMenuItem;
+ Abrir1: TMenuItem;
+ Salvar1: TMenuItem;
+ Salvar2: TMenuItem;
+ Salvarcomo1: TMenuItem;
+ Fechar1: TMenuItem;
+ N2: TMenuItem;
+ Dados1: TMenuItem;
+ Importar1: TMenuItem;
+ Exportar1: TMenuItem;
+ N4: TMenuItem;
+ Vincular1: TMenuItem;
+ N3: TMenuItem;
+ Sair2: TMenuItem;
+ Editar1: TMenuItem;
+ Copiar1: TMenuItem;
+ Colar1: TMenuItem;
+ Recortar1: TMenuItem;
+ N1: TMenuItem;
+ Selecionartudo1: TMenuItem;
+ N5: TMenuItem;
+ AreadeTransferencia1: TMenuItem;
+ Exibir2: TMenuItem;
+ Esvaziar1: TMenuItem;
+ Exibir1: TMenuItem;
+ Zoom1: TMenuItem;
+ Normal1: TMenuItem;
+ Grande1: TMenuItem;
+ Ajustarnajanela1: TMenuItem;
+ N6: TMenuItem;
+ Personalizar1: TMenuItem;
+ amanhonormal1: TMenuItem;
+ elacheia1: TMenuItem;
+ Relatorios1: TMenuItem;
+ Relatorio11: TMenuItem;
+ Relatorio21: TMenuItem;
+ Relatorio31: TMenuItem;
+ Relatorio41: TMenuItem;
+ Segurana1: TMenuItem;
+ Cadastrodeusuarios1: TMenuItem;
+ Perfildeusurios1: TMenuItem;
+ logdosistema: TMenuItem;
+ N7: TMenuItem;
+ rocarsenha1: TMenuItem;
+ EfetuarLogoff1: TMenuItem;
+ UCSettings1: TUCSettings;
+ UCXPStyle1: TUCXPStyle;
+ MDODatabase1: TMDODatabase;
+ MDOTransaction1: TMDOTransaction;
+ UCMDOConn1: TUCMDOConn;
+ procedure FormCreate(Sender: TObject);
+ procedure EfetuarLogoff1Click(Sender: TObject);
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ Form1: TForm1;
+
+implementation
+
+{$R *.dfm}
+
+procedure TForm1.FormCreate(Sender: TObject);
+begin
+ MDODatabase1.DatabaseName := '127.0.0.1:' + ExtractFilePath(Application.ExeName) + '..\..\Base.Gdb';
+ MDODatabase1.Connected := True;
+end;
+
+procedure TForm1.EfetuarLogoff1Click(Sender: TObject);
+begin
+ UserControl1.Logoff;
+end;
+
+end.
diff --git a/official/2.20/Demos/1 Basic All Data Access/MyDAC/Project1.dpr b/official/2.20/Demos/1 Basic All Data Access/MyDAC/Project1.dpr
new file mode 100644
index 0000000..08b344c
--- /dev/null
+++ b/official/2.20/Demos/1 Basic All Data Access/MyDAC/Project1.dpr
@@ -0,0 +1,13 @@
+program Project1;
+
+uses
+ Forms,
+ Unit1 in 'Unit1.pas' {Form1};
+
+{$R *.res}
+
+begin
+ Application.Initialize;
+ Application.CreateForm(TForm1, Form1);
+ Application.Run;
+end.
diff --git a/official/2.20/Demos/1 Basic All Data Access/MyDAC/Project1.res b/official/2.20/Demos/1 Basic All Data Access/MyDAC/Project1.res
new file mode 100644
index 0000000..03109fc
Binary files /dev/null and b/official/2.20/Demos/1 Basic All Data Access/MyDAC/Project1.res differ
diff --git a/official/2.20/Demos/1 Basic All Data Access/MyDAC/Unit1.dfm b/official/2.20/Demos/1 Basic All Data Access/MyDAC/Unit1.dfm
new file mode 100644
index 0000000..4628db3
--- /dev/null
+++ b/official/2.20/Demos/1 Basic All Data Access/MyDAC/Unit1.dfm
@@ -0,0 +1,1472 @@
+object Form1: TForm1
+ Left = 170
+ Top = 180
+ Width = 610
+ Height = 350
+ Caption = 'User Control - MyDAC Basic Demo'
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ Menu = MainMenu1
+ OldCreateOrder = False
+ OnCreate = FormCreate
+ PixelsPerInch = 96
+ TextHeight = 13
+ object Panel1: TPanel
+ Left = 56
+ Top = 192
+ Width = 465
+ Height = 73
+ Caption = 'Define the database properties before run this demo!'
+ Color = 8421631
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWhite
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = [fsBold]
+ ParentFont = False
+ TabOrder = 0
+ Visible = False
+ end
+ object UserControl1: TUserControl
+ AutoStart = True
+ ApplicationID = 'MyDACBasic'
+ ControlRight.MainMenu = MainMenu1
+ UsersForm.MenuItem = Cadastrodeusuarios1
+ UsersForm.UsePrivilegedField = False
+ UsersForm.ProtectAdmin = True
+ EncryptKey = 0
+ NotAllowedItems.MenuVisible = True
+ NotAllowedItems.ActionVisible = True
+ Login.AutoLogon.Active = False
+ Login.AutoLogon.MessageOnError = False
+ Login.InitialLogin.User = 'Admin'
+ Login.InitialLogin.Email = 'qmd@usercontrol.com.br'
+ Login.InitialLogin.Password = '#delphi'
+ Login.MaxLoginAttempts = 0
+ Login.GetLoginName = lnNone
+ LogControl.Active = True
+ LogControl.TableLog = 'MyDACBCLog'
+ LogControl.MenuItem = logdosistema
+ ExtraRight = <>
+ LoginMode = lmActive
+ UsersProfile.Active = True
+ UsersProfile.MenuItem = Perfildeusurios1
+ TableUsers.FieldUserID = 'UCIdUser'
+ TableUsers.FieldUserName = 'UCUserName'
+ TableUsers.FieldLogin = 'UCLogin'
+ TableUsers.FieldPassword = 'UCPassword'
+ TableUsers.FieldEmail = 'UCEmail'
+ TableUsers.FieldPrivileged = 'UCPrivileged'
+ TableUsers.FieldTypeRec = 'UCTypeRec'
+ TableUsers.FieldProfile = 'UCProfile'
+ TableUsers.FieldKey = 'UCKey'
+ TableUsers.TableName = 'MYDACBCTabUsers'
+ TableRights.FieldUserID = 'UCIdUser'
+ TableRights.FieldModule = 'UCModule'
+ TableRights.FieldComponentName = 'UCCompName'
+ TableRights.FieldFormName = 'UCFormName'
+ TableRights.FieldKey = 'UCKey'
+ TableRights.TableName = 'MyDACBCTabRights'
+ ChangePasswordForm.MenuItem = rocarsenha1
+ ChangePasswordForm.ForcePassword = False
+ ChangePasswordForm.MinPasswordLength = 0
+ DataConnector = UCMyDACConn1
+ Left = 120
+ Top = 88
+ end
+ object MainMenu1: TMainMenu
+ AutoHotkeys = maManual
+ OwnerDraw = True
+ Left = 56
+ Top = 56
+ object Arquivo1: TMenuItem
+ Caption = 'Arquivo'
+ object Abrir1: TMenuItem
+ Caption = 'Abrir'
+ end
+ object Salvar1: TMenuItem
+ Caption = '-'
+ end
+ object Salvar2: TMenuItem
+ Caption = 'Salvar'
+ end
+ object Salvarcomo1: TMenuItem
+ Caption = 'Salvar como...'
+ end
+ object Fechar1: TMenuItem
+ Caption = 'Fechar'
+ end
+ object N2: TMenuItem
+ Caption = '-'
+ end
+ object Dados1: TMenuItem
+ Caption = 'Dados'
+ object Importar1: TMenuItem
+ Caption = 'Importar'
+ end
+ object Exportar1: TMenuItem
+ Caption = 'Exportar'
+ end
+ object N4: TMenuItem
+ Caption = '-'
+ end
+ object Vincular1: TMenuItem
+ Caption = 'Vincular'
+ end
+ end
+ object N3: TMenuItem
+ Caption = '-'
+ end
+ object Sair2: TMenuItem
+ Caption = 'Sair'
+ end
+ end
+ object Editar1: TMenuItem
+ Caption = 'Editar'
+ object Copiar1: TMenuItem
+ Caption = 'Copiar'
+ end
+ object Colar1: TMenuItem
+ Caption = 'Colar'
+ end
+ object Recortar1: TMenuItem
+ Caption = 'Recortar'
+ end
+ object N1: TMenuItem
+ Caption = '-'
+ end
+ object Selecionartudo1: TMenuItem
+ Caption = 'Selecionar tudo'
+ end
+ object N5: TMenuItem
+ Caption = '-'
+ end
+ object AreadeTransferencia1: TMenuItem
+ Caption = 'Area de Transferencia'
+ object Exibir2: TMenuItem
+ Caption = 'Exibir'
+ end
+ object Esvaziar1: TMenuItem
+ Caption = 'Esvaziar'
+ end
+ end
+ end
+ object Exibir1: TMenuItem
+ Caption = 'Exibir'
+ object Zoom1: TMenuItem
+ Caption = 'Zoom...'
+ object Normal1: TMenuItem
+ Caption = 'Normal'
+ Checked = True
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object Grande1: TMenuItem
+ Caption = 'Grande'
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object Ajustarnajanela1: TMenuItem
+ Caption = 'Ajustar na janela'
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object N6: TMenuItem
+ Caption = '-'
+ GroupIndex = 1
+ end
+ object Personalizar1: TMenuItem
+ Caption = 'Personalizar'
+ GroupIndex = 1
+ end
+ end
+ object amanhonormal1: TMenuItem
+ Caption = 'Tamanho normal'
+ end
+ object elacheia1: TMenuItem
+ Caption = 'Tela cheia'
+ end
+ end
+ object Relatorios1: TMenuItem
+ Caption = 'Relatorios'
+ object Relatorio11: TMenuItem
+ Caption = 'Relatorio 1'
+ end
+ object Relatorio21: TMenuItem
+ Caption = 'Relatorio 2'
+ end
+ object Relatorio31: TMenuItem
+ Caption = 'Relatorio 3'
+ end
+ object Relatorio41: TMenuItem
+ Caption = 'Relatorio 4'
+ end
+ end
+ object Segurana1: TMenuItem
+ Caption = 'Seguran'#231'a'
+ object Cadastrodeusuarios1: TMenuItem
+ Caption = 'Cadastro de usuarios'
+ end
+ object Perfildeusurios1: TMenuItem
+ Caption = 'Perfil de usuarios'
+ end
+ object logdosistema: TMenuItem
+ Caption = 'Log do Sistema'
+ end
+ object N7: TMenuItem
+ Caption = '-'
+ end
+ object rocarsenha1: TMenuItem
+ Caption = 'Trocar senha'
+ end
+ object EfetuarLogoff1: TMenuItem
+ Caption = 'Efetuar Logoff'
+ OnClick = EfetuarLogoff1Click
+ end
+ end
+ end
+ object UCSettings1: TUCSettings
+ AppMessages.MsgsForm_BtNew = '&Nova Mensagem'
+ AppMessages.MsgsForm_BtReplay = '&Responder'
+ AppMessages.MsgsForm_BtForward = 'E&ncaminhar'
+ AppMessages.MsgsForm_BtDelete = '&Excluir'
+ AppMessages.MsgsForm_WindowCaption = 'Mensagens do Sistema'
+ AppMessages.MsgsForm_ColFrom = 'Remetente'
+ AppMessages.MsgsForm_ColSubject = 'Assunto'
+ AppMessages.MsgsForm_ColDate = 'Data'
+ AppMessages.MsgsForm_PromptDelete = 'Confirma excluir as mensagens selecionadas ?'
+ AppMessages.MsgRec_BtClose = '&Fechar'
+ AppMessages.MsgRec_WindowCaption = 'Mensagem'
+ AppMessages.MsgRec_Title = 'Mensagem Recebida'
+ AppMessages.MsgRec_LabelFrom = 'De :'
+ AppMessages.MsgRec_LabelDate = 'Date'
+ AppMessages.MsgRec_LabelSubject = 'Assunto'
+ AppMessages.MsgRec_LabelMessage = 'Mensagem'
+ AppMessages.MsgSend_BtSend = '&Enviar'
+ AppMessages.MsgSend_BtCancel = '&Cancelar'
+ AppMessages.MsgSend_WindowCaption = 'Mensagem'
+ AppMessages.MsgSend_Title = 'Enviar Nova Mensagem'
+ AppMessages.MsgSend_GroupTo = 'Para'
+ AppMessages.MsgSend_RadioUser = 'Usu'#225'rio :'
+ AppMessages.MsgSend_RadioAll = 'Todos'
+ AppMessages.MsgSend_GroupMessage = 'Mensagem'
+ CommonMessages.AutoLogonError = 'Falha de Auto Logon!'#13#10'Informe um usu'#225'rio e senha v'#225'lidos.'
+ CommonMessages.ChangePasswordError.InvalidCurrentPassword = 'Senha Atual n'#227'o confere!'
+ CommonMessages.ChangePasswordError.NewPasswordError = 'Os campos: Nova Senha e Confirma'#231#227'o devem ser iguais.'
+ CommonMessages.ChangePasswordError.NewEqualCurrent = 'Nova senha igual a senha atual'
+ CommonMessages.ChangePasswordError.PasswordRequired = 'A Senha '#233' obrigat'#243'ria'
+ CommonMessages.ChangePasswordError.MinPasswordLength = 'A senha deve conter no m'#237'nimo %d caracteres'
+ CommonMessages.ChangePasswordError.InvalidNewPassword = 'Proibido utilizar senhas obvias!'
+ CommonMessages.InvalidLogin = 'Usu'#225'rio ou Senha inv'#225'lidos!'
+ CommonMessages.InitialMessage.Strings = (
+ 'ATEN'#199#195'O Login Inicial:'
+ ''
+ 'Usu'#225'rio : :user'
+ 'Senha : :password'
+ ''
+ 'Defina as permiss'#245'es para este usu'#225'rio.')
+ CommonMessages.MaxLoginAttemptsError =
+ '%d Tentativas de login inv'#225'lido. Por motivos de segun'#231'a o '#13#10'sist' +
+ 'ema ser'#225' fechado.'
+ CommonMessages.PasswordChanged = 'Senha alterada com sucesso!'
+ CommonMessages.BlankPassword = 'Retirada senha do Login %s'
+ Login.WindowCaption = 'Login'
+ Login.LabelUser = 'Usu'#225'rio '
+ Login.LabelPassword = 'Senha : '
+ Login.BtOk = 'OK'
+ Login.BtCancel = '&Cancelar'
+ Login.TopImage.Data = {
+ 07544269746D6170B6790000424DB67900000000000036040000280000007601
+ 0000500000000100080000000000807500000000000000000000000100000000
+ 00009BB5D8007493BA00ACC2E000BBBBBB00CBD9EB007D9BC20051719900F6F8
+ FB00F2F5FA0095B0D500FCFDFE00EDF2F800A7B6BC0055759D00F8FAFC00B1C5
+ E1005979A10089A8D200CDD5D9003E5E88004D7199003D5D8700FAFBFD008888
+ 8800E5ECF500DDE6F200DDDDDD00E2EAF400A5BDDD00405F880042628C0089A6
+ CC008297A0005D7DA500C5D4E900A1B9DA006685AD004569920045679000B4C8
+ E300EEEEEE00BDCEE60099B3D600A9C0DE008BA8CD009EA5B0006181A9006E8D
+ B400D0DCED006989B10099999900809DC40085A2C80044638C00C1D1E8004462
+ 8C008EAACF0091ACD100486890005579A100E7EEF6003E5F890040608A005D82
+ AB00C0CBCF008CAAD400D5E0EF00496C950042618A004A6A93008FACD500D8E3
+ F0004C6C9400D2DEEE007795BD0046668E004E6E960050709700B8CBE400BBCD
+ E500CCCCCC00C8D7EA00648BB2006D93BA0044648E00A2BADB004A6B94009BAC
+ B300708EB5004E6F980085A5CF00DAE4F10058789E0043638D0050759D00506E
+ 9600D6E1EF00F4F7FB00A7BEDE00829FC600FDFEFE0041608B0054749A007A98
+ BF0093AFD600BECFE60044628A00666666004060880086A6D0004C6B92004867
+ 8E00EAEFF700AAAAAA0049688E006C8AB1004D6E940053729A00476690006584
+ AB007290B8005C7CA300333333005F7EA60046648E005A7DA50056779E00E6EA
+ EC0046648C0044444400777777004869920044678E0080A0C900E0E8F3006D8C
+ B3005576A000AAAEB50090ADD5006080A7009EB7DA006486AF00486A93006185
+ AC00F9FAFD004C6A92003C5B85004C6E96006988AF0049699100C6CFDC0093AE
+ D20051729B00597AA30045648B004E6D94004A6992004A6C92004D6D96006786
+ AD00B6BCC40056769E003D5A82003F628B006383A900698DB500555555005A7F
+ A7005B7AA1003A5A8400527399005A7BA200426188004668900039577F007D9F
+ C70047668D00EBF1F8004C6B940087A3CA00405F8600486990004E6D96004C6D
+ 9400222222006287AF0083A3CC00FBFCFD00779BC2004A6A9100D1DDEE005473
+ 9C003C5C87006B8BB20092ADD200D3DFEF00E1E5E900426189006C8BB5008B8F
+ 940045658D005878A00042638B003F5C84005C7BA4001111110084A3CC006183
+ AB00CDD6E1006A8AB3006282AB00808285006787B0006483AC00A5BCDB004061
+ 8A004F5153003E40420043637000FEFEFE0091AED600FEFFFF00758D9600F2F5
+ F5008FA0A900D9E0E200506D7A00EFF4F9005C788300BFD0E700B5C1C60091AE
+ D500E3EBF50069828D00C3D3E900D2DDEE0097B2D700DFE7F300F7F9FC00A3BB
+ DC006F8FB7007B7E830094AFD3007998C1002F3032007396BE00909296008FAB
+ D000686C7100A4BBDA00D2D9E400D9DEE600FEFEFF0088A7D20000000000FFFF
+ FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCFCFCFCFCFCFC
+ FCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB6464640A0A0A0ABBBBBBBBBB16
+ 16160E0E0EEEEEEE07EE0707616161070761070707EEEEEEEEEE90161616BB16
+ BB0ABB0A0A0A0ADB64646464DBDB64FCFFFCDBDB64DBDB0A640A0A0A0ABBBBBB
+ 16160EEEEE07610808E30BB1703C18E886195B47424930045122EA36294F4E27
+ 0F0F0F022B621CEF55558C8C000000ECECECECEC68096868DCDCDC8A8A8A8A8A
+ 8A46464646464646464646464646464646464646464646464646464646464646
+ 4646464646464646464646464646464646464646464646464646464646464646
+ 4646464646464646464646464646464646464646464646EC0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFC
+ FCFCFCDBDBDBDBDBDBDBDBDB64DB640A0A0A0A0ABBBBBBBB16161616160E0EEE
+ EE07EEEEEEEE6107070707EEEEEEEE0E0E0E0E161616BBBBBB0A0A0ADB0A6464
+ DBDBFCDBDBFCFCFFFFDBFCDDDBFCDBDB64640A0A0A0A0ABBBB16900EEE076108
+ 08E30BB1703C181B86195B4742BE3004512236694F4E27270F022B2B1CEF238C
+ 8C0000ECECEC09688A8A46464646414141111111111111111111FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCDB
+ DBDBDBDBDBDBDB6464640A0A0A0ABBBBBBBBBB161616160E0EEE0E0EEEEEEEEE
+ EEEEEEEEEE0E0E16901616BB16BBBB0A0A0A0A0A64DBDBFCFCDBFCFCFCFCFCFF
+ FFFCFCFFDDFFFCFCFCFF0A640A0A0ABB0A1616900EEE07070808E30BB1703C18
+ 1B1B195B604230040422EAE5294F4E270F02022B1C1C558C8C0000ECEC6868DC
+ DCE78A464646414141414111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCDBDBDBDBDBDB
+ DBDB64640A640A0A0ABBBBBB161616160E0E160E0E0E0E90EE0E0E9090901616
+ 161616BBBBBB0A0A640A0A64FCFCFCFCFCFFFFFCFFDDFFFCFCFFFFFFFCFFFCFF
+ FCDBFCDBDB0A0A0A0ABBBB16160E0EEE616108E30BB1703CE81BED5B47604930
+ 04512236E54F4E270F0F022B621CEF238C8C00ECECEC6809DCDC8A4646464641
+ 4141114111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB640A0A
+ 0A0A0ABBBBBBBB1616161616160E0E169090161616161616BBBBBBBB0ABB0A0A
+ 640A64DBDBFCFCDBFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFCFCFCFCFFFCFC0A0A
+ 0A0ABB1616160EEE07610808E30BB13C3C1B86195B4742BE3004222236294E27
+ 270F0F022B1CEF558C8C8C00ECECEC68DCE7DC8A464641414141411111111111
+ FD11FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB64640A0A0A0ABBBBBB
+ BBBBBB1616161616161616161616BBBB0ABB0A0A0A0A0A64FC64DBFCFCFCDDFC
+ FFDDFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFDDFCFFFCDDDB64640ABBBBBB160E0E
+ EE076108E30BB1703C181BED194760493004512236E54F4E270F0F022B621C55
+ 238C8C00ECECEC096868E7464646414141414111111111111111FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FCFFFFFCFCFCFCFCFCFCDBDBDBDBDBDB64640A0A0A0A0ABBBBBBBBBBBBBBBB16
+ BBBBBBBBBBBB0ABB0A0A0A0A640ADBDB64FCFCDBFCDDDDFCFFDDFFDDFFFFFFFF
+ FFFFFFFFFFDDFFFFFFDDFFFCFFFCDBDB64640ABBBBBB16900EEE070808E30B70
+ 703CE81B195B4742BE300451EAE5294F27270F022B2B1CEF558C8C0000ECECEC
+ 68DC8A8A464646464141414111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFCFC
+ FCFCFCFCFCDBDBDBDBDBDB64640A0A0A0ABBBBBBBBBBBBBBBBBB0ABBBB0A0A0A
+ 0A0A0A0A646464DBFCFCDDDBDBFCDDFCFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDBDB640A0ABBBBBB16900E07070808E3B1703C181BED194760
+ 493004512236694F4E270F02022B1C1C55238C00ECECECEC6809DC8A8A464641
+ 414141411111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFFFCFCFCDBFCFCDB
+ DBDBDBDBDB64640A0A0A0A0A0ABBBBBBBB0A0A0A0A0A0A0A0A0A0A64DBDBDBDB
+ DBFFFFDDDDDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFC
+ FC64640A0ABBBB16160EEE070808E30BB1703CE81BED5B4742BE300422EAE529
+ 4E27270F022B621C55238C8C00ECECEC0909DCE78A4646414641414111111111
+ 1111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCDBDBDBDBDBDB6464
+ 640A0A0A0A0ABBBBBB6464640A0A0A6464DB0ADB64DBDBFCFFFFFFDDDDFFFFFF
+ DDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFFDDDBFC640ABBBB16
+ BB0E0EEE070808E30B703C181B86194760C33004512236694F4E270F02022B1C
+ 1C55238C0000ECEC0968E7E78A8A41464141414141111111111111FDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A
+ 0A0A6464640A0A6464DBDBDBFCDBDBFCFCFFFFDDDDFFDDFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFCFCFC64640ABB16160EEE076108E3
+ 0BB1703CE81B195B47423004042236E54F4E270F02022B621C55238C00000909
+ C239382C1FCE85AF3305F3F5015353F5AF8585BC53B93F3F3FA7993B885E5E98
+ 98981414438E599E434343145E5E98593F52B9A7251E3D3D653E3E3E3E3E3ED7
+ 1E1E1E5D545D5DCA3E1E1E3B3B5DD7C03ED7A38E434354A365D7D76565D7D765
+ 6513153E3EC092AE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A6464646464
+ FCFCFCFCFCDBDBFCFCFFFFFFFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFCFCFCDB0A0A0ABB16160EEE070808E3B1703C181BED19
+ 4760BE3004512236694E270F0F022B621C558C00EC0997381F1F346333670101
+ F02F318DCF2EA7A78F52A5B97D14934393438E258E568E8E8E8E254325251459
+ 1414143B3FB93FA75E5E5E5E93985943438E8E25252525252676767683838326
+ 6554267DA78E263E3E3D15A33DA33D3E3D3D3D3D3D3D3D3D3E133D1E1E1592AE
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCFCFCFCDBDBDBDBDBDBDBDBDB646464646464FCFC6464FC64FCFCFCFCFCFCDB
+ FCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFF
+ FFFFFCFC64640A0ABBBB160E0E07610808E3B1703CE81B195B60C3BE04512236
+ 694F4E270F022B62D6558C002AF297382CB3633367677858319FA42E7BA8A87B
+ 21C9660648B5B53A4B4B8035CA6A6AC5353E1D1D3E1D3E1ECA268E883B3B4325
+ 26262654542626262626262626252525562543255EA77D5E2525262626262626
+ 252626262654262554252525431443255D1E2606433DA9A90000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE11212FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFF1212E1FFFFFFFFFFFFFFFFFF1212E1FFFFFFFFFF
+ FFFFFFFFDF121212FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE11212
+ E1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBFCFC
+ DBDBDBDBDB64646464646464FCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFF
+ DDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFDDFCFCFCFC0A0A
+ BBBB16160EEE610808E30B703C181BED194742BE300422EAE54F4E270F0F022B
+ 1C5523002A09C2382CB36333674A0158879F9F2E7B5CA10D21A1064D48BDBD72
+ 809A3535C56C6C6C13131D44441D1D3E1D1ECA438E263D3D3D3D3D1313131313
+ 3D131313133D3D3D3D3DA3A3435E435DA33E3D3D3D3E3E3EA33EA3A3A3D7A354
+ 5426268E5E88592665D75D765D3D15A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE120DADADADADAE940FFFFFF12DADA0C
+ FFFFFFFFFFFF0CDADADADADADADADEFFFFDADA12FFFFFFFF0CDADADAFFFFFFFF
+ FFFFE0DADADADAE440FFFFFFFF40E9DADADADADA20E1FFFFFFFF12DEDADADADA
+ DADE12FFFFFFDADADEFFFF7FDADADEFFFFFFDFE0E2DADADADADEFF12DADADADA
+ DADADADAFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB
+ DBDBDBDBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFC64646464BBBB160EEEEE61
+ 08E30BB1703CE886194760493004512236294E270F0F022B62D6238C2A09F239
+ 381F6333054A0158879F772E7B5C5CA1210D4C9B91726F6FC8C83535CA6AC5C5
+ 1D6C6C1DB41D6C6C1D3E5D4354A33D1E653E3E1D3D3D3D3D1313131313131313
+ 15133D3D8E14263D3D1315C015151515C0C0151313133DD7151315A343935492
+ 133D3DC0C0133DA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFE6E2DADAE00C57E4DADAE0FFFF7FDADA0CFFFFFFFFFFFF0CDA
+ DAE9DEDEDEDE57FFFFDEDA12FFFFFF7FDADADADAFFFFFFFFFFFFDADE0C0CE4DA
+ DA7FFFFF57DADAE2570CE0E2DADAE6FFFF12DADADA200CE0DADADA40FFFFE4DA
+ DEFFFF0CDADAE1FFFFE1E2DADA200C0CE0E4FF12DADAE4DEDEDEDEDEFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFDDFCFFFCFC6464640A64BB16160EEE070808E3B1703C181B
+ ED5B47C33004512236694F4E270F022B62EF238C0009F239381FB36305674A58
+ 2F9F772E21A1100D21BF5F9B9B91BD6FC8C83535CA6A6AC56A35441D1D1D6C1D
+ 15C0359E5DD71D441D1D1D131313131313131515151515151313C01526595465
+ 653E131515151515C0C0C0C0C0C0C0159215C0151E5D3E13C015C0A9921515AE
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FE2
+ DAE97FFFFFFFFFE0DADA40FFFFDADA0CFFFFFFFFFFFF0CDADAE6FFFFFFFFFFFF
+ FFDEDA12FFFFFFDEDADADADAFFFFFFFFFFFFDFFFFFFFDFDADA0CFF40DADAE0DF
+ FFFFFFDFE9DAE27FFF20DADA0CFFFFFF12DADADEFFFFDEDADEFFFFE4DAE0FFFF
+ FFE9DAE2E1FFFFFFFFFFFF12DADAE0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFCFCFCFCFCFCFCFCDBFCDBDBFCDBFFFFFCFCFCFCFCFCFCFFFF
+ FFFFFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFCFCFCFCFC64640ABBBB160EEE076108E30B703C181B86194742BE300422
+ EAE54F4E270F0202621C558C8C2A099739382CB3343333674A78589477A85C75
+ CC754D4D0606065F4D4D4D4C4C4C4C4C9191919191913AC83792449E3E151D13
+ 1D1D1D1D1D1D1D1D1D1D1D13131313151D13C092764565653E13131513131313
+ 131315151515C092921315C03D651E5415C092C0151592AE0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0CDADA7FFFFFFFFFFFFF
+ DEDAE4FFFFDADA0CFFFFFFFFFFFF12DADA0CFFFFFFFFFFFFFFDEDA0CFFFF40DA
+ DA0CDADAFFFFFFFFFFFFFFFFFFFF40DADAE6FF20DAE4FFFFFFFFFFFFDFE2DAE0
+ FFDEDADADFFFFFFFFFE4DADAFFFFDEDADEFFE6DAE2DFFFFFE1DADAE6FFFFFFFF
+ FFFFFFFFDADADEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFCFCFCFCFFFCFCFCFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFFFFFCFC6464
+ 640A0ABB160E0EEE070808E3B1703C1B86195B6049300451EA36694E270F0202
+ 2B1C55238C2A09F2C2382CB3346305674A4A017873A4C975CCBF4D0D0D667506
+ 4C4C4C9B4C4C9B4C064D9B9B4C9B4C4C9B131E593E1D373735353535357C7C4B
+ 54545454543535353737543EB69C1D1D3E1D13133E6565653E3E3E3E3E653E1D
+ 131392C03D3E13133DC092151315C0A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFDEDAE9FFFFFFFFFFFFFF0CDADA7FFFDADA0C
+ E1127FFFFFFF12DADAE012121212DFFFFFE0DA0CFFDFE4DA20E1DADAFFFFFFFF
+ FFFFFFFFFFE6DADAE9FFFFDADA57FFFFFFFFFFFFFF20DAE4FFDEDADAFFFFFFFF
+ FFDEDADAFFFFDEDADEFFE4DA0CFFFFFF0CDADADFFFFFFFFFFFFFFFFFDADAE912
+ 1212127FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFC
+ FCFCFCFCFCFCFFFFFCFFFCFFFFFCFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCDDFCFCFC64640A0ABB1616EEEE
+ 076108E3B1703C181BED5B60423004512236294E4E270F022B62EF2300002AF2
+ 97382C1FB33405336767582F8794C9BF210D98A10D755F744D4D4C4C4D4C4D4D
+ 4C48489B48B5BD4C06131E593D1D767C353535359A8080C854547C7C7C545435
+ 3735833E984BCBCB1E1E65651E1E1E1E651E1E1E1E5D3765371E3D3D1E3E9292
+ 3E15C013131513A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFDEDADEFFFFFFFFFFFFFF12DADA12FFDADA0CE2DADAE4E1FF12DA
+ DADADADADADA12FFFF0CDA0CFF0CDAE27FFFDADAE1FFFFFFFFFFFFFF0CDADAE9
+ DFFFFFDADA0CFFFFFFFFFFFFFF0CDADAFFDEDADAFFFFFFFFFFDEDADAFFFF20DA
+ DEE6DADA2012FFFF0CDADAFFFFFFFFFFFFFFFFFFDADADADADADADA0CFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCFCFCFCFFFFFF
+ FFFFFFFCFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFDDFCFFFCFC640A0ABBBBBB16EE076108E30BB13C18
+ 1BED5B4742BE040422EA694F4E270F022B62EF238C002A09C2F7381F1F1F63B3
+ B33401785831C9A121A10DC97EAA4D4C4C4C4C4C4C4C4D4C9B5F7E21104C6E4C
+ 0D444BBF3E1D76809A35CACACACACA355454C8C8C8C85454C8C8483E0D541D13
+ 1E1E653E3E3E3E3D651E1E651E1E1E3E1D1E653D3E139213133E3E13131313A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20DA
+ E4FFFFFFFFFFFFFF12DADA12FFDEDA571240E9DAE2DF12DADADE0C0C0C0C7FFF
+ FF0CDA577FDADA0CFFFFDADA12FFFFFFFFFFFFE0DADAE0DFFFFFFFE2DAE0FFFF
+ FFFFFFFFFF0CDADAFFDEDADAFFFFFFFFFFDEDADAFFFF0CDADEE1120CE2DA57FF
+ 0CDADA7FFFFFFFFFFFFFFFFFDADAE40C0C0C0C12FFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFFFFFFFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFC
+ FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFF
+ FFFFFFDDFCDDFC6464640A0ABBBB160EEE070808E3B1703CE81B194760493004
+ 2236E54F4E270F02022BD6558C000009F239381F1F2C3333676778585873100D
+ 215C66A80D664D5F066E4D4D4D0674AA9B21F031AB484C06BF1E26BF3E133AB0
+ 6F446C9A541E5454353A76C6D1B6767C6F9545CAC9D713151E445D4465443D3E
+ 655D651E4BD5761DCACA351E3E15C0153E15C0133E1315A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6DADA12FFFFFFFFFFFF
+ 57DADADFFFDEDA0CFFFF7FDADAE612DADA0CFFFFFFFFFFFFFF0CDADEDEDAE4FF
+ FFFFDADA12FFFFFFFFFF12DADAE0FFFFFFFFFFE0DAE2DFFFFFFFFFFFFFE9DAE9
+ FF0CDADA12FFFFFFFF0CDADAFFFF0CDADEFFFFFFE6DADA7F7FDADA0CFFFFFFFF
+ FFFFFFFFDADADEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFCFC
+ FC640A0A0ABB160EEE076108E3B1703CE81BED5B60493004512236294E270F02
+ 022B1CEF2300000997C2382CB32CB33463334A7858C1C90D79C9AA1010A87E5C
+ 754C75064D4D744D0D242EB74D4C4C06754426BFD71D953A3AB54BCA543E3A76
+ 9CC875D4213A3A243A9145357ED7131D5D3E3E3E1D13543E1E1E1E3D9EC6BF54
+ 9A35351E3E1515136513C0C0151313A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFDFE2DAE9DFFFFFFFFFE1E2DAE0FFFFDEDA0C
+ FFFFDFDADA0C12DADA0CFFFFFFFFFFFFFF0CDAE2DADA12FFFFFFE4DA12FFFFFF
+ FFFF0CDADAFFFFFFFFFFFF12DADAE0FFFFFFFFFFE6DADAE6FF0CDADA12FFFFFF
+ FF0CDADA12FF0CDADEFFFFFF40DADA12FFDEDADA12FFFFFFFFFFFFFFDADADEFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFC64640A0ABB160E
+ EE076108E30B703C181BED5B47C33004512236294F27270F022B62EF23002A09
+ 09C2382C1F2C386363054A017887A8BF7B10065C5C0DAA66664D66754D064D06
+ AA2E24AA4C4D0D4D063E26BF3E3E9C9CC8B5CA6C76548335443A0DCC45542ED5
+ 95484584BFD7134454831E13761D5D1E5D9265452EC698544BC8351E1D15133E
+ 653E15C0153E3EA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFF12E2DAE40C121257E2DAE2DFFFFFDEDADE0C0CDEDADA4012DA
+ DADE0C0C0C0C0C7FFF40DADADA20FFFFFFFFDEDAE6FFFFFFFFFF40DADA201212
+ 0CE1FFFF0CDADADEE61240E0DADADEFFFF0CDADA12FFFFFFFF0CDADA12FF0CDA
+ E40C0C57E2DADADFFFDFE9DADAE040124057E1FFDADAE40C0C0C0C0C12FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFC640A640ABB1616EE076108080B7070
+ 181B861947423004512236694F27270F022B62D6230000EC0997F72C1FB33834
+ 056701787887CC0D79AB4DAB215C5CA16606AAAA4D4D4D060101F3C1A84C6606
+ 061DAD986C44959C9A95449A7676761E1E567D7D84B7F0069148953A063E1337
+ 5D1E5D13763E443E54C05488D12F983A6FC835441D151D1E3D3E3E133D653EA2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ E1DEDADADADADADADEDFFFFFFFDEDADADADADADAE0FF12DADADADADADADADA12
+ FF12DADADA7FFFFFFFFFDEDA0CFFFFFFFFFFFFE0DADADADADA7FFFFFFF40E4DA
+ DADADADADA57FFFFFF0CDADA12FFFFFFFF0CDADA12FF0CDADADADADADAE2E6FF
+ FFFFDFE0DADADADADADA12FFDADADADADADADADA0CFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ DDFFFFFFFFFFFFFCFCFC640A0ABB16160EEE070808E3B1703CE886194742BE30
+ 042236694F4E270F022B62EF238C00EC09C2F72C1FB3B36367670101782FCC0D
+ 10794D2121A15CAAAAAA4D4D064C4C064D7E797B945C9B4D061D9598131E763A
+ C83A449544541D54C8138806A3AD9826914895569E1D153576924B1E3E5D543E
+ 155D83982E4AD47B6FC81E3E13151D1E3D3E3D13133E3DA20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FE60C0CE67F
+ FFFFFFFFFFE112121212127FFFFFDF1212121212121212DFFFDF1212E1FFFFFF
+ FFFFE1127FFFFFFFFFFFFFFFE10C0C0CE1FFFFFFFFFFFFE10C0C0C40DFFFFFFF
+ FF7F1212DFFFFFFFFF7F1212DFFF7F121212121212FFFFFFFFFFFFFFDF400C0C
+ 0C40DFFF12121212121212127FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
+ FF64640A640ABB160EEE070808E3B1703CE88619476049300451EAE54F4E270F
+ 020262D6558C002A0997F7381FB3343305674A0178C121A15C794D7910667BAA
+ 75790D4DAA4C4C06AA064C6E0D7506AA981D45061335763A4844443A1EB21E76
+ 3A4B764B563A7648919B9593563D157C5D4B5D13441EC01E65541E5476983AC8
+ 6FC81E3E1315134465131515151513A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFCFFFCFC64640A0ABB16
+ 0EEE076108E3B1703CE81B195B4749300451EAE54F4E270F022B2B1C55238C2A
+ 09F239381FB3343305676701782F8BA1C9AB4D211021019F0D2FA4AA66064D06
+ AA4CA1AA4D74664CBF1D43981354769CC8C8D101F0D19E1D3EB2443A453A453A
+ 6E4C9506831D15763D8313831E44541E3D15135D3A761E3A4B8035441D151365
+ 6513131E1E1315CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCDDFFFCDB64640ABB1616EE076108E30B70
+ 3C181BED5B47C330045122E5294E270F02022B1C55238C00099738382CB33463
+ 05674A0178782EA199CC06215C210558A1F32FBF66AA4D4D4C75AA4D5C4D0610
+ BF1D4898134B3A913AC5940D7676C8837C7CA87B3A9C3A486E4C45983A1D1576
+ 3A1376D15DB2C6761E1E5D15765454354B80351E1D15133E3D151E833A65C0A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFDDDDFCFFFCFCFC640A0ABBBB16EEEE6108E30BB170181BED5B474230
+ 0451EA36294E272702022B62558C8C2AEC9739381FB3343305674A01782FD5C9
+ 79A866A8109F874A8DC6F30DA10D4D66AA666666AA06BFA1A11D9EBF549A9C3A
+ 83D7F578787BBDBD5648D4C90DD276833ABF76C94B441D761E769CC65978B67C
+ 54351E5D54545476763A1D761315374465153DD13E1365A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFF
+ FFFCFC64640ABB16160EEE610808E37070181BED5B4742300451EA36694E270F
+ 02022B62EF8C8C002AF239F71F1FB36333054A017858775CAB8B06791078A4C1
+ 0521587779A1A8A85C5C5C5C0DAA66A10D15C999A34B9C3A4B83F0BF5966486E
+ AA4CD198CC109E839C9EADD2C81E443A54139EF3C6785FB695764B4B4B5D5D5D
+ 763AC83A1E445D44156583D41E3E1EA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFFFCFC646464BBBB
+ 160EEE070808E3B1703CE886194742BE04042236694F27270F022B1CD6238C2A
+ 09F2C2381FB3B3633305674A01F024107B2FA1AB7901AB2E0599D42410107966
+ 5C5C5C5C7E0D0DA10DD78F2ECA95569148B6016701774D100D4CD24810065945
+ 595643A5AD54C8953E9EC9CC88C6CC83599EB2B2453A767654358335D7441E3E
+ 135D59995D76B26F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC64DB640ABBBB160EEE070808E3B1
+ 703CE886194742BE30512236694F27270F022B1CEF238C002AF297382C1F3463
+ 3305674A015824A8CF2F7BC9102E0D10C9BF107E66ABAB105C5C5CA8105C5C10
+ BF458F8BAD9D6E6E9E3A065906AA9D0D0DAA0D06BF9806599893143143C8C876
+ 48567DF0317B59594C9E489E48569C9C45959826C8C84B848399F57899454B6A
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFDDFFFFFC64646464BBBB160E0E076108E3B1703CE886194742BE
+ 04042236694F4E270F022B62EF23000009F239382CB3343305674A4A78879F8B
+ 249FCF7E7E0DAA664D754D064D4DB7664D4C4C4D06060606459E0D06B5843A3A
+ 959B48B03A984C934C4D954C9D4D9E4C4343933B43C85454CAD7CA3ACA845426
+ 3A6F6F3A833A3A3A4B26AA8444D7A3D7543D1E44545D37B40000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
+ FFFCFCFC640A0ABB160E0E076108E30B703C181BED5B604930042236694F4E27
+ 0F022B1CEF23002A0939382C1F3433054A0158879FA47B21CCA10DBFB7489195
+ 91726F4856987DC972B09AB06FB0B0B04445C835AD9A9A6FB0356A953A4B4C3B
+ 3A6F9AC84B9A4BC835268326434B544B54CAD7CACA985E43C89ACA9A9A353554
+ 4B9598B76FC89ACA3D5D76B6833E1D6A0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFC64640A0ABB
+ 1616EE070808E3E3B1703CE81B1947C3300422EA694F27270F022B1C5523002A
+ F2C2382C1F3433676701583194778B7BCC5C0D6606065F9B6E6EBD3AC8067B8E
+ 6EB5B0B0B0C880804435CAC5C89A6AB09AB09A80C53599A79572729A6F35C835
+ 1E35C8CA26C8354B6ACA4B1D440D7D8E6FC89A9A35CA1E35C580C83A35C5CA6C
+ 3D767610597613AE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFCFC640A0ABB160EEE0761610808
+ 08E3E3B17018ED4749045136694F4E270F022B1C5523002A0939381F1F343367
+ 677858739FA47BA85C5C0D4C5F9B9191726E72C826563B846E729A9A80356A6A
+ 801D4B356A80AC806A9A6AC8D73D3B8872726F806A806A6A35441E543E354435
+ B01D6FCACAAD7E95B56FC89A9ACACA353580CBC8AC6A4B353D7615BF76541ECB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDDFFFCDDFC0A0A0ABB160EEE07076107EE0E0E0EEE0708B11B
+ 473051EAE54F4E270F022B1C5523002A0939381FB33433674A015873772E8BCC
+ 5C66665F5F4C6F953A72B03ACAB73B546F3A1D806AB4C580B0B46AB46FB46AB4
+ 449A1D4435157D9880B09A8080C5C5C57C15443735351D351D441DCA1E4B0635
+ 6F6F44C8445D1D3E1D443E44541E1DC81E443E4BC81E54CB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
+ FCFFFC6464640ABB160EEE07077F71176B818181170316081B4204EA694F4E27
+ 0F022B1CD623002A0939381FB36333674A0158872F739F777B9F7BA81066A14D
+ 9B483AC815837ECAB43A3A6EC84C6F95484806486E4806483A953A6FC8152193
+ 6CB09A6ACBC5657C44351D5415C854547C541EC8D73A4844CA6FC515A95D3544
+ 1D3A35443E1E44C01E441D351E1D35CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFC6464640ABB
+ BB0EEE070781FEFEFEFEFEFEFEFEA60AE31904EAE54F4E270F022B621CEF8C00
+ EC97381F1F63333305676778788773739424A4249F79C9AB5C5CBF486C43AB84
+ 80064C4C9B5F664C485C065F5C0D6E5F4D4C75064C448F43B46A6F4B959C3AB2
+ 9CB2B29CB6B61D459C6F6F8ECA4C3A1DCACA6C9A4B4B1D1D1EC03A4B153A159C
+ 35441D4413C044A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC640A64BB160EEE0707CDFE7A
+ 82D36BCDFEFEFE17EE1B3022E5294F4E270F0F022BD655002A97381FB3343333
+ 33674A01015887947377247B7B2E218B10ABA806A34899CA954D489BAA48664C
+ 754D75BF064C75A10D454D9806CA8F26CA3548C8B2445D54C8543A359E35483A
+ 954B4593AD0D351D1DCAC56C1D134445761E1D833E3E3E1D351E1D3EC09244A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFCFC64640A0ABBBB160EEE07D312610808E3C4F4FEFEB8
+ 163C495136E5E56969294F4E270262232AF2381FB334333305670505782F8794
+ 942424014A947B7EA8A8CC98D75699A3B5484C0DAA774D669B7506664A78D1C6
+ 779E4C98BF3524841D3A6E541E3A75B676563A563A54F021BD4B45483AA1C51D
+ 6C4BC54410D5BF131D35BF4859D10D5D35353E3E15C044A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFF
+ FCDDFCDBDB64640ABBBB90EE07616161616108E3F6FEFEFEBB70425122220430
+ 604242490436271C0009F71F1F3433330505336301C1C1949F24335831059458
+ 79AB21A1CA437D844B0D0648D4A8F04C0D4CAABFF0F30188787E060DBF268DAD
+ A94CC85676D478884B3A3A8376450DF05F6E489DB598356A6CB0CA6CBF990676
+ 764483D1313A44445D5D3E3E131535A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5003030328FFFFFFFFFFFFFFFF
+ FF5003031AFFFFFFFFFFFFFFFFFF280303031AFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFF1A03030328FFFFFFFFFFFFFFFF28030350FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A030350FFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFF50030328FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A03031AFFFFFFFFFFFFFFFFFFFF
+ FF28030350FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF030303FCFC6464
+ FC0A16EE0761EE1A030316EE12FEFEFE50B1600404428670E68903890B1B0402
+ 23EC381F34343333336767670578873131948B01F301F52E215C990DD73A99CA
+ BD4C064C66F0AB0D740DBF9E8DF30501D20D4D9859842ECA6C5935B29C244A83
+ 45C83A7659C926F0064CB7959D4D9A6AC89ACA562E103A44C0440DD2249C354B
+ 5D351D1D15135DA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFF03A6FEFEFEFEFEFEB86B1AFFFFFFFF6BFEFEFEFEFEB871FF
+ FFFFFFFF17B8FEFEFEFEFEFE17FFFF03FEFEFE28FFFFFFFFFFFFFFFFFFFFFFFF
+ FFFF036BCDFEFEFEFEFECD32FFFFFFFF717AFEFEFEFECD6B28FFFFFFFFFEFEFE
+ 03FFFFFFFFFF81FEFE17FFFFFFFF6BFEFEFEFE82FF03FEFEFE28FFFFFFFFFFFF
+ 286BCDFEFEFEFE7A71FFFFFFFF03FEFEFEFFFFFFFFFFFFFFFFFF17FEFEFE03FF
+ FFFFFFFFFFFFFFFF71B8FEFEFEFE3217FEFE81FFFFFFFF037AFEFEFEFEFE17FF
+ FF03FEFEFEFFFFFFFF81FEFECD50286BFEFEFEFEB8FCCDFEFE03BB0E615081FE
+ FEFECD17BBFEFEFE03B147EB47A0A6FEFEFEFEFEFEB8D04E2309381F34343333
+ 336733673487942F24A424F0317B7B7D215CAB5CCA8399A33A0606AA31A49F06
+ 667445BFD4054A7B4D4D060D4D56CFCA3E453A3A76B2013A564BCA3A932E01D2
+ 484848B5B7486AB49AC844C8CCA13A3E1E35C8C9D54476765D1E1315C01D54CB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B
+ FEFEFEFEFEFEFEFEFEFEFE32FFFFFFB8FEFEFEFEFEFEFE71FFFFFF81FEFEFECD
+ 8181CDFE81FFFF03FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF286BFEFEFEFEFEFE
+ FEFEFE81FFFFFF6BFEFEFEFEFEFEFEFECD50FFFFFF7AFEFE03FFFFFFFFFF82FE
+ FE17FFFFFF71FEFEFEFEFE81FF03FEFEFEFFFFFFFFFFFF50CDFEFEFEFEFEFEFE
+ FE6BFFFFFF50FEFEFEFFFFFFFFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFFFFFF1A
+ CDFEFE8117173203FEFE81FFFFFF32FEFEFEFEFEFEFE81FFFF1AFEFEFEFFFFFF
+ 71FEFEFE32FF82FEFECD8217822881FEFE030A9050CDFEFEFEFEFEFE6BFEFEFE
+ 030B5B47E0CDFEFEFEF4D9F4FEFE2D272309381FB363333305674A67012FC194
+ 9F772E944AF02179795C10A1444B885DC8754D75BF7E4C064C4C9B06107821C9
+ 4D4D66665993ABC81D455654543A3A54B09A4B6F5624F00D5F48834806543E1D
+ 5D54351E1E351E1E3DD78399064B44765D5D139213653ECB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFEFE6B71033281
+ FEFEFEFE03FFFF827128FF1A7AFEFEA6FFFF17FEFECD17FFFFFFFF1A32FFFF03
+ FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF7AFEFEFECD82710303176B7AFFFF71FE
+ FEFE1728FF037AFEFEB828FFFF81FEFE71FFFFFFFFFF17FEFE82FFFFFF17FEFE
+ FE03FF71FF03FEFEFEFFFFFFFFFFFF7AFEFE7A03FF2817FEFEFE17FFFFFFFEFE
+ FEFFFFFFFFFFFFFFFFFF03FEFEFE03FFFFFFFFFFFFFFFF17FEFEB8FFFFFFFF1A
+ FEFE7AFFFF1ACDFEFE7A71FFFF1A32FFFFFFFEFEFEFFFF28B8FEFE6BFFFFCDFE
+ FE32DDDDDB646BFEFE710A1681FEFECD32EEC4D3FEFEFEFE030BEDFACDFEFE81
+ 9647305151E0E0028C09381F34B3330505674A0178878731249FA4A4247B108B
+ 10AB21BF35450D546EAA744859069E0606BD594C48C9064C4DAA75754D14211D
+ 54487676543A353A3A9A4BCA3A59453A95B25643BF541D929C3E441D761D5D35
+ D7541E35134B3A541E1E3DC01D4465CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF7AFEFEFE17FFFFFFFFFF6BFEFEFE6BFFFFFF
+ FFFFFFFF82FEFEA6FFFFB8FEFE17FFFFFFFFFFFFFFFFFF1AFEFEFEFFFFFFFFFF
+ FFFFFFFFFFFFFF17FEFEFE8128FFFFFFFFFFFFFFFFFFB8FEFE17FFFFFFFF28CD
+ FEFE17FFFF81FEFE17FFFFFFFFFF17FEFE81FFFFFF17FEFEB8FFFFFFFF1AFEFE
+ FEFFFFFFFFFF32FEFECD28FFFFFFFF17FEFECDFFFFFFFEFEFEFFFFFFFFFFFFFF
+ FFFF03FEFEFE03FFFFFFFFFFFFFFFF17FEFE7AFFFFFFFFFFFEFEFEFFFF17FEFE
+ CD28FFFFFFFFFFFFFFFFFEFEFEFFFF82FEFEB828FFFFFEFEFE71FFDD646417FE
+ FE170A7FFEFEFE3290E3703CD3FEFEFE03E31BC7FEFEB8C4190436294F4E0F2B
+ 8C2AC21F3434333305674A017887C19F9F9FA48B8B21797B5C797BBF35565E54
+ C84D664C750659590D6EBFAABF1010994D660666B798211D92483A4576453E3A
+ C86E4B9D459A4583B2594C83C9C81EC5441E4B5D5D131D3ED73ED74B3E441E54
+ 1D1E3E133E3E3DCB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFEFEFEFEFFFFFFFFFFFF28FEFEFEB8FFFFFFFFFFFF71CDFEFE71
+ FF50FEFEFE28FFFFFFFFFFFFFFFFFFFFFEFEFE03FFFFFFFFFFFFFFFFFFFFFFCD
+ FEFEB828FFFFFFFFFFFFFFFFFF1AFEFEFE1AFFFFFFFFFF82FEFE81FFFF17FEFE
+ 17FFFFFFFFFF17FEFE81FFFFFF71FEFE7AFFFFFFFFFFFEFEFE03FFFFFFFF6BFE
+ FE6BFFFFFFFFFF28FEFEFE03FFFFFEFEFE03FFFFFFFFFFFFFFFF03FEFEFE03FF
+ FFFFFFFFFFFFFF1AFEFEFEA61AFFFFFFFEFEFEFFFFA6FEFE6BFFFFFFFFFFFFFF
+ FFFFFEFEFEFF50FEFEFE50FFFFFF6BFEFECD32FFFCFC17FEFE170A03FEFEFE28
+ 070B18E818B8FEFE0308E8D8FEFE820B4704223636694F0FD600971FB3343333
+ 330501782F582F9494772E2E2E778BA8AB10107ECA8399264D4D4D0694F0774C
+ 4C0D4C749F78D5C6934D5F0D95AB999C765935C8CCD4BF4B4CACB5C8458BC976
+ 9C5643AD7D4B35353A5444C910CC834B26458821593E1576445D1E3E653E1DB4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFE
+ FE7AFFFFFFFFFFFFFF7AFEFEFEFFFFFFFFFF82FEFEFE17FFFF03FEFEFEFFFFFF
+ FFFFFFFFFFFFFFFFFEFEFE03FFFFFFFFFFFFFFFFFFFF03FEFEFE32FFFFFFFFFF
+ FFFFFFFFFF03FEFEFEFFFFFFFFFFFF03FEFEFEFFFF17FEFE82FFFFFFFFFF03FE
+ FE7AFFFFFF03FEFEFEFFFFFFFFFFFEFEFE03FFFFFFFF81FEFE17FFFFFFFFFFFF
+ 81FEFE17FFFFFEFEFE03FFFFFFFFFFFFFFFF03FEFEFE03FFFFFFFFFFFFFFFFFF
+ 32CDFEFEFE7A825081FEFE50FF81FEFE17FFFFFFFFFFFFFFFFFF81FEFE507AFE
+ FE17FFFFFFFF2881FEFEFECDA63271FEFEA60A03FEFEFE6407B1181B1BD8FEFE
+ 170818D9FEFE17613C86195B191947040F8C972CB33463050567014A4A582FC1
+ 87949F778B8B2E211010A15C3593A58E6F4C759B2EF0871010060D7B2105F32E
+ 934C5FA1B5A521B21E483A547BD51006BD7EA1BF4DAB24B23A839E06314C4B76
+ 1E443AD424CCB2984310D4993A1E3E3E5476541E5D5D5D9A0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE81FFFFFFFFFFFF
+ FF81FEFEFEFFFFFF2881FEFECD71FFFFFF03FEFEFEFEFEFEFEFEFEFEFEFEFFFF
+ FEFEFE03FFFFFFFFFFFFFFFFFFFF17FEFEFE1AFFFFFFFFFFFFFFFFFFFF03FEFE
+ FEFFFFFFFFFFFF03FEFEFEFFFF17FEFE81FFFFFFFFFF03FEFEFEFFFFFF03FEFE
+ FEFFFFFFFFFFFEFEFE03FFFFFFFF81FEFE17FFFFFFFFFFFF81FEFE17FFFF81FE
+ FE03FFFFFFFFFFFFFFFF03FEFEFE030317177128FFFFFFFFFF28177AFEFEFEFE
+ CDFEFE03FF81FEFE17FFFFFFFFFFFFFFFFFF81FEFE82FEFECDFFFFFFFFFFDDFC
+ 036BCDFEFEFECDFEFE810A1AFEFEFE1AEE0B18861BD3FEFE170818D9FEFEFEFE
+ FEFEFEFEFEFEFEF1E523F22C341F2C0505674A34344A2F582FC17394777777A4
+ A87910C94B99BC140666AA06A40178AB5C77A8AB8B01D421AA66BFBF8EF53F54
+ 4C5656592FD421985C105C06D578CC4C064C595E8D9326765D0D31D421B6590D
+ 06998DBF3A459C7654545D1E5D5D54B00000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF81FEFEFEFFFFFFFFFFFFFF82FEFEFE28FFFF
+ 81FEFE7A1AFFFFFFFFFFFEFEFE710303030317FEFEFEFFFFFEFEFE17FFFFFFFF
+ FFFFFFFFFFFF17FEFEFEFFFFFFFFFFFFFFFFFFFFFF28FEFEFE71FFFFFFFFFF32
+ FEFEB8FFFF17FEFEFE28FFFFFFFF71FEFEFEFFFFFF28FEFEFEFFFFFFFFFFFEFE
+ FE17FFFFFFFF82FEFE7AFFFFFFFFFFFFB8FEFE32FFFF81FEFE03FFFFFFFFFFFF
+ FFFF03FEFEFE03B8FEFEFEFE82FFFFFFFFFFFFFF280382B8FEFEFE32FF82FEFE
+ 7AFFFFFFFFFFFFFFFFFF81FEFE717AFEFE32FFFFFFDDDDFCFCDBDB5032A6FEFE
+ FEB80A16B8FEFE17BB0870E8E8D3FEFE17081BF1FEFEA60389892D89F4FEFED3
+ 22D6092CB3B31F0533674A05057858783131949F949F2E8BAB7921A15699A55E
+ B5060DA1BF7979A106A8BFBF0DAB0DBF66BFBF0693525243543A4C062106489E
+ 9DAA9D4C7910BF9E599E458E98C8CA1E4B98CC48454B3A13C8D74C4B5D1E1D3E
+ 1E1E3E3D653E3EC50000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF81FEFEFEFFFFFFFFFFFFFF17FEFEFE03FF50FEFEFE28FFFFFFFF
+ FFFFA6FEFE32FFFFFFFF32FEFEB8FFFFFEFEFECD50FFFFFFFFFFFFFFFFFF17FE
+ FEFEFFFFFFFFFFFFFFFFFFFFFFFFA6FEFEA6FFFFFFFFFF81FEFE6BFFFF71FEFE
+ FEA6FFFFFFFFA6FEFEFEFFFFFFFFFEFEFE28FFFFFFFFFEFEFECD50FFFFFF50FE
+ FEFE50FFFFFFFF03FEFEFE1AFFFF81FEFE03FFFFFFFFFFFFFFFF1AFEFEFE71FE
+ FEFEFEFEFE6BFFFFFFFFFFFFFFFFFF28B8FEFE17FF71FEFEFE03FFFFFFFFFFFF
+ FFFF81FEFE0350CDFEFE71FFFFDDFCFCDBDBDB64FC6417FEFEFE0A0ED3FEFECD
+ 500E08B1B1D3FEFEA6611BA0FEFEB8EE3C5B4786B8FEFEC7E5F9F21FB36363F3
+ 67670178F087879424A42E8B7B21A879795C2166B75E5E14B774B74DBD4C4856
+ 4C9D564D9E454C4C93489B59143B53A73A3A5435763AC8C8B0CA3AB54B3A3A4B
+ 4B5683AD434B26353E1D1D1E1E444435C813484B76351D445D1E1D3D3E1315CB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6FE
+ FEFEFFFFFFFFFFFFFF17FEFEFE03FF03FEFEFE17FFFF1A32FFFF03FEFECD03FF
+ FF287AFEFE17FFFFFEFEFEFECD821703FFFFFFFFFFFF71FEFEFE71FFFFFFFFFF
+ FFFFFFFFFFFF50FEFEFEA61AFF1A6BFEFEFE50FFFF03FEFEFEFEB882177AFEFE
+ FECDFFFF5003FEFEFE17030328FFFEFEFEFECD821703FFA6FEFECD32FFFF71CD
+ FEFEA6FFFFFF81FEFE71FFFFFFFFFFFFFFFFFFFEFEFE7128FF507AFEFEFE03FF
+ FF0328FFFFFFFFFFB8FEFE17FFFF7AFEFECD3228FF280303FFFF81FEFE03FF32
+ FEFECD50FFDDFC1A50DDFCFC64DB32FEFEFEBBEE617AFEFECD321AEEEE6BFEFE
+ 81611960D9FEFE6BC43C18F6FEFECDD02700392CB36333674A01F058D1C1872E
+ 8B79C90DBFBF754D4D4D56954556459E453B7D1480373E1E1E3544134435443E
+ 6C443E5D253FA7C945441D1E3E441E1D443E3E44443E44543BA13A8044921313
+ 13923E15153E153E1515351D1D54C0C09265A9A9C09213AE0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFE1AFFFFFFFFFF
+ FF03FEFEFE03FFFFB8FEFEFEFEFEFECDFFFFFF32FEFEFE7A81FEFEFE7A28FFFF
+ FEFEFE7AFEFEFE17FFFFFFFFFFFF28FEFEFE6BFFFFFFFFFFFFFFFFFFFFFFFF32
+ FEFEFEFEFEFEFEFEFE32FFFFFF03FEFEFE81FEFEFEFEFEFEFE82FFFF81FEFEFE
+ FEFEFEFE03FFFEFEFE7AFEFEFE17FF287AFEFEFEFEFEFEFEFE7A28FFFFFF81FE
+ FE17FFFFFFFFFFFFFFFFFFFEFEFE03FFFFFF28CDFEFE6BFFFF82FE7A6B17177A
+ FEFEFE50FFFF50CDFEFEFEFEFEFEFE17FFFFA6FEFE32FFFFA6FEFEB828FCDB28
+ FECD8117176BCDFEFEA6166108C47AFEFEFEFEFEFEFEFEFEB8E3473096F4FEFE
+ CD81B8FEFEFEC72262F2381F3433054A7858C17331319F7BC975B648B245956F
+ C84B35449A9ACACA543B3B841DAC1313921D13921D1D151D6C1D1D3D3D3B983A
+ 1E13131D1D131D1315C0C01313C015138E5615B4CB15151513C03E133D65C015
+ 131544C51D15A9C09265C013651365A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFF03FEFEFE17FFFF
+ 5081FEFEFEFEFE6BFFFFFFFF037AFEFEFEFECD6B28FFFFFFFEFEFE716BFEFE17
+ FFFFFFFFFFFFFF6BFEFEFE03FFFFFFFFFFFFFFFFFFFFFFFF1A6BFEFEFEFEFEA6
+ 03FFFFFFFF03FEFEFE2882CDFEFEFECD82FFFFFF81FEFEFEFEFEFEFE03FFFEFE
+ FE716BFEFE17FFFFFF32B8FEFEFEFEB81728FFFFFFFF6BFEFE17FFFFFFFFFFFF
+ FFFFFFFEFEFE03FFFFFFFF81FEFE81FFFF0381CDFEFEFEFEFEB871FFFFFFFF1A
+ 6BFEFEFEFEFECD50FFFF17FEFE17FFFF28CDFEFE7A28DBDB6B7AFEFEFEFEFEFE
+ 6B7F0708E30BE3F67AFEFEFEFEFEFEFEF418EB512296F8CDFEFEFEFEF432510F
+ 009738B33433674A015831D4319F8BA85C0DBF064D4D4C4856454B6F6FB044B4
+ 3D3B5E3DAC7C3554C83A3A83453A3A56953A9C76A37D986A133E441E35444435
+ 764B4B7676C8544B439D1D1DC53537445D1E545D4B3A5D545D5435763792135D
+ 3E1E651E1E3E1ECB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFF03FEFEFE17FFFFFFFF28030350FFFF
+ FFFFFFFFFFFF28030350FFFFFFFFFFFFFFFFFFFFFF1A031AFFFFFFFFFFFFFF1A
+ CDFEFECD71FFFFFFFFFFFFFFFFFFFFFFFFFFFF030303FFFFFFFFFFFFFFFFFFFF
+ FFFFFFFF500303FFFFFFFFFFFFFF81FEFE03FFFFFFFFFFFFFFFFFF1A031AFFFF
+ FFFFFF1A03031AFFFFFFFFFFFFFF17FEFE17FFFFFFFFFFFFFFFFFFFEFEFE03FF
+ FFFF28CDFEFE81FFFFFFFFFF2803030328FFFFFFFFFFFFFFFFFF0303031AFFFF
+ FFFF17FEFE17FFFFFFFFFFFFFFFCFC640A646450030350BB16EE61E30BB17070
+ 700B89898989FBE819C351E5693622300C2D2D9604690FF92AF2382CB3B33305
+ 4A01739FC131217B7B79CCA8C910C910AB10107EA10D4D3A3D995E3D3A914556
+ 484C5906064C9E064C480659A38F0DAC4476764B3A3A4B4556459C4545454545
+ 5E9D441D7C355D35C8545454544B4B4B544B6A7637A9655D4B5D1E5D443E1EB4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FE
+ FEFE03FFFFFFFFFFFF28FEFEFE17FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32FEFEFEFE7A1703
+ 0371177A03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFE32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFE17FFFFFFFFFFFFFFFFFFFEFEFE6B171717B8FEFEFE17FF
+ FFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFE17FFFF
+ FFDDFCFFFFDBDB640A0A0ABBBB1616EE0761080BB1703C18E81B86ED195B6049
+ 0451364F4E4E4E4E4E4E4E270F2B55000939F72CB3346305674A317731C18BD5
+ 8B7BCC79A810A8A8C90D0D66660D75B55D7D5EA39B919C564548489E064C484C
+ 7448065954B95E6C353A76C83A833A45953A3A3A3A4545457E3A44923A443554
+ 35C8C8C854355454543A3580C5921E651E13445D3E441ECB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03FEFEFE17FFFFFFFFFF
+ FFFFFEFEFE6BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03CDFEFEFEFEFEFEFEFEFE28FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A17
+ 8117FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FE
+ FE81FFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFE7A28FFFFFFFFFFFFFCFCFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEA6FFDDFFFFFFFCFCFCDB64
+ 0A0ABBBB900EEE076108E30B703C18E886195B4742EB30512236294E270F0F0F
+ 02022B62552300EC9739381FB3346333674A312431877B248B7979A8C9105C7E
+ A8A17EA10D107E9B1E7D5EA34D91484556B64848590659594D4C7598265206AC
+ 543A76544B833A7645459595569E9E483BADCACB9C351E541EC8547676C83A76
+ 263AC8356C151E5D1D137676445D54B40000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF03FEFEFE17FFFFFFFFFFFFFFFEFEFE81FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFF28177AFEFEFEFEFEFE7AFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFE81FFFFFFFFFFFF
+ FFFFFFFEFEFEFEFEFEFEFECD6B28FFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFF17FEFE81DDFFDDFCFFFFFCDB640A0ABB16160EEE0761
+ 0808E3B1703CE886195B4742BE04512236294F4E270F02022B1CEF232300ECF2
+ C2F7381FB3346305674AC1D49F877BD2A47B21A85C105C7E5C0D7E7EAA7E0D6E
+ 3E7D7EA34D9B064548065956484C4C4C4D4D060684B99DB4763A453A4B45B276
+ 3AB5B595489EB79D93C86C1D4BB21E35459544CA9A9A956F263580ACCB923E45
+ 45560DB63E5D54B40000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF03030350FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDDFFFCFCFC0AFC640A0ABB16160EEE076108E30B707018E886
+ 19476049300451EA36294E270F0F022B1C1C238C8CECEC09C2382C1FB3633305
+ 674A58D49F2F7B24A48BABA85C10A1667E667E7E665C5C481E8B99A34C9BBF26
+ 59A10D9EB24C5959AA7575982552BDAC3A45B6483A48593A6F3A95BD4874483A
+ CAC86CB03A10B2458BC93A9A9A9A569556353AB0C5C5C888CCCCD5BF1D4435B4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFC
+ FFDBFFDB640A0ABBBB161690EE07610808E3B1703C181BED5B4742BE30042236
+ E54F4E270F0F022B1CEF238C00EC0909C2382C1F3463330567675894242FD2D5
+ CF2F8B7B2F87BFA1A1060D5CA17EA19B843F3BCA759B2F569888C12659598359
+ 4D750D14145206AC3A83F00688F02E2626AD833A4C4559569845352644D47B99
+ 8B4DCACA4B4B4B3A9C9C06B2441E1ED5CC8B103A134435CB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFCFCFFFFFCFFFFFFFFFFFFFFFCFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDFCFCDB0A0A0A0A
+ BB16160EEE076108E30B703C3CE886195B60493004512236694F27270F02022B
+ 1C55238C002A090939F72C1F34630505674A5894C1D1D49FA44A9F2158F00D7E
+ ABA1A1A166A1A14D938F3F25069B012EA17B2EB74C4C7498064806433BF55E6A
+ 454CD5CC06310D3A9595957645455999D2481D9A3A9F217EC99EC8C8264BC84B
+ 35060D4544541D06764545C83554C8AC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFCFCFCFCFFFCFCFCFCFCFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFDDFCFC640A0A0A0ABB1690EE070761E3
+ E30B703C181B86194760BE3004513636294E27270F022B621C558C0000EC0909
+ C2382C1F34633305674A58942F53312E24672F2E2F2FA8A85C667566660D0D4D
+ 1453528E069B77D55C775C66749B74744DB5BF433FBC3B6E489BA87B4C214C9B
+ 56489B48484893B97B484B4BD79D4B5606B7BD95BDB54BC88EAB5992A96F9A4B
+ 56959556454B44CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFC
+ FCFCFCFFFFFFFCFCFFFFFFFFFCFFFFFCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFCFCFC640A0A0ABBBB16160E07076108E30BB1703CE81B195B
+ 47C3BE30042236E54F4E270F0F022B62D6558C8C002A09F239382C1F34630505
+ 67017824C1AFA52E8B77777777A48B79AB1010105C5C664D5EAF5384065F7510
+ 667BAAAB7E0D7E0D0D4CBFB7B9535E6A729AAA7E66667E5C7EA1A1759B488EA5
+ A49DCAC8BD4D744D4D4D4D4C74B79DB5A3B98F06CACAB06E3AC8C83A954BC8AC
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFCFF
+ FCFFFFFCFCFFFCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCDB0A0A0ABBBBBBBB90EE07610808E30B7070181B8619476049300451223669
+ 4F4E270F02022BD6EF558C002A09F2C2F7382C1FB3633305674A7894C111BCCF
+ 7B798B77A48BA4A42E2E7B79A85C064DB96DAF14B79B5F0D7EA87E7979A85C5C
+ 7E0648AAF5BCB9747472064D66747E66AA4D5F6EB59314BCAFA44C9AB0B5849A
+ 84B5BD3A3ABD48B7A75A5AF57B0659757E7E5C5CC99979790000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFFFCFFFFFCFCFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCDB64640A0ABBBBBB
+ 1690EE076108E30BB1703CE81BED194742493004222236294F270F0F022B62EF
+ EF238C00ECECF2C2F7382C1F3463330567012F2F5A1185A48B2EA421A47B218B
+ 7979A85C5C66665CAF5A6D53C94CAA06664DAAAAAA4D4D4D14064C79BCBAF577
+ 9DB572B5B5729DB574744D4D6610D45AFDAF01C1772E9FC1C12FF0014ABCAFBA
+ 5AFDFD6D5A5A5A5A5A5A5ACEBACE5A2C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFFFFFCFCFCFCFCFFFFFCFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFDDFFFFFFFFFFFFFFFFFFFFDDDBDBDB640A0A0ABBBBBB16EEEE616108E30B
+ 703C3C1B86ED4760C330040422EA69294E270F0F022B621C55238C002A09F2C2
+ F72C1FB334330505670178F31111110524D22E21D221AB10AB79AB1079792EF0
+ FD6DFD6D0587318F3131C12FA5F07801F0010185BA6D5AAF0101F5BC058585BA
+ BABACEBACEBA5A6DFDFDFDFDFDFD6D5A5A6D6DFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCDBDBDBDBDB
+ DBFCFFFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFCFCFCFCDB640A0ABBBBBBBB160EEE076108E3E30B703C181B865B4760
+ C33004512236294F4E270F02022B1CEF23238C00EC0909E78A39F738112C2C1F
+ CECE6D41111111FD5ACE5A6D6D6D6D5A5A5A5A5A5A5A6DFDFDFDFDFDFDFD6D6D
+ 5A6D5A6D5A5A5A5A5A5A5AFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFFFCFCFCFC
+ FCFCFFFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBFCFCDB
+ 640ABBBBBB16160EEE07616108E30B70703CE81B195B47C3BE040422EAE5294E
+ 27270F022B621CEF238C8C00ECECEC6868E78A8A464646414141411111111111
+ 1111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
+ FCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFCFCFCFCFCFCFCFCFCFFFCFCFFFF
+ FFFFDDFFDDDDFFFFFFFFFFFFDDFFFFFFFFFFFFFFFCDBDB64640A0ABBBB16160E
+ EE07610808E3B1703C181BED194760493004512236E54F4E270F0F022B1C1C55
+ 238C00ECECECEC09688A8A8A4646464141414111111111111111FD1111FDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBDBDBDB
+ DBDBDBDBDBDBDB6464FCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFDDFFFFFFFFFFFF
+ FFFFFFFFFCDDFFFFFCFFFFFCDB64640A0A0ABBBBBB160EEE07610808E30B7070
+ 3CE81B195B4742BE300451EAE5294F4E270F02022B1C1C558C8C0000ECEC6868
+ E78A8A46464646414141411111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB6464646464
+ 64FCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFDDDDFFFFDDFFFFFFDDFFFFFFFFFFFC
+ FFFFFCFCFCFC640A0A0ABB1616160EEE076108080B0B703CE81B86194760C3BE
+ 04512236E54F4E270F0F022B2B1CEF8C8C0000ECECEC0909DCE7464646464141
+ 4111411111111111FDFD11FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB646464646464FCFC64FCFCFCFCFC
+ FCFCFCFCFCFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBFCDBDBDB0A0A
+ 0ABB1616160E0E07616108E30B70703CE886195B474249305151223669294E27
+ 0F0F022B2B1CEF238C8C0000ECEC096868E7E78A8A4646414141414111411111
+ 1111111111111111111111111111111111111111111111111111111111111111
+ 1111111111111111111111111111111111111111111111111111111111111111
+ 11111111111111111111111111111111111111111111118A0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFCFCFCFCFCDB
+ DBDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A646464646464DBFCFCFCDBFCDBFFFFFF
+ DDDDFFDDFFFFFFFFFFFFFFFFFFFCFCFCFCFFFCDBDB0A0A0ABBBB160E16EEEE07
+ 070808E30BB13C3CE81B86194760C3BE3004512236E54F4E4E270F0F022B2B1C
+ 1C55558C8C8C0000002A2AECECEC09EC09096868686868686868DCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCEC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB
+ DBDBDBDBDBDB64DBDBDBDBDBDBDBDBFCFCDBFCDBFFFFFFFFFFFFFFDDDDFFFFFF
+ FFFFFFFFFFFCFCFCFCFCFCDBDBDBDB640A0ABBBBBB160EEEEE07616108E3E3B1
+ 703C18181BED195B4760C349303004515122EAEAE5E529294F4F4E4E27272727
+ 270F0F0F0F0F0F0F0F0202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 020202020202020F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDDFCFCFCFCFCFCFCFCFCDD
+ DDDDDDDDDDFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFC640A0A0A0A0ABB161616900EEE0707610808E3E30B0BB170
+ 3C3C3C18E81B1B86EDED19195B5B4747474760604242C3C3C3C3494949494949
+ EBEBEBBEBEBEBE30BEBE30303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303049
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFDDDDFCFCFCFCFCFCFCFCDBDBDBDBDDFCFCFCDDDDFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDDFCFC64
+ 640A0A0A0ABB161616900EEE070761080808E3E30BB17070703C3CE81B1B1B86
+ ED1919195B5B4747476060424242C3C3C3494949494949EBBEEBBEBEBEBE3030
+ BE30303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030490000FCFCFCFCFCFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB
+ DBDB6464646464640A0A0A0A0A0A6464646464DBDBDBDBDBDBDBDBFCFFFFDDDD
+ FFDDFFFFFFFFFCFFFFFFDDFFFFFCFCFCFCDBDBDBDB640A0ABBBBBBBB16EEEE07
+ 610808E3E3B170703C181B86ED195B4742C3BE300404512222EA36E529294F4F
+ 4E4E4E272727270F0F0F0F0F0F0F020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020F0000FCFCFCFCFCFCFCFCFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCDBDBDBDBDBDBDB64640A0A0A0A0ABBBBBB
+ BBBBBBBBBBBB0A0ABB0A0A0A0A0A0A0ADB64FCFCFCFFDDDBFFFFDDFFFFFFFFFF
+ FFFFFCFFFFFFFC64DBDBDB0A0A0ABB161690EEEE07070808E30BB1703C181B1B
+ 195B476049300451512236294F4E27270F0F022B2B1C1CEF558C8C0000000000
+ ECECECECECEC09090968686868686868DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCEC0000FCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFF
+ FCFCFCFCFCFCDBDBDBDBDBDBDB640A0A0A0A0ABBBBBBBBBBBBBBBBBBBBBBBBBB
+ BB0A0A0A0A0A640A6464DBFCFCDDFCFFDDFCFFFFFFFFFFFFFFFFFFFFFFFCDBFC
+ 640A0A0ABBBBBBBB900EEE07616108E3E30B703C18E81B191947604930040451
+ 223669294E27270F02022B2B621CEF55238C8C00000000ECECECEC0909096868
+ 68E7E768E7E78AE7E78A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
+ 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
+ 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8AEC
+ 0000}
+ Login.LeftImage.Data = {
+ 07544269746D617016090000424D160900000000000036040000280000003200
+ 0000180000000100080000000000E00400000000000000000000000100000000
+ 000000000000000080000080000000808000800000008000800080800000C0C0
+ C000C0DCC000F0CAA6000020400000206000002080000020A0000020C0000020
+ E00000400000004020000040400000406000004080000040A0000040C0000040
+ E00000600000006020000060400000606000006080000060A0000060C0000060
+ E00000800000008020000080400000806000008080000080A0000080C0000080
+ E00000A0000000A0200000A0400000A0600000A0800000A0A00000A0C00000A0
+ E00000C0000000C0200000C0400000C0600000C0800000C0A00000C0C00000C0
+ E00000E0000000E0200000E0400000E0600000E0800000E0A00000E0C00000E0
+ E00040000000400020004000400040006000400080004000A0004000C0004000
+ E00040200000402020004020400040206000402080004020A0004020C0004020
+ E00040400000404020004040400040406000404080004040A0004040C0004040
+ E00040600000406020004060400040606000406080004060A0004060C0004060
+ E00040800000408020004080400040806000408080004080A0004080C0004080
+ E00040A0000040A0200040A0400040A0600040A0800040A0A00040A0C00040A0
+ E00040C0000040C0200040C0400040C0600040C0800040C0A00040C0C00040C0
+ E00040E0000040E0200040E0400040E0600040E0800040E0A00040E0C00040E0
+ E00080000000800020008000400080006000800080008000A0008000C0008000
+ E00080200000802020008020400080206000802080008020A0008020C0008020
+ E00080400000804020008040400080406000804080008040A0008040C0008040
+ E00080600000806020008060400080606000806080008060A0008060C0008060
+ E00080800000808020008080400080806000808080008080A0008080C0008080
+ E00080A0000080A0200080A0400080A0600080A0800080A0A00080A0C00080A0
+ E00080C0000080C0200080C0400080C0600080C0800080C0A00080C0C00080C0
+ E00080E0000080E0200080E0400080E0600080E0800080E0A00080E0C00080E0
+ E000C0000000C0002000C0004000C0006000C0008000C000A000C000C000C000
+ E000C0200000C0202000C0204000C0206000C0208000C020A000C020C000C020
+ E000C0400000C0402000C0404000C0406000C0408000C040A000C040C000C040
+ E000C0600000C0602000C0604000C0606000C0608000C060A000C060C000C060
+ E000C0800000C0802000C0804000C0806000C0808000C080A000C080C000C080
+ E000C0A00000C0A02000C0A04000C0A06000C0A08000C0A0A000C0A0C000C0A0
+ E000C0C00000C0C02000C0C04000C0C06000C0C08000C0C0A000F0FBFF00A4A0
+ A000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFF
+ FF00FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD525252525252525252525252
+ 5252FDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDAFB75E5E5E66666767676F6F6F6FB752FDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBF
+ BFBFBFBFBFBFBFBFBFB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFB76F676F6FB7B7B7B7B7776F5EB752FD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBFBFB752FDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFB76F676F6F6FB7B7
+ B7B7776F5EB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBFBFBF52FDFDFDFDFD
+ 0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAF
+ B76767676F6F6FB7B7B7776F5EB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBF
+ BFBF52FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDAFB76767676F6F6F6FB7B7776F5EB752FDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBF
+ BFBFBFBFBFBFBFBFBFBF52FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBFB7AFAFB7B7B7B7BFBFBFBFB7B752FD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDAFB76F675E5E5E5E5E5E676FB7A5FDFDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F79BFDFDFDFD
+ FDFDA4F7A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDF7F79BFDFDFDFDFDFDA407A3FDFDFDFDFDFDFD
+ 0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDF7F79BFDFDFDFDFDFDA407A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F7A4FDFDFDFDFDFDF707
+ A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDF707A49AFDFDFDFDA30707A3FDFDFDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F6A4
+ A49B9A9AA3A407079AFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F6F7F7A4A4F70707A3FDFDFDFD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDF7F6F6F6F6F607A3FDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7A3A3A3
+ A3A3FDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ 0000}
+ Log.WindowCaption = 'Seguran'#231'a'
+ Log.LabelDescription = 'Log do Sistema'
+ Log.LabelUser = 'Usu'#225'rio :'
+ Log.LabelDate = 'Data :'
+ Log.LabelLevel = 'N'#237'vel m'#237'nimo : '
+ Log.ColLevel = 'N'#237'vel'
+ Log.ColMessage = 'Mensagem'
+ Log.ColUser = 'Usu'#225'rio'
+ Log.ColDate = 'Data'
+ Log.BtFilter = '&Aplicar Filtro'
+ Log.BtDelete = '&Excluir Log'
+ Log.PromptDelete = 'Confirma excluir todos os registros de log selecionados ?'
+ Log.BtClose = '&Fechar'
+ UsersForm.WindowCaption = 'Seguran'#231'a'
+ UsersForm.LabelDescription = 'Cadastro de Usu'#225'rios'
+ UsersForm.ColName = 'Nome'
+ UsersForm.ColLogin = 'Login'
+ UsersForm.ColEmail = 'Email'
+ UsersForm.BtAdd = '&Adicionar'
+ UsersForm.BtChange = 'A<erar'
+ UsersForm.BtDelete = '&Excluir'
+ UsersForm.PromptDelete = 'Confirma excluir o usu'#225'rio "%s" ?'
+ UsersForm.BtRights = 'A&cessos'
+ UsersForm.BtPassword = '&Senha'
+ UsersForm.BtClose = '&Fechar'
+ AddChangeUser.WindowCaption = 'Cadastro de Usu'#225'rios'
+ AddChangeUser.LabelAdd = 'Adicionar Usu'#225'rio'
+ AddChangeUser.LabelChange = 'Alterar Usu'#225'rio'
+ AddChangeUser.LabelName = 'Nome : '
+ AddChangeUser.LabelLogin = 'Login : '
+ AddChangeUser.LabelEmail = 'Email : '
+ AddChangeUser.CheckPrivileged = 'Usu'#225'rio privilegiado'
+ AddChangeUser.BtSave = '&Gravar'
+ AddChangeUser.BtCancel = 'Cancelar'
+ AddChangeProfile.WindowCaption = 'Perfil de Usu'#225'rios'
+ AddChangeProfile.LabelAdd = 'Adicionar Perfil'
+ AddChangeProfile.LabelChange = 'Alterar Perfil'
+ AddChangeProfile.LabelName = 'Descri'#231#227'o : '
+ AddChangeProfile.BtSave = '&Gravar'
+ AddChangeProfile.BtCancel = 'Cancelar'
+ UsersProfile.WindowCaption = 'Seguran'#231'a'
+ UsersProfile.LabelDescription = 'Perfil de Usu'#225'rios'
+ UsersProfile.ColProfile = 'Perfil'
+ UsersProfile.BtAdd = '&Adicionar'
+ UsersProfile.BtChange = 'A<erar'
+ UsersProfile.BtDelete = '&Excluir'
+ UsersProfile.BtRights = 'A&cessos'
+ UsersProfile.PromptDelete = 'Existem usu'#225'rios com o perfil "%s". Confirma excluir?'
+ UsersProfile.BtClose = '&Fechar'
+ Rights.WindowCaption = 'Seguran'#231'a'
+ Rights.LabelUser = 'Permiss'#245'es do Usu'#225'rio : '
+ Rights.LabelProfile = 'Permiss'#245'es do Perfil : '
+ Rights.PageMenu = 'Itens do Menu'
+ Rights.PageActions = 'A'#231#245'es'
+ Rights.BtUnlock = '&Liberar'
+ Rights.BtLock = '&Bloquear'
+ Rights.BtSave = '&Gravar'
+ Rights.BtCancel = '&Cancelar'
+ ChangePassword.WindowCaption = 'Seguran'#231'a'
+ ChangePassword.LabelDescription = 'Trocar Senha'
+ ChangePassword.LabelCurrentPassword = 'Senha Atual :'
+ ChangePassword.LabelNewPassword = 'Nova Senha : '
+ ChangePassword.LabelConfirm = 'Confirma'#231#227'o : '
+ ChangePassword.BtSave = '&Gravar'
+ ChangePassword.BtCancel = 'Cancelar'
+ ResetPassword.WindowCaption = 'Definir senha do usu'#225'rio : "%s"'
+ ResetPassword.LabelPassword = 'Senha : '
+ XPStyleSet.DimLevel = 30
+ XPStyleSet.GrayLevel = 10
+ XPStyleSet.Font.Charset = ANSI_CHARSET
+ XPStyleSet.Font.Color = clMenuText
+ XPStyleSet.Font.Height = -11
+ XPStyleSet.Font.Name = 'Tahoma'
+ XPStyleSet.Font.Style = []
+ XPStyleSet.Color = clBtnFace
+ XPStyleSet.IconBackColor = clBtnFace
+ XPStyleSet.MenuBarColor = clBtnFace
+ XPStyleSet.SelectColor = clHighlight
+ XPStyleSet.SelectBorderColor = clHighlight
+ XPStyleSet.SelectFontColor = clMenuText
+ XPStyleSet.DisabledColor = clInactiveCaption
+ XPStyleSet.SeparatorColor = clBtnFace
+ XPStyleSet.CheckedColor = clHighlight
+ XPStyleSet.IconWidth = 24
+ XPStyleSet.DrawSelect = True
+ XPStyleSet.UseSystemColors = True
+ XPStyleSet.OverrideOwnerDraw = False
+ XPStyleSet.Gradient = False
+ XPStyleSet.FlatMenu = False
+ XPStyleSet.AutoDetect = False
+ XPStyleSet.BitBtnColor = clBtnFace
+ XPStyle = True
+ Left = 56
+ Top = 128
+ end
+ object UCXPStyle1: TUCXPStyle
+ Active = True
+ XPSettings.DimLevel = 30
+ XPSettings.GrayLevel = 10
+ XPSettings.Font.Charset = ANSI_CHARSET
+ XPSettings.Font.Color = clMenuText
+ XPSettings.Font.Height = -11
+ XPSettings.Font.Name = 'Tahoma'
+ XPSettings.Font.Style = []
+ XPSettings.Color = clBtnFace
+ XPSettings.IconBackColor = clBtnFace
+ XPSettings.MenuBarColor = clBtnFace
+ XPSettings.SelectColor = clHighlight
+ XPSettings.SelectBorderColor = clHighlight
+ XPSettings.SelectFontColor = clMenuText
+ XPSettings.DisabledColor = clInactiveCaption
+ XPSettings.SeparatorColor = clBtnFace
+ XPSettings.CheckedColor = clHighlight
+ XPSettings.IconWidth = 24
+ XPSettings.DrawSelect = True
+ XPSettings.UseSystemColors = True
+ XPSettings.OverrideOwnerDraw = False
+ XPSettings.Gradient = False
+ XPSettings.FlatMenu = False
+ XPSettings.AutoDetect = False
+ XPSettings.BitBtnColor = clBtnFace
+ UCSettings = UCSettings1
+ Left = 88
+ Top = 128
+ end
+ object MyConnection1: TMyConnection
+ Database = 'qloja'
+ Username = 'root'
+ Password = 'triadpass'
+ Server = '127.0.0.1'
+ LoginPrompt = False
+ Left = 56
+ Top = 88
+ end
+ object UCMyDACConn1: TUCMyDACConn
+ Connection = MyConnection1
+ Left = 88
+ Top = 88
+ end
+end
diff --git a/official/2.20/Demos/1 Basic All Data Access/MyDAC/Unit1.pas b/official/2.20/Demos/1 Basic All Data Access/MyDAC/Unit1.pas
new file mode 100644
index 0000000..5579ee6
--- /dev/null
+++ b/official/2.20/Demos/1 Basic All Data Access/MyDAC/Unit1.pas
@@ -0,0 +1,89 @@
+unit Unit1;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, DB, UCBase, Menus, StdCtrls, Buttons, ExtCtrls,
+ UCMyDACConn, DBAccess, MyAccess;
+
+type
+ TForm1 = class(TForm)
+ UserControl1: TUserControl;
+ MainMenu1: TMainMenu;
+ Arquivo1: TMenuItem;
+ Abrir1: TMenuItem;
+ Salvar1: TMenuItem;
+ Salvar2: TMenuItem;
+ Salvarcomo1: TMenuItem;
+ Fechar1: TMenuItem;
+ N2: TMenuItem;
+ Dados1: TMenuItem;
+ Importar1: TMenuItem;
+ Exportar1: TMenuItem;
+ N4: TMenuItem;
+ Vincular1: TMenuItem;
+ N3: TMenuItem;
+ Sair2: TMenuItem;
+ Editar1: TMenuItem;
+ Copiar1: TMenuItem;
+ Colar1: TMenuItem;
+ Recortar1: TMenuItem;
+ N1: TMenuItem;
+ Selecionartudo1: TMenuItem;
+ N5: TMenuItem;
+ AreadeTransferencia1: TMenuItem;
+ Exibir2: TMenuItem;
+ Esvaziar1: TMenuItem;
+ Exibir1: TMenuItem;
+ Zoom1: TMenuItem;
+ Normal1: TMenuItem;
+ Grande1: TMenuItem;
+ Ajustarnajanela1: TMenuItem;
+ N6: TMenuItem;
+ Personalizar1: TMenuItem;
+ amanhonormal1: TMenuItem;
+ elacheia1: TMenuItem;
+ Relatorios1: TMenuItem;
+ Relatorio11: TMenuItem;
+ Relatorio21: TMenuItem;
+ Relatorio31: TMenuItem;
+ Relatorio41: TMenuItem;
+ Segurana1: TMenuItem;
+ Cadastrodeusuarios1: TMenuItem;
+ Perfildeusurios1: TMenuItem;
+ logdosistema: TMenuItem;
+ N7: TMenuItem;
+ rocarsenha1: TMenuItem;
+ EfetuarLogoff1: TMenuItem;
+ UCSettings1: TUCSettings;
+ UCXPStyle1: TUCXPStyle;
+ MyConnection1: TMyConnection;
+ UCMyDACConn1: TUCMyDACConn;
+ Panel1: TPanel;
+ procedure FormCreate(Sender: TObject);
+ procedure EfetuarLogoff1Click(Sender: TObject);
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ Form1: TForm1;
+
+implementation
+
+{$R *.dfm}
+
+procedure TForm1.FormCreate(Sender: TObject);
+begin
+ MyConnection1.Connected := True;
+end;
+
+procedure TForm1.EfetuarLogoff1Click(Sender: TObject);
+begin
+ UserControl1.Logoff;
+end;
+
+end.
diff --git a/official/2.20/Demos/1 Basic All Data Access/MySQLDAC/Project1.dpr b/official/2.20/Demos/1 Basic All Data Access/MySQLDAC/Project1.dpr
new file mode 100644
index 0000000..08b344c
--- /dev/null
+++ b/official/2.20/Demos/1 Basic All Data Access/MySQLDAC/Project1.dpr
@@ -0,0 +1,13 @@
+program Project1;
+
+uses
+ Forms,
+ Unit1 in 'Unit1.pas' {Form1};
+
+{$R *.res}
+
+begin
+ Application.Initialize;
+ Application.CreateForm(TForm1, Form1);
+ Application.Run;
+end.
diff --git a/official/2.20/Demos/1 Basic All Data Access/MySQLDAC/Project1.res b/official/2.20/Demos/1 Basic All Data Access/MySQLDAC/Project1.res
new file mode 100644
index 0000000..03109fc
Binary files /dev/null and b/official/2.20/Demos/1 Basic All Data Access/MySQLDAC/Project1.res differ
diff --git a/official/2.20/Demos/1 Basic All Data Access/MySQLDAC/Unit1.dfm b/official/2.20/Demos/1 Basic All Data Access/MySQLDAC/Unit1.dfm
new file mode 100644
index 0000000..ddbcdd4
--- /dev/null
+++ b/official/2.20/Demos/1 Basic All Data Access/MySQLDAC/Unit1.dfm
@@ -0,0 +1,1479 @@
+object Form1: TForm1
+ Left = 170
+ Top = 180
+ Width = 610
+ Height = 350
+ Caption = 'User Control - MySQLDAC Basic Demo'
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ Menu = MainMenu1
+ OldCreateOrder = False
+ OnCreate = FormCreate
+ PixelsPerInch = 96
+ TextHeight = 13
+ object Panel1: TPanel
+ Left = 56
+ Top = 192
+ Width = 465
+ Height = 73
+ Caption = 'Define the database properties before run this demo!'
+ Color = 8421631
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWhite
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = [fsBold]
+ ParentFont = False
+ TabOrder = 0
+ Visible = False
+ end
+ object UserControl1: TUserControl
+ AutoStart = True
+ ApplicationID = 'MySQLDACBasic'
+ ControlRight.MainMenu = MainMenu1
+ UsersForm.MenuItem = Cadastrodeusuarios1
+ UsersForm.UsePrivilegedField = False
+ UsersForm.ProtectAdmin = True
+ EncryptKey = 0
+ NotAllowedItems.MenuVisible = True
+ NotAllowedItems.ActionVisible = True
+ Login.AutoLogon.Active = False
+ Login.AutoLogon.MessageOnError = False
+ Login.InitialLogin.User = 'Admin'
+ Login.InitialLogin.Email = 'qmd@usercontrol.com.br'
+ Login.InitialLogin.Password = '#delphi'
+ Login.MaxLoginAttempts = 0
+ Login.GetLoginName = lnNone
+ LogControl.Active = True
+ LogControl.TableLog = 'MySQLDACBCLog'
+ LogControl.MenuItem = logdosistema
+ ExtraRight = <>
+ LoginMode = lmActive
+ UsersProfile.Active = True
+ UsersProfile.MenuItem = Perfildeusurios1
+ TableUsers.FieldUserID = 'UCIdUser'
+ TableUsers.FieldUserName = 'UCUserName'
+ TableUsers.FieldLogin = 'UCLogin'
+ TableUsers.FieldPassword = 'UCPassword'
+ TableUsers.FieldEmail = 'UCEmail'
+ TableUsers.FieldPrivileged = 'UCPrivileged'
+ TableUsers.FieldTypeRec = 'UCTypeRec'
+ TableUsers.FieldProfile = 'UCProfile'
+ TableUsers.FieldKey = 'UCKey'
+ TableUsers.TableName = 'MYSQLDACBCTabUsers'
+ TableRights.FieldUserID = 'UCIdUser'
+ TableRights.FieldModule = 'UCModule'
+ TableRights.FieldComponentName = 'UCCompName'
+ TableRights.FieldFormName = 'UCFormName'
+ TableRights.FieldKey = 'UCKey'
+ TableRights.TableName = 'MySQLDACBCTabRights'
+ ChangePasswordForm.MenuItem = rocarsenha1
+ ChangePasswordForm.ForcePassword = False
+ ChangePasswordForm.MinPasswordLength = 0
+ DataConnector = UCMySQLDACConn1
+ Left = 120
+ Top = 88
+ end
+ object MainMenu1: TMainMenu
+ AutoHotkeys = maManual
+ OwnerDraw = True
+ Left = 56
+ Top = 56
+ object Arquivo1: TMenuItem
+ Caption = 'Arquivo'
+ object Abrir1: TMenuItem
+ Caption = 'Abrir'
+ end
+ object Salvar1: TMenuItem
+ Caption = '-'
+ end
+ object Salvar2: TMenuItem
+ Caption = 'Salvar'
+ end
+ object Salvarcomo1: TMenuItem
+ Caption = 'Salvar como...'
+ end
+ object Fechar1: TMenuItem
+ Caption = 'Fechar'
+ end
+ object N2: TMenuItem
+ Caption = '-'
+ end
+ object Dados1: TMenuItem
+ Caption = 'Dados'
+ object Importar1: TMenuItem
+ Caption = 'Importar'
+ end
+ object Exportar1: TMenuItem
+ Caption = 'Exportar'
+ end
+ object N4: TMenuItem
+ Caption = '-'
+ end
+ object Vincular1: TMenuItem
+ Caption = 'Vincular'
+ end
+ end
+ object N3: TMenuItem
+ Caption = '-'
+ end
+ object Sair2: TMenuItem
+ Caption = 'Sair'
+ end
+ end
+ object Editar1: TMenuItem
+ Caption = 'Editar'
+ object Copiar1: TMenuItem
+ Caption = 'Copiar'
+ end
+ object Colar1: TMenuItem
+ Caption = 'Colar'
+ end
+ object Recortar1: TMenuItem
+ Caption = 'Recortar'
+ end
+ object N1: TMenuItem
+ Caption = '-'
+ end
+ object Selecionartudo1: TMenuItem
+ Caption = 'Selecionar tudo'
+ end
+ object N5: TMenuItem
+ Caption = '-'
+ end
+ object AreadeTransferencia1: TMenuItem
+ Caption = 'Area de Transferencia'
+ object Exibir2: TMenuItem
+ Caption = 'Exibir'
+ end
+ object Esvaziar1: TMenuItem
+ Caption = 'Esvaziar'
+ end
+ end
+ end
+ object Exibir1: TMenuItem
+ Caption = 'Exibir'
+ object Zoom1: TMenuItem
+ Caption = 'Zoom...'
+ object Normal1: TMenuItem
+ Caption = 'Normal'
+ Checked = True
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object Grande1: TMenuItem
+ Caption = 'Grande'
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object Ajustarnajanela1: TMenuItem
+ Caption = 'Ajustar na janela'
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object N6: TMenuItem
+ Caption = '-'
+ GroupIndex = 1
+ end
+ object Personalizar1: TMenuItem
+ Caption = 'Personalizar'
+ GroupIndex = 1
+ end
+ end
+ object amanhonormal1: TMenuItem
+ Caption = 'Tamanho normal'
+ end
+ object elacheia1: TMenuItem
+ Caption = 'Tela cheia'
+ end
+ end
+ object Relatorios1: TMenuItem
+ Caption = 'Relatorios'
+ object Relatorio11: TMenuItem
+ Caption = 'Relatorio 1'
+ end
+ object Relatorio21: TMenuItem
+ Caption = 'Relatorio 2'
+ end
+ object Relatorio31: TMenuItem
+ Caption = 'Relatorio 3'
+ end
+ object Relatorio41: TMenuItem
+ Caption = 'Relatorio 4'
+ end
+ end
+ object Segurana1: TMenuItem
+ Caption = 'Seguran'#231'a'
+ object Cadastrodeusuarios1: TMenuItem
+ Caption = 'Cadastro de usuarios'
+ end
+ object Perfildeusurios1: TMenuItem
+ Caption = 'Perfil de usuarios'
+ end
+ object logdosistema: TMenuItem
+ Caption = 'Log do Sistema'
+ end
+ object N7: TMenuItem
+ Caption = '-'
+ end
+ object rocarsenha1: TMenuItem
+ Caption = 'Trocar senha'
+ end
+ object EfetuarLogoff1: TMenuItem
+ Caption = 'Efetuar Logoff'
+ OnClick = EfetuarLogoff1Click
+ end
+ end
+ end
+ object UCSettings1: TUCSettings
+ AppMessages.MsgsForm_BtNew = '&Nova Mensagem'
+ AppMessages.MsgsForm_BtReplay = '&Responder'
+ AppMessages.MsgsForm_BtForward = 'E&ncaminhar'
+ AppMessages.MsgsForm_BtDelete = '&Excluir'
+ AppMessages.MsgsForm_WindowCaption = 'Mensagens do Sistema'
+ AppMessages.MsgsForm_ColFrom = 'Remetente'
+ AppMessages.MsgsForm_ColSubject = 'Assunto'
+ AppMessages.MsgsForm_ColDate = 'Data'
+ AppMessages.MsgsForm_PromptDelete = 'Confirma excluir as mensagens selecionadas ?'
+ AppMessages.MsgRec_BtClose = '&Fechar'
+ AppMessages.MsgRec_WindowCaption = 'Mensagem'
+ AppMessages.MsgRec_Title = 'Mensagem Recebida'
+ AppMessages.MsgRec_LabelFrom = 'De :'
+ AppMessages.MsgRec_LabelDate = 'Date'
+ AppMessages.MsgRec_LabelSubject = 'Assunto'
+ AppMessages.MsgRec_LabelMessage = 'Mensagem'
+ AppMessages.MsgSend_BtSend = '&Enviar'
+ AppMessages.MsgSend_BtCancel = '&Cancelar'
+ AppMessages.MsgSend_WindowCaption = 'Mensagem'
+ AppMessages.MsgSend_Title = 'Enviar Nova Mensagem'
+ AppMessages.MsgSend_GroupTo = 'Para'
+ AppMessages.MsgSend_RadioUser = 'Usu'#225'rio :'
+ AppMessages.MsgSend_RadioAll = 'Todos'
+ AppMessages.MsgSend_GroupMessage = 'Mensagem'
+ CommonMessages.AutoLogonError = 'Falha de Auto Logon!'#13#10'Informe um usu'#225'rio e senha v'#225'lidos.'
+ CommonMessages.ChangePasswordError.InvalidCurrentPassword = 'Senha Atual n'#227'o confere!'
+ CommonMessages.ChangePasswordError.NewPasswordError = 'Os campos: Nova Senha e Confirma'#231#227'o devem ser iguais.'
+ CommonMessages.ChangePasswordError.NewEqualCurrent = 'Nova senha igual a senha atual'
+ CommonMessages.ChangePasswordError.PasswordRequired = 'A Senha '#233' obrigat'#243'ria'
+ CommonMessages.ChangePasswordError.MinPasswordLength = 'A senha deve conter no m'#237'nimo %d caracteres'
+ CommonMessages.ChangePasswordError.InvalidNewPassword = 'Proibido utilizar senhas obvias!'
+ CommonMessages.InvalidLogin = 'Usu'#225'rio ou Senha inv'#225'lidos!'
+ CommonMessages.InitialMessage.Strings = (
+ 'ATEN'#199#195'O Login Inicial:'
+ ''
+ 'Usu'#225'rio : :user'
+ 'Senha : :password'
+ ''
+ 'Defina as permiss'#245'es para este usu'#225'rio.')
+ CommonMessages.MaxLoginAttemptsError =
+ '%d Tentativas de login inv'#225'lido. Por motivos de segun'#231'a o '#13#10'sist' +
+ 'ema ser'#225' fechado.'
+ CommonMessages.PasswordChanged = 'Senha alterada com sucesso!'
+ CommonMessages.BlankPassword = 'Retirada senha do Login %s'
+ Login.WindowCaption = 'Login'
+ Login.LabelUser = 'Usu'#225'rio '
+ Login.LabelPassword = 'Senha : '
+ Login.BtOk = 'OK'
+ Login.BtCancel = '&Cancelar'
+ Login.TopImage.Data = {
+ 07544269746D6170B6790000424DB67900000000000036040000280000007601
+ 0000500000000100080000000000807500000000000000000000000100000000
+ 00009BB5D8007493BA00ACC2E000BBBBBB00CBD9EB007D9BC20051719900F6F8
+ FB00F2F5FA0095B0D500FCFDFE00EDF2F800A7B6BC0055759D00F8FAFC00B1C5
+ E1005979A10089A8D200CDD5D9003E5E88004D7199003D5D8700FAFBFD008888
+ 8800E5ECF500DDE6F200DDDDDD00E2EAF400A5BDDD00405F880042628C0089A6
+ CC008297A0005D7DA500C5D4E900A1B9DA006685AD004569920045679000B4C8
+ E300EEEEEE00BDCEE60099B3D600A9C0DE008BA8CD009EA5B0006181A9006E8D
+ B400D0DCED006989B10099999900809DC40085A2C80044638C00C1D1E8004462
+ 8C008EAACF0091ACD100486890005579A100E7EEF6003E5F890040608A005D82
+ AB00C0CBCF008CAAD400D5E0EF00496C950042618A004A6A93008FACD500D8E3
+ F0004C6C9400D2DEEE007795BD0046668E004E6E960050709700B8CBE400BBCD
+ E500CCCCCC00C8D7EA00648BB2006D93BA0044648E00A2BADB004A6B94009BAC
+ B300708EB5004E6F980085A5CF00DAE4F10058789E0043638D0050759D00506E
+ 9600D6E1EF00F4F7FB00A7BEDE00829FC600FDFEFE0041608B0054749A007A98
+ BF0093AFD600BECFE60044628A00666666004060880086A6D0004C6B92004867
+ 8E00EAEFF700AAAAAA0049688E006C8AB1004D6E940053729A00476690006584
+ AB007290B8005C7CA300333333005F7EA60046648E005A7DA50056779E00E6EA
+ EC0046648C0044444400777777004869920044678E0080A0C900E0E8F3006D8C
+ B3005576A000AAAEB50090ADD5006080A7009EB7DA006486AF00486A93006185
+ AC00F9FAFD004C6A92003C5B85004C6E96006988AF0049699100C6CFDC0093AE
+ D20051729B00597AA30045648B004E6D94004A6992004A6C92004D6D96006786
+ AD00B6BCC40056769E003D5A82003F628B006383A900698DB500555555005A7F
+ A7005B7AA1003A5A8400527399005A7BA200426188004668900039577F007D9F
+ C70047668D00EBF1F8004C6B940087A3CA00405F8600486990004E6D96004C6D
+ 9400222222006287AF0083A3CC00FBFCFD00779BC2004A6A9100D1DDEE005473
+ 9C003C5C87006B8BB20092ADD200D3DFEF00E1E5E900426189006C8BB5008B8F
+ 940045658D005878A00042638B003F5C84005C7BA4001111110084A3CC006183
+ AB00CDD6E1006A8AB3006282AB00808285006787B0006483AC00A5BCDB004061
+ 8A004F5153003E40420043637000FEFEFE0091AED600FEFFFF00758D9600F2F5
+ F5008FA0A900D9E0E200506D7A00EFF4F9005C788300BFD0E700B5C1C60091AE
+ D500E3EBF50069828D00C3D3E900D2DDEE0097B2D700DFE7F300F7F9FC00A3BB
+ DC006F8FB7007B7E830094AFD3007998C1002F3032007396BE00909296008FAB
+ D000686C7100A4BBDA00D2D9E400D9DEE600FEFEFF0088A7D20000000000FFFF
+ FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCFCFCFCFCFCFC
+ FCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB6464640A0A0A0ABBBBBBBBBB16
+ 16160E0E0EEEEEEE07EE0707616161070761070707EEEEEEEEEE90161616BB16
+ BB0ABB0A0A0A0ADB64646464DBDB64FCFFFCDBDB64DBDB0A640A0A0A0ABBBBBB
+ 16160EEEEE07610808E30BB1703C18E886195B47424930045122EA36294F4E27
+ 0F0F0F022B621CEF55558C8C000000ECECECECEC68096868DCDCDC8A8A8A8A8A
+ 8A46464646464646464646464646464646464646464646464646464646464646
+ 4646464646464646464646464646464646464646464646464646464646464646
+ 4646464646464646464646464646464646464646464646EC0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFC
+ FCFCFCDBDBDBDBDBDBDBDBDB64DB640A0A0A0A0ABBBBBBBB16161616160E0EEE
+ EE07EEEEEEEE6107070707EEEEEEEE0E0E0E0E161616BBBBBB0A0A0ADB0A6464
+ DBDBFCDBDBFCFCFFFFDBFCDDDBFCDBDB64640A0A0A0A0ABBBB16900EEE076108
+ 08E30BB1703C181B86195B4742BE3004512236694F4E27270F022B2B1CEF238C
+ 8C0000ECECEC09688A8A46464646414141111111111111111111FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCDB
+ DBDBDBDBDBDBDB6464640A0A0A0ABBBBBBBBBB161616160E0EEE0E0EEEEEEEEE
+ EEEEEEEEEE0E0E16901616BB16BBBB0A0A0A0A0A64DBDBFCFCDBFCFCFCFCFCFF
+ FFFCFCFFDDFFFCFCFCFF0A640A0A0ABB0A1616900EEE07070808E30BB1703C18
+ 1B1B195B604230040422EAE5294F4E270F02022B1C1C558C8C0000ECEC6868DC
+ DCE78A464646414141414111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCDBDBDBDBDBDB
+ DBDB64640A640A0A0ABBBBBB161616160E0E160E0E0E0E90EE0E0E9090901616
+ 161616BBBBBB0A0A640A0A64FCFCFCFCFCFFFFFCFFDDFFFCFCFFFFFFFCFFFCFF
+ FCDBFCDBDB0A0A0A0ABBBB16160E0EEE616108E30BB1703CE81BED5B47604930
+ 04512236E54F4E270F0F022B621CEF238C8C00ECECEC6809DCDC8A4646464641
+ 4141114111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB640A0A
+ 0A0A0ABBBBBBBB1616161616160E0E169090161616161616BBBBBBBB0ABB0A0A
+ 640A64DBDBFCFCDBFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFCFCFCFCFFFCFC0A0A
+ 0A0ABB1616160EEE07610808E30BB13C3C1B86195B4742BE3004222236294E27
+ 270F0F022B1CEF558C8C8C00ECECEC68DCE7DC8A464641414141411111111111
+ FD11FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB64640A0A0A0ABBBBBB
+ BBBBBB1616161616161616161616BBBB0ABB0A0A0A0A0A64FC64DBFCFCFCDDFC
+ FFDDFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFDDFCFFFCDDDB64640ABBBBBB160E0E
+ EE076108E30BB1703C181BED194760493004512236E54F4E270F0F022B621C55
+ 238C8C00ECECEC096868E7464646414141414111111111111111FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FCFFFFFCFCFCFCFCFCFCDBDBDBDBDBDB64640A0A0A0A0ABBBBBBBBBBBBBBBB16
+ BBBBBBBBBBBB0ABB0A0A0A0A640ADBDB64FCFCDBFCDDDDFCFFDDFFDDFFFFFFFF
+ FFFFFFFFFFDDFFFFFFDDFFFCFFFCDBDB64640ABBBBBB16900EEE070808E30B70
+ 703CE81B195B4742BE300451EAE5294F27270F022B2B1CEF558C8C0000ECECEC
+ 68DC8A8A464646464141414111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFCFC
+ FCFCFCFCFCDBDBDBDBDBDB64640A0A0A0ABBBBBBBBBBBBBBBBBB0ABBBB0A0A0A
+ 0A0A0A0A646464DBFCFCDDDBDBFCDDFCFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDBDB640A0ABBBBBB16900E07070808E3B1703C181BED194760
+ 493004512236694F4E270F02022B1C1C55238C00ECECECEC6809DC8A8A464641
+ 414141411111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFFFCFCFCDBFCFCDB
+ DBDBDBDBDB64640A0A0A0A0A0ABBBBBBBB0A0A0A0A0A0A0A0A0A0A64DBDBDBDB
+ DBFFFFDDDDDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFC
+ FC64640A0ABBBB16160EEE070808E30BB1703CE81BED5B4742BE300422EAE529
+ 4E27270F022B621C55238C8C00ECECEC0909DCE78A4646414641414111111111
+ 1111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCDBDBDBDBDBDB6464
+ 640A0A0A0A0ABBBBBB6464640A0A0A6464DB0ADB64DBDBFCFFFFFFDDDDFFFFFF
+ DDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFFDDDBFC640ABBBB16
+ BB0E0EEE070808E30B703C181B86194760C33004512236694F4E270F02022B1C
+ 1C55238C0000ECEC0968E7E78A8A41464141414141111111111111FDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A
+ 0A0A6464640A0A6464DBDBDBFCDBDBFCFCFFFFDDDDFFDDFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFCFCFC64640ABB16160EEE076108E3
+ 0BB1703CE81B195B47423004042236E54F4E270F02022B621C55238C00000909
+ C239382C1FCE85AF3305F3F5015353F5AF8585BC53B93F3F3FA7993B885E5E98
+ 98981414438E599E434343145E5E98593F52B9A7251E3D3D653E3E3E3E3E3ED7
+ 1E1E1E5D545D5DCA3E1E1E3B3B5DD7C03ED7A38E434354A365D7D76565D7D765
+ 6513153E3EC092AE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A6464646464
+ FCFCFCFCFCDBDBFCFCFFFFFFFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFCFCFCDB0A0A0ABB16160EEE070808E3B1703C181BED19
+ 4760BE3004512236694E270F0F022B621C558C00EC0997381F1F346333670101
+ F02F318DCF2EA7A78F52A5B97D14934393438E258E568E8E8E8E254325251459
+ 1414143B3FB93FA75E5E5E5E93985943438E8E25252525252676767683838326
+ 6554267DA78E263E3E3D15A33DA33D3E3D3D3D3D3D3D3D3D3E133D1E1E1592AE
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCFCFCFCDBDBDBDBDBDBDBDBDB646464646464FCFC6464FC64FCFCFCFCFCFCDB
+ FCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFF
+ FFFFFCFC64640A0ABBBB160E0E07610808E3B1703CE81B195B60C3BE04512236
+ 694F4E270F022B62D6558C002AF297382CB3633367677858319FA42E7BA8A87B
+ 21C9660648B5B53A4B4B8035CA6A6AC5353E1D1D3E1D3E1ECA268E883B3B4325
+ 26262654542626262626262626252525562543255EA77D5E2525262626262626
+ 252626262654262554252525431443255D1E2606433DA9A90000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE11212FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFF1212E1FFFFFFFFFFFFFFFFFF1212E1FFFFFFFFFF
+ FFFFFFFFDF121212FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE11212
+ E1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBFCFC
+ DBDBDBDBDB64646464646464FCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFF
+ DDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFDDFCFCFCFC0A0A
+ BBBB16160EEE610808E30B703C181BED194742BE300422EAE54F4E270F0F022B
+ 1C5523002A09C2382CB36333674A0158879F9F2E7B5CA10D21A1064D48BDBD72
+ 809A3535C56C6C6C13131D44441D1D3E1D1ECA438E263D3D3D3D3D1313131313
+ 3D131313133D3D3D3D3DA3A3435E435DA33E3D3D3D3E3E3EA33EA3A3A3D7A354
+ 5426268E5E88592665D75D765D3D15A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE120DADADADADAE940FFFFFF12DADA0C
+ FFFFFFFFFFFF0CDADADADADADADADEFFFFDADA12FFFFFFFF0CDADADAFFFFFFFF
+ FFFFE0DADADADAE440FFFFFFFF40E9DADADADADA20E1FFFFFFFF12DEDADADADA
+ DADE12FFFFFFDADADEFFFF7FDADADEFFFFFFDFE0E2DADADADADEFF12DADADADA
+ DADADADAFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB
+ DBDBDBDBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFC64646464BBBB160EEEEE61
+ 08E30BB1703CE886194760493004512236294E270F0F022B62D6238C2A09F239
+ 381F6333054A0158879F772E7B5C5CA1210D4C9B91726F6FC8C83535CA6AC5C5
+ 1D6C6C1DB41D6C6C1D3E5D4354A33D1E653E3E1D3D3D3D3D1313131313131313
+ 15133D3D8E14263D3D1315C015151515C0C0151313133DD7151315A343935492
+ 133D3DC0C0133DA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFE6E2DADAE00C57E4DADAE0FFFF7FDADA0CFFFFFFFFFFFF0CDA
+ DAE9DEDEDEDE57FFFFDEDA12FFFFFF7FDADADADAFFFFFFFFFFFFDADE0C0CE4DA
+ DA7FFFFF57DADAE2570CE0E2DADAE6FFFF12DADADA200CE0DADADA40FFFFE4DA
+ DEFFFF0CDADAE1FFFFE1E2DADA200C0CE0E4FF12DADAE4DEDEDEDEDEFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFDDFCFFFCFC6464640A64BB16160EEE070808E3B1703C181B
+ ED5B47C33004512236694F4E270F022B62EF238C0009F239381FB36305674A58
+ 2F9F772E21A1100D21BF5F9B9B91BD6FC8C83535CA6A6AC56A35441D1D1D6C1D
+ 15C0359E5DD71D441D1D1D131313131313131515151515151313C01526595465
+ 653E131515151515C0C0C0C0C0C0C0159215C0151E5D3E13C015C0A9921515AE
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FE2
+ DAE97FFFFFFFFFE0DADA40FFFFDADA0CFFFFFFFFFFFF0CDADAE6FFFFFFFFFFFF
+ FFDEDA12FFFFFFDEDADADADAFFFFFFFFFFFFDFFFFFFFDFDADA0CFF40DADAE0DF
+ FFFFFFDFE9DAE27FFF20DADA0CFFFFFF12DADADEFFFFDEDADEFFFFE4DAE0FFFF
+ FFE9DAE2E1FFFFFFFFFFFF12DADAE0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFCFCFCFCFCFCFCFCDBFCDBDBFCDBFFFFFCFCFCFCFCFCFCFFFF
+ FFFFFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFCFCFCFCFC64640ABBBB160EEE076108E30B703C181B86194742BE300422
+ EAE54F4E270F0202621C558C8C2A099739382CB3343333674A78589477A85C75
+ CC754D4D0606065F4D4D4D4C4C4C4C4C9191919191913AC83792449E3E151D13
+ 1D1D1D1D1D1D1D1D1D1D1D13131313151D13C092764565653E13131513131313
+ 131315151515C092921315C03D651E5415C092C0151592AE0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0CDADA7FFFFFFFFFFFFF
+ DEDAE4FFFFDADA0CFFFFFFFFFFFF12DADA0CFFFFFFFFFFFFFFDEDA0CFFFF40DA
+ DA0CDADAFFFFFFFFFFFFFFFFFFFF40DADAE6FF20DAE4FFFFFFFFFFFFDFE2DAE0
+ FFDEDADADFFFFFFFFFE4DADAFFFFDEDADEFFE6DAE2DFFFFFE1DADAE6FFFFFFFF
+ FFFFFFFFDADADEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFCFCFCFCFFFCFCFCFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFFFFFCFC6464
+ 640A0ABB160E0EEE070808E3B1703C1B86195B6049300451EA36694E270F0202
+ 2B1C55238C2A09F2C2382CB3346305674A4A017873A4C975CCBF4D0D0D667506
+ 4C4C4C9B4C4C9B4C064D9B9B4C9B4C4C9B131E593E1D373735353535357C7C4B
+ 54545454543535353737543EB69C1D1D3E1D13133E6565653E3E3E3E3E653E1D
+ 131392C03D3E13133DC092151315C0A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFDEDAE9FFFFFFFFFFFFFF0CDADA7FFFDADA0C
+ E1127FFFFFFF12DADAE012121212DFFFFFE0DA0CFFDFE4DA20E1DADAFFFFFFFF
+ FFFFFFFFFFE6DADAE9FFFFDADA57FFFFFFFFFFFFFF20DAE4FFDEDADAFFFFFFFF
+ FFDEDADAFFFFDEDADEFFE4DA0CFFFFFF0CDADADFFFFFFFFFFFFFFFFFDADAE912
+ 1212127FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFC
+ FCFCFCFCFCFCFFFFFCFFFCFFFFFCFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCDDFCFCFC64640A0ABB1616EEEE
+ 076108E3B1703C181BED5B60423004512236294E4E270F022B62EF2300002AF2
+ 97382C1FB33405336767582F8794C9BF210D98A10D755F744D4D4C4C4D4C4D4D
+ 4C48489B48B5BD4C06131E593D1D767C353535359A8080C854547C7C7C545435
+ 3735833E984BCBCB1E1E65651E1E1E1E651E1E1E1E5D3765371E3D3D1E3E9292
+ 3E15C013131513A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFDEDADEFFFFFFFFFFFFFF12DADA12FFDADA0CE2DADAE4E1FF12DA
+ DADADADADADA12FFFF0CDA0CFF0CDAE27FFFDADAE1FFFFFFFFFFFFFF0CDADAE9
+ DFFFFFDADA0CFFFFFFFFFFFFFF0CDADAFFDEDADAFFFFFFFFFFDEDADAFFFF20DA
+ DEE6DADA2012FFFF0CDADAFFFFFFFFFFFFFFFFFFDADADADADADADA0CFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCFCFCFCFFFFFF
+ FFFFFFFCFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFDDFCFFFCFC640A0ABBBBBB16EE076108E30BB13C18
+ 1BED5B4742BE040422EA694F4E270F022B62EF238C002A09C2F7381F1F1F63B3
+ B33401785831C9A121A10DC97EAA4D4C4C4C4C4C4C4C4D4C9B5F7E21104C6E4C
+ 0D444BBF3E1D76809A35CACACACACA355454C8C8C8C85454C8C8483E0D541D13
+ 1E1E653E3E3E3E3D651E1E651E1E1E3E1D1E653D3E139213133E3E13131313A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20DA
+ E4FFFFFFFFFFFFFF12DADA12FFDEDA571240E9DAE2DF12DADADE0C0C0C0C7FFF
+ FF0CDA577FDADA0CFFFFDADA12FFFFFFFFFFFFE0DADAE0DFFFFFFFE2DAE0FFFF
+ FFFFFFFFFF0CDADAFFDEDADAFFFFFFFFFFDEDADAFFFF0CDADEE1120CE2DA57FF
+ 0CDADA7FFFFFFFFFFFFFFFFFDADAE40C0C0C0C12FFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFFFFFFFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFC
+ FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFF
+ FFFFFFDDFCDDFC6464640A0ABBBB160EEE070808E3B1703CE81B194760493004
+ 2236E54F4E270F02022BD6558C000009F239381F1F2C3333676778585873100D
+ 215C66A80D664D5F066E4D4D4D0674AA9B21F031AB484C06BF1E26BF3E133AB0
+ 6F446C9A541E5454353A76C6D1B6767C6F9545CAC9D713151E445D4465443D3E
+ 655D651E4BD5761DCACA351E3E15C0153E15C0133E1315A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6DADA12FFFFFFFFFFFF
+ 57DADADFFFDEDA0CFFFF7FDADAE612DADA0CFFFFFFFFFFFFFF0CDADEDEDAE4FF
+ FFFFDADA12FFFFFFFFFF12DADAE0FFFFFFFFFFE0DAE2DFFFFFFFFFFFFFE9DAE9
+ FF0CDADA12FFFFFFFF0CDADAFFFF0CDADEFFFFFFE6DADA7F7FDADA0CFFFFFFFF
+ FFFFFFFFDADADEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFCFC
+ FC640A0A0ABB160EEE076108E3B1703CE81BED5B60493004512236294E270F02
+ 022B1CEF2300000997C2382CB32CB33463334A7858C1C90D79C9AA1010A87E5C
+ 754C75064D4D744D0D242EB74D4C4C06754426BFD71D953A3AB54BCA543E3A76
+ 9CC875D4213A3A243A9145357ED7131D5D3E3E3E1D13543E1E1E1E3D9EC6BF54
+ 9A35351E3E1515136513C0C0151313A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFDFE2DAE9DFFFFFFFFFE1E2DAE0FFFFDEDA0C
+ FFFFDFDADA0C12DADA0CFFFFFFFFFFFFFF0CDAE2DADA12FFFFFFE4DA12FFFFFF
+ FFFF0CDADAFFFFFFFFFFFF12DADAE0FFFFFFFFFFE6DADAE6FF0CDADA12FFFFFF
+ FF0CDADA12FF0CDADEFFFFFF40DADA12FFDEDADA12FFFFFFFFFFFFFFDADADEFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFC64640A0ABB160E
+ EE076108E30B703C181BED5B47C33004512236294F27270F022B62EF23002A09
+ 09C2382C1F2C386363054A017887A8BF7B10065C5C0DAA66664D66754D064D06
+ AA2E24AA4C4D0D4D063E26BF3E3E9C9CC8B5CA6C76548335443A0DCC45542ED5
+ 95484584BFD7134454831E13761D5D1E5D9265452EC698544BC8351E1D15133E
+ 653E15C0153E3EA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFF12E2DAE40C121257E2DAE2DFFFFFDEDADE0C0CDEDADA4012DA
+ DADE0C0C0C0C0C7FFF40DADADA20FFFFFFFFDEDAE6FFFFFFFFFF40DADA201212
+ 0CE1FFFF0CDADADEE61240E0DADADEFFFF0CDADA12FFFFFFFF0CDADA12FF0CDA
+ E40C0C57E2DADADFFFDFE9DADAE040124057E1FFDADAE40C0C0C0C0C12FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFC640A640ABB1616EE076108080B7070
+ 181B861947423004512236694F27270F022B62D6230000EC0997F72C1FB33834
+ 056701787887CC0D79AB4DAB215C5CA16606AAAA4D4D4D060101F3C1A84C6606
+ 061DAD986C44959C9A95449A7676761E1E567D7D84B7F0069148953A063E1337
+ 5D1E5D13763E443E54C05488D12F983A6FC835441D151D1E3D3E3E133D653EA2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ E1DEDADADADADADADEDFFFFFFFDEDADADADADADAE0FF12DADADADADADADADA12
+ FF12DADADA7FFFFFFFFFDEDA0CFFFFFFFFFFFFE0DADADADADA7FFFFFFF40E4DA
+ DADADADADA57FFFFFF0CDADA12FFFFFFFF0CDADA12FF0CDADADADADADAE2E6FF
+ FFFFDFE0DADADADADADA12FFDADADADADADADADA0CFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ DDFFFFFFFFFFFFFCFCFC640A0ABB16160EEE070808E3B1703CE886194742BE30
+ 042236694F4E270F022B62EF238C00EC09C2F72C1FB3B36367670101782FCC0D
+ 10794D2121A15CAAAAAA4D4D064C4C064D7E797B945C9B4D061D9598131E763A
+ C83A449544541D54C8138806A3AD9826914895569E1D153576924B1E3E5D543E
+ 155D83982E4AD47B6FC81E3E13151D1E3D3E3D13133E3DA20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FE60C0CE67F
+ FFFFFFFFFFE112121212127FFFFFDF1212121212121212DFFFDF1212E1FFFFFF
+ FFFFE1127FFFFFFFFFFFFFFFE10C0C0CE1FFFFFFFFFFFFE10C0C0C40DFFFFFFF
+ FF7F1212DFFFFFFFFF7F1212DFFF7F121212121212FFFFFFFFFFFFFFDF400C0C
+ 0C40DFFF12121212121212127FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
+ FF64640A640ABB160EEE070808E3B1703CE88619476049300451EAE54F4E270F
+ 020262D6558C002A0997F7381FB3343305674A0178C121A15C794D7910667BAA
+ 75790D4DAA4C4C06AA064C6E0D7506AA981D45061335763A4844443A1EB21E76
+ 3A4B764B563A7648919B9593563D157C5D4B5D13441EC01E65541E5476983AC8
+ 6FC81E3E1315134465131515151513A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFCFFFCFC64640A0ABB16
+ 0EEE076108E3B1703CE81B195B4749300451EAE54F4E270F022B2B1C55238C2A
+ 09F239381FB3343305676701782F8BA1C9AB4D211021019F0D2FA4AA66064D06
+ AA4CA1AA4D74664CBF1D43981354769CC8C8D101F0D19E1D3EB2443A453A453A
+ 6E4C9506831D15763D8313831E44541E3D15135D3A761E3A4B8035441D151365
+ 6513131E1E1315CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCDDFFFCDB64640ABB1616EE076108E30B70
+ 3C181BED5B47C330045122E5294E270F02022B1C55238C00099738382CB33463
+ 05674A0178782EA199CC06215C210558A1F32FBF66AA4D4D4C75AA4D5C4D0610
+ BF1D4898134B3A913AC5940D7676C8837C7CA87B3A9C3A486E4C45983A1D1576
+ 3A1376D15DB2C6761E1E5D15765454354B80351E1D15133E3D151E833A65C0A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFDDDDFCFFFCFCFC640A0ABBBB16EEEE6108E30BB170181BED5B474230
+ 0451EA36294E272702022B62558C8C2AEC9739381FB3343305674A01782FD5C9
+ 79A866A8109F874A8DC6F30DA10D4D66AA666666AA06BFA1A11D9EBF549A9C3A
+ 83D7F578787BBDBD5648D4C90DD276833ABF76C94B441D761E769CC65978B67C
+ 54351E5D54545476763A1D761315374465153DD13E1365A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFF
+ FFFCFC64640ABB16160EEE610808E37070181BED5B4742300451EA36694E270F
+ 02022B62EF8C8C002AF239F71F1FB36333054A017858775CAB8B06791078A4C1
+ 0521587779A1A8A85C5C5C5C0DAA66A10D15C999A34B9C3A4B83F0BF5966486E
+ AA4CD198CC109E839C9EADD2C81E443A54139EF3C6785FB695764B4B4B5D5D5D
+ 763AC83A1E445D44156583D41E3E1EA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFFFCFC646464BBBB
+ 160EEE070808E3B1703CE886194742BE04042236694F27270F022B1CD6238C2A
+ 09F2C2381FB3B3633305674A01F024107B2FA1AB7901AB2E0599D42410107966
+ 5C5C5C5C7E0D0DA10DD78F2ECA95569148B6016701774D100D4CD24810065945
+ 595643A5AD54C8953E9EC9CC88C6CC83599EB2B2453A767654358335D7441E3E
+ 135D59995D76B26F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC64DB640ABBBB160EEE070808E3B1
+ 703CE886194742BE30512236694F27270F022B1CEF238C002AF297382C1F3463
+ 3305674A015824A8CF2F7BC9102E0D10C9BF107E66ABAB105C5C5CA8105C5C10
+ BF458F8BAD9D6E6E9E3A065906AA9D0D0DAA0D06BF9806599893143143C8C876
+ 48567DF0317B59594C9E489E48569C9C45959826C8C84B848399F57899454B6A
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFDDFFFFFC64646464BBBB160E0E076108E3B1703CE886194742BE
+ 04042236694F4E270F022B62EF23000009F239382CB3343305674A4A78879F8B
+ 249FCF7E7E0DAA664D754D064D4DB7664D4C4C4D06060606459E0D06B5843A3A
+ 959B48B03A984C934C4D954C9D4D9E4C4343933B43C85454CAD7CA3ACA845426
+ 3A6F6F3A833A3A3A4B26AA8444D7A3D7543D1E44545D37B40000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
+ FFFCFCFC640A0ABB160E0E076108E30B703C181BED5B604930042236694F4E27
+ 0F022B1CEF23002A0939382C1F3433054A0158879FA47B21CCA10DBFB7489195
+ 91726F4856987DC972B09AB06FB0B0B04445C835AD9A9A6FB0356A953A4B4C3B
+ 3A6F9AC84B9A4BC835268326434B544B54CAD7CACA985E43C89ACA9A9A353554
+ 4B9598B76FC89ACA3D5D76B6833E1D6A0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFC64640A0ABB
+ 1616EE070808E3E3B1703CE81B1947C3300422EA694F27270F022B1C5523002A
+ F2C2382C1F3433676701583194778B7BCC5C0D6606065F9B6E6EBD3AC8067B8E
+ 6EB5B0B0B0C880804435CAC5C89A6AB09AB09A80C53599A79572729A6F35C835
+ 1E35C8CA26C8354B6ACA4B1D440D7D8E6FC89A9A35CA1E35C580C83A35C5CA6C
+ 3D767610597613AE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFCFC640A0ABB160EEE0761610808
+ 08E3E3B17018ED4749045136694F4E270F022B1C5523002A0939381F1F343367
+ 677858739FA47BA85C5C0D4C5F9B9191726E72C826563B846E729A9A80356A6A
+ 801D4B356A80AC806A9A6AC8D73D3B8872726F806A806A6A35441E543E354435
+ B01D6FCACAAD7E95B56FC89A9ACACA353580CBC8AC6A4B353D7615BF76541ECB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDDFFFCDDFC0A0A0ABB160EEE07076107EE0E0E0EEE0708B11B
+ 473051EAE54F4E270F022B1C5523002A0939381FB33433674A015873772E8BCC
+ 5C66665F5F4C6F953A72B03ACAB73B546F3A1D806AB4C580B0B46AB46FB46AB4
+ 449A1D4435157D9880B09A8080C5C5C57C15443735351D351D441DCA1E4B0635
+ 6F6F44C8445D1D3E1D443E44541E1DC81E443E4BC81E54CB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
+ FCFFFC6464640ABB160EEE07077F71176B818181170316081B4204EA694F4E27
+ 0F022B1CD623002A0939381FB36333674A0158872F739F777B9F7BA81066A14D
+ 9B483AC815837ECAB43A3A6EC84C6F95484806486E4806483A953A6FC8152193
+ 6CB09A6ACBC5657C44351D5415C854547C541EC8D73A4844CA6FC515A95D3544
+ 1D3A35443E1E44C01E441D351E1D35CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFC6464640ABB
+ BB0EEE070781FEFEFEFEFEFEFEFEA60AE31904EAE54F4E270F022B621CEF8C00
+ EC97381F1F63333305676778788773739424A4249F79C9AB5C5CBF486C43AB84
+ 80064C4C9B5F664C485C065F5C0D6E5F4D4C75064C448F43B46A6F4B959C3AB2
+ 9CB2B29CB6B61D459C6F6F8ECA4C3A1DCACA6C9A4B4B1D1D1EC03A4B153A159C
+ 35441D4413C044A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC640A64BB160EEE0707CDFE7A
+ 82D36BCDFEFEFE17EE1B3022E5294F4E270F0F022BD655002A97381FB3343333
+ 33674A01015887947377247B7B2E218B10ABA806A34899CA954D489BAA48664C
+ 754D75BF064C75A10D454D9806CA8F26CA3548C8B2445D54C8543A359E35483A
+ 954B4593AD0D351D1DCAC56C1D134445761E1D833E3E3E1D351E1D3EC09244A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFCFC64640A0ABBBB160EEE07D312610808E3C4F4FEFEB8
+ 163C495136E5E56969294F4E270262232AF2381FB334333305670505782F8794
+ 942424014A947B7EA8A8CC98D75699A3B5484C0DAA774D669B7506664A78D1C6
+ 779E4C98BF3524841D3A6E541E3A75B676563A563A54F021BD4B45483AA1C51D
+ 6C4BC54410D5BF131D35BF4859D10D5D35353E3E15C044A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFF
+ FCDDFCDBDB64640ABBBB90EE07616161616108E3F6FEFEFEBB70425122220430
+ 604242490436271C0009F71F1F3433330505336301C1C1949F24335831059458
+ 79AB21A1CA437D844B0D0648D4A8F04C0D4CAABFF0F30188787E060DBF268DAD
+ A94CC85676D478884B3A3A8376450DF05F6E489DB598356A6CB0CA6CBF990676
+ 764483D1313A44445D5D3E3E131535A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5003030328FFFFFFFFFFFFFFFF
+ FF5003031AFFFFFFFFFFFFFFFFFF280303031AFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFF1A03030328FFFFFFFFFFFFFFFF28030350FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A030350FFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFF50030328FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A03031AFFFFFFFFFFFFFFFFFFFF
+ FF28030350FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF030303FCFC6464
+ FC0A16EE0761EE1A030316EE12FEFEFE50B1600404428670E68903890B1B0402
+ 23EC381F34343333336767670578873131948B01F301F52E215C990DD73A99CA
+ BD4C064C66F0AB0D740DBF9E8DF30501D20D4D9859842ECA6C5935B29C244A83
+ 45C83A7659C926F0064CB7959D4D9A6AC89ACA562E103A44C0440DD2249C354B
+ 5D351D1D15135DA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFF03A6FEFEFEFEFEFEB86B1AFFFFFFFF6BFEFEFEFEFEB871FF
+ FFFFFFFF17B8FEFEFEFEFEFE17FFFF03FEFEFE28FFFFFFFFFFFFFFFFFFFFFFFF
+ FFFF036BCDFEFEFEFEFECD32FFFFFFFF717AFEFEFEFECD6B28FFFFFFFFFEFEFE
+ 03FFFFFFFFFF81FEFE17FFFFFFFF6BFEFEFEFE82FF03FEFEFE28FFFFFFFFFFFF
+ 286BCDFEFEFEFE7A71FFFFFFFF03FEFEFEFFFFFFFFFFFFFFFFFF17FEFEFE03FF
+ FFFFFFFFFFFFFFFF71B8FEFEFEFE3217FEFE81FFFFFFFF037AFEFEFEFEFE17FF
+ FF03FEFEFEFFFFFFFF81FEFECD50286BFEFEFEFEB8FCCDFEFE03BB0E615081FE
+ FEFECD17BBFEFEFE03B147EB47A0A6FEFEFEFEFEFEB8D04E2309381F34343333
+ 336733673487942F24A424F0317B7B7D215CAB5CCA8399A33A0606AA31A49F06
+ 667445BFD4054A7B4D4D060D4D56CFCA3E453A3A76B2013A564BCA3A932E01D2
+ 484848B5B7486AB49AC844C8CCA13A3E1E35C8C9D54476765D1E1315C01D54CB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B
+ FEFEFEFEFEFEFEFEFEFEFE32FFFFFFB8FEFEFEFEFEFEFE71FFFFFF81FEFEFECD
+ 8181CDFE81FFFF03FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF286BFEFEFEFEFEFE
+ FEFEFE81FFFFFF6BFEFEFEFEFEFEFEFECD50FFFFFF7AFEFE03FFFFFFFFFF82FE
+ FE17FFFFFF71FEFEFEFEFE81FF03FEFEFEFFFFFFFFFFFF50CDFEFEFEFEFEFEFE
+ FE6BFFFFFF50FEFEFEFFFFFFFFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFFFFFF1A
+ CDFEFE8117173203FEFE81FFFFFF32FEFEFEFEFEFEFE81FFFF1AFEFEFEFFFFFF
+ 71FEFEFE32FF82FEFECD8217822881FEFE030A9050CDFEFEFEFEFEFE6BFEFEFE
+ 030B5B47E0CDFEFEFEF4D9F4FEFE2D272309381FB363333305674A67012FC194
+ 9F772E944AF02179795C10A1444B885DC8754D75BF7E4C064C4C9B06107821C9
+ 4D4D66665993ABC81D455654543A3A54B09A4B6F5624F00D5F48834806543E1D
+ 5D54351E1E351E1E3DD78399064B44765D5D139213653ECB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFEFE6B71033281
+ FEFEFEFE03FFFF827128FF1A7AFEFEA6FFFF17FEFECD17FFFFFFFF1A32FFFF03
+ FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF7AFEFEFECD82710303176B7AFFFF71FE
+ FEFE1728FF037AFEFEB828FFFF81FEFE71FFFFFFFFFF17FEFE82FFFFFF17FEFE
+ FE03FF71FF03FEFEFEFFFFFFFFFFFF7AFEFE7A03FF2817FEFEFE17FFFFFFFEFE
+ FEFFFFFFFFFFFFFFFFFF03FEFEFE03FFFFFFFFFFFFFFFF17FEFEB8FFFFFFFF1A
+ FEFE7AFFFF1ACDFEFE7A71FFFF1A32FFFFFFFEFEFEFFFF28B8FEFE6BFFFFCDFE
+ FE32DDDDDB646BFEFE710A1681FEFECD32EEC4D3FEFEFEFE030BEDFACDFEFE81
+ 9647305151E0E0028C09381F34B3330505674A0178878731249FA4A4247B108B
+ 10AB21BF35450D546EAA744859069E0606BD594C48C9064C4DAA75754D14211D
+ 54487676543A353A3A9A4BCA3A59453A95B25643BF541D929C3E441D761D5D35
+ D7541E35134B3A541E1E3DC01D4465CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF7AFEFEFE17FFFFFFFFFF6BFEFEFE6BFFFFFF
+ FFFFFFFF82FEFEA6FFFFB8FEFE17FFFFFFFFFFFFFFFFFF1AFEFEFEFFFFFFFFFF
+ FFFFFFFFFFFFFF17FEFEFE8128FFFFFFFFFFFFFFFFFFB8FEFE17FFFFFFFF28CD
+ FEFE17FFFF81FEFE17FFFFFFFFFF17FEFE81FFFFFF17FEFEB8FFFFFFFF1AFEFE
+ FEFFFFFFFFFF32FEFECD28FFFFFFFF17FEFECDFFFFFFFEFEFEFFFFFFFFFFFFFF
+ FFFF03FEFEFE03FFFFFFFFFFFFFFFF17FEFE7AFFFFFFFFFFFEFEFEFFFF17FEFE
+ CD28FFFFFFFFFFFFFFFFFEFEFEFFFF82FEFEB828FFFFFEFEFE71FFDD646417FE
+ FE170A7FFEFEFE3290E3703CD3FEFEFE03E31BC7FEFEB8C4190436294F4E0F2B
+ 8C2AC21F3434333305674A017887C19F9F9FA48B8B21797B5C797BBF35565E54
+ C84D664C750659590D6EBFAABF1010994D660666B798211D92483A4576453E3A
+ C86E4B9D459A4583B2594C83C9C81EC5441E4B5D5D131D3ED73ED74B3E441E54
+ 1D1E3E133E3E3DCB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFEFEFEFEFFFFFFFFFFFF28FEFEFEB8FFFFFFFFFFFF71CDFEFE71
+ FF50FEFEFE28FFFFFFFFFFFFFFFFFFFFFEFEFE03FFFFFFFFFFFFFFFFFFFFFFCD
+ FEFEB828FFFFFFFFFFFFFFFFFF1AFEFEFE1AFFFFFFFFFF82FEFE81FFFF17FEFE
+ 17FFFFFFFFFF17FEFE81FFFFFF71FEFE7AFFFFFFFFFFFEFEFE03FFFFFFFF6BFE
+ FE6BFFFFFFFFFF28FEFEFE03FFFFFEFEFE03FFFFFFFFFFFFFFFF03FEFEFE03FF
+ FFFFFFFFFFFFFF1AFEFEFEA61AFFFFFFFEFEFEFFFFA6FEFE6BFFFFFFFFFFFFFF
+ FFFFFEFEFEFF50FEFEFE50FFFFFF6BFEFECD32FFFCFC17FEFE170A03FEFEFE28
+ 070B18E818B8FEFE0308E8D8FEFE820B4704223636694F0FD600971FB3343333
+ 330501782F582F9494772E2E2E778BA8AB10107ECA8399264D4D4D0694F0774C
+ 4C0D4C749F78D5C6934D5F0D95AB999C765935C8CCD4BF4B4CACB5C8458BC976
+ 9C5643AD7D4B35353A5444C910CC834B26458821593E1576445D1E3E653E1DB4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFE
+ FE7AFFFFFFFFFFFFFF7AFEFEFEFFFFFFFFFF82FEFEFE17FFFF03FEFEFEFFFFFF
+ FFFFFFFFFFFFFFFFFEFEFE03FFFFFFFFFFFFFFFFFFFF03FEFEFE32FFFFFFFFFF
+ FFFFFFFFFF03FEFEFEFFFFFFFFFFFF03FEFEFEFFFF17FEFE82FFFFFFFFFF03FE
+ FE7AFFFFFF03FEFEFEFFFFFFFFFFFEFEFE03FFFFFFFF81FEFE17FFFFFFFFFFFF
+ 81FEFE17FFFFFEFEFE03FFFFFFFFFFFFFFFF03FEFEFE03FFFFFFFFFFFFFFFFFF
+ 32CDFEFEFE7A825081FEFE50FF81FEFE17FFFFFFFFFFFFFFFFFF81FEFE507AFE
+ FE17FFFFFFFF2881FEFEFECDA63271FEFEA60A03FEFEFE6407B1181B1BD8FEFE
+ 170818D9FEFE17613C86195B191947040F8C972CB33463050567014A4A582FC1
+ 87949F778B8B2E211010A15C3593A58E6F4C759B2EF0871010060D7B2105F32E
+ 934C5FA1B5A521B21E483A547BD51006BD7EA1BF4DAB24B23A839E06314C4B76
+ 1E443AD424CCB2984310D4993A1E3E3E5476541E5D5D5D9A0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE81FFFFFFFFFFFF
+ FF81FEFEFEFFFFFF2881FEFECD71FFFFFF03FEFEFEFEFEFEFEFEFEFEFEFEFFFF
+ FEFEFE03FFFFFFFFFFFFFFFFFFFF17FEFEFE1AFFFFFFFFFFFFFFFFFFFF03FEFE
+ FEFFFFFFFFFFFF03FEFEFEFFFF17FEFE81FFFFFFFFFF03FEFEFEFFFFFF03FEFE
+ FEFFFFFFFFFFFEFEFE03FFFFFFFF81FEFE17FFFFFFFFFFFF81FEFE17FFFF81FE
+ FE03FFFFFFFFFFFFFFFF03FEFEFE030317177128FFFFFFFFFF28177AFEFEFEFE
+ CDFEFE03FF81FEFE17FFFFFFFFFFFFFFFFFF81FEFE82FEFECDFFFFFFFFFFDDFC
+ 036BCDFEFEFECDFEFE810A1AFEFEFE1AEE0B18861BD3FEFE170818D9FEFEFEFE
+ FEFEFEFEFEFEFEF1E523F22C341F2C0505674A34344A2F582FC17394777777A4
+ A87910C94B99BC140666AA06A40178AB5C77A8AB8B01D421AA66BFBF8EF53F54
+ 4C5656592FD421985C105C06D578CC4C064C595E8D9326765D0D31D421B6590D
+ 06998DBF3A459C7654545D1E5D5D54B00000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF81FEFEFEFFFFFFFFFFFFFF82FEFEFE28FFFF
+ 81FEFE7A1AFFFFFFFFFFFEFEFE710303030317FEFEFEFFFFFEFEFE17FFFFFFFF
+ FFFFFFFFFFFF17FEFEFEFFFFFFFFFFFFFFFFFFFFFF28FEFEFE71FFFFFFFFFF32
+ FEFEB8FFFF17FEFEFE28FFFFFFFF71FEFEFEFFFFFF28FEFEFEFFFFFFFFFFFEFE
+ FE17FFFFFFFF82FEFE7AFFFFFFFFFFFFB8FEFE32FFFF81FEFE03FFFFFFFFFFFF
+ FFFF03FEFEFE03B8FEFEFEFE82FFFFFFFFFFFFFF280382B8FEFEFE32FF82FEFE
+ 7AFFFFFFFFFFFFFFFFFF81FEFE717AFEFE32FFFFFFDDDDFCFCDBDB5032A6FEFE
+ FEB80A16B8FEFE17BB0870E8E8D3FEFE17081BF1FEFEA60389892D89F4FEFED3
+ 22D6092CB3B31F0533674A05057858783131949F949F2E8BAB7921A15699A55E
+ B5060DA1BF7979A106A8BFBF0DAB0DBF66BFBF0693525243543A4C062106489E
+ 9DAA9D4C7910BF9E599E458E98C8CA1E4B98CC48454B3A13C8D74C4B5D1E1D3E
+ 1E1E3E3D653E3EC50000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF81FEFEFEFFFFFFFFFFFFFF17FEFEFE03FF50FEFEFE28FFFFFFFF
+ FFFFA6FEFE32FFFFFFFF32FEFEB8FFFFFEFEFECD50FFFFFFFFFFFFFFFFFF17FE
+ FEFEFFFFFFFFFFFFFFFFFFFFFFFFA6FEFEA6FFFFFFFFFF81FEFE6BFFFF71FEFE
+ FEA6FFFFFFFFA6FEFEFEFFFFFFFFFEFEFE28FFFFFFFFFEFEFECD50FFFFFF50FE
+ FEFE50FFFFFFFF03FEFEFE1AFFFF81FEFE03FFFFFFFFFFFFFFFF1AFEFEFE71FE
+ FEFEFEFEFE6BFFFFFFFFFFFFFFFFFF28B8FEFE17FF71FEFEFE03FFFFFFFFFFFF
+ FFFF81FEFE0350CDFEFE71FFFFDDFCFCDBDBDB64FC6417FEFEFE0A0ED3FEFECD
+ 500E08B1B1D3FEFEA6611BA0FEFEB8EE3C5B4786B8FEFEC7E5F9F21FB36363F3
+ 67670178F087879424A42E8B7B21A879795C2166B75E5E14B774B74DBD4C4856
+ 4C9D564D9E454C4C93489B59143B53A73A3A5435763AC8C8B0CA3AB54B3A3A4B
+ 4B5683AD434B26353E1D1D1E1E444435C813484B76351D445D1E1D3D3E1315CB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6FE
+ FEFEFFFFFFFFFFFFFF17FEFEFE03FF03FEFEFE17FFFF1A32FFFF03FEFECD03FF
+ FF287AFEFE17FFFFFEFEFEFECD821703FFFFFFFFFFFF71FEFEFE71FFFFFFFFFF
+ FFFFFFFFFFFF50FEFEFEA61AFF1A6BFEFEFE50FFFF03FEFEFEFEB882177AFEFE
+ FECDFFFF5003FEFEFE17030328FFFEFEFEFECD821703FFA6FEFECD32FFFF71CD
+ FEFEA6FFFFFF81FEFE71FFFFFFFFFFFFFFFFFFFEFEFE7128FF507AFEFEFE03FF
+ FF0328FFFFFFFFFFB8FEFE17FFFF7AFEFECD3228FF280303FFFF81FEFE03FF32
+ FEFECD50FFDDFC1A50DDFCFC64DB32FEFEFEBBEE617AFEFECD321AEEEE6BFEFE
+ 81611960D9FEFE6BC43C18F6FEFECDD02700392CB36333674A01F058D1C1872E
+ 8B79C90DBFBF754D4D4D56954556459E453B7D1480373E1E1E3544134435443E
+ 6C443E5D253FA7C945441D1E3E441E1D443E3E44443E44543BA13A8044921313
+ 13923E15153E153E1515351D1D54C0C09265A9A9C09213AE0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFE1AFFFFFFFFFF
+ FF03FEFEFE03FFFFB8FEFEFEFEFEFECDFFFFFF32FEFEFE7A81FEFEFE7A28FFFF
+ FEFEFE7AFEFEFE17FFFFFFFFFFFF28FEFEFE6BFFFFFFFFFFFFFFFFFFFFFFFF32
+ FEFEFEFEFEFEFEFEFE32FFFFFF03FEFEFE81FEFEFEFEFEFEFE82FFFF81FEFEFE
+ FEFEFEFE03FFFEFEFE7AFEFEFE17FF287AFEFEFEFEFEFEFEFE7A28FFFFFF81FE
+ FE17FFFFFFFFFFFFFFFFFFFEFEFE03FFFFFF28CDFEFE6BFFFF82FE7A6B17177A
+ FEFEFE50FFFF50CDFEFEFEFEFEFEFE17FFFFA6FEFE32FFFFA6FEFEB828FCDB28
+ FECD8117176BCDFEFEA6166108C47AFEFEFEFEFEFEFEFEFEB8E3473096F4FEFE
+ CD81B8FEFEFEC72262F2381F3433054A7858C17331319F7BC975B648B245956F
+ C84B35449A9ACACA543B3B841DAC1313921D13921D1D151D6C1D1D3D3D3B983A
+ 1E13131D1D131D1315C0C01313C015138E5615B4CB15151513C03E133D65C015
+ 131544C51D15A9C09265C013651365A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFF03FEFEFE17FFFF
+ 5081FEFEFEFEFE6BFFFFFFFF037AFEFEFEFECD6B28FFFFFFFEFEFE716BFEFE17
+ FFFFFFFFFFFFFF6BFEFEFE03FFFFFFFFFFFFFFFFFFFFFFFF1A6BFEFEFEFEFEA6
+ 03FFFFFFFF03FEFEFE2882CDFEFEFECD82FFFFFF81FEFEFEFEFEFEFE03FFFEFE
+ FE716BFEFE17FFFFFF32B8FEFEFEFEB81728FFFFFFFF6BFEFE17FFFFFFFFFFFF
+ FFFFFFFEFEFE03FFFFFFFF81FEFE81FFFF0381CDFEFEFEFEFEB871FFFFFFFF1A
+ 6BFEFEFEFEFECD50FFFF17FEFE17FFFF28CDFEFE7A28DBDB6B7AFEFEFEFEFEFE
+ 6B7F0708E30BE3F67AFEFEFEFEFEFEFEF418EB512296F8CDFEFEFEFEF432510F
+ 009738B33433674A015831D4319F8BA85C0DBF064D4D4C4856454B6F6FB044B4
+ 3D3B5E3DAC7C3554C83A3A83453A3A56953A9C76A37D986A133E441E35444435
+ 764B4B7676C8544B439D1D1DC53537445D1E545D4B3A5D545D5435763792135D
+ 3E1E651E1E3E1ECB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFF03FEFEFE17FFFFFFFF28030350FFFF
+ FFFFFFFFFFFF28030350FFFFFFFFFFFFFFFFFFFFFF1A031AFFFFFFFFFFFFFF1A
+ CDFEFECD71FFFFFFFFFFFFFFFFFFFFFFFFFFFF030303FFFFFFFFFFFFFFFFFFFF
+ FFFFFFFF500303FFFFFFFFFFFFFF81FEFE03FFFFFFFFFFFFFFFFFF1A031AFFFF
+ FFFFFF1A03031AFFFFFFFFFFFFFF17FEFE17FFFFFFFFFFFFFFFFFFFEFEFE03FF
+ FFFF28CDFEFE81FFFFFFFFFF2803030328FFFFFFFFFFFFFFFFFF0303031AFFFF
+ FFFF17FEFE17FFFFFFFFFFFFFFFCFC640A646450030350BB16EE61E30BB17070
+ 700B89898989FBE819C351E5693622300C2D2D9604690FF92AF2382CB3B33305
+ 4A01739FC131217B7B79CCA8C910C910AB10107EA10D4D3A3D995E3D3A914556
+ 484C5906064C9E064C480659A38F0DAC4476764B3A3A4B4556459C4545454545
+ 5E9D441D7C355D35C8545454544B4B4B544B6A7637A9655D4B5D1E5D443E1EB4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FE
+ FEFE03FFFFFFFFFFFF28FEFEFE17FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32FEFEFEFE7A1703
+ 0371177A03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFE32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFE17FFFFFFFFFFFFFFFFFFFEFEFE6B171717B8FEFEFE17FF
+ FFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFE17FFFF
+ FFDDFCFFFFDBDB640A0A0ABBBB1616EE0761080BB1703C18E81B86ED195B6049
+ 0451364F4E4E4E4E4E4E4E270F2B55000939F72CB3346305674A317731C18BD5
+ 8B7BCC79A810A8A8C90D0D66660D75B55D7D5EA39B919C564548489E064C484C
+ 7448065954B95E6C353A76C83A833A45953A3A3A3A4545457E3A44923A443554
+ 35C8C8C854355454543A3580C5921E651E13445D3E441ECB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03FEFEFE17FFFFFFFFFF
+ FFFFFEFEFE6BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03CDFEFEFEFEFEFEFEFEFE28FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A17
+ 8117FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FE
+ FE81FFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFE7A28FFFFFFFFFFFFFCFCFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEA6FFDDFFFFFFFCFCFCDB64
+ 0A0ABBBB900EEE076108E30B703C18E886195B4742EB30512236294E270F0F0F
+ 02022B62552300EC9739381FB3346333674A312431877B248B7979A8C9105C7E
+ A8A17EA10D107E9B1E7D5EA34D91484556B64848590659594D4C7598265206AC
+ 543A76544B833A7645459595569E9E483BADCACB9C351E541EC8547676C83A76
+ 263AC8356C151E5D1D137676445D54B40000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF03FEFEFE17FFFFFFFFFFFFFFFEFEFE81FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFF28177AFEFEFEFEFEFE7AFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFE81FFFFFFFFFFFF
+ FFFFFFFEFEFEFEFEFEFEFECD6B28FFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFF17FEFE81DDFFDDFCFFFFFCDB640A0ABB16160EEE0761
+ 0808E3B1703CE886195B4742BE04512236294F4E270F02022B1CEF232300ECF2
+ C2F7381FB3346305674AC1D49F877BD2A47B21A85C105C7E5C0D7E7EAA7E0D6E
+ 3E7D7EA34D9B064548065956484C4C4C4D4D060684B99DB4763A453A4B45B276
+ 3AB5B595489EB79D93C86C1D4BB21E35459544CA9A9A956F263580ACCB923E45
+ 45560DB63E5D54B40000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF03030350FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDDFFFCFCFC0AFC640A0ABB16160EEE076108E30B707018E886
+ 19476049300451EA36294E270F0F022B1C1C238C8CECEC09C2382C1FB3633305
+ 674A58D49F2F7B24A48BABA85C10A1667E667E7E665C5C481E8B99A34C9BBF26
+ 59A10D9EB24C5959AA7575982552BDAC3A45B6483A48593A6F3A95BD4874483A
+ CAC86CB03A10B2458BC93A9A9A9A569556353AB0C5C5C888CCCCD5BF1D4435B4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFC
+ FFDBFFDB640A0ABBBB161690EE07610808E3B1703C181BED5B4742BE30042236
+ E54F4E270F0F022B1CEF238C00EC0909C2382C1F3463330567675894242FD2D5
+ CF2F8B7B2F87BFA1A1060D5CA17EA19B843F3BCA759B2F569888C12659598359
+ 4D750D14145206AC3A83F00688F02E2626AD833A4C4559569845352644D47B99
+ 8B4DCACA4B4B4B3A9C9C06B2441E1ED5CC8B103A134435CB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFCFCFFFFFCFFFFFFFFFFFFFFFCFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDFCFCDB0A0A0A0A
+ BB16160EEE076108E30B703C3CE886195B60493004512236694F27270F02022B
+ 1C55238C002A090939F72C1F34630505674A5894C1D1D49FA44A9F2158F00D7E
+ ABA1A1A166A1A14D938F3F25069B012EA17B2EB74C4C7498064806433BF55E6A
+ 454CD5CC06310D3A9595957645455999D2481D9A3A9F217EC99EC8C8264BC84B
+ 35060D4544541D06764545C83554C8AC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFCFCFCFCFFFCFCFCFCFCFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFDDFCFC640A0A0A0ABB1690EE070761E3
+ E30B703C181B86194760BE3004513636294E27270F022B621C558C0000EC0909
+ C2382C1F34633305674A58942F53312E24672F2E2F2FA8A85C667566660D0D4D
+ 1453528E069B77D55C775C66749B74744DB5BF433FBC3B6E489BA87B4C214C9B
+ 56489B48484893B97B484B4BD79D4B5606B7BD95BDB54BC88EAB5992A96F9A4B
+ 56959556454B44CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFC
+ FCFCFCFFFFFFFCFCFFFFFFFFFCFFFFFCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFCFCFC640A0A0ABBBB16160E07076108E30BB1703CE81B195B
+ 47C3BE30042236E54F4E270F0F022B62D6558C8C002A09F239382C1F34630505
+ 67017824C1AFA52E8B77777777A48B79AB1010105C5C664D5EAF5384065F7510
+ 667BAAAB7E0D7E0D0D4CBFB7B9535E6A729AAA7E66667E5C7EA1A1759B488EA5
+ A49DCAC8BD4D744D4D4D4D4C74B79DB5A3B98F06CACAB06E3AC8C83A954BC8AC
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFCFF
+ FCFFFFFCFCFFFCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCDB0A0A0ABBBBBBBB90EE07610808E30B7070181B8619476049300451223669
+ 4F4E270F02022BD6EF558C002A09F2C2F7382C1FB3633305674A7894C111BCCF
+ 7B798B77A48BA4A42E2E7B79A85C064DB96DAF14B79B5F0D7EA87E7979A85C5C
+ 7E0648AAF5BCB9747472064D66747E66AA4D5F6EB59314BCAFA44C9AB0B5849A
+ 84B5BD3A3ABD48B7A75A5AF57B0659757E7E5C5CC99979790000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFFFCFFFFFCFCFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCDB64640A0ABBBBBB
+ 1690EE076108E30BB1703CE81BED194742493004222236294F270F0F022B62EF
+ EF238C00ECECF2C2F7382C1F3463330567012F2F5A1185A48B2EA421A47B218B
+ 7979A85C5C66665CAF5A6D53C94CAA06664DAAAAAA4D4D4D14064C79BCBAF577
+ 9DB572B5B5729DB574744D4D6610D45AFDAF01C1772E9FC1C12FF0014ABCAFBA
+ 5AFDFD6D5A5A5A5A5A5A5ACEBACE5A2C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFFFFFCFCFCFCFCFFFFFCFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFDDFFFFFFFFFFFFFFFFFFFFDDDBDBDB640A0A0ABBBBBB16EEEE616108E30B
+ 703C3C1B86ED4760C330040422EA69294E270F0F022B621C55238C002A09F2C2
+ F72C1FB334330505670178F31111110524D22E21D221AB10AB79AB1079792EF0
+ FD6DFD6D0587318F3131C12FA5F07801F0010185BA6D5AAF0101F5BC058585BA
+ BABACEBACEBA5A6DFDFDFDFDFDFD6D5A5A6D6DFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCDBDBDBDBDB
+ DBFCFFFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFCFCFCFCDB640A0ABBBBBBBB160EEE076108E3E30B703C181B865B4760
+ C33004512236294F4E270F02022B1CEF23238C00EC0909E78A39F738112C2C1F
+ CECE6D41111111FD5ACE5A6D6D6D6D5A5A5A5A5A5A5A6DFDFDFDFDFDFDFD6D6D
+ 5A6D5A6D5A5A5A5A5A5A5AFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFFFCFCFCFC
+ FCFCFFFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBFCFCDB
+ 640ABBBBBB16160EEE07616108E30B70703CE81B195B47C3BE040422EAE5294E
+ 27270F022B621CEF238C8C00ECECEC6868E78A8A464646414141411111111111
+ 1111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
+ FCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFCFCFCFCFCFCFCFCFCFFFCFCFFFF
+ FFFFDDFFDDDDFFFFFFFFFFFFDDFFFFFFFFFFFFFFFCDBDB64640A0ABBBB16160E
+ EE07610808E3B1703C181BED194760493004512236E54F4E270F0F022B1C1C55
+ 238C00ECECECEC09688A8A8A4646464141414111111111111111FD1111FDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBDBDBDB
+ DBDBDBDBDBDBDB6464FCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFDDFFFFFFFFFFFF
+ FFFFFFFFFCDDFFFFFCFFFFFCDB64640A0A0ABBBBBB160EEE07610808E30B7070
+ 3CE81B195B4742BE300451EAE5294F4E270F02022B1C1C558C8C0000ECEC6868
+ E78A8A46464646414141411111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB6464646464
+ 64FCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFDDDDFFFFDDFFFFFFDDFFFFFFFFFFFC
+ FFFFFCFCFCFC640A0A0ABB1616160EEE076108080B0B703CE81B86194760C3BE
+ 04512236E54F4E270F0F022B2B1CEF8C8C0000ECECEC0909DCE7464646464141
+ 4111411111111111FDFD11FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB646464646464FCFC64FCFCFCFCFC
+ FCFCFCFCFCFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBFCDBDBDB0A0A
+ 0ABB1616160E0E07616108E30B70703CE886195B474249305151223669294E27
+ 0F0F022B2B1CEF238C8C0000ECEC096868E7E78A8A4646414141414111411111
+ 1111111111111111111111111111111111111111111111111111111111111111
+ 1111111111111111111111111111111111111111111111111111111111111111
+ 11111111111111111111111111111111111111111111118A0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFCFCFCFCFCDB
+ DBDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A646464646464DBFCFCFCDBFCDBFFFFFF
+ DDDDFFDDFFFFFFFFFFFFFFFFFFFCFCFCFCFFFCDBDB0A0A0ABBBB160E16EEEE07
+ 070808E30BB13C3CE81B86194760C3BE3004512236E54F4E4E270F0F022B2B1C
+ 1C55558C8C8C0000002A2AECECEC09EC09096868686868686868DCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCEC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB
+ DBDBDBDBDBDB64DBDBDBDBDBDBDBDBFCFCDBFCDBFFFFFFFFFFFFFFDDDDFFFFFF
+ FFFFFFFFFFFCFCFCFCFCFCDBDBDBDB640A0ABBBBBB160EEEEE07616108E3E3B1
+ 703C18181BED195B4760C349303004515122EAEAE5E529294F4F4E4E27272727
+ 270F0F0F0F0F0F0F0F0202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 020202020202020F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDDFCFCFCFCFCFCFCFCFCDD
+ DDDDDDDDDDFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFC640A0A0A0A0ABB161616900EEE0707610808E3E30B0BB170
+ 3C3C3C18E81B1B86EDED19195B5B4747474760604242C3C3C3C3494949494949
+ EBEBEBBEBEBEBE30BEBE30303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303049
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFDDDDFCFCFCFCFCFCFCFCDBDBDBDBDDFCFCFCDDDDFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDDFCFC64
+ 640A0A0A0ABB161616900EEE070761080808E3E30BB17070703C3CE81B1B1B86
+ ED1919195B5B4747476060424242C3C3C3494949494949EBBEEBBEBEBEBE3030
+ BE30303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030490000FCFCFCFCFCFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB
+ DBDB6464646464640A0A0A0A0A0A6464646464DBDBDBDBDBDBDBDBFCFFFFDDDD
+ FFDDFFFFFFFFFCFFFFFFDDFFFFFCFCFCFCDBDBDBDB640A0ABBBBBBBB16EEEE07
+ 610808E3E3B170703C181B86ED195B4742C3BE300404512222EA36E529294F4F
+ 4E4E4E272727270F0F0F0F0F0F0F020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020F0000FCFCFCFCFCFCFCFCFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCDBDBDBDBDBDBDB64640A0A0A0A0ABBBBBB
+ BBBBBBBBBBBB0A0ABB0A0A0A0A0A0A0ADB64FCFCFCFFDDDBFFFFDDFFFFFFFFFF
+ FFFFFCFFFFFFFC64DBDBDB0A0A0ABB161690EEEE07070808E30BB1703C181B1B
+ 195B476049300451512236294F4E27270F0F022B2B1C1CEF558C8C0000000000
+ ECECECECECEC09090968686868686868DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCEC0000FCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFF
+ FCFCFCFCFCFCDBDBDBDBDBDBDB640A0A0A0A0ABBBBBBBBBBBBBBBBBBBBBBBBBB
+ BB0A0A0A0A0A640A6464DBFCFCDDFCFFDDFCFFFFFFFFFFFFFFFFFFFFFFFCDBFC
+ 640A0A0ABBBBBBBB900EEE07616108E3E30B703C18E81B191947604930040451
+ 223669294E27270F02022B2B621CEF55238C8C00000000ECECECEC0909096868
+ 68E7E768E7E78AE7E78A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
+ 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
+ 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8AEC
+ 0000}
+ Login.LeftImage.Data = {
+ 07544269746D617016090000424D160900000000000036040000280000003200
+ 0000180000000100080000000000E00400000000000000000000000100000000
+ 000000000000000080000080000000808000800000008000800080800000C0C0
+ C000C0DCC000F0CAA6000020400000206000002080000020A0000020C0000020
+ E00000400000004020000040400000406000004080000040A0000040C0000040
+ E00000600000006020000060400000606000006080000060A0000060C0000060
+ E00000800000008020000080400000806000008080000080A0000080C0000080
+ E00000A0000000A0200000A0400000A0600000A0800000A0A00000A0C00000A0
+ E00000C0000000C0200000C0400000C0600000C0800000C0A00000C0C00000C0
+ E00000E0000000E0200000E0400000E0600000E0800000E0A00000E0C00000E0
+ E00040000000400020004000400040006000400080004000A0004000C0004000
+ E00040200000402020004020400040206000402080004020A0004020C0004020
+ E00040400000404020004040400040406000404080004040A0004040C0004040
+ E00040600000406020004060400040606000406080004060A0004060C0004060
+ E00040800000408020004080400040806000408080004080A0004080C0004080
+ E00040A0000040A0200040A0400040A0600040A0800040A0A00040A0C00040A0
+ E00040C0000040C0200040C0400040C0600040C0800040C0A00040C0C00040C0
+ E00040E0000040E0200040E0400040E0600040E0800040E0A00040E0C00040E0
+ E00080000000800020008000400080006000800080008000A0008000C0008000
+ E00080200000802020008020400080206000802080008020A0008020C0008020
+ E00080400000804020008040400080406000804080008040A0008040C0008040
+ E00080600000806020008060400080606000806080008060A0008060C0008060
+ E00080800000808020008080400080806000808080008080A0008080C0008080
+ E00080A0000080A0200080A0400080A0600080A0800080A0A00080A0C00080A0
+ E00080C0000080C0200080C0400080C0600080C0800080C0A00080C0C00080C0
+ E00080E0000080E0200080E0400080E0600080E0800080E0A00080E0C00080E0
+ E000C0000000C0002000C0004000C0006000C0008000C000A000C000C000C000
+ E000C0200000C0202000C0204000C0206000C0208000C020A000C020C000C020
+ E000C0400000C0402000C0404000C0406000C0408000C040A000C040C000C040
+ E000C0600000C0602000C0604000C0606000C0608000C060A000C060C000C060
+ E000C0800000C0802000C0804000C0806000C0808000C080A000C080C000C080
+ E000C0A00000C0A02000C0A04000C0A06000C0A08000C0A0A000C0A0C000C0A0
+ E000C0C00000C0C02000C0C04000C0C06000C0C08000C0C0A000F0FBFF00A4A0
+ A000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFF
+ FF00FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD525252525252525252525252
+ 5252FDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDAFB75E5E5E66666767676F6F6F6FB752FDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBF
+ BFBFBFBFBFBFBFBFBFB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFB76F676F6FB7B7B7B7B7776F5EB752FD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBFBFB752FDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFB76F676F6F6FB7B7
+ B7B7776F5EB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBFBFBF52FDFDFDFDFD
+ 0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAF
+ B76767676F6F6FB7B7B7776F5EB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBF
+ BFBF52FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDAFB76767676F6F6F6FB7B7776F5EB752FDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBF
+ BFBFBFBFBFBFBFBFBFBF52FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBFB7AFAFB7B7B7B7BFBFBFBFB7B752FD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDAFB76F675E5E5E5E5E5E676FB7A5FDFDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F79BFDFDFDFD
+ FDFDA4F7A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDF7F79BFDFDFDFDFDFDA407A3FDFDFDFDFDFDFD
+ 0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDF7F79BFDFDFDFDFDFDA407A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F7A4FDFDFDFDFDFDF707
+ A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDF707A49AFDFDFDFDA30707A3FDFDFDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F6A4
+ A49B9A9AA3A407079AFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F6F7F7A4A4F70707A3FDFDFDFD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDF7F6F6F6F6F607A3FDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7A3A3A3
+ A3A3FDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ 0000}
+ Log.WindowCaption = 'Seguran'#231'a'
+ Log.LabelDescription = 'Log do Sistema'
+ Log.LabelUser = 'Usu'#225'rio :'
+ Log.LabelDate = 'Data :'
+ Log.LabelLevel = 'N'#237'vel m'#237'nimo : '
+ Log.ColLevel = 'N'#237'vel'
+ Log.ColMessage = 'Mensagem'
+ Log.ColUser = 'Usu'#225'rio'
+ Log.ColDate = 'Data'
+ Log.BtFilter = '&Aplicar Filtro'
+ Log.BtDelete = '&Excluir Log'
+ Log.PromptDelete = 'Confirma excluir todos os registros de log selecionados ?'
+ Log.BtClose = '&Fechar'
+ UsersForm.WindowCaption = 'Seguran'#231'a'
+ UsersForm.LabelDescription = 'Cadastro de Usu'#225'rios'
+ UsersForm.ColName = 'Nome'
+ UsersForm.ColLogin = 'Login'
+ UsersForm.ColEmail = 'Email'
+ UsersForm.BtAdd = '&Adicionar'
+ UsersForm.BtChange = 'A<erar'
+ UsersForm.BtDelete = '&Excluir'
+ UsersForm.PromptDelete = 'Confirma excluir o usu'#225'rio "%s" ?'
+ UsersForm.BtRights = 'A&cessos'
+ UsersForm.BtPassword = '&Senha'
+ UsersForm.BtClose = '&Fechar'
+ AddChangeUser.WindowCaption = 'Cadastro de Usu'#225'rios'
+ AddChangeUser.LabelAdd = 'Adicionar Usu'#225'rio'
+ AddChangeUser.LabelChange = 'Alterar Usu'#225'rio'
+ AddChangeUser.LabelName = 'Nome : '
+ AddChangeUser.LabelLogin = 'Login : '
+ AddChangeUser.LabelEmail = 'Email : '
+ AddChangeUser.CheckPrivileged = 'Usu'#225'rio privilegiado'
+ AddChangeUser.BtSave = '&Gravar'
+ AddChangeUser.BtCancel = 'Cancelar'
+ AddChangeProfile.WindowCaption = 'Perfil de Usu'#225'rios'
+ AddChangeProfile.LabelAdd = 'Adicionar Perfil'
+ AddChangeProfile.LabelChange = 'Alterar Perfil'
+ AddChangeProfile.LabelName = 'Descri'#231#227'o : '
+ AddChangeProfile.BtSave = '&Gravar'
+ AddChangeProfile.BtCancel = 'Cancelar'
+ UsersProfile.WindowCaption = 'Seguran'#231'a'
+ UsersProfile.LabelDescription = 'Perfil de Usu'#225'rios'
+ UsersProfile.ColProfile = 'Perfil'
+ UsersProfile.BtAdd = '&Adicionar'
+ UsersProfile.BtChange = 'A<erar'
+ UsersProfile.BtDelete = '&Excluir'
+ UsersProfile.BtRights = 'A&cessos'
+ UsersProfile.PromptDelete = 'Existem usu'#225'rios com o perfil "%s". Confirma excluir?'
+ UsersProfile.BtClose = '&Fechar'
+ Rights.WindowCaption = 'Seguran'#231'a'
+ Rights.LabelUser = 'Permiss'#245'es do Usu'#225'rio : '
+ Rights.LabelProfile = 'Permiss'#245'es do Perfil : '
+ Rights.PageMenu = 'Itens do Menu'
+ Rights.PageActions = 'A'#231#245'es'
+ Rights.BtUnlock = '&Liberar'
+ Rights.BtLock = '&Bloquear'
+ Rights.BtSave = '&Gravar'
+ Rights.BtCancel = '&Cancelar'
+ ChangePassword.WindowCaption = 'Seguran'#231'a'
+ ChangePassword.LabelDescription = 'Trocar Senha'
+ ChangePassword.LabelCurrentPassword = 'Senha Atual :'
+ ChangePassword.LabelNewPassword = 'Nova Senha : '
+ ChangePassword.LabelConfirm = 'Confirma'#231#227'o : '
+ ChangePassword.BtSave = '&Gravar'
+ ChangePassword.BtCancel = 'Cancelar'
+ ResetPassword.WindowCaption = 'Definir senha do usu'#225'rio : "%s"'
+ ResetPassword.LabelPassword = 'Senha : '
+ XPStyleSet.DimLevel = 30
+ XPStyleSet.GrayLevel = 10
+ XPStyleSet.Font.Charset = ANSI_CHARSET
+ XPStyleSet.Font.Color = clMenuText
+ XPStyleSet.Font.Height = -11
+ XPStyleSet.Font.Name = 'Tahoma'
+ XPStyleSet.Font.Style = []
+ XPStyleSet.Color = clBtnFace
+ XPStyleSet.IconBackColor = clBtnFace
+ XPStyleSet.MenuBarColor = clBtnFace
+ XPStyleSet.SelectColor = clHighlight
+ XPStyleSet.SelectBorderColor = clHighlight
+ XPStyleSet.SelectFontColor = clMenuText
+ XPStyleSet.DisabledColor = clInactiveCaption
+ XPStyleSet.SeparatorColor = clBtnFace
+ XPStyleSet.CheckedColor = clHighlight
+ XPStyleSet.IconWidth = 24
+ XPStyleSet.DrawSelect = True
+ XPStyleSet.UseSystemColors = True
+ XPStyleSet.OverrideOwnerDraw = False
+ XPStyleSet.Gradient = False
+ XPStyleSet.FlatMenu = False
+ XPStyleSet.AutoDetect = False
+ XPStyleSet.BitBtnColor = clBtnFace
+ XPStyle = True
+ Left = 56
+ Top = 128
+ end
+ object UCXPStyle1: TUCXPStyle
+ Active = True
+ XPSettings.DimLevel = 30
+ XPSettings.GrayLevel = 10
+ XPSettings.Font.Charset = ANSI_CHARSET
+ XPSettings.Font.Color = clMenuText
+ XPSettings.Font.Height = -11
+ XPSettings.Font.Name = 'Tahoma'
+ XPSettings.Font.Style = []
+ XPSettings.Color = clBtnFace
+ XPSettings.IconBackColor = clBtnFace
+ XPSettings.MenuBarColor = clBtnFace
+ XPSettings.SelectColor = clHighlight
+ XPSettings.SelectBorderColor = clHighlight
+ XPSettings.SelectFontColor = clMenuText
+ XPSettings.DisabledColor = clInactiveCaption
+ XPSettings.SeparatorColor = clBtnFace
+ XPSettings.CheckedColor = clHighlight
+ XPSettings.IconWidth = 24
+ XPSettings.DrawSelect = True
+ XPSettings.UseSystemColors = True
+ XPSettings.OverrideOwnerDraw = False
+ XPSettings.Gradient = False
+ XPSettings.FlatMenu = False
+ XPSettings.AutoDetect = False
+ XPSettings.BitBtnColor = clBtnFace
+ UCSettings = UCSettings1
+ Left = 88
+ Top = 128
+ end
+ object UCMySQLDACConn1: TUCMySQLDACConn
+ Connection = mySQLDatabase1
+ Left = 88
+ Top = 88
+ end
+ object mySQLDatabase1: TmySQLDatabase
+ DatabaseName = 'qloja'
+ UserName = 'root'
+ UserPassword = 'triadpass'
+ Host = '127.0.0.1'
+ ConnectOptions = []
+ Params.Strings = (
+ 'Port=3306'
+ 'TIMEOUT=30'
+ 'DatabaseName=qloja'
+ 'PWD=triadpass'
+ 'UID=root'
+ 'Host=127.0.0.1')
+ Left = 56
+ Top = 88
+ end
+end
diff --git a/official/2.20/Demos/1 Basic All Data Access/MySQLDAC/Unit1.pas b/official/2.20/Demos/1 Basic All Data Access/MySQLDAC/Unit1.pas
new file mode 100644
index 0000000..42af024
--- /dev/null
+++ b/official/2.20/Demos/1 Basic All Data Access/MySQLDAC/Unit1.pas
@@ -0,0 +1,89 @@
+unit Unit1;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, DB, UCBase, Menus, StdCtrls, Buttons, ExtCtrls,
+ mySQLDbTables, UCMySQLDACConn;
+
+type
+ TForm1 = class(TForm)
+ UserControl1: TUserControl;
+ MainMenu1: TMainMenu;
+ Arquivo1: TMenuItem;
+ Abrir1: TMenuItem;
+ Salvar1: TMenuItem;
+ Salvar2: TMenuItem;
+ Salvarcomo1: TMenuItem;
+ Fechar1: TMenuItem;
+ N2: TMenuItem;
+ Dados1: TMenuItem;
+ Importar1: TMenuItem;
+ Exportar1: TMenuItem;
+ N4: TMenuItem;
+ Vincular1: TMenuItem;
+ N3: TMenuItem;
+ Sair2: TMenuItem;
+ Editar1: TMenuItem;
+ Copiar1: TMenuItem;
+ Colar1: TMenuItem;
+ Recortar1: TMenuItem;
+ N1: TMenuItem;
+ Selecionartudo1: TMenuItem;
+ N5: TMenuItem;
+ AreadeTransferencia1: TMenuItem;
+ Exibir2: TMenuItem;
+ Esvaziar1: TMenuItem;
+ Exibir1: TMenuItem;
+ Zoom1: TMenuItem;
+ Normal1: TMenuItem;
+ Grande1: TMenuItem;
+ Ajustarnajanela1: TMenuItem;
+ N6: TMenuItem;
+ Personalizar1: TMenuItem;
+ amanhonormal1: TMenuItem;
+ elacheia1: TMenuItem;
+ Relatorios1: TMenuItem;
+ Relatorio11: TMenuItem;
+ Relatorio21: TMenuItem;
+ Relatorio31: TMenuItem;
+ Relatorio41: TMenuItem;
+ Segurana1: TMenuItem;
+ Cadastrodeusuarios1: TMenuItem;
+ Perfildeusurios1: TMenuItem;
+ logdosistema: TMenuItem;
+ N7: TMenuItem;
+ rocarsenha1: TMenuItem;
+ EfetuarLogoff1: TMenuItem;
+ UCSettings1: TUCSettings;
+ UCXPStyle1: TUCXPStyle;
+ Panel1: TPanel;
+ UCMySQLDACConn1: TUCMySQLDACConn;
+ mySQLDatabase1: TmySQLDatabase;
+ procedure FormCreate(Sender: TObject);
+ procedure EfetuarLogoff1Click(Sender: TObject);
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ Form1: TForm1;
+
+implementation
+
+{$R *.dfm}
+
+procedure TForm1.FormCreate(Sender: TObject);
+begin
+ mySQLDatabase1.Connected := True;
+end;
+
+procedure TForm1.EfetuarLogoff1Click(Sender: TObject);
+begin
+ UserControl1.Logoff;
+end;
+
+end.
diff --git a/official/2.20/Demos/1 Basic All Data Access/ZEOS/Project1.dpr b/official/2.20/Demos/1 Basic All Data Access/ZEOS/Project1.dpr
new file mode 100644
index 0000000..08b344c
--- /dev/null
+++ b/official/2.20/Demos/1 Basic All Data Access/ZEOS/Project1.dpr
@@ -0,0 +1,13 @@
+program Project1;
+
+uses
+ Forms,
+ Unit1 in 'Unit1.pas' {Form1};
+
+{$R *.res}
+
+begin
+ Application.Initialize;
+ Application.CreateForm(TForm1, Form1);
+ Application.Run;
+end.
diff --git a/official/2.20/Demos/1 Basic All Data Access/ZEOS/Project1.res b/official/2.20/Demos/1 Basic All Data Access/ZEOS/Project1.res
new file mode 100644
index 0000000..03109fc
Binary files /dev/null and b/official/2.20/Demos/1 Basic All Data Access/ZEOS/Project1.res differ
diff --git a/official/2.20/Demos/1 Basic All Data Access/ZEOS/Unit1.dfm b/official/2.20/Demos/1 Basic All Data Access/ZEOS/Unit1.dfm
new file mode 100644
index 0000000..4f026c4
--- /dev/null
+++ b/official/2.20/Demos/1 Basic All Data Access/ZEOS/Unit1.dfm
@@ -0,0 +1,1459 @@
+object Form1: TForm1
+ Left = 209
+ Top = 108
+ Width = 610
+ Height = 350
+ Caption = 'User Control - ZEOS Basic Demo'
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ Menu = MainMenu1
+ OldCreateOrder = False
+ OnCreate = FormCreate
+ PixelsPerInch = 96
+ TextHeight = 13
+ object UserControl1: TUserControl
+ AutoStart = True
+ ApplicationID = 'IBXBasic'
+ ControlRight.MainMenu = MainMenu1
+ UsersForm.MenuItem = Cadastrodeusuarios1
+ UsersForm.UsePrivilegedField = False
+ UsersForm.ProtectAdmin = True
+ EncryptKey = 0
+ NotAllowedItems.MenuVisible = True
+ NotAllowedItems.ActionVisible = True
+ Login.AutoLogon.Active = False
+ Login.AutoLogon.MessageOnError = False
+ Login.InitialLogin.User = 'Admin'
+ Login.InitialLogin.Email = 'qmd@usercontrol.com.br'
+ Login.InitialLogin.Password = '#delphi'
+ Login.MaxLoginAttempts = 0
+ Login.GetLoginName = lnNone
+ LogControl.Active = True
+ LogControl.TableLog = 'ZEOSBCLog'
+ LogControl.MenuItem = logdosistema
+ ExtraRight = <>
+ LoginMode = lmActive
+ UsersProfile.Active = True
+ UsersProfile.MenuItem = Perfildeusurios1
+ TableUsers.FieldUserID = 'UCIdUser'
+ TableUsers.FieldUserName = 'UCUserName'
+ TableUsers.FieldLogin = 'UCLogin'
+ TableUsers.FieldPassword = 'UCPassword'
+ TableUsers.FieldEmail = 'UCEmail'
+ TableUsers.FieldPrivileged = 'UCPrivileged'
+ TableUsers.FieldTypeRec = 'UCTypeRec'
+ TableUsers.FieldProfile = 'UCProfile'
+ TableUsers.TableName = 'ZEOSBCTabUsers'
+ TableRights.FieldUserID = 'UCIdUser'
+ TableRights.FieldModule = 'UCModule'
+ TableRights.FieldComponentName = 'UCCompName'
+ TableRights.FieldFormName = 'UCFormName'
+ TableRights.TableName = 'ZEOSBCTabRights'
+ ChangePasswordForm.MenuItem = rocarsenha1
+ ChangePasswordForm.ForcePassword = False
+ ChangePasswordForm.MinPasswordLength = 0
+ DataConnector = UCZEOSConn1
+ Left = 256
+ Top = 88
+ end
+ object MainMenu1: TMainMenu
+ AutoHotkeys = maManual
+ OwnerDraw = True
+ Left = 192
+ Top = 56
+ object Arquivo1: TMenuItem
+ Caption = 'Arquivo'
+ object Abrir1: TMenuItem
+ Caption = 'Abrir'
+ end
+ object Salvar1: TMenuItem
+ Caption = '-'
+ end
+ object Salvar2: TMenuItem
+ Caption = 'Salvar'
+ end
+ object Salvarcomo1: TMenuItem
+ Caption = 'Salvar como...'
+ end
+ object Fechar1: TMenuItem
+ Caption = 'Fechar'
+ end
+ object N2: TMenuItem
+ Caption = '-'
+ end
+ object Dados1: TMenuItem
+ Caption = 'Dados'
+ object Importar1: TMenuItem
+ Caption = 'Importar'
+ end
+ object Exportar1: TMenuItem
+ Caption = 'Exportar'
+ end
+ object N4: TMenuItem
+ Caption = '-'
+ end
+ object Vincular1: TMenuItem
+ Caption = 'Vincular'
+ end
+ end
+ object N3: TMenuItem
+ Caption = '-'
+ end
+ object Sair2: TMenuItem
+ Caption = 'Sair'
+ end
+ end
+ object Editar1: TMenuItem
+ Caption = 'Editar'
+ object Copiar1: TMenuItem
+ Caption = 'Copiar'
+ end
+ object Colar1: TMenuItem
+ Caption = 'Colar'
+ end
+ object Recortar1: TMenuItem
+ Caption = 'Recortar'
+ end
+ object N1: TMenuItem
+ Caption = '-'
+ end
+ object Selecionartudo1: TMenuItem
+ Caption = 'Selecionar tudo'
+ end
+ object N5: TMenuItem
+ Caption = '-'
+ end
+ object AreadeTransferencia1: TMenuItem
+ Caption = 'Area de Transferencia'
+ object Exibir2: TMenuItem
+ Caption = 'Exibir'
+ end
+ object Esvaziar1: TMenuItem
+ Caption = 'Esvaziar'
+ end
+ end
+ end
+ object Exibir1: TMenuItem
+ Caption = 'Exibir'
+ object Zoom1: TMenuItem
+ Caption = 'Zoom...'
+ object Normal1: TMenuItem
+ Caption = 'Normal'
+ Checked = True
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object Grande1: TMenuItem
+ Caption = 'Grande'
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object Ajustarnajanela1: TMenuItem
+ Caption = 'Ajustar na janela'
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object N6: TMenuItem
+ Caption = '-'
+ GroupIndex = 1
+ end
+ object Personalizar1: TMenuItem
+ Caption = 'Personalizar'
+ GroupIndex = 1
+ end
+ end
+ object amanhonormal1: TMenuItem
+ Caption = 'Tamanho normal'
+ end
+ object elacheia1: TMenuItem
+ Caption = 'Tela cheia'
+ end
+ end
+ object Relatorios1: TMenuItem
+ Caption = 'Relatorios'
+ object Relatorio11: TMenuItem
+ Caption = 'Relatorio 1'
+ end
+ object Relatorio21: TMenuItem
+ Caption = 'Relatorio 2'
+ end
+ object Relatorio31: TMenuItem
+ Caption = 'Relatorio 3'
+ end
+ object Relatorio41: TMenuItem
+ Caption = 'Relatorio 4'
+ end
+ end
+ object Segurana1: TMenuItem
+ Caption = 'Seguran'#231'a'
+ object Cadastrodeusuarios1: TMenuItem
+ Caption = 'Cadastro de usuarios'
+ end
+ object Perfildeusurios1: TMenuItem
+ Caption = 'Perfil de usuarios'
+ end
+ object logdosistema: TMenuItem
+ Caption = 'Log do Sistema'
+ end
+ object N7: TMenuItem
+ Caption = '-'
+ end
+ object rocarsenha1: TMenuItem
+ Caption = 'Trocar senha'
+ end
+ object EfetuarLogoff1: TMenuItem
+ Caption = 'Efetuar Logoff'
+ OnClick = EfetuarLogoff1Click
+ end
+ end
+ end
+ object UCSettings1: TUCSettings
+ AppMessages.MsgsForm_BtNew = '&Nova Mensagem'
+ AppMessages.MsgsForm_BtReplay = '&Responder'
+ AppMessages.MsgsForm_BtForward = 'E&ncaminhar'
+ AppMessages.MsgsForm_BtDelete = '&Excluir'
+ AppMessages.MsgsForm_WindowCaption = 'Mensagens do Sistema'
+ AppMessages.MsgsForm_ColFrom = 'Remetente'
+ AppMessages.MsgsForm_ColSubject = 'Assunto'
+ AppMessages.MsgsForm_ColDate = 'Data'
+ AppMessages.MsgsForm_PromptDelete = 'Confirma excluir as mensagens selecionadas ?'
+ AppMessages.MsgRec_BtClose = '&Fechar'
+ AppMessages.MsgRec_WindowCaption = 'Mensagem'
+ AppMessages.MsgRec_Title = 'Mensagem Recebida'
+ AppMessages.MsgRec_LabelFrom = 'De :'
+ AppMessages.MsgRec_LabelDate = 'Date'
+ AppMessages.MsgRec_LabelSubject = 'Assunto'
+ AppMessages.MsgRec_LabelMessage = 'Mensagem'
+ AppMessages.MsgSend_BtSend = '&Enviar'
+ AppMessages.MsgSend_BtCancel = '&Cancelar'
+ AppMessages.MsgSend_WindowCaption = 'Mensagem'
+ AppMessages.MsgSend_Title = 'Enviar Nova Mensagem'
+ AppMessages.MsgSend_GroupTo = 'Para'
+ AppMessages.MsgSend_RadioUser = 'Usu'#225'rio :'
+ AppMessages.MsgSend_RadioAll = 'Todos'
+ AppMessages.MsgSend_GroupMessage = 'Mensagem'
+ CommonMessages.AutoLogonError = 'Falha de Auto Logon!'#13#10'Informe um usu'#225'rio e senha v'#225'lidos.'
+ CommonMessages.ChangePasswordError.InvalidCurrentPassword = 'Senha Atual n'#227'o confere!'
+ CommonMessages.ChangePasswordError.NewPasswordError = 'Os campos: Nova Senha e Confirma'#231#227'o devem ser iguais.'
+ CommonMessages.ChangePasswordError.NewEqualCurrent = 'Nova senha igual a senha atual'
+ CommonMessages.ChangePasswordError.PasswordRequired = 'A Senha '#233' obrigat'#243'ria'
+ CommonMessages.ChangePasswordError.MinPasswordLength = 'A senha deve conter no m'#237'nimo %d caracteres'
+ CommonMessages.ChangePasswordError.InvalidNewPassword = 'Proibido utilizar senhas obvias!'
+ CommonMessages.InvalidLogin = 'Usu'#225'rio ou Senha inv'#225'lidos!'
+ CommonMessages.InitialMessage.Strings = (
+ 'ATEN'#199#195'O Login Inicial:'
+ ''
+ 'Usu'#225'rio : :user'
+ 'Senha : :password'
+ ''
+ 'Defina as permiss'#245'es para este usu'#225'rio.')
+ CommonMessages.MaxLoginAttemptsError =
+ '%d Tentativas de login inv'#225'lido. Por motivos de segun'#231'a o '#13#10'sist' +
+ 'ema ser'#225' fechado.'
+ CommonMessages.PasswordChanged = 'Senha alterada com sucesso!'
+ CommonMessages.BlankPassword = 'Retirada senha do Login %s'
+ Login.WindowCaption = 'Login'
+ Login.LabelUser = 'Usu'#225'rio '
+ Login.LabelPassword = 'Senha : '
+ Login.BtOk = 'OK'
+ Login.BtCancel = '&Cancelar'
+ Login.TopImage.Data = {
+ 07544269746D6170B6790000424DB67900000000000036040000280000007601
+ 0000500000000100080000000000807500000000000000000000000100000000
+ 00009BB5D8007493BA00ACC2E000BBBBBB00CBD9EB007D9BC20051719900F6F8
+ FB00F2F5FA0095B0D500FCFDFE00EDF2F800A7B6BC0055759D00F8FAFC00B1C5
+ E1005979A10089A8D200CDD5D9003E5E88004D7199003D5D8700FAFBFD008888
+ 8800E5ECF500DDE6F200DDDDDD00E2EAF400A5BDDD00405F880042628C0089A6
+ CC008297A0005D7DA500C5D4E900A1B9DA006685AD004569920045679000B4C8
+ E300EEEEEE00BDCEE60099B3D600A9C0DE008BA8CD009EA5B0006181A9006E8D
+ B400D0DCED006989B10099999900809DC40085A2C80044638C00C1D1E8004462
+ 8C008EAACF0091ACD100486890005579A100E7EEF6003E5F890040608A005D82
+ AB00C0CBCF008CAAD400D5E0EF00496C950042618A004A6A93008FACD500D8E3
+ F0004C6C9400D2DEEE007795BD0046668E004E6E960050709700B8CBE400BBCD
+ E500CCCCCC00C8D7EA00648BB2006D93BA0044648E00A2BADB004A6B94009BAC
+ B300708EB5004E6F980085A5CF00DAE4F10058789E0043638D0050759D00506E
+ 9600D6E1EF00F4F7FB00A7BEDE00829FC600FDFEFE0041608B0054749A007A98
+ BF0093AFD600BECFE60044628A00666666004060880086A6D0004C6B92004867
+ 8E00EAEFF700AAAAAA0049688E006C8AB1004D6E940053729A00476690006584
+ AB007290B8005C7CA300333333005F7EA60046648E005A7DA50056779E00E6EA
+ EC0046648C0044444400777777004869920044678E0080A0C900E0E8F3006D8C
+ B3005576A000AAAEB50090ADD5006080A7009EB7DA006486AF00486A93006185
+ AC00F9FAFD004C6A92003C5B85004C6E96006988AF0049699100C6CFDC0093AE
+ D20051729B00597AA30045648B004E6D94004A6992004A6C92004D6D96006786
+ AD00B6BCC40056769E003D5A82003F628B006383A900698DB500555555005A7F
+ A7005B7AA1003A5A8400527399005A7BA200426188004668900039577F007D9F
+ C70047668D00EBF1F8004C6B940087A3CA00405F8600486990004E6D96004C6D
+ 9400222222006287AF0083A3CC00FBFCFD00779BC2004A6A9100D1DDEE005473
+ 9C003C5C87006B8BB20092ADD200D3DFEF00E1E5E900426189006C8BB5008B8F
+ 940045658D005878A00042638B003F5C84005C7BA4001111110084A3CC006183
+ AB00CDD6E1006A8AB3006282AB00808285006787B0006483AC00A5BCDB004061
+ 8A004F5153003E40420043637000FEFEFE0091AED600FEFFFF00758D9600F2F5
+ F5008FA0A900D9E0E200506D7A00EFF4F9005C788300BFD0E700B5C1C60091AE
+ D500E3EBF50069828D00C3D3E900D2DDEE0097B2D700DFE7F300F7F9FC00A3BB
+ DC006F8FB7007B7E830094AFD3007998C1002F3032007396BE00909296008FAB
+ D000686C7100A4BBDA00D2D9E400D9DEE600FEFEFF0088A7D20000000000FFFF
+ FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCFCFCFCFCFCFC
+ FCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB6464640A0A0A0ABBBBBBBBBB16
+ 16160E0E0EEEEEEE07EE0707616161070761070707EEEEEEEEEE90161616BB16
+ BB0ABB0A0A0A0ADB64646464DBDB64FCFFFCDBDB64DBDB0A640A0A0A0ABBBBBB
+ 16160EEEEE07610808E30BB1703C18E886195B47424930045122EA36294F4E27
+ 0F0F0F022B621CEF55558C8C000000ECECECECEC68096868DCDCDC8A8A8A8A8A
+ 8A46464646464646464646464646464646464646464646464646464646464646
+ 4646464646464646464646464646464646464646464646464646464646464646
+ 4646464646464646464646464646464646464646464646EC0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFC
+ FCFCFCDBDBDBDBDBDBDBDBDB64DB640A0A0A0A0ABBBBBBBB16161616160E0EEE
+ EE07EEEEEEEE6107070707EEEEEEEE0E0E0E0E161616BBBBBB0A0A0ADB0A6464
+ DBDBFCDBDBFCFCFFFFDBFCDDDBFCDBDB64640A0A0A0A0ABBBB16900EEE076108
+ 08E30BB1703C181B86195B4742BE3004512236694F4E27270F022B2B1CEF238C
+ 8C0000ECECEC09688A8A46464646414141111111111111111111FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCDB
+ DBDBDBDBDBDBDB6464640A0A0A0ABBBBBBBBBB161616160E0EEE0E0EEEEEEEEE
+ EEEEEEEEEE0E0E16901616BB16BBBB0A0A0A0A0A64DBDBFCFCDBFCFCFCFCFCFF
+ FFFCFCFFDDFFFCFCFCFF0A640A0A0ABB0A1616900EEE07070808E30BB1703C18
+ 1B1B195B604230040422EAE5294F4E270F02022B1C1C558C8C0000ECEC6868DC
+ DCE78A464646414141414111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCDBDBDBDBDBDB
+ DBDB64640A640A0A0ABBBBBB161616160E0E160E0E0E0E90EE0E0E9090901616
+ 161616BBBBBB0A0A640A0A64FCFCFCFCFCFFFFFCFFDDFFFCFCFFFFFFFCFFFCFF
+ FCDBFCDBDB0A0A0A0ABBBB16160E0EEE616108E30BB1703CE81BED5B47604930
+ 04512236E54F4E270F0F022B621CEF238C8C00ECECEC6809DCDC8A4646464641
+ 4141114111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB640A0A
+ 0A0A0ABBBBBBBB1616161616160E0E169090161616161616BBBBBBBB0ABB0A0A
+ 640A64DBDBFCFCDBFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFCFCFCFCFFFCFC0A0A
+ 0A0ABB1616160EEE07610808E30BB13C3C1B86195B4742BE3004222236294E27
+ 270F0F022B1CEF558C8C8C00ECECEC68DCE7DC8A464641414141411111111111
+ FD11FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB64640A0A0A0ABBBBBB
+ BBBBBB1616161616161616161616BBBB0ABB0A0A0A0A0A64FC64DBFCFCFCDDFC
+ FFDDFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFDDFCFFFCDDDB64640ABBBBBB160E0E
+ EE076108E30BB1703C181BED194760493004512236E54F4E270F0F022B621C55
+ 238C8C00ECECEC096868E7464646414141414111111111111111FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FCFFFFFCFCFCFCFCFCFCDBDBDBDBDBDB64640A0A0A0A0ABBBBBBBBBBBBBBBB16
+ BBBBBBBBBBBB0ABB0A0A0A0A640ADBDB64FCFCDBFCDDDDFCFFDDFFDDFFFFFFFF
+ FFFFFFFFFFDDFFFFFFDDFFFCFFFCDBDB64640ABBBBBB16900EEE070808E30B70
+ 703CE81B195B4742BE300451EAE5294F27270F022B2B1CEF558C8C0000ECECEC
+ 68DC8A8A464646464141414111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFCFC
+ FCFCFCFCFCDBDBDBDBDBDB64640A0A0A0ABBBBBBBBBBBBBBBBBB0ABBBB0A0A0A
+ 0A0A0A0A646464DBFCFCDDDBDBFCDDFCFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDBDB640A0ABBBBBB16900E07070808E3B1703C181BED194760
+ 493004512236694F4E270F02022B1C1C55238C00ECECECEC6809DC8A8A464641
+ 414141411111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFFFCFCFCDBFCFCDB
+ DBDBDBDBDB64640A0A0A0A0A0ABBBBBBBB0A0A0A0A0A0A0A0A0A0A64DBDBDBDB
+ DBFFFFDDDDDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFC
+ FC64640A0ABBBB16160EEE070808E30BB1703CE81BED5B4742BE300422EAE529
+ 4E27270F022B621C55238C8C00ECECEC0909DCE78A4646414641414111111111
+ 1111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCDBDBDBDBDBDB6464
+ 640A0A0A0A0ABBBBBB6464640A0A0A6464DB0ADB64DBDBFCFFFFFFDDDDFFFFFF
+ DDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFFDDDBFC640ABBBB16
+ BB0E0EEE070808E30B703C181B86194760C33004512236694F4E270F02022B1C
+ 1C55238C0000ECEC0968E7E78A8A41464141414141111111111111FDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A
+ 0A0A6464640A0A6464DBDBDBFCDBDBFCFCFFFFDDDDFFDDFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFCFCFC64640ABB16160EEE076108E3
+ 0BB1703CE81B195B47423004042236E54F4E270F02022B621C55238C00000909
+ C239382C1FCE85AF3305F3F5015353F5AF8585BC53B93F3F3FA7993B885E5E98
+ 98981414438E599E434343145E5E98593F52B9A7251E3D3D653E3E3E3E3E3ED7
+ 1E1E1E5D545D5DCA3E1E1E3B3B5DD7C03ED7A38E434354A365D7D76565D7D765
+ 6513153E3EC092AE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A6464646464
+ FCFCFCFCFCDBDBFCFCFFFFFFFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFCFCFCDB0A0A0ABB16160EEE070808E3B1703C181BED19
+ 4760BE3004512236694E270F0F022B621C558C00EC0997381F1F346333670101
+ F02F318DCF2EA7A78F52A5B97D14934393438E258E568E8E8E8E254325251459
+ 1414143B3FB93FA75E5E5E5E93985943438E8E25252525252676767683838326
+ 6554267DA78E263E3E3D15A33DA33D3E3D3D3D3D3D3D3D3D3E133D1E1E1592AE
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCFCFCFCDBDBDBDBDBDBDBDBDB646464646464FCFC6464FC64FCFCFCFCFCFCDB
+ FCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFF
+ FFFFFCFC64640A0ABBBB160E0E07610808E3B1703CE81B195B60C3BE04512236
+ 694F4E270F022B62D6558C002AF297382CB3633367677858319FA42E7BA8A87B
+ 21C9660648B5B53A4B4B8035CA6A6AC5353E1D1D3E1D3E1ECA268E883B3B4325
+ 26262654542626262626262626252525562543255EA77D5E2525262626262626
+ 252626262654262554252525431443255D1E2606433DA9A90000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE11212FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFF1212E1FFFFFFFFFFFFFFFFFF1212E1FFFFFFFFFF
+ FFFFFFFFDF121212FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE11212
+ E1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBFCFC
+ DBDBDBDBDB64646464646464FCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFF
+ DDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFDDFCFCFCFC0A0A
+ BBBB16160EEE610808E30B703C181BED194742BE300422EAE54F4E270F0F022B
+ 1C5523002A09C2382CB36333674A0158879F9F2E7B5CA10D21A1064D48BDBD72
+ 809A3535C56C6C6C13131D44441D1D3E1D1ECA438E263D3D3D3D3D1313131313
+ 3D131313133D3D3D3D3DA3A3435E435DA33E3D3D3D3E3E3EA33EA3A3A3D7A354
+ 5426268E5E88592665D75D765D3D15A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE120DADADADADAE940FFFFFF12DADA0C
+ FFFFFFFFFFFF0CDADADADADADADADEFFFFDADA12FFFFFFFF0CDADADAFFFFFFFF
+ FFFFE0DADADADAE440FFFFFFFF40E9DADADADADA20E1FFFFFFFF12DEDADADADA
+ DADE12FFFFFFDADADEFFFF7FDADADEFFFFFFDFE0E2DADADADADEFF12DADADADA
+ DADADADAFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB
+ DBDBDBDBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFC64646464BBBB160EEEEE61
+ 08E30BB1703CE886194760493004512236294E270F0F022B62D6238C2A09F239
+ 381F6333054A0158879F772E7B5C5CA1210D4C9B91726F6FC8C83535CA6AC5C5
+ 1D6C6C1DB41D6C6C1D3E5D4354A33D1E653E3E1D3D3D3D3D1313131313131313
+ 15133D3D8E14263D3D1315C015151515C0C0151313133DD7151315A343935492
+ 133D3DC0C0133DA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFE6E2DADAE00C57E4DADAE0FFFF7FDADA0CFFFFFFFFFFFF0CDA
+ DAE9DEDEDEDE57FFFFDEDA12FFFFFF7FDADADADAFFFFFFFFFFFFDADE0C0CE4DA
+ DA7FFFFF57DADAE2570CE0E2DADAE6FFFF12DADADA200CE0DADADA40FFFFE4DA
+ DEFFFF0CDADAE1FFFFE1E2DADA200C0CE0E4FF12DADAE4DEDEDEDEDEFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFDDFCFFFCFC6464640A64BB16160EEE070808E3B1703C181B
+ ED5B47C33004512236694F4E270F022B62EF238C0009F239381FB36305674A58
+ 2F9F772E21A1100D21BF5F9B9B91BD6FC8C83535CA6A6AC56A35441D1D1D6C1D
+ 15C0359E5DD71D441D1D1D131313131313131515151515151313C01526595465
+ 653E131515151515C0C0C0C0C0C0C0159215C0151E5D3E13C015C0A9921515AE
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FE2
+ DAE97FFFFFFFFFE0DADA40FFFFDADA0CFFFFFFFFFFFF0CDADAE6FFFFFFFFFFFF
+ FFDEDA12FFFFFFDEDADADADAFFFFFFFFFFFFDFFFFFFFDFDADA0CFF40DADAE0DF
+ FFFFFFDFE9DAE27FFF20DADA0CFFFFFF12DADADEFFFFDEDADEFFFFE4DAE0FFFF
+ FFE9DAE2E1FFFFFFFFFFFF12DADAE0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFCFCFCFCFCFCFCFCDBFCDBDBFCDBFFFFFCFCFCFCFCFCFCFFFF
+ FFFFFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFCFCFCFCFC64640ABBBB160EEE076108E30B703C181B86194742BE300422
+ EAE54F4E270F0202621C558C8C2A099739382CB3343333674A78589477A85C75
+ CC754D4D0606065F4D4D4D4C4C4C4C4C9191919191913AC83792449E3E151D13
+ 1D1D1D1D1D1D1D1D1D1D1D13131313151D13C092764565653E13131513131313
+ 131315151515C092921315C03D651E5415C092C0151592AE0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0CDADA7FFFFFFFFFFFFF
+ DEDAE4FFFFDADA0CFFFFFFFFFFFF12DADA0CFFFFFFFFFFFFFFDEDA0CFFFF40DA
+ DA0CDADAFFFFFFFFFFFFFFFFFFFF40DADAE6FF20DAE4FFFFFFFFFFFFDFE2DAE0
+ FFDEDADADFFFFFFFFFE4DADAFFFFDEDADEFFE6DAE2DFFFFFE1DADAE6FFFFFFFF
+ FFFFFFFFDADADEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFCFCFCFCFFFCFCFCFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFFFFFCFC6464
+ 640A0ABB160E0EEE070808E3B1703C1B86195B6049300451EA36694E270F0202
+ 2B1C55238C2A09F2C2382CB3346305674A4A017873A4C975CCBF4D0D0D667506
+ 4C4C4C9B4C4C9B4C064D9B9B4C9B4C4C9B131E593E1D373735353535357C7C4B
+ 54545454543535353737543EB69C1D1D3E1D13133E6565653E3E3E3E3E653E1D
+ 131392C03D3E13133DC092151315C0A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFDEDAE9FFFFFFFFFFFFFF0CDADA7FFFDADA0C
+ E1127FFFFFFF12DADAE012121212DFFFFFE0DA0CFFDFE4DA20E1DADAFFFFFFFF
+ FFFFFFFFFFE6DADAE9FFFFDADA57FFFFFFFFFFFFFF20DAE4FFDEDADAFFFFFFFF
+ FFDEDADAFFFFDEDADEFFE4DA0CFFFFFF0CDADADFFFFFFFFFFFFFFFFFDADAE912
+ 1212127FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFC
+ FCFCFCFCFCFCFFFFFCFFFCFFFFFCFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCDDFCFCFC64640A0ABB1616EEEE
+ 076108E3B1703C181BED5B60423004512236294E4E270F022B62EF2300002AF2
+ 97382C1FB33405336767582F8794C9BF210D98A10D755F744D4D4C4C4D4C4D4D
+ 4C48489B48B5BD4C06131E593D1D767C353535359A8080C854547C7C7C545435
+ 3735833E984BCBCB1E1E65651E1E1E1E651E1E1E1E5D3765371E3D3D1E3E9292
+ 3E15C013131513A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFDEDADEFFFFFFFFFFFFFF12DADA12FFDADA0CE2DADAE4E1FF12DA
+ DADADADADADA12FFFF0CDA0CFF0CDAE27FFFDADAE1FFFFFFFFFFFFFF0CDADAE9
+ DFFFFFDADA0CFFFFFFFFFFFFFF0CDADAFFDEDADAFFFFFFFFFFDEDADAFFFF20DA
+ DEE6DADA2012FFFF0CDADAFFFFFFFFFFFFFFFFFFDADADADADADADA0CFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCFCFCFCFFFFFF
+ FFFFFFFCFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFDDFCFFFCFC640A0ABBBBBB16EE076108E30BB13C18
+ 1BED5B4742BE040422EA694F4E270F022B62EF238C002A09C2F7381F1F1F63B3
+ B33401785831C9A121A10DC97EAA4D4C4C4C4C4C4C4C4D4C9B5F7E21104C6E4C
+ 0D444BBF3E1D76809A35CACACACACA355454C8C8C8C85454C8C8483E0D541D13
+ 1E1E653E3E3E3E3D651E1E651E1E1E3E1D1E653D3E139213133E3E13131313A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20DA
+ E4FFFFFFFFFFFFFF12DADA12FFDEDA571240E9DAE2DF12DADADE0C0C0C0C7FFF
+ FF0CDA577FDADA0CFFFFDADA12FFFFFFFFFFFFE0DADAE0DFFFFFFFE2DAE0FFFF
+ FFFFFFFFFF0CDADAFFDEDADAFFFFFFFFFFDEDADAFFFF0CDADEE1120CE2DA57FF
+ 0CDADA7FFFFFFFFFFFFFFFFFDADAE40C0C0C0C12FFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFFFFFFFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFC
+ FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFF
+ FFFFFFDDFCDDFC6464640A0ABBBB160EEE070808E3B1703CE81B194760493004
+ 2236E54F4E270F02022BD6558C000009F239381F1F2C3333676778585873100D
+ 215C66A80D664D5F066E4D4D4D0674AA9B21F031AB484C06BF1E26BF3E133AB0
+ 6F446C9A541E5454353A76C6D1B6767C6F9545CAC9D713151E445D4465443D3E
+ 655D651E4BD5761DCACA351E3E15C0153E15C0133E1315A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6DADA12FFFFFFFFFFFF
+ 57DADADFFFDEDA0CFFFF7FDADAE612DADA0CFFFFFFFFFFFFFF0CDADEDEDAE4FF
+ FFFFDADA12FFFFFFFFFF12DADAE0FFFFFFFFFFE0DAE2DFFFFFFFFFFFFFE9DAE9
+ FF0CDADA12FFFFFFFF0CDADAFFFF0CDADEFFFFFFE6DADA7F7FDADA0CFFFFFFFF
+ FFFFFFFFDADADEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFCFC
+ FC640A0A0ABB160EEE076108E3B1703CE81BED5B60493004512236294E270F02
+ 022B1CEF2300000997C2382CB32CB33463334A7858C1C90D79C9AA1010A87E5C
+ 754C75064D4D744D0D242EB74D4C4C06754426BFD71D953A3AB54BCA543E3A76
+ 9CC875D4213A3A243A9145357ED7131D5D3E3E3E1D13543E1E1E1E3D9EC6BF54
+ 9A35351E3E1515136513C0C0151313A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFDFE2DAE9DFFFFFFFFFE1E2DAE0FFFFDEDA0C
+ FFFFDFDADA0C12DADA0CFFFFFFFFFFFFFF0CDAE2DADA12FFFFFFE4DA12FFFFFF
+ FFFF0CDADAFFFFFFFFFFFF12DADAE0FFFFFFFFFFE6DADAE6FF0CDADA12FFFFFF
+ FF0CDADA12FF0CDADEFFFFFF40DADA12FFDEDADA12FFFFFFFFFFFFFFDADADEFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFC64640A0ABB160E
+ EE076108E30B703C181BED5B47C33004512236294F27270F022B62EF23002A09
+ 09C2382C1F2C386363054A017887A8BF7B10065C5C0DAA66664D66754D064D06
+ AA2E24AA4C4D0D4D063E26BF3E3E9C9CC8B5CA6C76548335443A0DCC45542ED5
+ 95484584BFD7134454831E13761D5D1E5D9265452EC698544BC8351E1D15133E
+ 653E15C0153E3EA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFF12E2DAE40C121257E2DAE2DFFFFFDEDADE0C0CDEDADA4012DA
+ DADE0C0C0C0C0C7FFF40DADADA20FFFFFFFFDEDAE6FFFFFFFFFF40DADA201212
+ 0CE1FFFF0CDADADEE61240E0DADADEFFFF0CDADA12FFFFFFFF0CDADA12FF0CDA
+ E40C0C57E2DADADFFFDFE9DADAE040124057E1FFDADAE40C0C0C0C0C12FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFC640A640ABB1616EE076108080B7070
+ 181B861947423004512236694F27270F022B62D6230000EC0997F72C1FB33834
+ 056701787887CC0D79AB4DAB215C5CA16606AAAA4D4D4D060101F3C1A84C6606
+ 061DAD986C44959C9A95449A7676761E1E567D7D84B7F0069148953A063E1337
+ 5D1E5D13763E443E54C05488D12F983A6FC835441D151D1E3D3E3E133D653EA2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ E1DEDADADADADADADEDFFFFFFFDEDADADADADADAE0FF12DADADADADADADADA12
+ FF12DADADA7FFFFFFFFFDEDA0CFFFFFFFFFFFFE0DADADADADA7FFFFFFF40E4DA
+ DADADADADA57FFFFFF0CDADA12FFFFFFFF0CDADA12FF0CDADADADADADAE2E6FF
+ FFFFDFE0DADADADADADA12FFDADADADADADADADA0CFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ DDFFFFFFFFFFFFFCFCFC640A0ABB16160EEE070808E3B1703CE886194742BE30
+ 042236694F4E270F022B62EF238C00EC09C2F72C1FB3B36367670101782FCC0D
+ 10794D2121A15CAAAAAA4D4D064C4C064D7E797B945C9B4D061D9598131E763A
+ C83A449544541D54C8138806A3AD9826914895569E1D153576924B1E3E5D543E
+ 155D83982E4AD47B6FC81E3E13151D1E3D3E3D13133E3DA20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FE60C0CE67F
+ FFFFFFFFFFE112121212127FFFFFDF1212121212121212DFFFDF1212E1FFFFFF
+ FFFFE1127FFFFFFFFFFFFFFFE10C0C0CE1FFFFFFFFFFFFE10C0C0C40DFFFFFFF
+ FF7F1212DFFFFFFFFF7F1212DFFF7F121212121212FFFFFFFFFFFFFFDF400C0C
+ 0C40DFFF12121212121212127FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
+ FF64640A640ABB160EEE070808E3B1703CE88619476049300451EAE54F4E270F
+ 020262D6558C002A0997F7381FB3343305674A0178C121A15C794D7910667BAA
+ 75790D4DAA4C4C06AA064C6E0D7506AA981D45061335763A4844443A1EB21E76
+ 3A4B764B563A7648919B9593563D157C5D4B5D13441EC01E65541E5476983AC8
+ 6FC81E3E1315134465131515151513A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFCFFFCFC64640A0ABB16
+ 0EEE076108E3B1703CE81B195B4749300451EAE54F4E270F022B2B1C55238C2A
+ 09F239381FB3343305676701782F8BA1C9AB4D211021019F0D2FA4AA66064D06
+ AA4CA1AA4D74664CBF1D43981354769CC8C8D101F0D19E1D3EB2443A453A453A
+ 6E4C9506831D15763D8313831E44541E3D15135D3A761E3A4B8035441D151365
+ 6513131E1E1315CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCDDFFFCDB64640ABB1616EE076108E30B70
+ 3C181BED5B47C330045122E5294E270F02022B1C55238C00099738382CB33463
+ 05674A0178782EA199CC06215C210558A1F32FBF66AA4D4D4C75AA4D5C4D0610
+ BF1D4898134B3A913AC5940D7676C8837C7CA87B3A9C3A486E4C45983A1D1576
+ 3A1376D15DB2C6761E1E5D15765454354B80351E1D15133E3D151E833A65C0A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFDDDDFCFFFCFCFC640A0ABBBB16EEEE6108E30BB170181BED5B474230
+ 0451EA36294E272702022B62558C8C2AEC9739381FB3343305674A01782FD5C9
+ 79A866A8109F874A8DC6F30DA10D4D66AA666666AA06BFA1A11D9EBF549A9C3A
+ 83D7F578787BBDBD5648D4C90DD276833ABF76C94B441D761E769CC65978B67C
+ 54351E5D54545476763A1D761315374465153DD13E1365A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFF
+ FFFCFC64640ABB16160EEE610808E37070181BED5B4742300451EA36694E270F
+ 02022B62EF8C8C002AF239F71F1FB36333054A017858775CAB8B06791078A4C1
+ 0521587779A1A8A85C5C5C5C0DAA66A10D15C999A34B9C3A4B83F0BF5966486E
+ AA4CD198CC109E839C9EADD2C81E443A54139EF3C6785FB695764B4B4B5D5D5D
+ 763AC83A1E445D44156583D41E3E1EA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFFFCFC646464BBBB
+ 160EEE070808E3B1703CE886194742BE04042236694F27270F022B1CD6238C2A
+ 09F2C2381FB3B3633305674A01F024107B2FA1AB7901AB2E0599D42410107966
+ 5C5C5C5C7E0D0DA10DD78F2ECA95569148B6016701774D100D4CD24810065945
+ 595643A5AD54C8953E9EC9CC88C6CC83599EB2B2453A767654358335D7441E3E
+ 135D59995D76B26F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC64DB640ABBBB160EEE070808E3B1
+ 703CE886194742BE30512236694F27270F022B1CEF238C002AF297382C1F3463
+ 3305674A015824A8CF2F7BC9102E0D10C9BF107E66ABAB105C5C5CA8105C5C10
+ BF458F8BAD9D6E6E9E3A065906AA9D0D0DAA0D06BF9806599893143143C8C876
+ 48567DF0317B59594C9E489E48569C9C45959826C8C84B848399F57899454B6A
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFDDFFFFFC64646464BBBB160E0E076108E3B1703CE886194742BE
+ 04042236694F4E270F022B62EF23000009F239382CB3343305674A4A78879F8B
+ 249FCF7E7E0DAA664D754D064D4DB7664D4C4C4D06060606459E0D06B5843A3A
+ 959B48B03A984C934C4D954C9D4D9E4C4343933B43C85454CAD7CA3ACA845426
+ 3A6F6F3A833A3A3A4B26AA8444D7A3D7543D1E44545D37B40000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
+ FFFCFCFC640A0ABB160E0E076108E30B703C181BED5B604930042236694F4E27
+ 0F022B1CEF23002A0939382C1F3433054A0158879FA47B21CCA10DBFB7489195
+ 91726F4856987DC972B09AB06FB0B0B04445C835AD9A9A6FB0356A953A4B4C3B
+ 3A6F9AC84B9A4BC835268326434B544B54CAD7CACA985E43C89ACA9A9A353554
+ 4B9598B76FC89ACA3D5D76B6833E1D6A0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFC64640A0ABB
+ 1616EE070808E3E3B1703CE81B1947C3300422EA694F27270F022B1C5523002A
+ F2C2382C1F3433676701583194778B7BCC5C0D6606065F9B6E6EBD3AC8067B8E
+ 6EB5B0B0B0C880804435CAC5C89A6AB09AB09A80C53599A79572729A6F35C835
+ 1E35C8CA26C8354B6ACA4B1D440D7D8E6FC89A9A35CA1E35C580C83A35C5CA6C
+ 3D767610597613AE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFCFC640A0ABB160EEE0761610808
+ 08E3E3B17018ED4749045136694F4E270F022B1C5523002A0939381F1F343367
+ 677858739FA47BA85C5C0D4C5F9B9191726E72C826563B846E729A9A80356A6A
+ 801D4B356A80AC806A9A6AC8D73D3B8872726F806A806A6A35441E543E354435
+ B01D6FCACAAD7E95B56FC89A9ACACA353580CBC8AC6A4B353D7615BF76541ECB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDDFFFCDDFC0A0A0ABB160EEE07076107EE0E0E0EEE0708B11B
+ 473051EAE54F4E270F022B1C5523002A0939381FB33433674A015873772E8BCC
+ 5C66665F5F4C6F953A72B03ACAB73B546F3A1D806AB4C580B0B46AB46FB46AB4
+ 449A1D4435157D9880B09A8080C5C5C57C15443735351D351D441DCA1E4B0635
+ 6F6F44C8445D1D3E1D443E44541E1DC81E443E4BC81E54CB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
+ FCFFFC6464640ABB160EEE07077F71176B818181170316081B4204EA694F4E27
+ 0F022B1CD623002A0939381FB36333674A0158872F739F777B9F7BA81066A14D
+ 9B483AC815837ECAB43A3A6EC84C6F95484806486E4806483A953A6FC8152193
+ 6CB09A6ACBC5657C44351D5415C854547C541EC8D73A4844CA6FC515A95D3544
+ 1D3A35443E1E44C01E441D351E1D35CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFC6464640ABB
+ BB0EEE070781FEFEFEFEFEFEFEFEA60AE31904EAE54F4E270F022B621CEF8C00
+ EC97381F1F63333305676778788773739424A4249F79C9AB5C5CBF486C43AB84
+ 80064C4C9B5F664C485C065F5C0D6E5F4D4C75064C448F43B46A6F4B959C3AB2
+ 9CB2B29CB6B61D459C6F6F8ECA4C3A1DCACA6C9A4B4B1D1D1EC03A4B153A159C
+ 35441D4413C044A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC640A64BB160EEE0707CDFE7A
+ 82D36BCDFEFEFE17EE1B3022E5294F4E270F0F022BD655002A97381FB3343333
+ 33674A01015887947377247B7B2E218B10ABA806A34899CA954D489BAA48664C
+ 754D75BF064C75A10D454D9806CA8F26CA3548C8B2445D54C8543A359E35483A
+ 954B4593AD0D351D1DCAC56C1D134445761E1D833E3E3E1D351E1D3EC09244A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFCFC64640A0ABBBB160EEE07D312610808E3C4F4FEFEB8
+ 163C495136E5E56969294F4E270262232AF2381FB334333305670505782F8794
+ 942424014A947B7EA8A8CC98D75699A3B5484C0DAA774D669B7506664A78D1C6
+ 779E4C98BF3524841D3A6E541E3A75B676563A563A54F021BD4B45483AA1C51D
+ 6C4BC54410D5BF131D35BF4859D10D5D35353E3E15C044A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFF
+ FCDDFCDBDB64640ABBBB90EE07616161616108E3F6FEFEFEBB70425122220430
+ 604242490436271C0009F71F1F3433330505336301C1C1949F24335831059458
+ 79AB21A1CA437D844B0D0648D4A8F04C0D4CAABFF0F30188787E060DBF268DAD
+ A94CC85676D478884B3A3A8376450DF05F6E489DB598356A6CB0CA6CBF990676
+ 764483D1313A44445D5D3E3E131535A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5003030328FFFFFFFFFFFFFFFF
+ FF5003031AFFFFFFFFFFFFFFFFFF280303031AFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFF1A03030328FFFFFFFFFFFFFFFF28030350FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A030350FFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFF50030328FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A03031AFFFFFFFFFFFFFFFFFFFF
+ FF28030350FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF030303FCFC6464
+ FC0A16EE0761EE1A030316EE12FEFEFE50B1600404428670E68903890B1B0402
+ 23EC381F34343333336767670578873131948B01F301F52E215C990DD73A99CA
+ BD4C064C66F0AB0D740DBF9E8DF30501D20D4D9859842ECA6C5935B29C244A83
+ 45C83A7659C926F0064CB7959D4D9A6AC89ACA562E103A44C0440DD2249C354B
+ 5D351D1D15135DA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFF03A6FEFEFEFEFEFEB86B1AFFFFFFFF6BFEFEFEFEFEB871FF
+ FFFFFFFF17B8FEFEFEFEFEFE17FFFF03FEFEFE28FFFFFFFFFFFFFFFFFFFFFFFF
+ FFFF036BCDFEFEFEFEFECD32FFFFFFFF717AFEFEFEFECD6B28FFFFFFFFFEFEFE
+ 03FFFFFFFFFF81FEFE17FFFFFFFF6BFEFEFEFE82FF03FEFEFE28FFFFFFFFFFFF
+ 286BCDFEFEFEFE7A71FFFFFFFF03FEFEFEFFFFFFFFFFFFFFFFFF17FEFEFE03FF
+ FFFFFFFFFFFFFFFF71B8FEFEFEFE3217FEFE81FFFFFFFF037AFEFEFEFEFE17FF
+ FF03FEFEFEFFFFFFFF81FEFECD50286BFEFEFEFEB8FCCDFEFE03BB0E615081FE
+ FEFECD17BBFEFEFE03B147EB47A0A6FEFEFEFEFEFEB8D04E2309381F34343333
+ 336733673487942F24A424F0317B7B7D215CAB5CCA8399A33A0606AA31A49F06
+ 667445BFD4054A7B4D4D060D4D56CFCA3E453A3A76B2013A564BCA3A932E01D2
+ 484848B5B7486AB49AC844C8CCA13A3E1E35C8C9D54476765D1E1315C01D54CB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B
+ FEFEFEFEFEFEFEFEFEFEFE32FFFFFFB8FEFEFEFEFEFEFE71FFFFFF81FEFEFECD
+ 8181CDFE81FFFF03FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF286BFEFEFEFEFEFE
+ FEFEFE81FFFFFF6BFEFEFEFEFEFEFEFECD50FFFFFF7AFEFE03FFFFFFFFFF82FE
+ FE17FFFFFF71FEFEFEFEFE81FF03FEFEFEFFFFFFFFFFFF50CDFEFEFEFEFEFEFE
+ FE6BFFFFFF50FEFEFEFFFFFFFFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFFFFFF1A
+ CDFEFE8117173203FEFE81FFFFFF32FEFEFEFEFEFEFE81FFFF1AFEFEFEFFFFFF
+ 71FEFEFE32FF82FEFECD8217822881FEFE030A9050CDFEFEFEFEFEFE6BFEFEFE
+ 030B5B47E0CDFEFEFEF4D9F4FEFE2D272309381FB363333305674A67012FC194
+ 9F772E944AF02179795C10A1444B885DC8754D75BF7E4C064C4C9B06107821C9
+ 4D4D66665993ABC81D455654543A3A54B09A4B6F5624F00D5F48834806543E1D
+ 5D54351E1E351E1E3DD78399064B44765D5D139213653ECB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFEFE6B71033281
+ FEFEFEFE03FFFF827128FF1A7AFEFEA6FFFF17FEFECD17FFFFFFFF1A32FFFF03
+ FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF7AFEFEFECD82710303176B7AFFFF71FE
+ FEFE1728FF037AFEFEB828FFFF81FEFE71FFFFFFFFFF17FEFE82FFFFFF17FEFE
+ FE03FF71FF03FEFEFEFFFFFFFFFFFF7AFEFE7A03FF2817FEFEFE17FFFFFFFEFE
+ FEFFFFFFFFFFFFFFFFFF03FEFEFE03FFFFFFFFFFFFFFFF17FEFEB8FFFFFFFF1A
+ FEFE7AFFFF1ACDFEFE7A71FFFF1A32FFFFFFFEFEFEFFFF28B8FEFE6BFFFFCDFE
+ FE32DDDDDB646BFEFE710A1681FEFECD32EEC4D3FEFEFEFE030BEDFACDFEFE81
+ 9647305151E0E0028C09381F34B3330505674A0178878731249FA4A4247B108B
+ 10AB21BF35450D546EAA744859069E0606BD594C48C9064C4DAA75754D14211D
+ 54487676543A353A3A9A4BCA3A59453A95B25643BF541D929C3E441D761D5D35
+ D7541E35134B3A541E1E3DC01D4465CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF7AFEFEFE17FFFFFFFFFF6BFEFEFE6BFFFFFF
+ FFFFFFFF82FEFEA6FFFFB8FEFE17FFFFFFFFFFFFFFFFFF1AFEFEFEFFFFFFFFFF
+ FFFFFFFFFFFFFF17FEFEFE8128FFFFFFFFFFFFFFFFFFB8FEFE17FFFFFFFF28CD
+ FEFE17FFFF81FEFE17FFFFFFFFFF17FEFE81FFFFFF17FEFEB8FFFFFFFF1AFEFE
+ FEFFFFFFFFFF32FEFECD28FFFFFFFF17FEFECDFFFFFFFEFEFEFFFFFFFFFFFFFF
+ FFFF03FEFEFE03FFFFFFFFFFFFFFFF17FEFE7AFFFFFFFFFFFEFEFEFFFF17FEFE
+ CD28FFFFFFFFFFFFFFFFFEFEFEFFFF82FEFEB828FFFFFEFEFE71FFDD646417FE
+ FE170A7FFEFEFE3290E3703CD3FEFEFE03E31BC7FEFEB8C4190436294F4E0F2B
+ 8C2AC21F3434333305674A017887C19F9F9FA48B8B21797B5C797BBF35565E54
+ C84D664C750659590D6EBFAABF1010994D660666B798211D92483A4576453E3A
+ C86E4B9D459A4583B2594C83C9C81EC5441E4B5D5D131D3ED73ED74B3E441E54
+ 1D1E3E133E3E3DCB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFEFEFEFEFFFFFFFFFFFF28FEFEFEB8FFFFFFFFFFFF71CDFEFE71
+ FF50FEFEFE28FFFFFFFFFFFFFFFFFFFFFEFEFE03FFFFFFFFFFFFFFFFFFFFFFCD
+ FEFEB828FFFFFFFFFFFFFFFFFF1AFEFEFE1AFFFFFFFFFF82FEFE81FFFF17FEFE
+ 17FFFFFFFFFF17FEFE81FFFFFF71FEFE7AFFFFFFFFFFFEFEFE03FFFFFFFF6BFE
+ FE6BFFFFFFFFFF28FEFEFE03FFFFFEFEFE03FFFFFFFFFFFFFFFF03FEFEFE03FF
+ FFFFFFFFFFFFFF1AFEFEFEA61AFFFFFFFEFEFEFFFFA6FEFE6BFFFFFFFFFFFFFF
+ FFFFFEFEFEFF50FEFEFE50FFFFFF6BFEFECD32FFFCFC17FEFE170A03FEFEFE28
+ 070B18E818B8FEFE0308E8D8FEFE820B4704223636694F0FD600971FB3343333
+ 330501782F582F9494772E2E2E778BA8AB10107ECA8399264D4D4D0694F0774C
+ 4C0D4C749F78D5C6934D5F0D95AB999C765935C8CCD4BF4B4CACB5C8458BC976
+ 9C5643AD7D4B35353A5444C910CC834B26458821593E1576445D1E3E653E1DB4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFE
+ FE7AFFFFFFFFFFFFFF7AFEFEFEFFFFFFFFFF82FEFEFE17FFFF03FEFEFEFFFFFF
+ FFFFFFFFFFFFFFFFFEFEFE03FFFFFFFFFFFFFFFFFFFF03FEFEFE32FFFFFFFFFF
+ FFFFFFFFFF03FEFEFEFFFFFFFFFFFF03FEFEFEFFFF17FEFE82FFFFFFFFFF03FE
+ FE7AFFFFFF03FEFEFEFFFFFFFFFFFEFEFE03FFFFFFFF81FEFE17FFFFFFFFFFFF
+ 81FEFE17FFFFFEFEFE03FFFFFFFFFFFFFFFF03FEFEFE03FFFFFFFFFFFFFFFFFF
+ 32CDFEFEFE7A825081FEFE50FF81FEFE17FFFFFFFFFFFFFFFFFF81FEFE507AFE
+ FE17FFFFFFFF2881FEFEFECDA63271FEFEA60A03FEFEFE6407B1181B1BD8FEFE
+ 170818D9FEFE17613C86195B191947040F8C972CB33463050567014A4A582FC1
+ 87949F778B8B2E211010A15C3593A58E6F4C759B2EF0871010060D7B2105F32E
+ 934C5FA1B5A521B21E483A547BD51006BD7EA1BF4DAB24B23A839E06314C4B76
+ 1E443AD424CCB2984310D4993A1E3E3E5476541E5D5D5D9A0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE81FFFFFFFFFFFF
+ FF81FEFEFEFFFFFF2881FEFECD71FFFFFF03FEFEFEFEFEFEFEFEFEFEFEFEFFFF
+ FEFEFE03FFFFFFFFFFFFFFFFFFFF17FEFEFE1AFFFFFFFFFFFFFFFFFFFF03FEFE
+ FEFFFFFFFFFFFF03FEFEFEFFFF17FEFE81FFFFFFFFFF03FEFEFEFFFFFF03FEFE
+ FEFFFFFFFFFFFEFEFE03FFFFFFFF81FEFE17FFFFFFFFFFFF81FEFE17FFFF81FE
+ FE03FFFFFFFFFFFFFFFF03FEFEFE030317177128FFFFFFFFFF28177AFEFEFEFE
+ CDFEFE03FF81FEFE17FFFFFFFFFFFFFFFFFF81FEFE82FEFECDFFFFFFFFFFDDFC
+ 036BCDFEFEFECDFEFE810A1AFEFEFE1AEE0B18861BD3FEFE170818D9FEFEFEFE
+ FEFEFEFEFEFEFEF1E523F22C341F2C0505674A34344A2F582FC17394777777A4
+ A87910C94B99BC140666AA06A40178AB5C77A8AB8B01D421AA66BFBF8EF53F54
+ 4C5656592FD421985C105C06D578CC4C064C595E8D9326765D0D31D421B6590D
+ 06998DBF3A459C7654545D1E5D5D54B00000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF81FEFEFEFFFFFFFFFFFFFF82FEFEFE28FFFF
+ 81FEFE7A1AFFFFFFFFFFFEFEFE710303030317FEFEFEFFFFFEFEFE17FFFFFFFF
+ FFFFFFFFFFFF17FEFEFEFFFFFFFFFFFFFFFFFFFFFF28FEFEFE71FFFFFFFFFF32
+ FEFEB8FFFF17FEFEFE28FFFFFFFF71FEFEFEFFFFFF28FEFEFEFFFFFFFFFFFEFE
+ FE17FFFFFFFF82FEFE7AFFFFFFFFFFFFB8FEFE32FFFF81FEFE03FFFFFFFFFFFF
+ FFFF03FEFEFE03B8FEFEFEFE82FFFFFFFFFFFFFF280382B8FEFEFE32FF82FEFE
+ 7AFFFFFFFFFFFFFFFFFF81FEFE717AFEFE32FFFFFFDDDDFCFCDBDB5032A6FEFE
+ FEB80A16B8FEFE17BB0870E8E8D3FEFE17081BF1FEFEA60389892D89F4FEFED3
+ 22D6092CB3B31F0533674A05057858783131949F949F2E8BAB7921A15699A55E
+ B5060DA1BF7979A106A8BFBF0DAB0DBF66BFBF0693525243543A4C062106489E
+ 9DAA9D4C7910BF9E599E458E98C8CA1E4B98CC48454B3A13C8D74C4B5D1E1D3E
+ 1E1E3E3D653E3EC50000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF81FEFEFEFFFFFFFFFFFFFF17FEFEFE03FF50FEFEFE28FFFFFFFF
+ FFFFA6FEFE32FFFFFFFF32FEFEB8FFFFFEFEFECD50FFFFFFFFFFFFFFFFFF17FE
+ FEFEFFFFFFFFFFFFFFFFFFFFFFFFA6FEFEA6FFFFFFFFFF81FEFE6BFFFF71FEFE
+ FEA6FFFFFFFFA6FEFEFEFFFFFFFFFEFEFE28FFFFFFFFFEFEFECD50FFFFFF50FE
+ FEFE50FFFFFFFF03FEFEFE1AFFFF81FEFE03FFFFFFFFFFFFFFFF1AFEFEFE71FE
+ FEFEFEFEFE6BFFFFFFFFFFFFFFFFFF28B8FEFE17FF71FEFEFE03FFFFFFFFFFFF
+ FFFF81FEFE0350CDFEFE71FFFFDDFCFCDBDBDB64FC6417FEFEFE0A0ED3FEFECD
+ 500E08B1B1D3FEFEA6611BA0FEFEB8EE3C5B4786B8FEFEC7E5F9F21FB36363F3
+ 67670178F087879424A42E8B7B21A879795C2166B75E5E14B774B74DBD4C4856
+ 4C9D564D9E454C4C93489B59143B53A73A3A5435763AC8C8B0CA3AB54B3A3A4B
+ 4B5683AD434B26353E1D1D1E1E444435C813484B76351D445D1E1D3D3E1315CB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6FE
+ FEFEFFFFFFFFFFFFFF17FEFEFE03FF03FEFEFE17FFFF1A32FFFF03FEFECD03FF
+ FF287AFEFE17FFFFFEFEFEFECD821703FFFFFFFFFFFF71FEFEFE71FFFFFFFFFF
+ FFFFFFFFFFFF50FEFEFEA61AFF1A6BFEFEFE50FFFF03FEFEFEFEB882177AFEFE
+ FECDFFFF5003FEFEFE17030328FFFEFEFEFECD821703FFA6FEFECD32FFFF71CD
+ FEFEA6FFFFFF81FEFE71FFFFFFFFFFFFFFFFFFFEFEFE7128FF507AFEFEFE03FF
+ FF0328FFFFFFFFFFB8FEFE17FFFF7AFEFECD3228FF280303FFFF81FEFE03FF32
+ FEFECD50FFDDFC1A50DDFCFC64DB32FEFEFEBBEE617AFEFECD321AEEEE6BFEFE
+ 81611960D9FEFE6BC43C18F6FEFECDD02700392CB36333674A01F058D1C1872E
+ 8B79C90DBFBF754D4D4D56954556459E453B7D1480373E1E1E3544134435443E
+ 6C443E5D253FA7C945441D1E3E441E1D443E3E44443E44543BA13A8044921313
+ 13923E15153E153E1515351D1D54C0C09265A9A9C09213AE0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFE1AFFFFFFFFFF
+ FF03FEFEFE03FFFFB8FEFEFEFEFEFECDFFFFFF32FEFEFE7A81FEFEFE7A28FFFF
+ FEFEFE7AFEFEFE17FFFFFFFFFFFF28FEFEFE6BFFFFFFFFFFFFFFFFFFFFFFFF32
+ FEFEFEFEFEFEFEFEFE32FFFFFF03FEFEFE81FEFEFEFEFEFEFE82FFFF81FEFEFE
+ FEFEFEFE03FFFEFEFE7AFEFEFE17FF287AFEFEFEFEFEFEFEFE7A28FFFFFF81FE
+ FE17FFFFFFFFFFFFFFFFFFFEFEFE03FFFFFF28CDFEFE6BFFFF82FE7A6B17177A
+ FEFEFE50FFFF50CDFEFEFEFEFEFEFE17FFFFA6FEFE32FFFFA6FEFEB828FCDB28
+ FECD8117176BCDFEFEA6166108C47AFEFEFEFEFEFEFEFEFEB8E3473096F4FEFE
+ CD81B8FEFEFEC72262F2381F3433054A7858C17331319F7BC975B648B245956F
+ C84B35449A9ACACA543B3B841DAC1313921D13921D1D151D6C1D1D3D3D3B983A
+ 1E13131D1D131D1315C0C01313C015138E5615B4CB15151513C03E133D65C015
+ 131544C51D15A9C09265C013651365A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFF03FEFEFE17FFFF
+ 5081FEFEFEFEFE6BFFFFFFFF037AFEFEFEFECD6B28FFFFFFFEFEFE716BFEFE17
+ FFFFFFFFFFFFFF6BFEFEFE03FFFFFFFFFFFFFFFFFFFFFFFF1A6BFEFEFEFEFEA6
+ 03FFFFFFFF03FEFEFE2882CDFEFEFECD82FFFFFF81FEFEFEFEFEFEFE03FFFEFE
+ FE716BFEFE17FFFFFF32B8FEFEFEFEB81728FFFFFFFF6BFEFE17FFFFFFFFFFFF
+ FFFFFFFEFEFE03FFFFFFFF81FEFE81FFFF0381CDFEFEFEFEFEB871FFFFFFFF1A
+ 6BFEFEFEFEFECD50FFFF17FEFE17FFFF28CDFEFE7A28DBDB6B7AFEFEFEFEFEFE
+ 6B7F0708E30BE3F67AFEFEFEFEFEFEFEF418EB512296F8CDFEFEFEFEF432510F
+ 009738B33433674A015831D4319F8BA85C0DBF064D4D4C4856454B6F6FB044B4
+ 3D3B5E3DAC7C3554C83A3A83453A3A56953A9C76A37D986A133E441E35444435
+ 764B4B7676C8544B439D1D1DC53537445D1E545D4B3A5D545D5435763792135D
+ 3E1E651E1E3E1ECB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFF03FEFEFE17FFFFFFFF28030350FFFF
+ FFFFFFFFFFFF28030350FFFFFFFFFFFFFFFFFFFFFF1A031AFFFFFFFFFFFFFF1A
+ CDFEFECD71FFFFFFFFFFFFFFFFFFFFFFFFFFFF030303FFFFFFFFFFFFFFFFFFFF
+ FFFFFFFF500303FFFFFFFFFFFFFF81FEFE03FFFFFFFFFFFFFFFFFF1A031AFFFF
+ FFFFFF1A03031AFFFFFFFFFFFFFF17FEFE17FFFFFFFFFFFFFFFFFFFEFEFE03FF
+ FFFF28CDFEFE81FFFFFFFFFF2803030328FFFFFFFFFFFFFFFFFF0303031AFFFF
+ FFFF17FEFE17FFFFFFFFFFFFFFFCFC640A646450030350BB16EE61E30BB17070
+ 700B89898989FBE819C351E5693622300C2D2D9604690FF92AF2382CB3B33305
+ 4A01739FC131217B7B79CCA8C910C910AB10107EA10D4D3A3D995E3D3A914556
+ 484C5906064C9E064C480659A38F0DAC4476764B3A3A4B4556459C4545454545
+ 5E9D441D7C355D35C8545454544B4B4B544B6A7637A9655D4B5D1E5D443E1EB4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FE
+ FEFE03FFFFFFFFFFFF28FEFEFE17FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32FEFEFEFE7A1703
+ 0371177A03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFE32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFE17FFFFFFFFFFFFFFFFFFFEFEFE6B171717B8FEFEFE17FF
+ FFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFE17FFFF
+ FFDDFCFFFFDBDB640A0A0ABBBB1616EE0761080BB1703C18E81B86ED195B6049
+ 0451364F4E4E4E4E4E4E4E270F2B55000939F72CB3346305674A317731C18BD5
+ 8B7BCC79A810A8A8C90D0D66660D75B55D7D5EA39B919C564548489E064C484C
+ 7448065954B95E6C353A76C83A833A45953A3A3A3A4545457E3A44923A443554
+ 35C8C8C854355454543A3580C5921E651E13445D3E441ECB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03FEFEFE17FFFFFFFFFF
+ FFFFFEFEFE6BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03CDFEFEFEFEFEFEFEFEFE28FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A17
+ 8117FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FE
+ FE81FFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFE7A28FFFFFFFFFFFFFCFCFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEA6FFDDFFFFFFFCFCFCDB64
+ 0A0ABBBB900EEE076108E30B703C18E886195B4742EB30512236294E270F0F0F
+ 02022B62552300EC9739381FB3346333674A312431877B248B7979A8C9105C7E
+ A8A17EA10D107E9B1E7D5EA34D91484556B64848590659594D4C7598265206AC
+ 543A76544B833A7645459595569E9E483BADCACB9C351E541EC8547676C83A76
+ 263AC8356C151E5D1D137676445D54B40000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF03FEFEFE17FFFFFFFFFFFFFFFEFEFE81FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFF28177AFEFEFEFEFEFE7AFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFE81FFFFFFFFFFFF
+ FFFFFFFEFEFEFEFEFEFEFECD6B28FFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFF17FEFE81DDFFDDFCFFFFFCDB640A0ABB16160EEE0761
+ 0808E3B1703CE886195B4742BE04512236294F4E270F02022B1CEF232300ECF2
+ C2F7381FB3346305674AC1D49F877BD2A47B21A85C105C7E5C0D7E7EAA7E0D6E
+ 3E7D7EA34D9B064548065956484C4C4C4D4D060684B99DB4763A453A4B45B276
+ 3AB5B595489EB79D93C86C1D4BB21E35459544CA9A9A956F263580ACCB923E45
+ 45560DB63E5D54B40000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF03030350FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDDFFFCFCFC0AFC640A0ABB16160EEE076108E30B707018E886
+ 19476049300451EA36294E270F0F022B1C1C238C8CECEC09C2382C1FB3633305
+ 674A58D49F2F7B24A48BABA85C10A1667E667E7E665C5C481E8B99A34C9BBF26
+ 59A10D9EB24C5959AA7575982552BDAC3A45B6483A48593A6F3A95BD4874483A
+ CAC86CB03A10B2458BC93A9A9A9A569556353AB0C5C5C888CCCCD5BF1D4435B4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFC
+ FFDBFFDB640A0ABBBB161690EE07610808E3B1703C181BED5B4742BE30042236
+ E54F4E270F0F022B1CEF238C00EC0909C2382C1F3463330567675894242FD2D5
+ CF2F8B7B2F87BFA1A1060D5CA17EA19B843F3BCA759B2F569888C12659598359
+ 4D750D14145206AC3A83F00688F02E2626AD833A4C4559569845352644D47B99
+ 8B4DCACA4B4B4B3A9C9C06B2441E1ED5CC8B103A134435CB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFCFCFFFFFCFFFFFFFFFFFFFFFCFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDFCFCDB0A0A0A0A
+ BB16160EEE076108E30B703C3CE886195B60493004512236694F27270F02022B
+ 1C55238C002A090939F72C1F34630505674A5894C1D1D49FA44A9F2158F00D7E
+ ABA1A1A166A1A14D938F3F25069B012EA17B2EB74C4C7498064806433BF55E6A
+ 454CD5CC06310D3A9595957645455999D2481D9A3A9F217EC99EC8C8264BC84B
+ 35060D4544541D06764545C83554C8AC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFCFCFCFCFFFCFCFCFCFCFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFDDFCFC640A0A0A0ABB1690EE070761E3
+ E30B703C181B86194760BE3004513636294E27270F022B621C558C0000EC0909
+ C2382C1F34633305674A58942F53312E24672F2E2F2FA8A85C667566660D0D4D
+ 1453528E069B77D55C775C66749B74744DB5BF433FBC3B6E489BA87B4C214C9B
+ 56489B48484893B97B484B4BD79D4B5606B7BD95BDB54BC88EAB5992A96F9A4B
+ 56959556454B44CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFC
+ FCFCFCFFFFFFFCFCFFFFFFFFFCFFFFFCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFCFCFC640A0A0ABBBB16160E07076108E30BB1703CE81B195B
+ 47C3BE30042236E54F4E270F0F022B62D6558C8C002A09F239382C1F34630505
+ 67017824C1AFA52E8B77777777A48B79AB1010105C5C664D5EAF5384065F7510
+ 667BAAAB7E0D7E0D0D4CBFB7B9535E6A729AAA7E66667E5C7EA1A1759B488EA5
+ A49DCAC8BD4D744D4D4D4D4C74B79DB5A3B98F06CACAB06E3AC8C83A954BC8AC
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFCFF
+ FCFFFFFCFCFFFCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCDB0A0A0ABBBBBBBB90EE07610808E30B7070181B8619476049300451223669
+ 4F4E270F02022BD6EF558C002A09F2C2F7382C1FB3633305674A7894C111BCCF
+ 7B798B77A48BA4A42E2E7B79A85C064DB96DAF14B79B5F0D7EA87E7979A85C5C
+ 7E0648AAF5BCB9747472064D66747E66AA4D5F6EB59314BCAFA44C9AB0B5849A
+ 84B5BD3A3ABD48B7A75A5AF57B0659757E7E5C5CC99979790000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFFFCFFFFFCFCFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCDB64640A0ABBBBBB
+ 1690EE076108E30BB1703CE81BED194742493004222236294F270F0F022B62EF
+ EF238C00ECECF2C2F7382C1F3463330567012F2F5A1185A48B2EA421A47B218B
+ 7979A85C5C66665CAF5A6D53C94CAA06664DAAAAAA4D4D4D14064C79BCBAF577
+ 9DB572B5B5729DB574744D4D6610D45AFDAF01C1772E9FC1C12FF0014ABCAFBA
+ 5AFDFD6D5A5A5A5A5A5A5ACEBACE5A2C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFFFFFCFCFCFCFCFFFFFCFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFDDFFFFFFFFFFFFFFFFFFFFDDDBDBDB640A0A0ABBBBBB16EEEE616108E30B
+ 703C3C1B86ED4760C330040422EA69294E270F0F022B621C55238C002A09F2C2
+ F72C1FB334330505670178F31111110524D22E21D221AB10AB79AB1079792EF0
+ FD6DFD6D0587318F3131C12FA5F07801F0010185BA6D5AAF0101F5BC058585BA
+ BABACEBACEBA5A6DFDFDFDFDFDFD6D5A5A6D6DFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCDBDBDBDBDB
+ DBFCFFFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFCFCFCFCDB640A0ABBBBBBBB160EEE076108E3E30B703C181B865B4760
+ C33004512236294F4E270F02022B1CEF23238C00EC0909E78A39F738112C2C1F
+ CECE6D41111111FD5ACE5A6D6D6D6D5A5A5A5A5A5A5A6DFDFDFDFDFDFDFD6D6D
+ 5A6D5A6D5A5A5A5A5A5A5AFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFFFCFCFCFC
+ FCFCFFFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBFCFCDB
+ 640ABBBBBB16160EEE07616108E30B70703CE81B195B47C3BE040422EAE5294E
+ 27270F022B621CEF238C8C00ECECEC6868E78A8A464646414141411111111111
+ 1111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
+ FCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFCFCFCFCFCFCFCFCFCFFFCFCFFFF
+ FFFFDDFFDDDDFFFFFFFFFFFFDDFFFFFFFFFFFFFFFCDBDB64640A0ABBBB16160E
+ EE07610808E3B1703C181BED194760493004512236E54F4E270F0F022B1C1C55
+ 238C00ECECECEC09688A8A8A4646464141414111111111111111FD1111FDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBDBDBDB
+ DBDBDBDBDBDBDB6464FCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFDDFFFFFFFFFFFF
+ FFFFFFFFFCDDFFFFFCFFFFFCDB64640A0A0ABBBBBB160EEE07610808E30B7070
+ 3CE81B195B4742BE300451EAE5294F4E270F02022B1C1C558C8C0000ECEC6868
+ E78A8A46464646414141411111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB6464646464
+ 64FCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFDDDDFFFFDDFFFFFFDDFFFFFFFFFFFC
+ FFFFFCFCFCFC640A0A0ABB1616160EEE076108080B0B703CE81B86194760C3BE
+ 04512236E54F4E270F0F022B2B1CEF8C8C0000ECECEC0909DCE7464646464141
+ 4111411111111111FDFD11FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB646464646464FCFC64FCFCFCFCFC
+ FCFCFCFCFCFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBFCDBDBDB0A0A
+ 0ABB1616160E0E07616108E30B70703CE886195B474249305151223669294E27
+ 0F0F022B2B1CEF238C8C0000ECEC096868E7E78A8A4646414141414111411111
+ 1111111111111111111111111111111111111111111111111111111111111111
+ 1111111111111111111111111111111111111111111111111111111111111111
+ 11111111111111111111111111111111111111111111118A0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFCFCFCFCFCDB
+ DBDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A646464646464DBFCFCFCDBFCDBFFFFFF
+ DDDDFFDDFFFFFFFFFFFFFFFFFFFCFCFCFCFFFCDBDB0A0A0ABBBB160E16EEEE07
+ 070808E30BB13C3CE81B86194760C3BE3004512236E54F4E4E270F0F022B2B1C
+ 1C55558C8C8C0000002A2AECECEC09EC09096868686868686868DCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCEC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB
+ DBDBDBDBDBDB64DBDBDBDBDBDBDBDBFCFCDBFCDBFFFFFFFFFFFFFFDDDDFFFFFF
+ FFFFFFFFFFFCFCFCFCFCFCDBDBDBDB640A0ABBBBBB160EEEEE07616108E3E3B1
+ 703C18181BED195B4760C349303004515122EAEAE5E529294F4F4E4E27272727
+ 270F0F0F0F0F0F0F0F0202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 020202020202020F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDDFCFCFCFCFCFCFCFCFCDD
+ DDDDDDDDDDFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFC640A0A0A0A0ABB161616900EEE0707610808E3E30B0BB170
+ 3C3C3C18E81B1B86EDED19195B5B4747474760604242C3C3C3C3494949494949
+ EBEBEBBEBEBEBE30BEBE30303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303049
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFDDDDFCFCFCFCFCFCFCFCDBDBDBDBDDFCFCFCDDDDFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDDFCFC64
+ 640A0A0A0ABB161616900EEE070761080808E3E30BB17070703C3CE81B1B1B86
+ ED1919195B5B4747476060424242C3C3C3494949494949EBBEEBBEBEBEBE3030
+ BE30303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030490000FCFCFCFCFCFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB
+ DBDB6464646464640A0A0A0A0A0A6464646464DBDBDBDBDBDBDBDBFCFFFFDDDD
+ FFDDFFFFFFFFFCFFFFFFDDFFFFFCFCFCFCDBDBDBDB640A0ABBBBBBBB16EEEE07
+ 610808E3E3B170703C181B86ED195B4742C3BE300404512222EA36E529294F4F
+ 4E4E4E272727270F0F0F0F0F0F0F020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020F0000FCFCFCFCFCFCFCFCFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCDBDBDBDBDBDBDB64640A0A0A0A0ABBBBBB
+ BBBBBBBBBBBB0A0ABB0A0A0A0A0A0A0ADB64FCFCFCFFDDDBFFFFDDFFFFFFFFFF
+ FFFFFCFFFFFFFC64DBDBDB0A0A0ABB161690EEEE07070808E30BB1703C181B1B
+ 195B476049300451512236294F4E27270F0F022B2B1C1CEF558C8C0000000000
+ ECECECECECEC09090968686868686868DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCEC0000FCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFF
+ FCFCFCFCFCFCDBDBDBDBDBDBDB640A0A0A0A0ABBBBBBBBBBBBBBBBBBBBBBBBBB
+ BB0A0A0A0A0A640A6464DBFCFCDDFCFFDDFCFFFFFFFFFFFFFFFFFFFFFFFCDBFC
+ 640A0A0ABBBBBBBB900EEE07616108E3E30B703C18E81B191947604930040451
+ 223669294E27270F02022B2B621CEF55238C8C00000000ECECECEC0909096868
+ 68E7E768E7E78AE7E78A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
+ 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
+ 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8AEC
+ 0000}
+ Login.LeftImage.Data = {
+ 07544269746D617016090000424D160900000000000036040000280000003200
+ 0000180000000100080000000000E00400000000000000000000000100000000
+ 000000000000000080000080000000808000800000008000800080800000C0C0
+ C000C0DCC000F0CAA6000020400000206000002080000020A0000020C0000020
+ E00000400000004020000040400000406000004080000040A0000040C0000040
+ E00000600000006020000060400000606000006080000060A0000060C0000060
+ E00000800000008020000080400000806000008080000080A0000080C0000080
+ E00000A0000000A0200000A0400000A0600000A0800000A0A00000A0C00000A0
+ E00000C0000000C0200000C0400000C0600000C0800000C0A00000C0C00000C0
+ E00000E0000000E0200000E0400000E0600000E0800000E0A00000E0C00000E0
+ E00040000000400020004000400040006000400080004000A0004000C0004000
+ E00040200000402020004020400040206000402080004020A0004020C0004020
+ E00040400000404020004040400040406000404080004040A0004040C0004040
+ E00040600000406020004060400040606000406080004060A0004060C0004060
+ E00040800000408020004080400040806000408080004080A0004080C0004080
+ E00040A0000040A0200040A0400040A0600040A0800040A0A00040A0C00040A0
+ E00040C0000040C0200040C0400040C0600040C0800040C0A00040C0C00040C0
+ E00040E0000040E0200040E0400040E0600040E0800040E0A00040E0C00040E0
+ E00080000000800020008000400080006000800080008000A0008000C0008000
+ E00080200000802020008020400080206000802080008020A0008020C0008020
+ E00080400000804020008040400080406000804080008040A0008040C0008040
+ E00080600000806020008060400080606000806080008060A0008060C0008060
+ E00080800000808020008080400080806000808080008080A0008080C0008080
+ E00080A0000080A0200080A0400080A0600080A0800080A0A00080A0C00080A0
+ E00080C0000080C0200080C0400080C0600080C0800080C0A00080C0C00080C0
+ E00080E0000080E0200080E0400080E0600080E0800080E0A00080E0C00080E0
+ E000C0000000C0002000C0004000C0006000C0008000C000A000C000C000C000
+ E000C0200000C0202000C0204000C0206000C0208000C020A000C020C000C020
+ E000C0400000C0402000C0404000C0406000C0408000C040A000C040C000C040
+ E000C0600000C0602000C0604000C0606000C0608000C060A000C060C000C060
+ E000C0800000C0802000C0804000C0806000C0808000C080A000C080C000C080
+ E000C0A00000C0A02000C0A04000C0A06000C0A08000C0A0A000C0A0C000C0A0
+ E000C0C00000C0C02000C0C04000C0C06000C0C08000C0C0A000F0FBFF00A4A0
+ A000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFF
+ FF00FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD525252525252525252525252
+ 5252FDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDAFB75E5E5E66666767676F6F6F6FB752FDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBF
+ BFBFBFBFBFBFBFBFBFB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFB76F676F6FB7B7B7B7B7776F5EB752FD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBFBFB752FDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFB76F676F6F6FB7B7
+ B7B7776F5EB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBFBFBF52FDFDFDFDFD
+ 0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAF
+ B76767676F6F6FB7B7B7776F5EB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBF
+ BFBF52FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDAFB76767676F6F6F6FB7B7776F5EB752FDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBF
+ BFBFBFBFBFBFBFBFBFBF52FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBFB7AFAFB7B7B7B7BFBFBFBFB7B752FD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDAFB76F675E5E5E5E5E5E676FB7A5FDFDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F79BFDFDFDFD
+ FDFDA4F7A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDF7F79BFDFDFDFDFDFDA407A3FDFDFDFDFDFDFD
+ 0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDF7F79BFDFDFDFDFDFDA407A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F7A4FDFDFDFDFDFDF707
+ A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDF707A49AFDFDFDFDA30707A3FDFDFDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F6A4
+ A49B9A9AA3A407079AFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F6F7F7A4A4F70707A3FDFDFDFD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDF7F6F6F6F6F607A3FDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7A3A3A3
+ A3A3FDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ 0000}
+ Log.WindowCaption = 'Seguran'#231'a'
+ Log.LabelDescription = 'Log do Sistema'
+ Log.LabelUser = 'Usu'#225'rio :'
+ Log.LabelDate = 'Data :'
+ Log.LabelLevel = 'N'#237'vel m'#237'nimo : '
+ Log.ColLevel = 'N'#237'vel'
+ Log.ColMessage = 'Mensagem'
+ Log.ColUser = 'Usu'#225'rio'
+ Log.ColDate = 'Data'
+ Log.BtFilter = '&Aplicar Filtro'
+ Log.BtDelete = '&Excluir Log'
+ Log.PromptDelete = 'Confirma excluir todos os registros de log selecionados ?'
+ Log.BtClose = '&Fechar'
+ UsersForm.WindowCaption = 'Seguran'#231'a'
+ UsersForm.LabelDescription = 'Cadastro de Usu'#225'rios'
+ UsersForm.ColName = 'Nome'
+ UsersForm.ColLogin = 'Login'
+ UsersForm.ColEmail = 'Email'
+ UsersForm.BtAdd = '&Adicionar'
+ UsersForm.BtChange = 'A<erar'
+ UsersForm.BtDelete = '&Excluir'
+ UsersForm.PromptDelete = 'Confirma excluir o usu'#225'rio "%s" ?'
+ UsersForm.BtRights = 'A&cessos'
+ UsersForm.BtPassword = '&Senha'
+ UsersForm.BtClose = '&Fechar'
+ AddChangeUser.WindowCaption = 'Cadastro de Usu'#225'rios'
+ AddChangeUser.LabelAdd = 'Adicionar Usu'#225'rio'
+ AddChangeUser.LabelChange = 'Alterar Usu'#225'rio'
+ AddChangeUser.LabelName = 'Nome : '
+ AddChangeUser.LabelLogin = 'Login : '
+ AddChangeUser.LabelEmail = 'Email : '
+ AddChangeUser.CheckPrivileged = 'Usu'#225'rio privilegiado'
+ AddChangeUser.BtSave = '&Gravar'
+ AddChangeUser.BtCancel = 'Cancelar'
+ AddChangeProfile.WindowCaption = 'Perfil de Usu'#225'rios'
+ AddChangeProfile.LabelAdd = 'Adicionar Perfil'
+ AddChangeProfile.LabelChange = 'Alterar Perfil'
+ AddChangeProfile.LabelName = 'Descri'#231#227'o : '
+ AddChangeProfile.BtSave = '&Gravar'
+ AddChangeProfile.BtCancel = 'Cancelar'
+ UsersProfile.WindowCaption = 'Seguran'#231'a'
+ UsersProfile.LabelDescription = 'Perfil de Usu'#225'rios'
+ UsersProfile.ColProfile = 'Perfil'
+ UsersProfile.BtAdd = '&Adicionar'
+ UsersProfile.BtChange = 'A<erar'
+ UsersProfile.BtDelete = '&Excluir'
+ UsersProfile.BtRights = 'A&cessos'
+ UsersProfile.PromptDelete = 'Existem usu'#225'rios com o perfil "%s". Confirma excluir?'
+ UsersProfile.BtClose = '&Fechar'
+ Rights.WindowCaption = 'Seguran'#231'a'
+ Rights.LabelUser = 'Permiss'#245'es do Usu'#225'rio : '
+ Rights.LabelProfile = 'Permiss'#245'es do Perfil : '
+ Rights.PageMenu = 'Itens do Menu'
+ Rights.PageActions = 'A'#231#245'es'
+ Rights.BtUnlock = '&Liberar'
+ Rights.BtLock = '&Bloquear'
+ Rights.BtSave = '&Gravar'
+ Rights.BtCancel = '&Cancelar'
+ ChangePassword.WindowCaption = 'Seguran'#231'a'
+ ChangePassword.LabelDescription = 'Trocar Senha'
+ ChangePassword.LabelCurrentPassword = 'Senha Atual :'
+ ChangePassword.LabelNewPassword = 'Nova Senha : '
+ ChangePassword.LabelConfirm = 'Confirma'#231#227'o : '
+ ChangePassword.BtSave = '&Gravar'
+ ChangePassword.BtCancel = 'Cancelar'
+ ResetPassword.WindowCaption = 'Definir senha do usu'#225'rio : "%s"'
+ ResetPassword.LabelPassword = 'Senha : '
+ XPStyleSet.DimLevel = 30
+ XPStyleSet.GrayLevel = 10
+ XPStyleSet.Font.Charset = ANSI_CHARSET
+ XPStyleSet.Font.Color = clMenuText
+ XPStyleSet.Font.Height = -11
+ XPStyleSet.Font.Name = 'Tahoma'
+ XPStyleSet.Font.Style = []
+ XPStyleSet.Color = clBtnFace
+ XPStyleSet.IconBackColor = clBtnFace
+ XPStyleSet.MenuBarColor = clBtnFace
+ XPStyleSet.SelectColor = clHighlight
+ XPStyleSet.SelectBorderColor = clHighlight
+ XPStyleSet.SelectFontColor = clMenuText
+ XPStyleSet.DisabledColor = clInactiveCaption
+ XPStyleSet.SeparatorColor = clBtnFace
+ XPStyleSet.CheckedColor = clHighlight
+ XPStyleSet.IconWidth = 24
+ XPStyleSet.DrawSelect = True
+ XPStyleSet.UseSystemColors = True
+ XPStyleSet.OverrideOwnerDraw = False
+ XPStyleSet.Gradient = False
+ XPStyleSet.FlatMenu = False
+ XPStyleSet.AutoDetect = False
+ XPStyleSet.BitBtnColor = clBtnFace
+ XPStyle = True
+ Left = 192
+ Top = 128
+ end
+ object UCXPStyle1: TUCXPStyle
+ Active = True
+ XPSettings.DimLevel = 30
+ XPSettings.GrayLevel = 10
+ XPSettings.Font.Charset = ANSI_CHARSET
+ XPSettings.Font.Color = clMenuText
+ XPSettings.Font.Height = -11
+ XPSettings.Font.Name = 'Tahoma'
+ XPSettings.Font.Style = []
+ XPSettings.Color = clBtnFace
+ XPSettings.IconBackColor = clBtnFace
+ XPSettings.MenuBarColor = clBtnFace
+ XPSettings.SelectColor = clHighlight
+ XPSettings.SelectBorderColor = clHighlight
+ XPSettings.SelectFontColor = clMenuText
+ XPSettings.DisabledColor = clInactiveCaption
+ XPSettings.SeparatorColor = clBtnFace
+ XPSettings.CheckedColor = clHighlight
+ XPSettings.IconWidth = 24
+ XPSettings.DrawSelect = True
+ XPSettings.UseSystemColors = True
+ XPSettings.OverrideOwnerDraw = False
+ XPSettings.Gradient = False
+ XPSettings.FlatMenu = False
+ XPSettings.AutoDetect = False
+ XPSettings.BitBtnColor = clBtnFace
+ UCSettings = UCSettings1
+ Left = 224
+ Top = 128
+ end
+ object UCZEOSConn1: TUCZEOSConn
+ Connection = ZConnection1
+ Left = 224
+ Top = 88
+ end
+ object ZConnection1: TZConnection
+ Protocol = 'firebird-1.5'
+ HostName = '127.0.0.1'
+ Port = 0
+ User = 'SYSDBA'
+ Password = 'masterkey'
+ AutoCommit = True
+ ReadOnly = True
+ TransactIsolationLevel = tiNone
+ Connected = False
+ SQLHourGlass = False
+ Left = 192
+ Top = 88
+ end
+end
diff --git a/official/2.20/Demos/1 Basic All Data Access/ZEOS/Unit1.pas b/official/2.20/Demos/1 Basic All Data Access/ZEOS/Unit1.pas
new file mode 100644
index 0000000..2c92cdb
--- /dev/null
+++ b/official/2.20/Demos/1 Basic All Data Access/ZEOS/Unit1.pas
@@ -0,0 +1,88 @@
+unit Unit1;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, DB, UCBase, Menus, StdCtrls, Buttons, ZConnection,
+ UCZEOSConn;
+type
+ TForm1 = class(TForm)
+ UserControl1: TUserControl;
+ MainMenu1: TMainMenu;
+ Arquivo1: TMenuItem;
+ Abrir1: TMenuItem;
+ Salvar1: TMenuItem;
+ Salvar2: TMenuItem;
+ Salvarcomo1: TMenuItem;
+ Fechar1: TMenuItem;
+ N2: TMenuItem;
+ Dados1: TMenuItem;
+ Importar1: TMenuItem;
+ Exportar1: TMenuItem;
+ N4: TMenuItem;
+ Vincular1: TMenuItem;
+ N3: TMenuItem;
+ Sair2: TMenuItem;
+ Editar1: TMenuItem;
+ Copiar1: TMenuItem;
+ Colar1: TMenuItem;
+ Recortar1: TMenuItem;
+ N1: TMenuItem;
+ Selecionartudo1: TMenuItem;
+ N5: TMenuItem;
+ AreadeTransferencia1: TMenuItem;
+ Exibir2: TMenuItem;
+ Esvaziar1: TMenuItem;
+ Exibir1: TMenuItem;
+ Zoom1: TMenuItem;
+ Normal1: TMenuItem;
+ Grande1: TMenuItem;
+ Ajustarnajanela1: TMenuItem;
+ N6: TMenuItem;
+ Personalizar1: TMenuItem;
+ amanhonormal1: TMenuItem;
+ elacheia1: TMenuItem;
+ Relatorios1: TMenuItem;
+ Relatorio11: TMenuItem;
+ Relatorio21: TMenuItem;
+ Relatorio31: TMenuItem;
+ Relatorio41: TMenuItem;
+ Segurana1: TMenuItem;
+ Cadastrodeusuarios1: TMenuItem;
+ Perfildeusurios1: TMenuItem;
+ logdosistema: TMenuItem;
+ N7: TMenuItem;
+ rocarsenha1: TMenuItem;
+ EfetuarLogoff1: TMenuItem;
+ UCSettings1: TUCSettings;
+ UCXPStyle1: TUCXPStyle;
+ UCZEOSConn1: TUCZEOSConn;
+ ZConnection1: TZConnection;
+ procedure FormCreate(Sender: TObject);
+ procedure EfetuarLogoff1Click(Sender: TObject);
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ Form1: TForm1;
+
+implementation
+
+{$R *.dfm}
+
+procedure TForm1.FormCreate(Sender: TObject);
+begin
+ ZConnection1.Database := ExtractFilePath(Application.ExeName) + '..\..\Base.Gdb';
+ ZConnection1.Connected := True;
+end;
+
+procedure TForm1.EfetuarLogoff1Click(Sender: TObject);
+begin
+ UserControl1.Logoff;
+end;
+
+end.
diff --git a/official/2.20/Demos/10 Modo Passivo e Session Time- ADO/Project1.dpr b/official/2.20/Demos/10 Modo Passivo e Session Time- ADO/Project1.dpr
new file mode 100644
index 0000000..08b344c
--- /dev/null
+++ b/official/2.20/Demos/10 Modo Passivo e Session Time- ADO/Project1.dpr
@@ -0,0 +1,13 @@
+program Project1;
+
+uses
+ Forms,
+ Unit1 in 'Unit1.pas' {Form1};
+
+{$R *.res}
+
+begin
+ Application.Initialize;
+ Application.CreateForm(TForm1, Form1);
+ Application.Run;
+end.
diff --git a/official/2.20/Demos/10 Modo Passivo e Session Time- ADO/Project1.res b/official/2.20/Demos/10 Modo Passivo e Session Time- ADO/Project1.res
new file mode 100644
index 0000000..03109fc
Binary files /dev/null and b/official/2.20/Demos/10 Modo Passivo e Session Time- ADO/Project1.res differ
diff --git a/official/2.20/Demos/10 Modo Passivo e Session Time- ADO/Unit1.ddp b/official/2.20/Demos/10 Modo Passivo e Session Time- ADO/Unit1.ddp
new file mode 100644
index 0000000..4370276
Binary files /dev/null and b/official/2.20/Demos/10 Modo Passivo e Session Time- ADO/Unit1.ddp differ
diff --git a/official/2.20/Demos/10 Modo Passivo e Session Time- ADO/Unit1.dfm b/official/2.20/Demos/10 Modo Passivo e Session Time- ADO/Unit1.dfm
new file mode 100644
index 0000000..85bc4bd
--- /dev/null
+++ b/official/2.20/Demos/10 Modo Passivo e Session Time- ADO/Unit1.dfm
@@ -0,0 +1,1804 @@
+object Form1: TForm1
+ Left = 192
+ Top = 107
+ Width = 513
+ Height = 560
+ Caption = 'UserControl - Modo Passivo + Session Timeout'
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ OldCreateOrder = False
+ OnCreate = FormCreate
+ PixelsPerInch = 96
+ TextHeight = 13
+ object btLogin: TBitBtn
+ Left = 8
+ Top = 8
+ Width = 75
+ Height = 41
+ Caption = 'Login'
+ TabOrder = 0
+ OnClick = btLoginClick
+ Glyph.Data = {
+ 36090000424D3609000000000000360000002800000018000000180000000100
+ 2000000000000009000000000000000000000000000000000000FFFFFF00FFFF
+ FF00FFFFFF00FDFDFD00F5F5F500E8E8E800DDDDDD00D5D5D500D1D1D100AE95
+ 8400A9907E00A48A78009F8572009A7F6C0096796700917461008C6E5B008769
+ 550082634F007D5D49007858430073523D006E4D370069473100FFFFFF00FEFE
+ FE00CED4CF00829A820061855D00517E4A004A7F410046813C0043833A00B39B
+ 8A00FFFFFF00CFC1B700CFC1B700CFC1B700CFC1B700CFC1B700CFC1B700CFC1
+ B700CFC1B700CFC1B700CFC1B700CFC1B700CFC1B7006E4D3700FFFFFF00C0D2
+ C00052773F00537B36004E8334004A8A33004691310043962F00419A2F00B8A1
+ 9000FFFFFF0000000000FFFFFF0000000000FBF9F80000000000F3EDEA000000
+ 0000EBE1DC0000000000E3D5CD0000000000CFC1B70073523D00FFFFFF007193
+ 6500557837004F8135004A8A330045933000419A2E003DA02D003BA52C00BDA6
+ 9600FFFFFF00FFFFFF0000000000FFFFFF00FFFFFF00FBF9F80000000000F3ED
+ EA00EFE7E200EBE1DC0000000000E3D5CD00CFC1B70078584300FFFFFF005D85
+ 4D00527D36004C87330046913100419A2F003CA22C0038AA2B0035AF2900C2AC
+ 9C00FFFFFF0000000000FFFFFF0000000000FFFFFF0000000000FBF9F8000000
+ 0000F3EDEA0000000000EBE1DC0000000000CFC1B7007D5D4900FFFFFF006C95
+ 60004F813500498B3200449630003EA02D0038A92B0033B228002FB92700C7B1
+ A200FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FBF9
+ F800F7F3F100F3EDEA00EFE7E200EBE1DC00E7DBD50082634F00FFFFFF00A0C1
+ 9F004D833400488E310042992F003BA42C0035AF290030B927002CB92900CCB7
+ A800C7B1A200C2AC9C00BDA69600B8A19000B39B8A00AE958400A9907E00A48A
+ 78009F8572009A7F6C0096796700917461008C6E5B0087695500FFFFFF00F2F7
+ F3005C955100478F3100419A2E003BA52C0034B129002DB8260081AC8400F1F1
+ F100B9DCBC002FBB2C0030B8270036AD2A003DA22C0043972F00498C32006191
+ 5B00EAEBEA00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00DCEADD0051964700419A2F003BA42C0035AF29003F9C3F00BEBFBF00C4C4
+ C400C2C2C2007BB07E002FB2270037AC2A003DA12D0043962F005D975600DFE5
+ E000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00E7F0E9006EAC69003C9E2D0035A42A00557C71005988AA004986
+ B1004781AA004E738C0028662F00349727003E9B320086B48500EFF2F000FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FDFEFD00B8D6BA00488E81004F9BCF00509ED4004E9D
+ D3004C9AD1004997CE003F84AF003A624D00BCC9BC00FDFDFD00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00A6C5DB0056A3D70056A4D90055A3D80054A2
+ D70053A1D600509ED4004B9AD000478BB9008A8F9400F7F7F700FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00D8E5ED005DA5D8005BA8DC005BA8DD005BA8DC005AA7
+ DB0057A5DA0054A2D700519FD5004C9AD100517E9D00CCCCCC00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF0088B9DB005EABDF0060ADE00060ADE10060ADE0005EAB
+ DF005CA9DD0059A6DB0055A3D800519FD5004B93C700959A9E00FCFCFC00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00EDF2F50062A9DB0062AFE30064B1E40065B2E50064B1E40062AF
+ E20060ADE0005CA9DD0058A6DB0054A2D700509DD30070879700F4F4F400FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00C6DCEB0064B0E30067B3E6006AB6E8006AB6E90069B5E80067B3
+ E60063B0E3005FACE0005BA8DD0056A4D90052A0D50061869F00E9E9E900FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00B2D1E60062ABDC005EA1CD0065ABD9006DB8E9006DB9EB006AB6
+ E90066B3E60061AEE2005DAADE0058A6DB0053A1D700618CAA00E6E6E600FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00AFCDE0004585AE00417FA60040799C0043779800548DB20067AF
+ DE0068B4E70063B0E3005EABDF0059A7DB00529FD300648AA600ECECEC00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00C0D4E1004D92BE004F97C3005098C4004F96C2004789B2003E72
+ 93004B84A9005FA9DA005EAADE004B8DB9003B779E0060758500F5F5F500FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00ECF1F400589BC7005AA2CF005BA3D10059A1CE00549CC9004E95
+ C1004383AB003A6D8F00427EA6003C80AB003C7FA8009AA3A900FDFDFD00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF008FBBD80064ADDB0065AFDD0063ACDA005DA5D300559D
+ CA004D93C0004389B5003D82AC003D82AD004F7C9900E5E5E500FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00E4EDF40073B7E00070BAE9006BB6E40064ADDB005BA3
+ D0005198C500478DB9003E83AE004280A500B8C2C800FEFEFE00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00D7E6F1007CC0EA0071BCEB0067B1DF005DA6
+ D300539AC700498FBB004B87AC00B7C3CD00FCFCFC00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00ECF2F600A8CDE4007DB4D7006CA6
+ CC0074A7C7009FBCCF00E7EAEE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00}
+ end
+ object btLogout: TBitBtn
+ Left = 408
+ Top = 8
+ Width = 89
+ Height = 41
+ Caption = 'Logoff'
+ TabOrder = 1
+ Visible = False
+ OnClick = btLogoutClick
+ Glyph.Data = {
+ 36090000424D3609000000000000360000002800000018000000180000000100
+ 2000000000000009000000000000000000000000000000000000FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00C0D8E50000609000006090000060900000609000006090000060
+ 9000006090000060900000609000006090000060900000609000006090000060
+ 90000060900000609000C0D8E500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF000090C80098D8F8000090C8000090C8000090C8000090C8000090
+ C8000090C8000090C8000090C8000090C8000090C8000090C8000090C8000090
+ C8000090C8000090C80000609000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF000090C800E7F8FF008DD8F90086D4F80080D2F70079CEF60072CB
+ F5006CC8F50066C5F3005FC2F30059BFF20052BBF0004AB8EF0044B6EF0042B5
+ EF002AA7E1000090C80000609000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF000090C800E7F8FF0093DAFA008ED8F90088D5F80081D2F7007ACF
+ F60072C2E8006198B3005E97B20061BAE6005ABFF20053BCF1004CB9F00046B6
+ EF0042B5EF000090C80000609000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF000090C800E7F8FF0095DBFB0093DAFA008ED8F90088D5F80080D2
+ F70076BBDB00566972004040400067B4D90061C3F30059BFF20053BCF1004CB9
+ F00045B6EF000090C80000609000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF000090C800E7F8FF0095DBFB0095DBFB0093DAFA008ED8F90087D5
+ F8007ABDDC0056697200404040006AB6DA0068C5F40060C2F30059BFF20052BC
+ F1004CB9F0000090C80000609000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF000090C800E7F8FF0095DBFB0095DBFB0095DBFB0094DAFA008DD8
+ F9007FBFDC0056697200404040006FB8DB006DC9F50067C5F30060C2F30059BF
+ F20052BBF1000090C80000609000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF000090C800E7F8FF0095DBFB0095DBFB0095DBFB0095DBFB0091D4
+ F3006B93A50044484A00404040006397B00072C8F1006DC8F40067C5F40061C3
+ F3005ABFF2000090C80000609000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF000090C800E7F8FF0095DBFB0095DBFB0095DBFB0095DBFB008FD0
+ EE00607A860040404100404040005E85960078C8ED0074CCF6006DC9F40068C6
+ F40061C3F3000090C80000609000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF000090C800E7F8FF0095DBFB0095DBFB0095DBFB0095DBFB0092D6
+ F50077A4B90054646C004040400077AFC90083D1F5007DD0F70076CDF6006FCA
+ F5006AC7F4000090C80000609000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF000090C800E7F8FF00ACE3FC0095DBFB0095DBFB0095DBFB0094DA
+ FA0090D2F00083BBD50084BED8008DD3F3008AD6F90083D3F8007CD0F70076CD
+ F6006FCAF5000090C80000609000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF000090C80098D8F800E7F8FF00E7F8FF00E7F8FF00E7F8FF00E7F8
+ FF00E7F8FF00E7F8FF00E7F8FF00E7F8FF00E7F8FF00E7F8FF00E7F8FF00E7F8
+ FF00E7F8FF0098D8F80000609000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00C0D8E5000090C8000090C8000090C8000090C8000090C8000090
+ C8000090C8000090C8000090C8000090C8000090C8000090C8000090C8000090
+ C8000090C8000090C800C0D8E500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000090C80090D2F10048B6EA001164
+ 9000FFFFFF00FFFFFF00FFFFFF00FFFFFF000090C80075C7EF003BB1EA001164
+ 9000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000090C800A5DBF70053BCF0001164
+ 9000FFFFFF00FFFFFF00FFFFFF00FFFFFF000090C80087D0F5004AB8EF001164
+ 9000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000090C800ADDEF80065C3F1003C80
+ A400CAE3F100FFFFFF00FFFFFF00CAE3F1000090C80084CEF40056BDF0001164
+ 9000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF002499CC00B3E0F600B2E0F90059B9
+ E8003C80A400CAE3F100CAE3F10050ADD60058B5E30076CAF3004EB3E6004389
+ AD00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0050ADD60081CAEB00D2EDFC00AADD
+ F80058B5E3003C80A4003C80A40058B5E3009BD8F70081CEF400349ED30050AD
+ D600FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00CAE3F10050ADD6009BD6F400D3ED
+ FC00B5E1F900A1DAF7009FD9F700B4E2FA009FD9F70059B9E8004389AD00CAE3
+ F100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00CAE3F10050ADD60050AD
+ D60087D0F500A3DAF700A2DAF70058B5E3004389AD004389AD00CAE3F100FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00CAE3
+ F10050ADD6002499CC002499CC0050ADD600CAE3F100FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00}
+ end
+ object GroupBox1: TGroupBox
+ Left = 8
+ Top = 64
+ Width = 489
+ Height = 73
+ Caption = 'Opera'#231#245'es Comuns'
+ TabOrder = 2
+ object BitBtn3: TBitBtn
+ Left = 16
+ Top = 32
+ Width = 75
+ Height = 25
+ Caption = 'BitBtn3'
+ TabOrder = 0
+ OnClick = BitBtn3Click
+ end
+ object BitBtn4: TBitBtn
+ Left = 112
+ Top = 32
+ Width = 75
+ Height = 25
+ Caption = 'BitBtn4'
+ TabOrder = 1
+ OnClick = BitBtn3Click
+ end
+ object BitBtn5: TBitBtn
+ Left = 208
+ Top = 32
+ Width = 75
+ Height = 25
+ Caption = 'BitBtn5'
+ TabOrder = 2
+ OnClick = BitBtn3Click
+ end
+ object BitBtn6: TBitBtn
+ Left = 304
+ Top = 32
+ Width = 75
+ Height = 25
+ Caption = 'BitBtn6'
+ TabOrder = 3
+ OnClick = BitBtn3Click
+ end
+ object BitBtn7: TBitBtn
+ Left = 400
+ Top = 32
+ Width = 75
+ Height = 25
+ Caption = 'BitBtn7'
+ TabOrder = 4
+ OnClick = BitBtn3Click
+ end
+ end
+ object GroupBox2: TGroupBox
+ Left = 8
+ Top = 152
+ Width = 489
+ Height = 105
+ Caption = 'Opera'#231#245'es Protegidas'
+ TabOrder = 3
+ object btProtOper: TBitBtn
+ Left = 8
+ Top = 40
+ Width = 105
+ Height = 25
+ Caption = 'teste'
+ TabOrder = 0
+ OnClick = btProtOperClick
+ Glyph.Data = {
+ 36040000424D3604000000000000360000002800000010000000100000000100
+ 2000000000000004000000000000000000000000000000000000FF00FF00FF00
+ FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0000609000006090000060
+ 90000060900000609000006090000060900000609000FF00FF00FF00FF00FF00
+ FF00FF00FF00FF00FF00FF00FF00FF00FF000090C80098D8F8000090C8000090
+ C8000090C8000090C8000090C8000090C8000090C80000609000C8B3A4006947
+ 3100694731006947310069473100694731000090C800D7EFFD008FD8FA008AD6
+ FA004040400045879B0042B5EF0042B5EF000090C80000609000C8B3A400F1EC
+ EA00B7A29300B7A29300B7A29300B7A293000090C800D7EFFD008FD8FA008FD8
+ FA004040400045879B0055BEF20048B8F0000090C80000609000C8B3A400C080
+ 680098606000C8B3A400FFFFFF00FFFFFF000090C800D7EFFD008FD8FA008FD8
+ FA0040404000404040006DC8F50061C4F4000090C80000609000C8B3A400C898
+ 9000C0806800C8B3A400FFFFFF00FFFFFF000090C80098D8F800D7EFFD00D7EF
+ FD00D7EFFD00D7EFFD00D7EFFD00D7EFFD0098D8F80000609000C8B3A400C8B3
+ A400C8B3A400C8B3A400C8B3A400C8B3A400C8B3A4000090C8000090C8000090
+ C8000090C8000090C8000090C8000090C8000090C80069473100C8B3A400C080
+ 680098606000C8B3A400FFFFFF00FFFFFF00FFFFFF00C8B3A4000090C8000060
+ 9000FFFFFF00C8B3A4000090C80000609000FFFFFF0069473100C8B3A400C898
+ 9000C0806800C8B3A400FFFFFF00FFFFFF00FFFFFF00C8B3A4000090C8000060
+ 900000609000006090000060900000609000FFFFFF0069473100C8B3A400C8B3
+ A400C8B3A400C8B3A400C8B3A400C8B3A400C8B3A400C8B3A400C8B3A4000090
+ C8000090C8000090C8000090C800C8B3A400C8B3A40069473100C8B3A400C080
+ 680098606000C8B3A400FFFFFF00FFFFFF00FFFFFF00C8B3A400FFFFFF00FFFF
+ FF00FFFFFF00C8B3A400FFFFFF00FFFFFF00FFFFFF0069473100C8B3A400C898
+ 9000C0806800C8B3A400FFFFFF00FFFFFF00FFFFFF00C8B3A400FFFFFF00FFFF
+ FF00FFFFFF00C8B3A400FFFFFF00FFFFFF00FFFFFF0069473100C8600000C860
+ 0000C8600000C8600000C8600000C8600000C8600000C8600000C8600000C860
+ 0000C8600000C8600000C8600000C8600000C8600000C8600000C8600000F8B5
+ 5500F8A42400C8600000F8B55500F8A42400F8980000C8600000F8B55500F8A4
+ 2400F8980000C8600000F8B55500F8A42400F8980000C8600000C8600000C860
+ 0000C8600000C8600000C8600000C8600000C8600000C8600000C8600000C860
+ 0000C8600000C8600000C8600000C8600000C8600000C8600000FF00FF00FF00
+ FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
+ FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00}
+ end
+ object btUsuarios: TBitBtn
+ Left = 130
+ Top = 40
+ Width = 105
+ Height = 25
+ Caption = 'Usu'#225'rios'
+ TabOrder = 1
+ Glyph.Data = {
+ 36040000424D3604000000000000360000002800000010000000100000000100
+ 2000000000000004000000000000000000000000000000000000FFFFFF00FFFF
+ FF00EBEBEB00C5CBC600ABB9AD00A1B3A2009FB0A000A2B2A400AAB7AC00B6BD
+ B800CECECE00EFEFEF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00B4C4
+ B000527B40004A833400478F310043962F001C1C1C001C1C1C001C1C1C004885
+ 33004B7837005A745100D2D3D200FFFFFF00FFFFFF00FFFFFF00FFFFFF006286
+ 4E004F81350047903100409C2E003AA62C00A39D9800FCFAF8000098C8001C1C
+ 1C004D84340056753800A0AE9F00FFFFFF00FFFFFF00FFFFFF00FFFFFF005F89
+ 4C004B89330042992F0039A82B0032B42800A39D98000098C8004ABEDF000098
+ C8001C1C1C00527B3600B0BEB100FFFFFF00FFFFFF00FFFFFF00FFFFFF0090B3
+ 8700488D32003E9E2D0035AF290035B631007ACB7B000098C80094E4F6004ABE
+ DF000098C8001C1C1C00ECEDEC00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F0F6
+ F1005F9D51003E9F2D0034B0290080AC8100D2D3D30081BB82000098C80094E4
+ F6004ABEDF000098C8001C1C1C00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00EEF4EF0078B7730036933E00598CAE00498CBB004A81A6002B713A000098
+ C80094E4F6004ABEDF000098C8001C1C1C00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00EAF0F40060A4D00054A2D80053A1D6004F9DD3004891C2009DA7
+ AC000098C80094E4F6004ABEDF008080800000009A00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF008CBDDE005CA9DD005CA9DD005AA7DC0056A4D900519FD4005687
+ AB00EAEAEA000098C800D2BAAC00778C980000009A0000009A00FFFFFF00FFFF
+ FF00ECF2F60060ABDE0063B0E30063B0E30061AEE1005CA9DD0056A4D9004E98
+ CC00C1C4C600FFFFFF000030F8006D8AFD000030F8004A6BC700FFFFFF00FFFF
+ FF00C5DDED0066B2E5006BB7E9006BB7E90067B3E60061AEE1005AA7DC0053A0
+ D500A8B5BE00FFFFFF00FFFFFF000030F800889EDA00FFFFFF00FFFFFF00FFFF
+ FF00BAD6E7004989B1004A85AC005895BD0068B2E30064B0E4005CA9DE0053A0
+ D400AAB8C300FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00CADDE8005098C400539AC7004E93BE00437DA2005190BA005198C6003C7A
+ A000BEC2C300FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00F8FAFC0069AAD40062ACDA005DA6D3005299C6004284AD003C7FA9005382
+ A100F3F3F300FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00C1DBED0071BCEA0068B2E00059A1CF004990BC004382AA00C3CF
+ D600FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00C8E0F00080BBDF0066A5CC007CAAC700D1DDE400FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00}
+ end
+ object btPerfil: TBitBtn
+ Left = 253
+ Top = 40
+ Width = 105
+ Height = 25
+ Caption = 'Perfil'
+ TabOrder = 2
+ Glyph.Data = {
+ 36040000424D3604000000000000360000002800000010000000100000000100
+ 2000000000000004000000000000000000000000000000000000FFFFFF00FFFF
+ FF00FFFFFF00C1AD9F00785E4900775E4800765C4600745A4600735844007156
+ 420071564200705541006E543F006D523D006B503C006A4F3B00FFFFFF007961
+ 5000796150007B6452007E685500826A590087705D008C73610090786500937B
+ 6900937B6900967D6A00967D6A00B6977F00CEAD9400634A3500C1AD9F008A72
+ 5F00A1856F00B6977F00B99B8300BDA08900C2A68F00C9AC9700CEB39F00D4B9
+ A600D4B9A600D8BEAB00C2A68F008E735E00DBC2AF0064493600C1AD9F00AB9E
+ 9400A89A8F00A5978B00A19286009D8E820099897D0096867A00958579009484
+ 7800948478009383770093837700C2A68F00967B6600644A3600FFFFFF00C1AD
+ 9F00E7DBD200FEF0EA00FEECE40087A5740024691800196D100017740F001773
+ 0F001A6B110013650D0081965D008E735E00A1856F00654B3600FFFFFF00FFFF
+ FF00C1AD9F00FEF4F000FEF0EA00226E1400327B1F0028921B00188D12001E9A
+ 1600298F1C0033772000095B0500FFD3B9008E735E00664B3700FFFFFF00FFFF
+ FF00C1AD9F00FEFBFD00FEF4F0005B9B4E002F831D001F9716003E903E00288C
+ 2700239719002B7B1B0071905600FED5BC00B6977F00664C3800FFFFFF00FFFF
+ FF00C1AD9F00FEFBFD00FEF7F700E7E9DA0054A04A001A7C22005B9BA8004D8B
+ 8E0016761700789A6100FEDDCA00FED9C300CEAD9400664C3800FFFFFF00FFFF
+ FF00C1AD9F00FEFBFD00FEFBFD00FEF7F700E8E9E7004D97C4004091CF003B8C
+ CA00447EA300E8D6CA00FEE1D100FEDDCA00D3B49B00684D3800FFFFFF00FFFF
+ FF00C1AD9F00FEFBFD00FEFBFD00FEFBFD00A1C8E5004C9EDA004B9DDA004596
+ D4003C8BC800ACB5BD00FEE5D700FEE1D100D7BBA600674D3900FFFFFF00FFFF
+ FF00C1AD9F00FEFBFD00FEFBFD00FEFBFD003A96CA004F9DD50055A7E2004C9E
+ DA004292D00082A5BA00FEEAE100FEE5D700DBC2AF00684D3900FFFFFF00FFFF
+ FF00C1AD9F00FEFBFD00FEFBFD00FEFBFD004195C2003B83B5003D83B400448F
+ C5003880B50079A0B500FEEEE700FEEAE100DEC8B700684E3A00FFFFFF00FFFF
+ FF00C1AD9F00FEFBFD00FEFBFD00FEFBFD00A4CEE600469AD1004591C6003378
+ A800276A9500C8D3DB00FEF2ED00FEEEE700E1CDBD00694E3A00FFFFFF00FFFF
+ FF0040B0F20041B4F30041B3F30040B0F2003CAAEE002797D700298CC4001F78
+ AD002A88C8003CA0EF003C9DEE003C9AED003B97ED00227BD200FFFFFF00FFFF
+ FF0040B0F200BEE5FB00BEE5FB00BEE5FB00BEE5FB00BEE5FB00BEE5FB00ACDE
+ FB00ACDEFB0099D6FB0088D0FB0075C8FB0062C0FC00227BD200FFFFFF00FFFF
+ FF0040B0F20041B4F30041B3F30040B0F20040AEF2003EAAF1003FA7F0003EA4
+ F0003EA4F0003CA0EF003C9DEE003C9AED003B97ED00227BD200}
+ end
+ object btSenha: TBitBtn
+ Left = 376
+ Top = 40
+ Width = 105
+ Height = 25
+ Caption = 'Trocar Senha'
+ TabOrder = 3
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF8A38
+ 5E6947318A385EFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FF8C548C6C6C6C8C548CFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF694731694731F8C9
+ 9AF8C898F8C8988A385EFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FF6C6C6C6C6C6CD4D4D4D3D3D3D3D3D38B548BFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF694731F8CC9FF9D7
+ B4694731F8CB9D694731FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FF6B6B6BD7D7D7E0E0E06C6C6CD6D6D66B6B6BFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FF694731694731F8CFA4FBE3CB6947
+ 31F8C898694731FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FF6C6C6C6C6C6CD9D9D9E9E9E96B6B6BD3D3D36C6C6CFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FF694731F9D2AAFDF1E5694731F8C8
+ 98694731FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FF6C6C6CDBDBDBF4F4F46C6C6CD3D3D36C6C6CFF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FF694731F9D3AEFFFFFF694731F8C8986947
+ 31FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF6B
+ 6B6BDDDDDDFFFFFF6C6C6CD3D3D36B6B6BFF00FFFF00FFFF00FFFF00FFD43FC4
+ 8A385E694731694731694731694731F9D6B3FFFFFF694731F8C898694731FF00
+ FFFF00FFFF00FFFF00FFFF00FFD74CD78C548C6C6C6C6C6C6C6B6B6B6C6C6CDF
+ DFDFFFFFFF6C6C6CD3D3D36C6C6CFF00FFFF00FFFF00FFFF00FFD43FC48A385E
+ FADFC3FBE6D0FCECDCFDF2E7FEF8F3FFFFFF694731F8C898694731FF00FFFF00
+ FFFF00FFFF00FFFF00FFD74CD78B548BE6E6E6EBEBEBF1F1F1F5F5F5FAFAFAFF
+ FFFF6B6B6BD3D3D36C6C6CFF00FFFF00FFFF00FFFF00FFFF00FFAD788FFFFFFF
+ F9D7B5FADFC3FBE6D0FCECDCFCEFE2FDF5EDFFFFFF694731FF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFB490B4FFFFFFDFDFDFE6E6E6EBEBEBF0F0F0F2F2F2F8
+ F8F8FFFFFF6B6B6BFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFA08C7DFFFFFF
+ F8CFA6F9D7B5FADBBCFBE3CBFBE9D6FCEFE2FDF5ED694731FF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFA8A8A8FFFFFFD9D9D9E0E0E0E3E3E3E9E9E9EEEEEEF3
+ F3F3F8F8F86C6C6CFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFA08C7DFFFFFF
+ F8C898636266A08C7DFADBBCFBE3CBFBE9D6FCEFE2694731FF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFA8A8A8FFFFFFD3D3D3878787A8A8A8E2E2E2E9E9E9EE
+ EEEEF3F3F36C6C6CFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFA08C7DFFFFFF
+ F8C898694731FF00FFA08C7DFADBBCFBE3CBFBE9D6694731FF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFA8A8A8FFFFFFD3D3D36C6C6CFF00FFA8A8A8E3E3E3E9
+ E9E9EEEEEE6B6B6BFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFAD788FFFFFFF
+ F8C898F8C898694731636266F9D3ADFADBBCFBE3CB8A385EFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFB490B4FFFFFFD3D3D3D3D3D36C6C6C878787DCDCDCE3
+ E3E3E9E9E98B548BFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFAD788F
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A385ED43FC4FF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFB490B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFF8C548CD74CD7FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ AD788FA08C7DA08C7DA08C7DA08C7DAD788FD43FC4FF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFB490B4A8A8A8A8A8A8A8A8A8A8A8A8B4
+ 90B4D74CD7FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF}
+ NumGlyphs = 2
+ end
+ end
+ object Memo1: TMemo
+ Left = 8
+ Top = 264
+ Width = 489
+ Height = 257
+ Lines.Strings = (
+ 'Passos executados:'
+ ''
+ 'UserControl1.LoginMode = lmPassive'
+ ''
+ 'incluidos os botoes protegidos no UCControls1'
+ ''
+ 'incluidos os nomes dos botoes "protegidos" na propriedade'
+ 'UserControl1.Login.InitialLogin.InitialRights'
+ ''
+ ''
+
+ 'UserControl1.StartLogin incluido no evento onClick do botao logi' +
+ 'n'
+ 'para iniciar a sess'#227'o')
+ TabOrder = 4
+ end
+ object ADOConnection1: TADOConnection
+ ConnectionString =
+ 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=..\base.mdb;Persist' +
+ ' Security Info=False'
+ LoginPrompt = False
+ Provider = 'Microsoft.Jet.OLEDB.4.0'
+ Left = 136
+ Top = 8
+ end
+ object UCADOConn1: TUCADOConn
+ Connection = ADOConnection1
+ Left = 168
+ Top = 8
+ end
+ object UserControl1: TUserControl
+ AutoStart = True
+ ApplicationID = 'Passive'
+ UsersForm.UsePrivilegedField = False
+ UsersForm.ProtectAdmin = True
+ EncryptKey = 0
+ NotAllowedItems.MenuVisible = True
+ NotAllowedItems.ActionVisible = True
+ Login.AutoLogon.Active = False
+ Login.AutoLogon.MessageOnError = True
+ Login.InitialLogin.User = 'Admin'
+ Login.InitialLogin.Email = 'qmd@usercontrol.com.br'
+ Login.InitialLogin.Password = '#delphi'
+ Login.InitialLogin.InitialRights.Strings = (
+ 'btProtOper'
+ 'btUsuarios'
+ 'btPerfil'
+ 'btSenha')
+ Login.MaxLoginAttempts = 0
+ Login.GetLoginName = lnNone
+ LogControl.Active = False
+ LogControl.TableLog = 'UCLog'
+ ExtraRight = <
+ item
+ FormName = 'Form1'
+ CompName = 'btProtOper'
+ Caption = 'Opera'#231#227'o Protegida'
+ end
+ item
+ FormName = 'Form1'
+ CompName = 'btUsuarios'
+ Caption = 'Cadastro de Usu'#225'rios'
+ end
+ item
+ FormName = 'Form1'
+ CompName = 'btPerfil'
+ Caption = 'Cadastro de Perfil'
+ end
+ item
+ FormName = 'Form1'
+ CompName = 'btSenha'
+ Caption = 'Trocar Senha'
+ end>
+ LoginMode = lmPassive
+ UsersProfile.Active = True
+ TableUsers.FieldUserID = 'UCIdUser'
+ TableUsers.FieldUserName = 'UCUserName'
+ TableUsers.FieldLogin = 'UCLogin'
+ TableUsers.FieldPassword = 'UCPassword'
+ TableUsers.FieldEmail = 'UCEmail'
+ TableUsers.FieldPrivileged = 'UCPrivileged'
+ TableUsers.FieldTypeRec = 'UCTypeRec'
+ TableUsers.FieldProfile = 'UCProfile'
+ TableUsers.FieldKey = 'UCKey'
+ TableUsers.TableName = 'UCTabUsers'
+ TableRights.FieldUserID = 'UCIdUser'
+ TableRights.FieldModule = 'UCModule'
+ TableRights.FieldComponentName = 'UCCompName'
+ TableRights.FieldFormName = 'UCFormName'
+ TableRights.FieldKey = 'UCKey'
+ TableRights.TableName = 'UCTabRights'
+ ChangePasswordForm.ForcePassword = False
+ ChangePasswordForm.MinPasswordLength = 0
+ OnLoginSucess = UserControl1LoginSucess
+ OnLogoff = UserControl1Logoff
+ DataConnector = UCADOConn1
+ CheckValidationKey = False
+ Left = 200
+ Top = 8
+ end
+ object UCControls1: TUCControls
+ UserControl = UserControl1
+ NotAllowed = naDisabled
+ Left = 232
+ Top = 8
+ end
+ object UCIdle1: TUCIdle
+ UserControl = UserControl1
+ Timeout = 30000
+ Left = 320
+ Top = 8
+ end
+ object UCXPStyle1: TUCXPStyle
+ Active = True
+ XPSettings.DimLevel = 30
+ XPSettings.GrayLevel = 10
+ XPSettings.Font.Charset = ANSI_CHARSET
+ XPSettings.Font.Color = clMenuText
+ XPSettings.Font.Height = -11
+ XPSettings.Font.Name = 'Tahoma'
+ XPSettings.Font.Style = []
+ XPSettings.Color = clBtnFace
+ XPSettings.DrawMenuBar = False
+ XPSettings.IconBackColor = clBtnFace
+ XPSettings.MenuBarColor = clBtnFace
+ XPSettings.SelectColor = clHighlight
+ XPSettings.SelectBorderColor = clHighlight
+ XPSettings.SelectFontColor = clMenuText
+ XPSettings.DisabledColor = clInactiveCaption
+ XPSettings.SeparatorColor = clBtnFace
+ XPSettings.CheckedColor = clHighlight
+ XPSettings.IconWidth = 24
+ XPSettings.DrawSelect = True
+ XPSettings.UseSystemColors = True
+ XPSettings.UseDimColor = False
+ XPSettings.OverrideOwnerDraw = False
+ XPSettings.Gradient = False
+ XPSettings.FlatMenu = False
+ XPSettings.AutoDetect = False
+ XPSettings.BitBtnColor = clBtnFace
+ XPSettings.ColorsChanged = True
+ Left = 352
+ Top = 8
+ end
+ object UCSettings1: TUCSettings
+ AppMessages.MsgsForm_BtNew = '&Nova Mensagem'
+ AppMessages.MsgsForm_BtReplay = '&Responder'
+ AppMessages.MsgsForm_BtForward = 'E&ncaminhar'
+ AppMessages.MsgsForm_BtDelete = '&Excluir'
+ AppMessages.MsgsForm_BtClose = '&Close'
+ AppMessages.MsgsForm_WindowCaption = 'Mensagens do Sistema'
+ AppMessages.MsgsForm_ColFrom = 'Remetente'
+ AppMessages.MsgsForm_ColSubject = 'Assunto'
+ AppMessages.MsgsForm_ColDate = 'Data'
+ AppMessages.MsgsForm_PromptDelete = 'Confirma excluir as mensagens selecionadas ?'
+ AppMessages.MsgsForm_PromptDelete_WindowCaption = 'Delete messages'
+ AppMessages.MsgsForm_NoMessagesSelected = '!No Messages selected'#161
+ AppMessages.MsgsForm_NoMessagesSelected_WindowCaption = 'Information'
+ AppMessages.MsgRec_BtClose = '&Fechar'
+ AppMessages.MsgRec_WindowCaption = 'Mensagem'
+ AppMessages.MsgRec_Title = 'Mensagem Recebida'
+ AppMessages.MsgRec_LabelFrom = 'De :'
+ AppMessages.MsgRec_LabelDate = 'Date'
+ AppMessages.MsgRec_LabelSubject = 'Assunto'
+ AppMessages.MsgRec_LabelMessage = 'Mensagem'
+ AppMessages.MsgSend_BtSend = '&Enviar'
+ AppMessages.MsgSend_BtCancel = '&Cancelar'
+ AppMessages.MsgSend_WindowCaption = 'Mensagem'
+ AppMessages.MsgSend_Title = 'Enviar Nova Mensagem'
+ AppMessages.MsgSend_GroupTo = 'Para'
+ AppMessages.MsgSend_RadioUser = 'Usu'#225'rio :'
+ AppMessages.MsgSend_RadioAll = 'Todos'
+ AppMessages.MsgSend_GroupMessage = 'Mensagem'
+ AppMessages.MsgSend_LabelSubject = 'Subject'
+ AppMessages.MsgSend_LabelMessageText = 'Message text'
+ CommonMessages.AutoLogonError = 'Falha de Auto Logon!'#13#10'Informe um usu'#225'rio e senha v'#225'lidos.'
+ CommonMessages.ChangePasswordError.InvalidCurrentPassword = 'Senha Atual n'#227'o confere!'
+ CommonMessages.ChangePasswordError.NewPasswordError = 'Os campos: Nova Senha e Confirma'#231#227'o devem ser iguais.'
+ CommonMessages.ChangePasswordError.NewEqualCurrent = 'Nova senha igual a senha atual'
+ CommonMessages.ChangePasswordError.PasswordRequired = 'A Senha '#233' obrigat'#243'ria'
+ CommonMessages.ChangePasswordError.MinPasswordLength = 'A senha deve conter no m'#237'nimo %d caracteres'
+ CommonMessages.ChangePasswordError.InvalidNewPassword = 'Proibido utilizar senhas obvias!'
+ CommonMessages.InvalidLogin = 'Usu'#225'rio ou Senha inv'#225'lidos!'
+ CommonMessages.InitialMessage.Strings = (
+ 'ATEN'#199#195'O Login Inicial:'
+ ''
+ 'Usu'#225'rio : :user'
+ 'Senha : :password'
+ ''
+ 'Defina as permiss'#245'es para este usu'#225'rio.')
+ CommonMessages.MaxLoginAttemptsError =
+ '%d Tentativas de login inv'#225'lido. Por motivos de segun'#231'a o '#13#10'sist' +
+ 'ema ser'#225' fechado.'
+ CommonMessages.PasswordChanged = 'Senha alterada com sucesso!'
+ CommonMessages.BlankPassword = 'Retirada senha do Login %s'
+ Login.WindowCaption = 'Login'
+ Login.LabelUser = 'Usu'#225'rio '
+ Login.LabelPassword = 'Senha : '
+ Login.BtOk = 'OK'
+ Login.BtCancel = '&Cancelar'
+ Login.TopImage.Data = {
+ 07544269746D6170B6790000424DB67900000000000036040000280000007601
+ 0000500000000100080000000000807500000000000000000000000100000000
+ 00009BB5D8007493BA00ACC2E000BBBBBB00CBD9EB007D9BC20051719900F6F8
+ FB00F2F5FA0095B0D500FCFDFE00EDF2F800A7B6BC0055759D00F8FAFC00B1C5
+ E1005979A10089A8D200CDD5D9003E5E88004D7199003D5D8700FAFBFD008888
+ 8800E5ECF500DDE6F200DDDDDD00E2EAF400A5BDDD00405F880042628C0089A6
+ CC008297A0005D7DA500C5D4E900A1B9DA006685AD004569920045679000B4C8
+ E300EEEEEE00BDCEE60099B3D600A9C0DE008BA8CD009EA5B0006181A9006E8D
+ B400D0DCED006989B10099999900809DC40085A2C80044638C00C1D1E8004462
+ 8C008EAACF0091ACD100486890005579A100E7EEF6003E5F890040608A005D82
+ AB00C0CBCF008CAAD400D5E0EF00496C950042618A004A6A93008FACD500D8E3
+ F0004C6C9400D2DEEE007795BD0046668E004E6E960050709700B8CBE400BBCD
+ E500CCCCCC00C8D7EA00648BB2006D93BA0044648E00A2BADB004A6B94009BAC
+ B300708EB5004E6F980085A5CF00DAE4F10058789E0043638D0050759D00506E
+ 9600D6E1EF00F4F7FB00A7BEDE00829FC600FDFEFE0041608B0054749A007A98
+ BF0093AFD600BECFE60044628A00666666004060880086A6D0004C6B92004867
+ 8E00EAEFF700AAAAAA0049688E006C8AB1004D6E940053729A00476690006584
+ AB007290B8005C7CA300333333005F7EA60046648E005A7DA50056779E00E6EA
+ EC0046648C0044444400777777004869920044678E0080A0C900E0E8F3006D8C
+ B3005576A000AAAEB50090ADD5006080A7009EB7DA006486AF00486A93006185
+ AC00F9FAFD004C6A92003C5B85004C6E96006988AF0049699100C6CFDC0093AE
+ D20051729B00597AA30045648B004E6D94004A6992004A6C92004D6D96006786
+ AD00B6BCC40056769E003D5A82003F628B006383A900698DB500555555005A7F
+ A7005B7AA1003A5A8400527399005A7BA200426188004668900039577F007D9F
+ C70047668D00EBF1F8004C6B940087A3CA00405F8600486990004E6D96004C6D
+ 9400222222006287AF0083A3CC00FBFCFD00779BC2004A6A9100D1DDEE005473
+ 9C003C5C87006B8BB20092ADD200D3DFEF00E1E5E900426189006C8BB5008B8F
+ 940045658D005878A00042638B003F5C84005C7BA4001111110084A3CC006183
+ AB00CDD6E1006A8AB3006282AB00808285006787B0006483AC00A5BCDB004061
+ 8A004F5153003E40420043637000FEFEFE0091AED600FEFFFF00758D9600F2F5
+ F5008FA0A900D9E0E200506D7A00EFF4F9005C788300BFD0E700B5C1C60091AE
+ D500E3EBF50069828D00C3D3E900D2DDEE0097B2D700DFE7F300F7F9FC00A3BB
+ DC006F8FB7007B7E830094AFD3007998C1002F3032007396BE00909296008FAB
+ D000686C7100A4BBDA00D2D9E400D9DEE600FEFEFF0088A7D20000000000FFFF
+ FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCFCFCFCFCFCFC
+ FCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB6464640A0A0A0ABBBBBBBBBB16
+ 16160E0E0EEEEEEE07EE0707616161070761070707EEEEEEEEEE90161616BB16
+ BB0ABB0A0A0A0ADB64646464DBDB64FCFFFCDBDB64DBDB0A640A0A0A0ABBBBBB
+ 16160EEEEE07610808E30BB1703C18E886195B47424930045122EA36294F4E27
+ 0F0F0F022B621CEF55558C8C000000ECECECECEC68096868DCDCDC8A8A8A8A8A
+ 8A46464646464646464646464646464646464646464646464646464646464646
+ 4646464646464646464646464646464646464646464646464646464646464646
+ 4646464646464646464646464646464646464646464646EC0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFC
+ FCFCFCDBDBDBDBDBDBDBDBDB64DB640A0A0A0A0ABBBBBBBB16161616160E0EEE
+ EE07EEEEEEEE6107070707EEEEEEEE0E0E0E0E161616BBBBBB0A0A0ADB0A6464
+ DBDBFCDBDBFCFCFFFFDBFCDDDBFCDBDB64640A0A0A0A0ABBBB16900EEE076108
+ 08E30BB1703C181B86195B4742BE3004512236694F4E27270F022B2B1CEF238C
+ 8C0000ECECEC09688A8A46464646414141111111111111111111FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCDB
+ DBDBDBDBDBDBDB6464640A0A0A0ABBBBBBBBBB161616160E0EEE0E0EEEEEEEEE
+ EEEEEEEEEE0E0E16901616BB16BBBB0A0A0A0A0A64DBDBFCFCDBFCFCFCFCFCFF
+ FFFCFCFFDDFFFCFCFCFF0A640A0A0ABB0A1616900EEE07070808E30BB1703C18
+ 1B1B195B604230040422EAE5294F4E270F02022B1C1C558C8C0000ECEC6868DC
+ DCE78A464646414141414111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCDBDBDBDBDBDB
+ DBDB64640A640A0A0ABBBBBB161616160E0E160E0E0E0E90EE0E0E9090901616
+ 161616BBBBBB0A0A640A0A64FCFCFCFCFCFFFFFCFFDDFFFCFCFFFFFFFCFFFCFF
+ FCDBFCDBDB0A0A0A0ABBBB16160E0EEE616108E30BB1703CE81BED5B47604930
+ 04512236E54F4E270F0F022B621CEF238C8C00ECECEC6809DCDC8A4646464641
+ 4141114111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB640A0A
+ 0A0A0ABBBBBBBB1616161616160E0E169090161616161616BBBBBBBB0ABB0A0A
+ 640A64DBDBFCFCDBFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFCFCFCFCFFFCFC0A0A
+ 0A0ABB1616160EEE07610808E30BB13C3C1B86195B4742BE3004222236294E27
+ 270F0F022B1CEF558C8C8C00ECECEC68DCE7DC8A464641414141411111111111
+ FD11FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB64640A0A0A0ABBBBBB
+ BBBBBB1616161616161616161616BBBB0ABB0A0A0A0A0A64FC64DBFCFCFCDDFC
+ FFDDFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFDDFCFFFCDDDB64640ABBBBBB160E0E
+ EE076108E30BB1703C181BED194760493004512236E54F4E270F0F022B621C55
+ 238C8C00ECECEC096868E7464646414141414111111111111111FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FCFFFFFCFCFCFCFCFCFCDBDBDBDBDBDB64640A0A0A0A0ABBBBBBBBBBBBBBBB16
+ BBBBBBBBBBBB0ABB0A0A0A0A640ADBDB64FCFCDBFCDDDDFCFFDDFFDDFFFFFFFF
+ FFFFFFFFFFDDFFFFFFDDFFFCFFFCDBDB64640ABBBBBB16900EEE070808E30B70
+ 703CE81B195B4742BE300451EAE5294F27270F022B2B1CEF558C8C0000ECECEC
+ 68DC8A8A464646464141414111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFCFC
+ FCFCFCFCFCDBDBDBDBDBDB64640A0A0A0ABBBBBBBBBBBBBBBBBB0ABBBB0A0A0A
+ 0A0A0A0A646464DBFCFCDDDBDBFCDDFCFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDBDB640A0ABBBBBB16900E07070808E3B1703C181BED194760
+ 493004512236694F4E270F02022B1C1C55238C00ECECECEC6809DC8A8A464641
+ 414141411111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFFFCFCFCDBFCFCDB
+ DBDBDBDBDB64640A0A0A0A0A0ABBBBBBBB0A0A0A0A0A0A0A0A0A0A64DBDBDBDB
+ DBFFFFDDDDDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFC
+ FC64640A0ABBBB16160EEE070808E30BB1703CE81BED5B4742BE300422EAE529
+ 4E27270F022B621C55238C8C00ECECEC0909DCE78A4646414641414111111111
+ 1111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCDBDBDBDBDBDB6464
+ 640A0A0A0A0ABBBBBB6464640A0A0A6464DB0ADB64DBDBFCFFFFFFDDDDFFFFFF
+ DDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFFDDDBFC640ABBBB16
+ BB0E0EEE070808E30B703C181B86194760C33004512236694F4E270F02022B1C
+ 1C55238C0000ECEC0968E7E78A8A41464141414141111111111111FDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A
+ 0A0A6464640A0A6464DBDBDBFCDBDBFCFCFFFFDDDDFFDDFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFCFCFC64640ABB16160EEE076108E3
+ 0BB1703CE81B195B47423004042236E54F4E270F02022B621C55238C00000909
+ C239382C1FCE85AF3305F3F5015353F5AF8585BC53B93F3F3FA7993B885E5E98
+ 98981414438E599E434343145E5E98593F52B9A7251E3D3D653E3E3E3E3E3ED7
+ 1E1E1E5D545D5DCA3E1E1E3B3B5DD7C03ED7A38E434354A365D7D76565D7D765
+ 6513153E3EC092AE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A6464646464
+ FCFCFCFCFCDBDBFCFCFFFFFFFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFCFCFCDB0A0A0ABB16160EEE070808E3B1703C181BED19
+ 4760BE3004512236694E270F0F022B621C558C00EC0997381F1F346333670101
+ F02F318DCF2EA7A78F52A5B97D14934393438E258E568E8E8E8E254325251459
+ 1414143B3FB93FA75E5E5E5E93985943438E8E25252525252676767683838326
+ 6554267DA78E263E3E3D15A33DA33D3E3D3D3D3D3D3D3D3D3E133D1E1E1592AE
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCFCFCFCDBDBDBDBDBDBDBDBDB646464646464FCFC6464FC64FCFCFCFCFCFCDB
+ FCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFF
+ FFFFFCFC64640A0ABBBB160E0E07610808E3B1703CE81B195B60C3BE04512236
+ 694F4E270F022B62D6558C002AF297382CB3633367677858319FA42E7BA8A87B
+ 21C9660648B5B53A4B4B8035CA6A6AC5353E1D1D3E1D3E1ECA268E883B3B4325
+ 26262654542626262626262626252525562543255EA77D5E2525262626262626
+ 252626262654262554252525431443255D1E2606433DA9A90000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE11212FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFF1212E1FFFFFFFFFFFFFFFFFF1212E1FFFFFFFFFF
+ FFFFFFFFDF121212FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE11212
+ E1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBFCFC
+ DBDBDBDBDB64646464646464FCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFF
+ DDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFDDFCFCFCFC0A0A
+ BBBB16160EEE610808E30B703C181BED194742BE300422EAE54F4E270F0F022B
+ 1C5523002A09C2382CB36333674A0158879F9F2E7B5CA10D21A1064D48BDBD72
+ 809A3535C56C6C6C13131D44441D1D3E1D1ECA438E263D3D3D3D3D1313131313
+ 3D131313133D3D3D3D3DA3A3435E435DA33E3D3D3D3E3E3EA33EA3A3A3D7A354
+ 5426268E5E88592665D75D765D3D15A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE120DADADADADAE940FFFFFF12DADA0C
+ FFFFFFFFFFFF0CDADADADADADADADEFFFFDADA12FFFFFFFF0CDADADAFFFFFFFF
+ FFFFE0DADADADAE440FFFFFFFF40E9DADADADADA20E1FFFFFFFF12DEDADADADA
+ DADE12FFFFFFDADADEFFFF7FDADADEFFFFFFDFE0E2DADADADADEFF12DADADADA
+ DADADADAFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB
+ DBDBDBDBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFC64646464BBBB160EEEEE61
+ 08E30BB1703CE886194760493004512236294E270F0F022B62D6238C2A09F239
+ 381F6333054A0158879F772E7B5C5CA1210D4C9B91726F6FC8C83535CA6AC5C5
+ 1D6C6C1DB41D6C6C1D3E5D4354A33D1E653E3E1D3D3D3D3D1313131313131313
+ 15133D3D8E14263D3D1315C015151515C0C0151313133DD7151315A343935492
+ 133D3DC0C0133DA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFE6E2DADAE00C57E4DADAE0FFFF7FDADA0CFFFFFFFFFFFF0CDA
+ DAE9DEDEDEDE57FFFFDEDA12FFFFFF7FDADADADAFFFFFFFFFFFFDADE0C0CE4DA
+ DA7FFFFF57DADAE2570CE0E2DADAE6FFFF12DADADA200CE0DADADA40FFFFE4DA
+ DEFFFF0CDADAE1FFFFE1E2DADA200C0CE0E4FF12DADAE4DEDEDEDEDEFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFDDFCFFFCFC6464640A64BB16160EEE070808E3B1703C181B
+ ED5B47C33004512236694F4E270F022B62EF238C0009F239381FB36305674A58
+ 2F9F772E21A1100D21BF5F9B9B91BD6FC8C83535CA6A6AC56A35441D1D1D6C1D
+ 15C0359E5DD71D441D1D1D131313131313131515151515151313C01526595465
+ 653E131515151515C0C0C0C0C0C0C0159215C0151E5D3E13C015C0A9921515AE
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FE2
+ DAE97FFFFFFFFFE0DADA40FFFFDADA0CFFFFFFFFFFFF0CDADAE6FFFFFFFFFFFF
+ FFDEDA12FFFFFFDEDADADADAFFFFFFFFFFFFDFFFFFFFDFDADA0CFF40DADAE0DF
+ FFFFFFDFE9DAE27FFF20DADA0CFFFFFF12DADADEFFFFDEDADEFFFFE4DAE0FFFF
+ FFE9DAE2E1FFFFFFFFFFFF12DADAE0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFCFCFCFCFCFCFCFCDBFCDBDBFCDBFFFFFCFCFCFCFCFCFCFFFF
+ FFFFFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFCFCFCFCFC64640ABBBB160EEE076108E30B703C181B86194742BE300422
+ EAE54F4E270F0202621C558C8C2A099739382CB3343333674A78589477A85C75
+ CC754D4D0606065F4D4D4D4C4C4C4C4C9191919191913AC83792449E3E151D13
+ 1D1D1D1D1D1D1D1D1D1D1D13131313151D13C092764565653E13131513131313
+ 131315151515C092921315C03D651E5415C092C0151592AE0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0CDADA7FFFFFFFFFFFFF
+ DEDAE4FFFFDADA0CFFFFFFFFFFFF12DADA0CFFFFFFFFFFFFFFDEDA0CFFFF40DA
+ DA0CDADAFFFFFFFFFFFFFFFFFFFF40DADAE6FF20DAE4FFFFFFFFFFFFDFE2DAE0
+ FFDEDADADFFFFFFFFFE4DADAFFFFDEDADEFFE6DAE2DFFFFFE1DADAE6FFFFFFFF
+ FFFFFFFFDADADEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFCFCFCFCFFFCFCFCFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFFFFFCFC6464
+ 640A0ABB160E0EEE070808E3B1703C1B86195B6049300451EA36694E270F0202
+ 2B1C55238C2A09F2C2382CB3346305674A4A017873A4C975CCBF4D0D0D667506
+ 4C4C4C9B4C4C9B4C064D9B9B4C9B4C4C9B131E593E1D373735353535357C7C4B
+ 54545454543535353737543EB69C1D1D3E1D13133E6565653E3E3E3E3E653E1D
+ 131392C03D3E13133DC092151315C0A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFDEDAE9FFFFFFFFFFFFFF0CDADA7FFFDADA0C
+ E1127FFFFFFF12DADAE012121212DFFFFFE0DA0CFFDFE4DA20E1DADAFFFFFFFF
+ FFFFFFFFFFE6DADAE9FFFFDADA57FFFFFFFFFFFFFF20DAE4FFDEDADAFFFFFFFF
+ FFDEDADAFFFFDEDADEFFE4DA0CFFFFFF0CDADADFFFFFFFFFFFFFFFFFDADAE912
+ 1212127FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFC
+ FCFCFCFCFCFCFFFFFCFFFCFFFFFCFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCDDFCFCFC64640A0ABB1616EEEE
+ 076108E3B1703C181BED5B60423004512236294E4E270F022B62EF2300002AF2
+ 97382C1FB33405336767582F8794C9BF210D98A10D755F744D4D4C4C4D4C4D4D
+ 4C48489B48B5BD4C06131E593D1D767C353535359A8080C854547C7C7C545435
+ 3735833E984BCBCB1E1E65651E1E1E1E651E1E1E1E5D3765371E3D3D1E3E9292
+ 3E15C013131513A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFDEDADEFFFFFFFFFFFFFF12DADA12FFDADA0CE2DADAE4E1FF12DA
+ DADADADADADA12FFFF0CDA0CFF0CDAE27FFFDADAE1FFFFFFFFFFFFFF0CDADAE9
+ DFFFFFDADA0CFFFFFFFFFFFFFF0CDADAFFDEDADAFFFFFFFFFFDEDADAFFFF20DA
+ DEE6DADA2012FFFF0CDADAFFFFFFFFFFFFFFFFFFDADADADADADADA0CFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCFCFCFCFFFFFF
+ FFFFFFFCFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFDDFCFFFCFC640A0ABBBBBB16EE076108E30BB13C18
+ 1BED5B4742BE040422EA694F4E270F022B62EF238C002A09C2F7381F1F1F63B3
+ B33401785831C9A121A10DC97EAA4D4C4C4C4C4C4C4C4D4C9B5F7E21104C6E4C
+ 0D444BBF3E1D76809A35CACACACACA355454C8C8C8C85454C8C8483E0D541D13
+ 1E1E653E3E3E3E3D651E1E651E1E1E3E1D1E653D3E139213133E3E13131313A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20DA
+ E4FFFFFFFFFFFFFF12DADA12FFDEDA571240E9DAE2DF12DADADE0C0C0C0C7FFF
+ FF0CDA577FDADA0CFFFFDADA12FFFFFFFFFFFFE0DADAE0DFFFFFFFE2DAE0FFFF
+ FFFFFFFFFF0CDADAFFDEDADAFFFFFFFFFFDEDADAFFFF0CDADEE1120CE2DA57FF
+ 0CDADA7FFFFFFFFFFFFFFFFFDADAE40C0C0C0C12FFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFFFFFFFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFC
+ FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFF
+ FFFFFFDDFCDDFC6464640A0ABBBB160EEE070808E3B1703CE81B194760493004
+ 2236E54F4E270F02022BD6558C000009F239381F1F2C3333676778585873100D
+ 215C66A80D664D5F066E4D4D4D0674AA9B21F031AB484C06BF1E26BF3E133AB0
+ 6F446C9A541E5454353A76C6D1B6767C6F9545CAC9D713151E445D4465443D3E
+ 655D651E4BD5761DCACA351E3E15C0153E15C0133E1315A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6DADA12FFFFFFFFFFFF
+ 57DADADFFFDEDA0CFFFF7FDADAE612DADA0CFFFFFFFFFFFFFF0CDADEDEDAE4FF
+ FFFFDADA12FFFFFFFFFF12DADAE0FFFFFFFFFFE0DAE2DFFFFFFFFFFFFFE9DAE9
+ FF0CDADA12FFFFFFFF0CDADAFFFF0CDADEFFFFFFE6DADA7F7FDADA0CFFFFFFFF
+ FFFFFFFFDADADEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFCFC
+ FC640A0A0ABB160EEE076108E3B1703CE81BED5B60493004512236294E270F02
+ 022B1CEF2300000997C2382CB32CB33463334A7858C1C90D79C9AA1010A87E5C
+ 754C75064D4D744D0D242EB74D4C4C06754426BFD71D953A3AB54BCA543E3A76
+ 9CC875D4213A3A243A9145357ED7131D5D3E3E3E1D13543E1E1E1E3D9EC6BF54
+ 9A35351E3E1515136513C0C0151313A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFDFE2DAE9DFFFFFFFFFE1E2DAE0FFFFDEDA0C
+ FFFFDFDADA0C12DADA0CFFFFFFFFFFFFFF0CDAE2DADA12FFFFFFE4DA12FFFFFF
+ FFFF0CDADAFFFFFFFFFFFF12DADAE0FFFFFFFFFFE6DADAE6FF0CDADA12FFFFFF
+ FF0CDADA12FF0CDADEFFFFFF40DADA12FFDEDADA12FFFFFFFFFFFFFFDADADEFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFC64640A0ABB160E
+ EE076108E30B703C181BED5B47C33004512236294F27270F022B62EF23002A09
+ 09C2382C1F2C386363054A017887A8BF7B10065C5C0DAA66664D66754D064D06
+ AA2E24AA4C4D0D4D063E26BF3E3E9C9CC8B5CA6C76548335443A0DCC45542ED5
+ 95484584BFD7134454831E13761D5D1E5D9265452EC698544BC8351E1D15133E
+ 653E15C0153E3EA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFF12E2DAE40C121257E2DAE2DFFFFFDEDADE0C0CDEDADA4012DA
+ DADE0C0C0C0C0C7FFF40DADADA20FFFFFFFFDEDAE6FFFFFFFFFF40DADA201212
+ 0CE1FFFF0CDADADEE61240E0DADADEFFFF0CDADA12FFFFFFFF0CDADA12FF0CDA
+ E40C0C57E2DADADFFFDFE9DADAE040124057E1FFDADAE40C0C0C0C0C12FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFC640A640ABB1616EE076108080B7070
+ 181B861947423004512236694F27270F022B62D6230000EC0997F72C1FB33834
+ 056701787887CC0D79AB4DAB215C5CA16606AAAA4D4D4D060101F3C1A84C6606
+ 061DAD986C44959C9A95449A7676761E1E567D7D84B7F0069148953A063E1337
+ 5D1E5D13763E443E54C05488D12F983A6FC835441D151D1E3D3E3E133D653EA2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ E1DEDADADADADADADEDFFFFFFFDEDADADADADADAE0FF12DADADADADADADADA12
+ FF12DADADA7FFFFFFFFFDEDA0CFFFFFFFFFFFFE0DADADADADA7FFFFFFF40E4DA
+ DADADADADA57FFFFFF0CDADA12FFFFFFFF0CDADA12FF0CDADADADADADAE2E6FF
+ FFFFDFE0DADADADADADA12FFDADADADADADADADA0CFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ DDFFFFFFFFFFFFFCFCFC640A0ABB16160EEE070808E3B1703CE886194742BE30
+ 042236694F4E270F022B62EF238C00EC09C2F72C1FB3B36367670101782FCC0D
+ 10794D2121A15CAAAAAA4D4D064C4C064D7E797B945C9B4D061D9598131E763A
+ C83A449544541D54C8138806A3AD9826914895569E1D153576924B1E3E5D543E
+ 155D83982E4AD47B6FC81E3E13151D1E3D3E3D13133E3DA20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FE60C0CE67F
+ FFFFFFFFFFE112121212127FFFFFDF1212121212121212DFFFDF1212E1FFFFFF
+ FFFFE1127FFFFFFFFFFFFFFFE10C0C0CE1FFFFFFFFFFFFE10C0C0C40DFFFFFFF
+ FF7F1212DFFFFFFFFF7F1212DFFF7F121212121212FFFFFFFFFFFFFFDF400C0C
+ 0C40DFFF12121212121212127FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
+ FF64640A640ABB160EEE070808E3B1703CE88619476049300451EAE54F4E270F
+ 020262D6558C002A0997F7381FB3343305674A0178C121A15C794D7910667BAA
+ 75790D4DAA4C4C06AA064C6E0D7506AA981D45061335763A4844443A1EB21E76
+ 3A4B764B563A7648919B9593563D157C5D4B5D13441EC01E65541E5476983AC8
+ 6FC81E3E1315134465131515151513A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFCFFFCFC64640A0ABB16
+ 0EEE076108E3B1703CE81B195B4749300451EAE54F4E270F022B2B1C55238C2A
+ 09F239381FB3343305676701782F8BA1C9AB4D211021019F0D2FA4AA66064D06
+ AA4CA1AA4D74664CBF1D43981354769CC8C8D101F0D19E1D3EB2443A453A453A
+ 6E4C9506831D15763D8313831E44541E3D15135D3A761E3A4B8035441D151365
+ 6513131E1E1315CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCDDFFFCDB64640ABB1616EE076108E30B70
+ 3C181BED5B47C330045122E5294E270F02022B1C55238C00099738382CB33463
+ 05674A0178782EA199CC06215C210558A1F32FBF66AA4D4D4C75AA4D5C4D0610
+ BF1D4898134B3A913AC5940D7676C8837C7CA87B3A9C3A486E4C45983A1D1576
+ 3A1376D15DB2C6761E1E5D15765454354B80351E1D15133E3D151E833A65C0A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFDDDDFCFFFCFCFC640A0ABBBB16EEEE6108E30BB170181BED5B474230
+ 0451EA36294E272702022B62558C8C2AEC9739381FB3343305674A01782FD5C9
+ 79A866A8109F874A8DC6F30DA10D4D66AA666666AA06BFA1A11D9EBF549A9C3A
+ 83D7F578787BBDBD5648D4C90DD276833ABF76C94B441D761E769CC65978B67C
+ 54351E5D54545476763A1D761315374465153DD13E1365A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFF
+ FFFCFC64640ABB16160EEE610808E37070181BED5B4742300451EA36694E270F
+ 02022B62EF8C8C002AF239F71F1FB36333054A017858775CAB8B06791078A4C1
+ 0521587779A1A8A85C5C5C5C0DAA66A10D15C999A34B9C3A4B83F0BF5966486E
+ AA4CD198CC109E839C9EADD2C81E443A54139EF3C6785FB695764B4B4B5D5D5D
+ 763AC83A1E445D44156583D41E3E1EA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFFFCFC646464BBBB
+ 160EEE070808E3B1703CE886194742BE04042236694F27270F022B1CD6238C2A
+ 09F2C2381FB3B3633305674A01F024107B2FA1AB7901AB2E0599D42410107966
+ 5C5C5C5C7E0D0DA10DD78F2ECA95569148B6016701774D100D4CD24810065945
+ 595643A5AD54C8953E9EC9CC88C6CC83599EB2B2453A767654358335D7441E3E
+ 135D59995D76B26F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC64DB640ABBBB160EEE070808E3B1
+ 703CE886194742BE30512236694F27270F022B1CEF238C002AF297382C1F3463
+ 3305674A015824A8CF2F7BC9102E0D10C9BF107E66ABAB105C5C5CA8105C5C10
+ BF458F8BAD9D6E6E9E3A065906AA9D0D0DAA0D06BF9806599893143143C8C876
+ 48567DF0317B59594C9E489E48569C9C45959826C8C84B848399F57899454B6A
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFDDFFFFFC64646464BBBB160E0E076108E3B1703CE886194742BE
+ 04042236694F4E270F022B62EF23000009F239382CB3343305674A4A78879F8B
+ 249FCF7E7E0DAA664D754D064D4DB7664D4C4C4D06060606459E0D06B5843A3A
+ 959B48B03A984C934C4D954C9D4D9E4C4343933B43C85454CAD7CA3ACA845426
+ 3A6F6F3A833A3A3A4B26AA8444D7A3D7543D1E44545D37B40000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
+ FFFCFCFC640A0ABB160E0E076108E30B703C181BED5B604930042236694F4E27
+ 0F022B1CEF23002A0939382C1F3433054A0158879FA47B21CCA10DBFB7489195
+ 91726F4856987DC972B09AB06FB0B0B04445C835AD9A9A6FB0356A953A4B4C3B
+ 3A6F9AC84B9A4BC835268326434B544B54CAD7CACA985E43C89ACA9A9A353554
+ 4B9598B76FC89ACA3D5D76B6833E1D6A0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFC64640A0ABB
+ 1616EE070808E3E3B1703CE81B1947C3300422EA694F27270F022B1C5523002A
+ F2C2382C1F3433676701583194778B7BCC5C0D6606065F9B6E6EBD3AC8067B8E
+ 6EB5B0B0B0C880804435CAC5C89A6AB09AB09A80C53599A79572729A6F35C835
+ 1E35C8CA26C8354B6ACA4B1D440D7D8E6FC89A9A35CA1E35C580C83A35C5CA6C
+ 3D767610597613AE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFCFC640A0ABB160EEE0761610808
+ 08E3E3B17018ED4749045136694F4E270F022B1C5523002A0939381F1F343367
+ 677858739FA47BA85C5C0D4C5F9B9191726E72C826563B846E729A9A80356A6A
+ 801D4B356A80AC806A9A6AC8D73D3B8872726F806A806A6A35441E543E354435
+ B01D6FCACAAD7E95B56FC89A9ACACA353580CBC8AC6A4B353D7615BF76541ECB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDDFFFCDDFC0A0A0ABB160EEE07076107EE0E0E0EEE0708B11B
+ 473051EAE54F4E270F022B1C5523002A0939381FB33433674A015873772E8BCC
+ 5C66665F5F4C6F953A72B03ACAB73B546F3A1D806AB4C580B0B46AB46FB46AB4
+ 449A1D4435157D9880B09A8080C5C5C57C15443735351D351D441DCA1E4B0635
+ 6F6F44C8445D1D3E1D443E44541E1DC81E443E4BC81E54CB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
+ FCFFFC6464640ABB160EEE07077F71176B818181170316081B4204EA694F4E27
+ 0F022B1CD623002A0939381FB36333674A0158872F739F777B9F7BA81066A14D
+ 9B483AC815837ECAB43A3A6EC84C6F95484806486E4806483A953A6FC8152193
+ 6CB09A6ACBC5657C44351D5415C854547C541EC8D73A4844CA6FC515A95D3544
+ 1D3A35443E1E44C01E441D351E1D35CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFC6464640ABB
+ BB0EEE070781FEFEFEFEFEFEFEFEA60AE31904EAE54F4E270F022B621CEF8C00
+ EC97381F1F63333305676778788773739424A4249F79C9AB5C5CBF486C43AB84
+ 80064C4C9B5F664C485C065F5C0D6E5F4D4C75064C448F43B46A6F4B959C3AB2
+ 9CB2B29CB6B61D459C6F6F8ECA4C3A1DCACA6C9A4B4B1D1D1EC03A4B153A159C
+ 35441D4413C044A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC640A64BB160EEE0707CDFE7A
+ 82D36BCDFEFEFE17EE1B3022E5294F4E270F0F022BD655002A97381FB3343333
+ 33674A01015887947377247B7B2E218B10ABA806A34899CA954D489BAA48664C
+ 754D75BF064C75A10D454D9806CA8F26CA3548C8B2445D54C8543A359E35483A
+ 954B4593AD0D351D1DCAC56C1D134445761E1D833E3E3E1D351E1D3EC09244A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFCFC64640A0ABBBB160EEE07D312610808E3C4F4FEFEB8
+ 163C495136E5E56969294F4E270262232AF2381FB334333305670505782F8794
+ 942424014A947B7EA8A8CC98D75699A3B5484C0DAA774D669B7506664A78D1C6
+ 779E4C98BF3524841D3A6E541E3A75B676563A563A54F021BD4B45483AA1C51D
+ 6C4BC54410D5BF131D35BF4859D10D5D35353E3E15C044A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFF
+ FCDDFCDBDB64640ABBBB90EE07616161616108E3F6FEFEFEBB70425122220430
+ 604242490436271C0009F71F1F3433330505336301C1C1949F24335831059458
+ 79AB21A1CA437D844B0D0648D4A8F04C0D4CAABFF0F30188787E060DBF268DAD
+ A94CC85676D478884B3A3A8376450DF05F6E489DB598356A6CB0CA6CBF990676
+ 764483D1313A44445D5D3E3E131535A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5003030328FFFFFFFFFFFFFFFF
+ FF5003031AFFFFFFFFFFFFFFFFFF280303031AFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFF1A03030328FFFFFFFFFFFFFFFF28030350FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A030350FFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFF50030328FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A03031AFFFFFFFFFFFFFFFFFFFF
+ FF28030350FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF030303FCFC6464
+ FC0A16EE0761EE1A030316EE12FEFEFE50B1600404428670E68903890B1B0402
+ 23EC381F34343333336767670578873131948B01F301F52E215C990DD73A99CA
+ BD4C064C66F0AB0D740DBF9E8DF30501D20D4D9859842ECA6C5935B29C244A83
+ 45C83A7659C926F0064CB7959D4D9A6AC89ACA562E103A44C0440DD2249C354B
+ 5D351D1D15135DA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFF03A6FEFEFEFEFEFEB86B1AFFFFFFFF6BFEFEFEFEFEB871FF
+ FFFFFFFF17B8FEFEFEFEFEFE17FFFF03FEFEFE28FFFFFFFFFFFFFFFFFFFFFFFF
+ FFFF036BCDFEFEFEFEFECD32FFFFFFFF717AFEFEFEFECD6B28FFFFFFFFFEFEFE
+ 03FFFFFFFFFF81FEFE17FFFFFFFF6BFEFEFEFE82FF03FEFEFE28FFFFFFFFFFFF
+ 286BCDFEFEFEFE7A71FFFFFFFF03FEFEFEFFFFFFFFFFFFFFFFFF17FEFEFE03FF
+ FFFFFFFFFFFFFFFF71B8FEFEFEFE3217FEFE81FFFFFFFF037AFEFEFEFEFE17FF
+ FF03FEFEFEFFFFFFFF81FEFECD50286BFEFEFEFEB8FCCDFEFE03BB0E615081FE
+ FEFECD17BBFEFEFE03B147EB47A0A6FEFEFEFEFEFEB8D04E2309381F34343333
+ 336733673487942F24A424F0317B7B7D215CAB5CCA8399A33A0606AA31A49F06
+ 667445BFD4054A7B4D4D060D4D56CFCA3E453A3A76B2013A564BCA3A932E01D2
+ 484848B5B7486AB49AC844C8CCA13A3E1E35C8C9D54476765D1E1315C01D54CB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B
+ FEFEFEFEFEFEFEFEFEFEFE32FFFFFFB8FEFEFEFEFEFEFE71FFFFFF81FEFEFECD
+ 8181CDFE81FFFF03FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF286BFEFEFEFEFEFE
+ FEFEFE81FFFFFF6BFEFEFEFEFEFEFEFECD50FFFFFF7AFEFE03FFFFFFFFFF82FE
+ FE17FFFFFF71FEFEFEFEFE81FF03FEFEFEFFFFFFFFFFFF50CDFEFEFEFEFEFEFE
+ FE6BFFFFFF50FEFEFEFFFFFFFFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFFFFFF1A
+ CDFEFE8117173203FEFE81FFFFFF32FEFEFEFEFEFEFE81FFFF1AFEFEFEFFFFFF
+ 71FEFEFE32FF82FEFECD8217822881FEFE030A9050CDFEFEFEFEFEFE6BFEFEFE
+ 030B5B47E0CDFEFEFEF4D9F4FEFE2D272309381FB363333305674A67012FC194
+ 9F772E944AF02179795C10A1444B885DC8754D75BF7E4C064C4C9B06107821C9
+ 4D4D66665993ABC81D455654543A3A54B09A4B6F5624F00D5F48834806543E1D
+ 5D54351E1E351E1E3DD78399064B44765D5D139213653ECB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFEFE6B71033281
+ FEFEFEFE03FFFF827128FF1A7AFEFEA6FFFF17FEFECD17FFFFFFFF1A32FFFF03
+ FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF7AFEFEFECD82710303176B7AFFFF71FE
+ FEFE1728FF037AFEFEB828FFFF81FEFE71FFFFFFFFFF17FEFE82FFFFFF17FEFE
+ FE03FF71FF03FEFEFEFFFFFFFFFFFF7AFEFE7A03FF2817FEFEFE17FFFFFFFEFE
+ FEFFFFFFFFFFFFFFFFFF03FEFEFE03FFFFFFFFFFFFFFFF17FEFEB8FFFFFFFF1A
+ FEFE7AFFFF1ACDFEFE7A71FFFF1A32FFFFFFFEFEFEFFFF28B8FEFE6BFFFFCDFE
+ FE32DDDDDB646BFEFE710A1681FEFECD32EEC4D3FEFEFEFE030BEDFACDFEFE81
+ 9647305151E0E0028C09381F34B3330505674A0178878731249FA4A4247B108B
+ 10AB21BF35450D546EAA744859069E0606BD594C48C9064C4DAA75754D14211D
+ 54487676543A353A3A9A4BCA3A59453A95B25643BF541D929C3E441D761D5D35
+ D7541E35134B3A541E1E3DC01D4465CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF7AFEFEFE17FFFFFFFFFF6BFEFEFE6BFFFFFF
+ FFFFFFFF82FEFEA6FFFFB8FEFE17FFFFFFFFFFFFFFFFFF1AFEFEFEFFFFFFFFFF
+ FFFFFFFFFFFFFF17FEFEFE8128FFFFFFFFFFFFFFFFFFB8FEFE17FFFFFFFF28CD
+ FEFE17FFFF81FEFE17FFFFFFFFFF17FEFE81FFFFFF17FEFEB8FFFFFFFF1AFEFE
+ FEFFFFFFFFFF32FEFECD28FFFFFFFF17FEFECDFFFFFFFEFEFEFFFFFFFFFFFFFF
+ FFFF03FEFEFE03FFFFFFFFFFFFFFFF17FEFE7AFFFFFFFFFFFEFEFEFFFF17FEFE
+ CD28FFFFFFFFFFFFFFFFFEFEFEFFFF82FEFEB828FFFFFEFEFE71FFDD646417FE
+ FE170A7FFEFEFE3290E3703CD3FEFEFE03E31BC7FEFEB8C4190436294F4E0F2B
+ 8C2AC21F3434333305674A017887C19F9F9FA48B8B21797B5C797BBF35565E54
+ C84D664C750659590D6EBFAABF1010994D660666B798211D92483A4576453E3A
+ C86E4B9D459A4583B2594C83C9C81EC5441E4B5D5D131D3ED73ED74B3E441E54
+ 1D1E3E133E3E3DCB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFEFEFEFEFFFFFFFFFFFF28FEFEFEB8FFFFFFFFFFFF71CDFEFE71
+ FF50FEFEFE28FFFFFFFFFFFFFFFFFFFFFEFEFE03FFFFFFFFFFFFFFFFFFFFFFCD
+ FEFEB828FFFFFFFFFFFFFFFFFF1AFEFEFE1AFFFFFFFFFF82FEFE81FFFF17FEFE
+ 17FFFFFFFFFF17FEFE81FFFFFF71FEFE7AFFFFFFFFFFFEFEFE03FFFFFFFF6BFE
+ FE6BFFFFFFFFFF28FEFEFE03FFFFFEFEFE03FFFFFFFFFFFFFFFF03FEFEFE03FF
+ FFFFFFFFFFFFFF1AFEFEFEA61AFFFFFFFEFEFEFFFFA6FEFE6BFFFFFFFFFFFFFF
+ FFFFFEFEFEFF50FEFEFE50FFFFFF6BFEFECD32FFFCFC17FEFE170A03FEFEFE28
+ 070B18E818B8FEFE0308E8D8FEFE820B4704223636694F0FD600971FB3343333
+ 330501782F582F9494772E2E2E778BA8AB10107ECA8399264D4D4D0694F0774C
+ 4C0D4C749F78D5C6934D5F0D95AB999C765935C8CCD4BF4B4CACB5C8458BC976
+ 9C5643AD7D4B35353A5444C910CC834B26458821593E1576445D1E3E653E1DB4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFE
+ FE7AFFFFFFFFFFFFFF7AFEFEFEFFFFFFFFFF82FEFEFE17FFFF03FEFEFEFFFFFF
+ FFFFFFFFFFFFFFFFFEFEFE03FFFFFFFFFFFFFFFFFFFF03FEFEFE32FFFFFFFFFF
+ FFFFFFFFFF03FEFEFEFFFFFFFFFFFF03FEFEFEFFFF17FEFE82FFFFFFFFFF03FE
+ FE7AFFFFFF03FEFEFEFFFFFFFFFFFEFEFE03FFFFFFFF81FEFE17FFFFFFFFFFFF
+ 81FEFE17FFFFFEFEFE03FFFFFFFFFFFFFFFF03FEFEFE03FFFFFFFFFFFFFFFFFF
+ 32CDFEFEFE7A825081FEFE50FF81FEFE17FFFFFFFFFFFFFFFFFF81FEFE507AFE
+ FE17FFFFFFFF2881FEFEFECDA63271FEFEA60A03FEFEFE6407B1181B1BD8FEFE
+ 170818D9FEFE17613C86195B191947040F8C972CB33463050567014A4A582FC1
+ 87949F778B8B2E211010A15C3593A58E6F4C759B2EF0871010060D7B2105F32E
+ 934C5FA1B5A521B21E483A547BD51006BD7EA1BF4DAB24B23A839E06314C4B76
+ 1E443AD424CCB2984310D4993A1E3E3E5476541E5D5D5D9A0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE81FFFFFFFFFFFF
+ FF81FEFEFEFFFFFF2881FEFECD71FFFFFF03FEFEFEFEFEFEFEFEFEFEFEFEFFFF
+ FEFEFE03FFFFFFFFFFFFFFFFFFFF17FEFEFE1AFFFFFFFFFFFFFFFFFFFF03FEFE
+ FEFFFFFFFFFFFF03FEFEFEFFFF17FEFE81FFFFFFFFFF03FEFEFEFFFFFF03FEFE
+ FEFFFFFFFFFFFEFEFE03FFFFFFFF81FEFE17FFFFFFFFFFFF81FEFE17FFFF81FE
+ FE03FFFFFFFFFFFFFFFF03FEFEFE030317177128FFFFFFFFFF28177AFEFEFEFE
+ CDFEFE03FF81FEFE17FFFFFFFFFFFFFFFFFF81FEFE82FEFECDFFFFFFFFFFDDFC
+ 036BCDFEFEFECDFEFE810A1AFEFEFE1AEE0B18861BD3FEFE170818D9FEFEFEFE
+ FEFEFEFEFEFEFEF1E523F22C341F2C0505674A34344A2F582FC17394777777A4
+ A87910C94B99BC140666AA06A40178AB5C77A8AB8B01D421AA66BFBF8EF53F54
+ 4C5656592FD421985C105C06D578CC4C064C595E8D9326765D0D31D421B6590D
+ 06998DBF3A459C7654545D1E5D5D54B00000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF81FEFEFEFFFFFFFFFFFFFF82FEFEFE28FFFF
+ 81FEFE7A1AFFFFFFFFFFFEFEFE710303030317FEFEFEFFFFFEFEFE17FFFFFFFF
+ FFFFFFFFFFFF17FEFEFEFFFFFFFFFFFFFFFFFFFFFF28FEFEFE71FFFFFFFFFF32
+ FEFEB8FFFF17FEFEFE28FFFFFFFF71FEFEFEFFFFFF28FEFEFEFFFFFFFFFFFEFE
+ FE17FFFFFFFF82FEFE7AFFFFFFFFFFFFB8FEFE32FFFF81FEFE03FFFFFFFFFFFF
+ FFFF03FEFEFE03B8FEFEFEFE82FFFFFFFFFFFFFF280382B8FEFEFE32FF82FEFE
+ 7AFFFFFFFFFFFFFFFFFF81FEFE717AFEFE32FFFFFFDDDDFCFCDBDB5032A6FEFE
+ FEB80A16B8FEFE17BB0870E8E8D3FEFE17081BF1FEFEA60389892D89F4FEFED3
+ 22D6092CB3B31F0533674A05057858783131949F949F2E8BAB7921A15699A55E
+ B5060DA1BF7979A106A8BFBF0DAB0DBF66BFBF0693525243543A4C062106489E
+ 9DAA9D4C7910BF9E599E458E98C8CA1E4B98CC48454B3A13C8D74C4B5D1E1D3E
+ 1E1E3E3D653E3EC50000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF81FEFEFEFFFFFFFFFFFFFF17FEFEFE03FF50FEFEFE28FFFFFFFF
+ FFFFA6FEFE32FFFFFFFF32FEFEB8FFFFFEFEFECD50FFFFFFFFFFFFFFFFFF17FE
+ FEFEFFFFFFFFFFFFFFFFFFFFFFFFA6FEFEA6FFFFFFFFFF81FEFE6BFFFF71FEFE
+ FEA6FFFFFFFFA6FEFEFEFFFFFFFFFEFEFE28FFFFFFFFFEFEFECD50FFFFFF50FE
+ FEFE50FFFFFFFF03FEFEFE1AFFFF81FEFE03FFFFFFFFFFFFFFFF1AFEFEFE71FE
+ FEFEFEFEFE6BFFFFFFFFFFFFFFFFFF28B8FEFE17FF71FEFEFE03FFFFFFFFFFFF
+ FFFF81FEFE0350CDFEFE71FFFFDDFCFCDBDBDB64FC6417FEFEFE0A0ED3FEFECD
+ 500E08B1B1D3FEFEA6611BA0FEFEB8EE3C5B4786B8FEFEC7E5F9F21FB36363F3
+ 67670178F087879424A42E8B7B21A879795C2166B75E5E14B774B74DBD4C4856
+ 4C9D564D9E454C4C93489B59143B53A73A3A5435763AC8C8B0CA3AB54B3A3A4B
+ 4B5683AD434B26353E1D1D1E1E444435C813484B76351D445D1E1D3D3E1315CB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6FE
+ FEFEFFFFFFFFFFFFFF17FEFEFE03FF03FEFEFE17FFFF1A32FFFF03FEFECD03FF
+ FF287AFEFE17FFFFFEFEFEFECD821703FFFFFFFFFFFF71FEFEFE71FFFFFFFFFF
+ FFFFFFFFFFFF50FEFEFEA61AFF1A6BFEFEFE50FFFF03FEFEFEFEB882177AFEFE
+ FECDFFFF5003FEFEFE17030328FFFEFEFEFECD821703FFA6FEFECD32FFFF71CD
+ FEFEA6FFFFFF81FEFE71FFFFFFFFFFFFFFFFFFFEFEFE7128FF507AFEFEFE03FF
+ FF0328FFFFFFFFFFB8FEFE17FFFF7AFEFECD3228FF280303FFFF81FEFE03FF32
+ FEFECD50FFDDFC1A50DDFCFC64DB32FEFEFEBBEE617AFEFECD321AEEEE6BFEFE
+ 81611960D9FEFE6BC43C18F6FEFECDD02700392CB36333674A01F058D1C1872E
+ 8B79C90DBFBF754D4D4D56954556459E453B7D1480373E1E1E3544134435443E
+ 6C443E5D253FA7C945441D1E3E441E1D443E3E44443E44543BA13A8044921313
+ 13923E15153E153E1515351D1D54C0C09265A9A9C09213AE0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFE1AFFFFFFFFFF
+ FF03FEFEFE03FFFFB8FEFEFEFEFEFECDFFFFFF32FEFEFE7A81FEFEFE7A28FFFF
+ FEFEFE7AFEFEFE17FFFFFFFFFFFF28FEFEFE6BFFFFFFFFFFFFFFFFFFFFFFFF32
+ FEFEFEFEFEFEFEFEFE32FFFFFF03FEFEFE81FEFEFEFEFEFEFE82FFFF81FEFEFE
+ FEFEFEFE03FFFEFEFE7AFEFEFE17FF287AFEFEFEFEFEFEFEFE7A28FFFFFF81FE
+ FE17FFFFFFFFFFFFFFFFFFFEFEFE03FFFFFF28CDFEFE6BFFFF82FE7A6B17177A
+ FEFEFE50FFFF50CDFEFEFEFEFEFEFE17FFFFA6FEFE32FFFFA6FEFEB828FCDB28
+ FECD8117176BCDFEFEA6166108C47AFEFEFEFEFEFEFEFEFEB8E3473096F4FEFE
+ CD81B8FEFEFEC72262F2381F3433054A7858C17331319F7BC975B648B245956F
+ C84B35449A9ACACA543B3B841DAC1313921D13921D1D151D6C1D1D3D3D3B983A
+ 1E13131D1D131D1315C0C01313C015138E5615B4CB15151513C03E133D65C015
+ 131544C51D15A9C09265C013651365A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFF03FEFEFE17FFFF
+ 5081FEFEFEFEFE6BFFFFFFFF037AFEFEFEFECD6B28FFFFFFFEFEFE716BFEFE17
+ FFFFFFFFFFFFFF6BFEFEFE03FFFFFFFFFFFFFFFFFFFFFFFF1A6BFEFEFEFEFEA6
+ 03FFFFFFFF03FEFEFE2882CDFEFEFECD82FFFFFF81FEFEFEFEFEFEFE03FFFEFE
+ FE716BFEFE17FFFFFF32B8FEFEFEFEB81728FFFFFFFF6BFEFE17FFFFFFFFFFFF
+ FFFFFFFEFEFE03FFFFFFFF81FEFE81FFFF0381CDFEFEFEFEFEB871FFFFFFFF1A
+ 6BFEFEFEFEFECD50FFFF17FEFE17FFFF28CDFEFE7A28DBDB6B7AFEFEFEFEFEFE
+ 6B7F0708E30BE3F67AFEFEFEFEFEFEFEF418EB512296F8CDFEFEFEFEF432510F
+ 009738B33433674A015831D4319F8BA85C0DBF064D4D4C4856454B6F6FB044B4
+ 3D3B5E3DAC7C3554C83A3A83453A3A56953A9C76A37D986A133E441E35444435
+ 764B4B7676C8544B439D1D1DC53537445D1E545D4B3A5D545D5435763792135D
+ 3E1E651E1E3E1ECB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFF03FEFEFE17FFFFFFFF28030350FFFF
+ FFFFFFFFFFFF28030350FFFFFFFFFFFFFFFFFFFFFF1A031AFFFFFFFFFFFFFF1A
+ CDFEFECD71FFFFFFFFFFFFFFFFFFFFFFFFFFFF030303FFFFFFFFFFFFFFFFFFFF
+ FFFFFFFF500303FFFFFFFFFFFFFF81FEFE03FFFFFFFFFFFFFFFFFF1A031AFFFF
+ FFFFFF1A03031AFFFFFFFFFFFFFF17FEFE17FFFFFFFFFFFFFFFFFFFEFEFE03FF
+ FFFF28CDFEFE81FFFFFFFFFF2803030328FFFFFFFFFFFFFFFFFF0303031AFFFF
+ FFFF17FEFE17FFFFFFFFFFFFFFFCFC640A646450030350BB16EE61E30BB17070
+ 700B89898989FBE819C351E5693622300C2D2D9604690FF92AF2382CB3B33305
+ 4A01739FC131217B7B79CCA8C910C910AB10107EA10D4D3A3D995E3D3A914556
+ 484C5906064C9E064C480659A38F0DAC4476764B3A3A4B4556459C4545454545
+ 5E9D441D7C355D35C8545454544B4B4B544B6A7637A9655D4B5D1E5D443E1EB4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FE
+ FEFE03FFFFFFFFFFFF28FEFEFE17FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32FEFEFEFE7A1703
+ 0371177A03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFE32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFE17FFFFFFFFFFFFFFFFFFFEFEFE6B171717B8FEFEFE17FF
+ FFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFE17FFFF
+ FFDDFCFFFFDBDB640A0A0ABBBB1616EE0761080BB1703C18E81B86ED195B6049
+ 0451364F4E4E4E4E4E4E4E270F2B55000939F72CB3346305674A317731C18BD5
+ 8B7BCC79A810A8A8C90D0D66660D75B55D7D5EA39B919C564548489E064C484C
+ 7448065954B95E6C353A76C83A833A45953A3A3A3A4545457E3A44923A443554
+ 35C8C8C854355454543A3580C5921E651E13445D3E441ECB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03FEFEFE17FFFFFFFFFF
+ FFFFFEFEFE6BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03CDFEFEFEFEFEFEFEFEFE28FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A17
+ 8117FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FE
+ FE81FFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFE7A28FFFFFFFFFFFFFCFCFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEA6FFDDFFFFFFFCFCFCDB64
+ 0A0ABBBB900EEE076108E30B703C18E886195B4742EB30512236294E270F0F0F
+ 02022B62552300EC9739381FB3346333674A312431877B248B7979A8C9105C7E
+ A8A17EA10D107E9B1E7D5EA34D91484556B64848590659594D4C7598265206AC
+ 543A76544B833A7645459595569E9E483BADCACB9C351E541EC8547676C83A76
+ 263AC8356C151E5D1D137676445D54B40000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF03FEFEFE17FFFFFFFFFFFFFFFEFEFE81FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFF28177AFEFEFEFEFEFE7AFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFE81FFFFFFFFFFFF
+ FFFFFFFEFEFEFEFEFEFEFECD6B28FFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFF17FEFE81DDFFDDFCFFFFFCDB640A0ABB16160EEE0761
+ 0808E3B1703CE886195B4742BE04512236294F4E270F02022B1CEF232300ECF2
+ C2F7381FB3346305674AC1D49F877BD2A47B21A85C105C7E5C0D7E7EAA7E0D6E
+ 3E7D7EA34D9B064548065956484C4C4C4D4D060684B99DB4763A453A4B45B276
+ 3AB5B595489EB79D93C86C1D4BB21E35459544CA9A9A956F263580ACCB923E45
+ 45560DB63E5D54B40000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF03030350FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDDFFFCFCFC0AFC640A0ABB16160EEE076108E30B707018E886
+ 19476049300451EA36294E270F0F022B1C1C238C8CECEC09C2382C1FB3633305
+ 674A58D49F2F7B24A48BABA85C10A1667E667E7E665C5C481E8B99A34C9BBF26
+ 59A10D9EB24C5959AA7575982552BDAC3A45B6483A48593A6F3A95BD4874483A
+ CAC86CB03A10B2458BC93A9A9A9A569556353AB0C5C5C888CCCCD5BF1D4435B4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFC
+ FFDBFFDB640A0ABBBB161690EE07610808E3B1703C181BED5B4742BE30042236
+ E54F4E270F0F022B1CEF238C00EC0909C2382C1F3463330567675894242FD2D5
+ CF2F8B7B2F87BFA1A1060D5CA17EA19B843F3BCA759B2F569888C12659598359
+ 4D750D14145206AC3A83F00688F02E2626AD833A4C4559569845352644D47B99
+ 8B4DCACA4B4B4B3A9C9C06B2441E1ED5CC8B103A134435CB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFCFCFFFFFCFFFFFFFFFFFFFFFCFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDFCFCDB0A0A0A0A
+ BB16160EEE076108E30B703C3CE886195B60493004512236694F27270F02022B
+ 1C55238C002A090939F72C1F34630505674A5894C1D1D49FA44A9F2158F00D7E
+ ABA1A1A166A1A14D938F3F25069B012EA17B2EB74C4C7498064806433BF55E6A
+ 454CD5CC06310D3A9595957645455999D2481D9A3A9F217EC99EC8C8264BC84B
+ 35060D4544541D06764545C83554C8AC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFCFCFCFCFFFCFCFCFCFCFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFDDFCFC640A0A0A0ABB1690EE070761E3
+ E30B703C181B86194760BE3004513636294E27270F022B621C558C0000EC0909
+ C2382C1F34633305674A58942F53312E24672F2E2F2FA8A85C667566660D0D4D
+ 1453528E069B77D55C775C66749B74744DB5BF433FBC3B6E489BA87B4C214C9B
+ 56489B48484893B97B484B4BD79D4B5606B7BD95BDB54BC88EAB5992A96F9A4B
+ 56959556454B44CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFC
+ FCFCFCFFFFFFFCFCFFFFFFFFFCFFFFFCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFCFCFC640A0A0ABBBB16160E07076108E30BB1703CE81B195B
+ 47C3BE30042236E54F4E270F0F022B62D6558C8C002A09F239382C1F34630505
+ 67017824C1AFA52E8B77777777A48B79AB1010105C5C664D5EAF5384065F7510
+ 667BAAAB7E0D7E0D0D4CBFB7B9535E6A729AAA7E66667E5C7EA1A1759B488EA5
+ A49DCAC8BD4D744D4D4D4D4C74B79DB5A3B98F06CACAB06E3AC8C83A954BC8AC
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFCFF
+ FCFFFFFCFCFFFCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCDB0A0A0ABBBBBBBB90EE07610808E30B7070181B8619476049300451223669
+ 4F4E270F02022BD6EF558C002A09F2C2F7382C1FB3633305674A7894C111BCCF
+ 7B798B77A48BA4A42E2E7B79A85C064DB96DAF14B79B5F0D7EA87E7979A85C5C
+ 7E0648AAF5BCB9747472064D66747E66AA4D5F6EB59314BCAFA44C9AB0B5849A
+ 84B5BD3A3ABD48B7A75A5AF57B0659757E7E5C5CC99979790000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFFFCFFFFFCFCFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCDB64640A0ABBBBBB
+ 1690EE076108E30BB1703CE81BED194742493004222236294F270F0F022B62EF
+ EF238C00ECECF2C2F7382C1F3463330567012F2F5A1185A48B2EA421A47B218B
+ 7979A85C5C66665CAF5A6D53C94CAA06664DAAAAAA4D4D4D14064C79BCBAF577
+ 9DB572B5B5729DB574744D4D6610D45AFDAF01C1772E9FC1C12FF0014ABCAFBA
+ 5AFDFD6D5A5A5A5A5A5A5ACEBACE5A2C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFFFFFCFCFCFCFCFFFFFCFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFDDFFFFFFFFFFFFFFFFFFFFDDDBDBDB640A0A0ABBBBBB16EEEE616108E30B
+ 703C3C1B86ED4760C330040422EA69294E270F0F022B621C55238C002A09F2C2
+ F72C1FB334330505670178F31111110524D22E21D221AB10AB79AB1079792EF0
+ FD6DFD6D0587318F3131C12FA5F07801F0010185BA6D5AAF0101F5BC058585BA
+ BABACEBACEBA5A6DFDFDFDFDFDFD6D5A5A6D6DFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCDBDBDBDBDB
+ DBFCFFFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFCFCFCFCDB640A0ABBBBBBBB160EEE076108E3E30B703C181B865B4760
+ C33004512236294F4E270F02022B1CEF23238C00EC0909E78A39F738112C2C1F
+ CECE6D41111111FD5ACE5A6D6D6D6D5A5A5A5A5A5A5A6DFDFDFDFDFDFDFD6D6D
+ 5A6D5A6D5A5A5A5A5A5A5AFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFFFCFCFCFC
+ FCFCFFFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBFCFCDB
+ 640ABBBBBB16160EEE07616108E30B70703CE81B195B47C3BE040422EAE5294E
+ 27270F022B621CEF238C8C00ECECEC6868E78A8A464646414141411111111111
+ 1111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
+ FCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFCFCFCFCFCFCFCFCFCFFFCFCFFFF
+ FFFFDDFFDDDDFFFFFFFFFFFFDDFFFFFFFFFFFFFFFCDBDB64640A0ABBBB16160E
+ EE07610808E3B1703C181BED194760493004512236E54F4E270F0F022B1C1C55
+ 238C00ECECECEC09688A8A8A4646464141414111111111111111FD1111FDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBDBDBDB
+ DBDBDBDBDBDBDB6464FCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFDDFFFFFFFFFFFF
+ FFFFFFFFFCDDFFFFFCFFFFFCDB64640A0A0ABBBBBB160EEE07610808E30B7070
+ 3CE81B195B4742BE300451EAE5294F4E270F02022B1C1C558C8C0000ECEC6868
+ E78A8A46464646414141411111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB6464646464
+ 64FCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFDDDDFFFFDDFFFFFFDDFFFFFFFFFFFC
+ FFFFFCFCFCFC640A0A0ABB1616160EEE076108080B0B703CE81B86194760C3BE
+ 04512236E54F4E270F0F022B2B1CEF8C8C0000ECECEC0909DCE7464646464141
+ 4111411111111111FDFD11FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB646464646464FCFC64FCFCFCFCFC
+ FCFCFCFCFCFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBFCDBDBDB0A0A
+ 0ABB1616160E0E07616108E30B70703CE886195B474249305151223669294E27
+ 0F0F022B2B1CEF238C8C0000ECEC096868E7E78A8A4646414141414111411111
+ 1111111111111111111111111111111111111111111111111111111111111111
+ 1111111111111111111111111111111111111111111111111111111111111111
+ 11111111111111111111111111111111111111111111118A0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFCFCFCFCFCDB
+ DBDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A646464646464DBFCFCFCDBFCDBFFFFFF
+ DDDDFFDDFFFFFFFFFFFFFFFFFFFCFCFCFCFFFCDBDB0A0A0ABBBB160E16EEEE07
+ 070808E30BB13C3CE81B86194760C3BE3004512236E54F4E4E270F0F022B2B1C
+ 1C55558C8C8C0000002A2AECECEC09EC09096868686868686868DCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCEC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB
+ DBDBDBDBDBDB64DBDBDBDBDBDBDBDBFCFCDBFCDBFFFFFFFFFFFFFFDDDDFFFFFF
+ FFFFFFFFFFFCFCFCFCFCFCDBDBDBDB640A0ABBBBBB160EEEEE07616108E3E3B1
+ 703C18181BED195B4760C349303004515122EAEAE5E529294F4F4E4E27272727
+ 270F0F0F0F0F0F0F0F0202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 020202020202020F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDDFCFCFCFCFCFCFCFCFCDD
+ DDDDDDDDDDFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFC640A0A0A0A0ABB161616900EEE0707610808E3E30B0BB170
+ 3C3C3C18E81B1B86EDED19195B5B4747474760604242C3C3C3C3494949494949
+ EBEBEBBEBEBEBE30BEBE30303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303049
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFDDDDFCFCFCFCFCFCFCFCDBDBDBDBDDFCFCFCDDDDFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDDFCFC64
+ 640A0A0A0ABB161616900EEE070761080808E3E30BB17070703C3CE81B1B1B86
+ ED1919195B5B4747476060424242C3C3C3494949494949EBBEEBBEBEBEBE3030
+ BE30303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030490000FCFCFCFCFCFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB
+ DBDB6464646464640A0A0A0A0A0A6464646464DBDBDBDBDBDBDBDBFCFFFFDDDD
+ FFDDFFFFFFFFFCFFFFFFDDFFFFFCFCFCFCDBDBDBDB640A0ABBBBBBBB16EEEE07
+ 610808E3E3B170703C181B86ED195B4742C3BE300404512222EA36E529294F4F
+ 4E4E4E272727270F0F0F0F0F0F0F020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020F0000FCFCFCFCFCFCFCFCFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCDBDBDBDBDBDBDB64640A0A0A0A0ABBBBBB
+ BBBBBBBBBBBB0A0ABB0A0A0A0A0A0A0ADB64FCFCFCFFDDDBFFFFDDFFFFFFFFFF
+ FFFFFCFFFFFFFC64DBDBDB0A0A0ABB161690EEEE07070808E30BB1703C181B1B
+ 195B476049300451512236294F4E27270F0F022B2B1C1CEF558C8C0000000000
+ ECECECECECEC09090968686868686868DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCEC0000FCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFF
+ FCFCFCFCFCFCDBDBDBDBDBDBDB640A0A0A0A0ABBBBBBBBBBBBBBBBBBBBBBBBBB
+ BB0A0A0A0A0A640A6464DBFCFCDDFCFFDDFCFFFFFFFFFFFFFFFFFFFFFFFCDBFC
+ 640A0A0ABBBBBBBB900EEE07616108E3E30B703C18E81B191947604930040451
+ 223669294E27270F02022B2B621CEF55238C8C00000000ECECECEC0909096868
+ 68E7E768E7E78AE7E78A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
+ 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
+ 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8AEC
+ 0000}
+ Login.LeftImage.Data = {
+ 07544269746D617016090000424D160900000000000036040000280000003200
+ 0000180000000100080000000000E00400000000000000000000000100000000
+ 000000000000000080000080000000808000800000008000800080800000C0C0
+ C000C0DCC000F0CAA6000020400000206000002080000020A0000020C0000020
+ E00000400000004020000040400000406000004080000040A0000040C0000040
+ E00000600000006020000060400000606000006080000060A0000060C0000060
+ E00000800000008020000080400000806000008080000080A0000080C0000080
+ E00000A0000000A0200000A0400000A0600000A0800000A0A00000A0C00000A0
+ E00000C0000000C0200000C0400000C0600000C0800000C0A00000C0C00000C0
+ E00000E0000000E0200000E0400000E0600000E0800000E0A00000E0C00000E0
+ E00040000000400020004000400040006000400080004000A0004000C0004000
+ E00040200000402020004020400040206000402080004020A0004020C0004020
+ E00040400000404020004040400040406000404080004040A0004040C0004040
+ E00040600000406020004060400040606000406080004060A0004060C0004060
+ E00040800000408020004080400040806000408080004080A0004080C0004080
+ E00040A0000040A0200040A0400040A0600040A0800040A0A00040A0C00040A0
+ E00040C0000040C0200040C0400040C0600040C0800040C0A00040C0C00040C0
+ E00040E0000040E0200040E0400040E0600040E0800040E0A00040E0C00040E0
+ E00080000000800020008000400080006000800080008000A0008000C0008000
+ E00080200000802020008020400080206000802080008020A0008020C0008020
+ E00080400000804020008040400080406000804080008040A0008040C0008040
+ E00080600000806020008060400080606000806080008060A0008060C0008060
+ E00080800000808020008080400080806000808080008080A0008080C0008080
+ E00080A0000080A0200080A0400080A0600080A0800080A0A00080A0C00080A0
+ E00080C0000080C0200080C0400080C0600080C0800080C0A00080C0C00080C0
+ E00080E0000080E0200080E0400080E0600080E0800080E0A00080E0C00080E0
+ E000C0000000C0002000C0004000C0006000C0008000C000A000C000C000C000
+ E000C0200000C0202000C0204000C0206000C0208000C020A000C020C000C020
+ E000C0400000C0402000C0404000C0406000C0408000C040A000C040C000C040
+ E000C0600000C0602000C0604000C0606000C0608000C060A000C060C000C060
+ E000C0800000C0802000C0804000C0806000C0808000C080A000C080C000C080
+ E000C0A00000C0A02000C0A04000C0A06000C0A08000C0A0A000C0A0C000C0A0
+ E000C0C00000C0C02000C0C04000C0C06000C0C08000C0C0A000F0FBFF00A4A0
+ A000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFF
+ FF00FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD525252525252525252525252
+ 5252FDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDAFB75E5E5E66666767676F6F6F6FB752FDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBF
+ BFBFBFBFBFBFBFBFBFB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFB76F676F6FB7B7B7B7B7776F5EB752FD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBFBFB752FDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFB76F676F6F6FB7B7
+ B7B7776F5EB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBFBFBF52FDFDFDFDFD
+ 0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAF
+ B76767676F6F6FB7B7B7776F5EB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBF
+ BFBF52FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDAFB76767676F6F6F6FB7B7776F5EB752FDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBF
+ BFBFBFBFBFBFBFBFBFBF52FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBFB7AFAFB7B7B7B7BFBFBFBFB7B752FD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDAFB76F675E5E5E5E5E5E676FB7A5FDFDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F79BFDFDFDFD
+ FDFDA4F7A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDF7F79BFDFDFDFDFDFDA407A3FDFDFDFDFDFDFD
+ 0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDF7F79BFDFDFDFDFDFDA407A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F7A4FDFDFDFDFDFDF707
+ A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDF707A49AFDFDFDFDA30707A3FDFDFDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F6A4
+ A49B9A9AA3A407079AFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F6F7F7A4A4F70707A3FDFDFDFD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDF7F6F6F6F6F607A3FDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7A3A3A3
+ A3A3FDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ 0000}
+ Log.WindowCaption = 'Seguran'#231'a'
+ Log.LabelDescription = 'Log do Sistema'
+ Log.LabelUser = 'Usu'#225'rio :'
+ Log.LabelDate = 'Data :'
+ Log.LabelLevel = 'N'#237'vel m'#237'nimo : '
+ Log.ColLevel = 'N'#237'vel'
+ Log.ColMessage = 'Mensagem'
+ Log.ColUser = 'Usu'#225'rio'
+ Log.ColDate = 'Data'
+ Log.BtFilter = '&Aplicar Filtro'
+ Log.BtDelete = '&Excluir Log'
+ Log.BtClose = '&Fechar'
+ Log.PromptDelete = 'Confirma excluir todos os registros de log selecionados ?'
+ Log.PromptDelete_WindowCaption = 'Delete confirmation'
+ Log.OptionUserAll = 'All'
+ Log.OptionLevelLow = 'Baixo'
+ Log.OptionLevelNormal = 'Normal'
+ Log.OptionLevelHigh = 'Alto'
+ Log.OptionLevelCritic = 'Cr'#237'tico'
+ Log.DeletePerformed =
+ 'Deletion of system log done: User = "%s" | Date = %s a %s | Leve' +
+ 'l <= %s'
+ UsersForm.WindowCaption = 'Seguran'#231'a'
+ UsersForm.LabelDescription = 'Cadastro de Usu'#225'rios'
+ UsersForm.ColName = 'Nome'
+ UsersForm.ColLogin = 'Login'
+ UsersForm.ColEmail = 'Email'
+ UsersForm.BtAdd = '&Adicionar'
+ UsersForm.BtChange = 'A<erar'
+ UsersForm.BtDelete = '&Excluir'
+ UsersForm.PromptDelete = 'Confirma excluir o usu'#225'rio "%s" ?'
+ UsersForm.PromptDelete_WindowCaption = 'Delete user'
+ UsersForm.BtRights = 'A&cessos'
+ UsersForm.BtPassword = '&Senha'
+ UsersForm.BtClose = '&Fechar'
+ AddChangeUser.WindowCaption = 'Cadastro de Usu'#225'rios'
+ AddChangeUser.LabelAdd = 'Adicionar Usu'#225'rio'
+ AddChangeUser.LabelChange = 'Alterar Usu'#225'rio'
+ AddChangeUser.LabelName = 'Nome : '
+ AddChangeUser.LabelLogin = 'Login : '
+ AddChangeUser.LabelEmail = 'Email : '
+ AddChangeUser.CheckPrivileged = 'Usu'#225'rio privilegiado'
+ AddChangeUser.BtSave = '&Gravar'
+ AddChangeUser.BtCancel = 'Cancelar'
+ AddChangeProfile.WindowCaption = 'Perfil de Usu'#225'rios'
+ AddChangeProfile.LabelAdd = 'Adicionar Perfil'
+ AddChangeProfile.LabelChange = 'Alterar Perfil'
+ AddChangeProfile.LabelName = 'Descri'#231#227'o : '
+ AddChangeProfile.BtSave = '&Gravar'
+ AddChangeProfile.BtCancel = 'Cancelar'
+ UsersProfile.WindowCaption = 'Seguran'#231'a'
+ UsersProfile.LabelDescription = 'Perfil de Usu'#225'rios'
+ UsersProfile.ColProfile = 'Perfil'
+ UsersProfile.BtAdd = '&Adicionar'
+ UsersProfile.BtChange = 'A<erar'
+ UsersProfile.BtDelete = '&Excluir'
+ UsersProfile.BtRights = 'A&cessos'
+ UsersProfile.PromptDelete = 'Existem usu'#225'rios com o perfil "%s". Confirma excluir?'
+ UsersProfile.PromptDelete_WindowCaption = 'Delete profile'
+ UsersProfile.BtClose = '&Fechar'
+ Rights.WindowCaption = 'Seguran'#231'a'
+ Rights.LabelUser = 'Permiss'#245'es do Usu'#225'rio : '
+ Rights.LabelProfile = 'Permiss'#245'es do Perfil : '
+ Rights.PageMenu = 'Itens do Menu'
+ Rights.PageActions = 'A'#231#245'es'
+ Rights.BtUnlock = '&Liberar'
+ Rights.BtLock = '&Bloquear'
+ Rights.BtSave = '&Gravar'
+ Rights.BtCancel = '&Cancelar'
+ ChangePassword.WindowCaption = 'Seguran'#231'a'
+ ChangePassword.LabelDescription = 'Trocar Senha'
+ ChangePassword.LabelCurrentPassword = 'Senha Atual :'
+ ChangePassword.LabelNewPassword = 'Nova Senha : '
+ ChangePassword.LabelConfirm = 'Confirma'#231#227'o : '
+ ChangePassword.BtSave = '&Gravar'
+ ChangePassword.BtCancel = 'Cancelar'
+ ResetPassword.WindowCaption = 'Definir senha do usu'#225'rio : "%s"'
+ ResetPassword.LabelPassword = 'Senha : '
+ XPStyleSet.DimLevel = 30
+ XPStyleSet.GrayLevel = 10
+ XPStyleSet.Font.Charset = ANSI_CHARSET
+ XPStyleSet.Font.Color = clMenuText
+ XPStyleSet.Font.Height = -11
+ XPStyleSet.Font.Name = 'Tahoma'
+ XPStyleSet.Font.Style = []
+ XPStyleSet.Color = clBtnFace
+ XPStyleSet.DrawMenuBar = False
+ XPStyleSet.IconBackColor = clBtnFace
+ XPStyleSet.MenuBarColor = clBtnFace
+ XPStyleSet.SelectColor = clHighlight
+ XPStyleSet.SelectBorderColor = clHighlight
+ XPStyleSet.SelectFontColor = clMenuText
+ XPStyleSet.DisabledColor = clInactiveCaption
+ XPStyleSet.SeparatorColor = clBtnFace
+ XPStyleSet.CheckedColor = clHighlight
+ XPStyleSet.IconWidth = 24
+ XPStyleSet.DrawSelect = True
+ XPStyleSet.UseSystemColors = True
+ XPStyleSet.UseDimColor = False
+ XPStyleSet.OverrideOwnerDraw = False
+ XPStyleSet.Gradient = False
+ XPStyleSet.FlatMenu = False
+ XPStyleSet.AutoDetect = False
+ XPStyleSet.BitBtnColor = clBtnFace
+ XPStyleSet.ColorsChanged = True
+ XPStyle = True
+ WindowsPosition = poDesktopCenter
+ Left = 264
+ Top = 8
+ end
+end
diff --git a/official/2.20/Demos/10 Modo Passivo e Session Time- ADO/Unit1.pas b/official/2.20/Demos/10 Modo Passivo e Session Time- ADO/Unit1.pas
new file mode 100644
index 0000000..64f928f
--- /dev/null
+++ b/official/2.20/Demos/10 Modo Passivo e Session Time- ADO/Unit1.pas
@@ -0,0 +1,92 @@
+unit Unit1;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, DB, ADODB, StdCtrls, Buttons, UCIdle, UCBase, UCADOConn,
+ UCXPStyle;
+
+type
+ TForm1 = class(TForm)
+ btLogin: TBitBtn;
+ btLogout: TBitBtn;
+ ADOConnection1: TADOConnection;
+ GroupBox1: TGroupBox;
+ GroupBox2: TGroupBox;
+ BitBtn3: TBitBtn;
+ BitBtn4: TBitBtn;
+ BitBtn5: TBitBtn;
+ BitBtn6: TBitBtn;
+ BitBtn7: TBitBtn;
+ UCADOConn1: TUCADOConn;
+ UserControl1: TUserControl;
+ UCControls1: TUCControls;
+ UCIdle1: TUCIdle;
+ btProtOper: TBitBtn;
+ btUsuarios: TBitBtn;
+ btPerfil: TBitBtn;
+ btSenha: TBitBtn;
+ Memo1: TMemo;
+ UCXPStyle1: TUCXPStyle;
+ UCSettings1: TUCSettings;
+ procedure BitBtn3Click(Sender: TObject);
+ procedure btProtOperClick(Sender: TObject);
+ procedure btLoginClick(Sender: TObject);
+ procedure UserControl1LoginSucess(Sender: TObject; IdUser: Integer;
+ Usuario, Nome, Senha, Email: String; Privilegiado: Boolean);
+ procedure UserControl1Logoff(Sender: TObject; IDUser: Integer);
+ procedure btLogoutClick(Sender: TObject);
+ procedure FormCreate(Sender: TObject);
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ Form1: TForm1;
+
+implementation
+
+{$R *.dfm}
+
+procedure TForm1.BitBtn3Click(Sender: TObject);
+begin
+ showmessage('teste');
+end;
+
+procedure TForm1.btProtOperClick(Sender: TObject);
+begin
+ MessageBox(handle, 'teste de Operação protegida', 'Aviso', MB_ICONWARNING or MB_OK);
+end;
+
+procedure TForm1.btLoginClick(Sender: TObject);
+begin
+ UserControl1.StartLogin;
+end;
+
+procedure TForm1.UserControl1LoginSucess(Sender: TObject; IdUser: Integer;
+ Usuario, Nome, Senha, Email: String; Privilegiado: Boolean);
+begin
+ btLogout.Visible := True;
+ btLogin.Visible := False;
+end;
+
+procedure TForm1.UserControl1Logoff(Sender: TObject; IDUser: Integer);
+begin
+ btLogout.Visible := False;
+ btLogin.Visible := True;
+end;
+
+procedure TForm1.btLogoutClick(Sender: TObject);
+begin
+ UserControl1.Logoff;
+end;
+
+procedure TForm1.FormCreate(Sender: TObject);
+begin
+ ADOConnection1.Connected := True;
+end;
+
+end.
diff --git a/official/2.20/Demos/2 UCControls - ADO/UCControlsDemo.dpr b/official/2.20/Demos/2 UCControls - ADO/UCControlsDemo.dpr
new file mode 100644
index 0000000..fbc2baf
--- /dev/null
+++ b/official/2.20/Demos/2 UCControls - ADO/UCControlsDemo.dpr
@@ -0,0 +1,14 @@
+program UCControlsDemo;
+
+uses
+ Forms,
+ ucontrols in 'ucontrols.pas' {Form1},
+ form2_U in 'form2_U.pas' {Form2};
+
+{$R *.res}
+
+begin
+ Application.Initialize;
+ Application.CreateForm(TForm1, Form1);
+ Application.Run;
+end.
diff --git a/official/2.20/Demos/2 UCControls - ADO/UCControlsDemo.res b/official/2.20/Demos/2 UCControls - ADO/UCControlsDemo.res
new file mode 100644
index 0000000..627f283
Binary files /dev/null and b/official/2.20/Demos/2 UCControls - ADO/UCControlsDemo.res differ
diff --git a/official/2.20/Demos/2 UCControls - ADO/form2_U.dfm b/official/2.20/Demos/2 UCControls - ADO/form2_U.dfm
new file mode 100644
index 0000000..f26f5f3
--- /dev/null
+++ b/official/2.20/Demos/2 UCControls - ADO/form2_U.dfm
@@ -0,0 +1,515 @@
+object Form2: TForm2
+ Left = 310
+ Top = 155
+ BorderStyle = bsSingle
+ Caption = 'Form2'
+ ClientHeight = 462
+ ClientWidth = 546
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ OldCreateOrder = False
+ Position = poDesktopCenter
+ OnClose = FormClose
+ OnCreate = FormCreate
+ PixelsPerInch = 96
+ TextHeight = 13
+ object Panel1: TPanel
+ Left = 24
+ Top = 8
+ Width = 513
+ Height = 73
+ TabOrder = 0
+ object Label1: TLabel
+ Left = 16
+ Top = 16
+ Width = 32
+ Height = 13
+ Caption = 'Label1'
+ end
+ object Label2: TLabel
+ Left = 216
+ Top = 16
+ Width = 32
+ Height = 13
+ Caption = 'Label2'
+ end
+ object Edit1: TEdit
+ Left = 64
+ Top = 8
+ Width = 121
+ Height = 21
+ TabOrder = 0
+ Text = 'Edit1'
+ end
+ object Edit2: TEdit
+ Left = 272
+ Top = 8
+ Width = 121
+ Height = 21
+ TabOrder = 1
+ Text = 'Edit2'
+ end
+ object RadioButton1: TRadioButton
+ Left = 40
+ Top = 48
+ Width = 113
+ Height = 17
+ Caption = 'RadioButton1'
+ TabOrder = 2
+ end
+ object RadioButton2: TRadioButton
+ Left = 192
+ Top = 48
+ Width = 113
+ Height = 17
+ Caption = 'RadioButton2'
+ TabOrder = 3
+ end
+ object RadioButton3: TRadioButton
+ Left = 328
+ Top = 48
+ Width = 113
+ Height = 17
+ Caption = 'RadioButton3'
+ TabOrder = 4
+ end
+ end
+ object CheckBox1: TCheckBox
+ Left = 32
+ Top = 96
+ Width = 97
+ Height = 17
+ Caption = 'CheckBox1'
+ TabOrder = 1
+ end
+ object CheckBox2: TCheckBox
+ Left = 32
+ Top = 128
+ Width = 97
+ Height = 17
+ Caption = 'CheckBox2'
+ TabOrder = 2
+ end
+ object Memo1: TMemo
+ Left = 152
+ Top = 96
+ Width = 385
+ Height = 57
+ Lines.Strings = (
+ 'Memo1')
+ TabOrder = 3
+ end
+ object BitBtn1: TBitBtn
+ Left = 71
+ Top = 168
+ Width = 75
+ Height = 25
+ Caption = '&Incluir'
+ TabOrder = 4
+ Glyph.Data = {
+ 36050000424D3605000000000000360400002800000010000000100000000100
+ 08000000000000010000420B0000420B00000001000000010000B5847300AD73
+ 8400B5848400B58C8400B5948C00D6BDB500C6C6C600EFD6C600CECECE00D6D6
+ D600DEDEDE00E7E7E700EFEFEF0042B5F7008CD6F700B5DEF700F7F7F700FF00
+ FF003184FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00111111111111
+ 1111111111111111111111111101020202020202020202020211111111011313
+ 1313131313131313021111111101131313131313131313130211111111011313
+ 1313131313131313021111111101131313131313131313130211111111011313
+ 1313131313131313021111111101131313131313131313130211111111011313
+ 13131313131313130211111112121210101010101010101002111111120D120C
+ 0C0C0C0C0C0C0C0C02111212120D1212120B0B0B0B0004030211120E0F0F0F0E
+ 120A0A0A0600131302111212120F1212120909090600130211111111120F1208
+ 0808080806000211111111111212120707070707050011111111}
+ end
+ object BitBtn2: TBitBtn
+ Left = 185
+ Top = 168
+ Width = 75
+ Height = 25
+ Caption = '&Alterar'
+ TabOrder = 5
+ Glyph.Data = {
+ 36050000424D3605000000000000360400002800000010000000100000000100
+ 08000000000000010000420B0000420B000000010000000100002D2D2D001855
+ 6F004544420058534E005160610054777B007C707800B56D3E00CE630000C171
+ 3500C07638008A5B5200947E7500AD7B7300EFA65A00EDA75F00F0A85C000000
+ 9A000316AC0041749600477AA9000018C6001029D600106BFF00FF00FF0035A8
+ F5004A9EED006D8AFD009B9B9B009891A200AAAAAA00ADB5BD00F1BC8600F8C2
+ 8C00F9C48D00F7D6AD00FBD3A900FFD6AD00BDC6C600FFE7C600FFEFD600FFF7
+ E700FFFFF700FFFFFF0000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000181818181818
+ 181818181818181818181808080808080808080808080808080818082B2B2A29
+ 2827252523252525250818082B2626262626262626262626250818082B2B0003
+ 1E29272725252325250818082B260302041C262626262626250818082B2B2B05
+ 14010B1E27272525250818082B262605130C090B1C26261F250818082B2B2B2B
+ 0620100A0B1E2725250818082B2626260D24220E0A0B1C26250818082B2B2B2B
+ 2B0D242210090B1E250818082B2B2B2B2B2B0D24210F070B1C08180808080808
+ 0808080D241D19121108181808080808080808080D1A16161211181818181818
+ 1818181818151B17161818181818181818181818181815151818}
+ end
+ object BitBtn3: TBitBtn
+ Left = 300
+ Top = 168
+ Width = 75
+ Height = 25
+ Caption = '&Excluir'
+ TabOrder = 6
+ Glyph.Data = {
+ 36050000424D3605000000000000360400002800000010000000100000000100
+ 08000000000000010000220B0000220B000000010000000100000031DE000031
+ E7000031EF000031F700FF00FF000031FF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00040404040404
+ 0404040404040404000004000004040404040404040404000004040000000404
+ 0404040404040000040404000000000404040404040000040404040402000000
+ 0404040400000404040404040404000000040000000404040404040404040400
+ 0101010004040404040404040404040401010204040404040404040404040400
+ 0201020304040404040404040404030201040403030404040404040404050203
+ 0404040405030404040404040303050404040404040303040404040303030404
+ 0404040404040403040403030304040404040404040404040404030304040404
+ 0404040404040404040404040404040404040404040404040404}
+ end
+ object BitBtn4: TBitBtn
+ Left = 415
+ Top = 168
+ Width = 75
+ Height = 25
+ Caption = '&Fechar'
+ TabOrder = 7
+ OnClick = BitBtn4Click
+ Glyph.Data = {
+ 36050000424D3605000000000000360400002800000010000000100000000100
+ 08000000000000010000220B0000220B00000001000000010000006400004242
+ 42008C6363009A666600B9666600BB686800B0717200C3686900C66A6B00C76A
+ 6D00CF6C6E00D2686900D16D6E00CC6E7100C0797A00D2707200D4707100D572
+ 7300D0727500D3747600D9757600D8767700E37D7E000080000000960000DC7F
+ 8000FF00FF00D7868700DA888800D8888A00DA888A00DF898A00E6808100E085
+ 8500E9818200EE868700E3888900E78C8D00F0878800F18B8C00F28B8C00F18D
+ 8E00F48C8D00F48E8F00EB8F9000EC969700E49A9800F3919200F7909100F791
+ 9200F2939400F9909200F9949500FA949500F9969700F0999A00FC999A00FF9D
+ 9E00F7B58400F5A7A500FACCAA00FBD6BB00FADCDC00FFFFFF00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000000000000000000000001A1A1A1A1A1A
+ 1A02011A1A1A1A1A1A1A1A1A1A1A02030405011A1A1A1A1A1A1A1A1A0203080B
+ 0B07010303030303031A1A1A030C0C0C0A09010E1F323B3B031A1A1A030C0C10
+ 0F0D01181818183B031A1A1A03111114151201181818183B031A1A1A03161616
+ 201301181717173B031A1A1A0326222D3E1D01171700003B031A1A1A03262337
+ 3F1E013C3A3A3A3B031A1A1A03272B282A19013C3D3D3D3B031A1A1A03273031
+ 2921013C3D3D3D3B031A1A1A032734352F24013C3D3D3D3B031A1A1A03273338
+ 3625013C3D3D3D3B031A1A1A03032E33392C013C3D3D3D3B031A1A1A1A1A0306
+ 1B1C010303030303031A1A1A1A1A1A1A0303011A1A1A1A1A1A1A}
+ end
+ object ScrollBox1: TScrollBox
+ Left = 16
+ Top = 216
+ Width = 505
+ Height = 233
+ TabOrder = 8
+ object Label3: TLabel
+ Left = 24
+ Top = 16
+ Width = 31
+ Height = 13
+ Caption = 'IdUser'
+ FocusControl = edID
+ end
+ object Label4: TLabel
+ Left = 24
+ Top = 56
+ Width = 28
+ Height = 13
+ Caption = 'Nome'
+ FocusControl = edNome
+ end
+ object Label5: TLabel
+ Left = 24
+ Top = 96
+ Width = 26
+ Height = 13
+ Caption = 'Login'
+ FocusControl = edLogin
+ end
+ object Label6: TLabel
+ Left = 24
+ Top = 136
+ Width = 31
+ Height = 13
+ Caption = 'Senha'
+ FocusControl = edSenha
+ end
+ object Label7: TLabel
+ Left = 24
+ Top = 176
+ Width = 25
+ Height = 13
+ Caption = 'Email'
+ FocusControl = edEmail
+ end
+ object Label8: TLabel
+ Left = 24
+ Top = 216
+ Width = 54
+ Height = 13
+ Caption = 'Privilegiado'
+ FocusControl = edPriv
+ end
+ object Label9: TLabel
+ Left = 24
+ Top = 256
+ Width = 21
+ Height = 13
+ Caption = 'Tipo'
+ FocusControl = edTipo
+ end
+ object Label10: TLabel
+ Left = 24
+ Top = 296
+ Width = 23
+ Height = 13
+ Caption = 'Perfil'
+ FocusControl = edPerfil
+ end
+ object edID: TDBEdit
+ Left = 24
+ Top = 32
+ Width = 134
+ Height = 21
+ DataField = 'UCIdUser'
+ DataSource = DataSource1
+ TabOrder = 0
+ end
+ object edNome: TDBEdit
+ Left = 24
+ Top = 72
+ Width = 394
+ Height = 21
+ DataField = 'UCUserName'
+ DataSource = DataSource1
+ TabOrder = 1
+ end
+ object edLogin: TDBEdit
+ Left = 24
+ Top = 112
+ Width = 199
+ Height = 21
+ DataField = 'UCLogin'
+ DataSource = DataSource1
+ TabOrder = 2
+ end
+ object edSenha: TDBEdit
+ Left = 24
+ Top = 152
+ Width = 394
+ Height = 21
+ DataField = 'UCPassword'
+ DataSource = DataSource1
+ TabOrder = 3
+ end
+ object edEmail: TDBEdit
+ Left = 24
+ Top = 192
+ Width = 1304
+ Height = 21
+ DataField = 'UCEmail'
+ DataSource = DataSource1
+ TabOrder = 4
+ end
+ object edPriv: TDBEdit
+ Left = 24
+ Top = 232
+ Width = 134
+ Height = 21
+ DataField = 'UCPrivileged'
+ DataSource = DataSource1
+ TabOrder = 5
+ end
+ object edTipo: TDBEdit
+ Left = 24
+ Top = 272
+ Width = 17
+ Height = 21
+ DataField = 'UCTypeRec'
+ DataSource = DataSource1
+ TabOrder = 6
+ end
+ object edPerfil: TDBEdit
+ Left = 24
+ Top = 312
+ Width = 134
+ Height = 21
+ DataField = 'UCProfile'
+ DataSource = DataSource1
+ TabOrder = 7
+ end
+ object DBNavigator1: TDBNavigator
+ Left = 200
+ Top = 24
+ Width = 240
+ Height = 25
+ DataSource = DataSource1
+ TabOrder = 8
+ end
+ end
+ object ADOTable1: TADOTable
+ Connection = Form1.ADOConnection1
+ CursorType = ctStatic
+ TableName = 'UCCTTabUsers'
+ Left = 104
+ Top = 248
+ object ADOTable1UCIdUser: TIntegerField
+ FieldName = 'UCIdUser'
+ end
+ object ADOTable1UCUserName: TWideStringField
+ FieldName = 'UCUserName'
+ Size = 30
+ end
+ object ADOTable1UCLogin: TWideStringField
+ FieldName = 'UCLogin'
+ Size = 30
+ end
+ object ADOTable1UCPassword: TWideStringField
+ FieldName = 'UCPassword'
+ Size = 30
+ end
+ object ADOTable1UCEmail: TWideStringField
+ FieldName = 'UCEmail'
+ Size = 150
+ end
+ object ADOTable1UCPrivileged: TIntegerField
+ FieldName = 'UCPrivileged'
+ end
+ object ADOTable1UCTypeRec: TWideStringField
+ FieldName = 'UCTypeRec'
+ FixedChar = True
+ Size = 1
+ end
+ object ADOTable1UCProfile: TIntegerField
+ FieldName = 'UCProfile'
+ end
+ object ADOTable1UCKey: TWideStringField
+ FieldName = 'UCKey'
+ Size = 255
+ end
+ end
+ object DataSource1: TDataSource
+ DataSet = ADOTable1
+ Left = 136
+ Top = 248
+ end
+ object UCControls1: TUCControls
+ GroupName = 'Formul'#225'rio 2'
+ UserControl = Form1.UserControl1
+ NotAllowed = naInvisible
+ Left = 40
+ Top = 160
+ end
+end
diff --git a/official/2.20/Demos/2 UCControls - ADO/form2_U.pas b/official/2.20/Demos/2 UCControls - ADO/form2_U.pas
new file mode 100644
index 0000000..efc909f
--- /dev/null
+++ b/official/2.20/Demos/2 UCControls - ADO/form2_U.pas
@@ -0,0 +1,93 @@
+unit form2_U;
+
+interface
+
+uses
+ {$IFDEF VER130}
+ {$ELSE}
+ Variants,
+ {$ENDIF}
+ Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
+ Dialogs, StdCtrls, Buttons, ExtCtrls, DB, ADODB, DBCtrls, Mask, UCBase;
+
+type
+ TForm2 = class(TForm)
+ Panel1: TPanel;
+ Label1: TLabel;
+ Edit1: TEdit;
+ Label2: TLabel;
+ Edit2: TEdit;
+ RadioButton1: TRadioButton;
+ RadioButton2: TRadioButton;
+ RadioButton3: TRadioButton;
+ CheckBox1: TCheckBox;
+ CheckBox2: TCheckBox;
+ Memo1: TMemo;
+ BitBtn1: TBitBtn;
+ BitBtn2: TBitBtn;
+ BitBtn3: TBitBtn;
+ BitBtn4: TBitBtn;
+ ADOTable1: TADOTable;
+ DataSource1: TDataSource;
+ ScrollBox1: TScrollBox;
+ Label3: TLabel;
+ edID: TDBEdit;
+ Label4: TLabel;
+ edNome: TDBEdit;
+ Label5: TLabel;
+ edLogin: TDBEdit;
+ Label6: TLabel;
+ edSenha: TDBEdit;
+ Label7: TLabel;
+ edEmail: TDBEdit;
+ Label8: TLabel;
+ edPriv: TDBEdit;
+ Label9: TLabel;
+ edTipo: TDBEdit;
+ Label10: TLabel;
+ edPerfil: TDBEdit;
+ DBNavigator1: TDBNavigator;
+ UCControls1: TUCControls;
+ ADOTable1UCIdUser: TIntegerField;
+ ADOTable1UCUserName: TWideStringField;
+ ADOTable1UCLogin: TWideStringField;
+ ADOTable1UCPassword: TWideStringField;
+ ADOTable1UCEmail: TWideStringField;
+ ADOTable1UCPrivileged: TIntegerField;
+ ADOTable1UCTypeRec: TWideStringField;
+ ADOTable1UCProfile: TIntegerField;
+ ADOTable1UCKey: TWideStringField;
+ procedure FormClose(Sender: TObject; var Action: TCloseAction);
+ procedure BitBtn4Click(Sender: TObject);
+ procedure FormCreate(Sender: TObject);
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ Form2: TForm2;
+
+implementation
+
+uses ucontrols;
+
+{$R *.dfm}
+
+procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
+begin
+ action := caFree;
+end;
+
+procedure TForm2.BitBtn4Click(Sender: TObject);
+begin
+ Close;
+end;
+
+procedure TForm2.FormCreate(Sender: TObject);
+begin
+ ADOTable1.Open;
+end;
+
+end.
diff --git a/official/2.20/Demos/2 UCControls - ADO/ucontrols.ddp b/official/2.20/Demos/2 UCControls - ADO/ucontrols.ddp
new file mode 100644
index 0000000..4370276
Binary files /dev/null and b/official/2.20/Demos/2 UCControls - ADO/ucontrols.ddp differ
diff --git a/official/2.20/Demos/2 UCControls - ADO/ucontrols.dfm b/official/2.20/Demos/2 UCControls - ADO/ucontrols.dfm
new file mode 100644
index 0000000..507e0f6
--- /dev/null
+++ b/official/2.20/Demos/2 UCControls - ADO/ucontrols.dfm
@@ -0,0 +1,2007 @@
+object Form1: TForm1
+ Left = 306
+ Top = 118
+ Width = 466
+ Height = 559
+ Caption = 'UserControl - TUCControls Demo'
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ Menu = MainMenu1
+ OldCreateOrder = False
+ Position = poDesktopCenter
+ OnCloseQuery = FormCloseQuery
+ OnCreate = FormCreate
+ OnShow = FormShow
+ PixelsPerInch = 96
+ TextHeight = 13
+ object Label2: TLabel
+ Left = 72
+ Top = 400
+ Width = 298
+ Height = 13
+ Caption = '<<= incluido para logar Exceptions. Veja o evento OnException'
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clBlue
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ ParentFont = False
+ Visible = False
+ end
+ object Label3: TLabel
+ Left = 48
+ Top = 472
+ Width = 364
+ Height = 26
+ Caption =
+ '<<=Query incluida para pesquisar ultimo login do usuario. '#13#10' ' +
+ ' Utilizado no evento on LoginSuccess do componente ADOUserCont' +
+ 'rol1.'
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clBlue
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ ParentFont = False
+ Visible = False
+ end
+ object GroupBox4: TGroupBox
+ Left = 10
+ Top = 336
+ Width = 441
+ Height = 49
+ Caption = 'Gerar erro'
+ TabOrder = 1
+ object EditErro: TEdit
+ Left = 16
+ Top = 16
+ Width = 217
+ Height = 21
+ TabOrder = 0
+ Text = 'Erro gerado pelo demo'
+ end
+ object BitBtn2: TBitBtn
+ Left = 256
+ Top = 16
+ Width = 75
+ Height = 25
+ Caption = 'Except!'
+ TabOrder = 1
+ OnClick = BitBtn2Click
+ Glyph.Data = {
+ 36030000424D3603000000000000360000002800000010000000100000000100
+ 18000000000000030000420B0000420B00000000000000000000FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFCC6701CC6701CC6701CC6701CC6701CC6701CC
+ 6701CC6701CC6701CC6701CC6701CC6701CC6701CC6701CC6701FF00FFCC6701
+ FFFFFFFFFFFFFFFAF5FFF3E6FEEBD5FEE3C3FEDCB5FED7ABFED7ABFED7ABFED7
+ ABFED7ABFED7ABCC6701FF00FFCC6701FFFFFFFFFFFFFFFFFFFFFAF5FFF3E6FE
+ EBD5FEE3C4FEDCB500C0C000C0C000C0C000C0C0FED7ABCC6701FF00FFCC6701
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFAF5FFF3E6FFEBD5FEE3C4FFFFFFFFFFFFFFFF
+ FF00C0C0FED7ABCC6701FF00FFCC6701FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FAF5FFF3E6FFEBD5FEE3C4FEDCB5FED7ABFED7ABFED7ABCC6701FF00FFCC6701
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF5FFF3E6FFEBD5FEE3C4FEDC
+ B5FED7ABFED7ABCC6701FF00FFCC6701FFFFFFFFFFFFFFFFFF80808080808080
+ 8080FFFFFF808080FFF3E6808080808080808080FED7ABCC6701FF00FFCC6701
+ 8080FF0000FF8080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF5FFF3E6FFEB
+ D5FEE3C4FEDCB5CC6701FF00FFCC67010000FF0000FF0000FFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFAF5FFF3E6FFEBD5FEE3C4CC6701FF00FFCC6701
+ 8080FF0000FF8080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA
+ F5FFF3E6FFEBD5CC6701FF00FFCC6701FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF5FFF3E6CC6701FF00FFCC6701
+ CC6701CC6701CC6701CC6701CC6701CC6701CC6701CC6701CC6701CC6701CC67
+ 01CC6701CC6701CC6701FF00FFFF00FFCC6701CC6701CC6701CC6701CC6701CC
+ 6701CC6701CC6701CC6701CC6701CC6701CC6701CC6701FF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF}
+ end
+ end
+ object GroupBox5: TGroupBox
+ Left = 10
+ Top = 280
+ Width = 441
+ Height = 49
+ Caption = 'Incluir log'
+ TabOrder = 0
+ object EditLog: TEdit
+ Left = 16
+ Top = 16
+ Width = 121
+ Height = 21
+ TabOrder = 0
+ Text = 'Teste de log'
+ end
+ object cbNivel: TComboBox
+ Left = 144
+ Top = 16
+ Width = 97
+ Height = 21
+ Style = csDropDownList
+ ItemHeight = 13
+ TabOrder = 1
+ Items.Strings = (
+ 'N'#237'vel 0'
+ 'N'#237'vel 1'
+ 'N'#237'vel 2'
+ 'N'#237'vel 3')
+ end
+ object BitBtn1: TBitBtn
+ Left = 256
+ Top = 16
+ Width = 75
+ Height = 25
+ Caption = 'Logar'
+ TabOrder = 2
+ OnClick = BitBtn1Click
+ Glyph.Data = {
+ 36050000424D3605000000000000360400002800000010000000100000000100
+ 08000000000000010000420B0000420B00000001000000010000B5847300AD73
+ 8400B5848400B58C8400B5948C00D6BDB500C6C6C600EFD6C600CECECE00D6D6
+ D600DEDEDE00E7E7E700EFEFEF0042B5F7008CD6F700B5DEF700F7F7F700FF00
+ FF003184FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00111111111111
+ 1111111111111111111111111101020202020202020202020211111111011313
+ 1313131313131313021111111101131313131313131313130211111111011313
+ 1313131313131313021111111101131313131313131313130211111111011313
+ 1313131313131313021111111101131313131313131313130211111111011313
+ 13131313131313130211111112121210101010101010101002111111120D120C
+ 0C0C0C0C0C0C0C0C02111212120D1212120B0B0B0B0004030211120E0F0F0F0E
+ 120A0A0A0600131302111212120F1212120909090600130211111111120F1208
+ 0808080806000211111111111212120707070707050011111111}
+ end
+ end
+ object PageControl1: TPageControl
+ Left = 8
+ Top = 88
+ Width = 441
+ Height = 185
+ ActivePage = TabSheet1
+ TabOrder = 2
+ object TabSheet1: TTabSheet
+ Caption = 'Actions'
+ object GroupBox1: TGroupBox
+ Left = 10
+ Top = 12
+ Width = 103
+ Height = 121
+ Caption = 'GroupBox1'
+ TabOrder = 0
+ object Button1: TButton
+ Left = 15
+ Top = 24
+ Width = 75
+ Height = 25
+ Action = Action1
+ TabOrder = 0
+ end
+ object Button2: TButton
+ Left = 15
+ Top = 56
+ Width = 75
+ Height = 25
+ Action = Action2
+ TabOrder = 1
+ end
+ object Button3: TButton
+ Left = 15
+ Top = 88
+ Width = 75
+ Height = 25
+ Action = Action3
+ TabOrder = 2
+ end
+ end
+ object GroupBox2: TGroupBox
+ Left = 162
+ Top = 12
+ Width = 103
+ Height = 121
+ Caption = 'GroupBox2'
+ TabOrder = 1
+ object Button4: TButton
+ Left = 15
+ Top = 24
+ Width = 75
+ Height = 25
+ Action = Action4
+ TabOrder = 0
+ end
+ object Button5: TButton
+ Left = 15
+ Top = 56
+ Width = 75
+ Height = 25
+ Action = Action5
+ TabOrder = 1
+ end
+ object Button6: TButton
+ Left = 15
+ Top = 88
+ Width = 75
+ Height = 25
+ Action = Action6
+ TabOrder = 2
+ end
+ end
+ object GroupBox3: TGroupBox
+ Left = 314
+ Top = 12
+ Width = 103
+ Height = 121
+ Caption = 'GroupBox3'
+ TabOrder = 2
+ object Button7: TButton
+ Left = 15
+ Top = 24
+ Width = 75
+ Height = 25
+ Action = Action7
+ TabOrder = 0
+ end
+ object Button8: TButton
+ Left = 15
+ Top = 56
+ Width = 75
+ Height = 25
+ Action = Action8
+ TabOrder = 1
+ end
+ object Button9: TButton
+ Left = 15
+ Top = 88
+ Width = 75
+ Height = 25
+ Action = Action9
+ TabOrder = 2
+ end
+ end
+ end
+ end
+ object BitBtn3: TBitBtn
+ Left = 8
+ Top = 8
+ Width = 441
+ Height = 65
+ Caption = 'Form2'
+ TabOrder = 3
+ OnClick = BitBtn3Click
+ Glyph.Data = {
+ 76060000424D7606000000000000360400002800000018000000180000000100
+ 08000000000040020000E30E0000E30E00000001000000010000107B10001084
+ 1000217318002184210021A521004A422900298C290031942900299C290029AD
+ 2900398C3100319C310031A5310031AD31004A6B390039943900399C390039AD
+ 390039B539005A52420052634200527342004A8C42004A9C42004AA5420042BD
+ 420042CE4200636B4A0018734A0052A54A004ABD4A00296B520052B5520052C6
+ 5200736B5A005AC65A007B736300428463006B84630063A5630063BD630063CE
+ 6300315A6B0073B56B006BCE6B0073AD730073CE730094B57B0084BD7B008CBD
+ 7B007BCE7B007BD67B00316B8400948C840084B5840039738C009CB58C008CBD
+ 8C0094DE8C009CDE8C0039739400106B9C00216B9C005A849C0063849C00216B
+ A5002173A500B5E7A500297BAD003984AD00428CAD004A8CAD00107BB500217B
+ B500428CB5004A94B500217BBD004294BD005294BD00529CBD006BA5BD00D6E7
+ BD00187BC6002184C6002984C600298CC600318CC600428CC6003994C6004294
+ C6004A94C60063A5C6006BA5C600BDC6C600298CCE00398CCE002994CE00E7DE
+ CE00D6E7CE006BADD6003194DE005AADDE00218CE700298CE7004A9CE70073BD
+ E7008CBDE7009CCEE7002994EF0042A5EF004AB5EF007BBDEF00F7FFEF002994
+ F700319CF700399CF70042A5F70063ADF70052B5F700FF00FF003194FF00399C
+ FF0042A5FF004AADFF004AB5FF0052B5FF006BBDFF006BC6FF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00777777777777
+ 7777777777777777777777777777777777777777777777777777777777777777
+ 7777777777777777777777777726150B0B0B0B0B0B141B243577777777777777
+ 777777772D011A0411111111000B0702031322777777777777777777061A0D19
+ 1E213B1031103B190D02057777777777777777770F09121E233B202B51184321
+ 19080377777777777777777739081E232C43277070304329210C0E7777777777
+ 77777777770A1E29431D628080363B2E230B0F77777777777777777777770A20
+ 17385D5D612F3233200F77777777777777777777777777161C454C4C46252810
+ 0F77777777777777777777777777773F5266676766481F77777777770F0F7777
+ 777777777777774C6C717878726C3E777777770F3A230F77777777777777446C
+ 797979797979673D7777770F3A230F7777777777777753797A7A7A7A7A7A732A
+ 770F0F0F3A230F0F0F7777777740737A7B7B7E7E7B7B74340F23232323232323
+ 230F7777775C747B7C7E7D7E7D7E7B3C0F3A3A3A3A233A3A3A0F7777774E6D7D
+ 7F7F7F766E767637770F0F0F3A230F0F0F777777775B495E646453555654603D
+ 7777770F3A230F7777777777774042575A636F75685F41777777770F3A230F77
+ 7777777777774256636A6A6965583D77777777770F0F7777777777777777774A
+ 59636B6A4D3D777777777777777777777777777777777777504B4F4740777777
+ 7777777777777777777777777777777777777777777777777777777777777777
+ 7777777777777777777777777777777777777777777777777777}
+ Layout = blGlyphTop
+ end
+ object MainMenu1: TMainMenu
+ AutoHotkeys = maManual
+ OwnerDraw = True
+ Left = 8
+ Top = 432
+ object Arquivo1: TMenuItem
+ Caption = 'Arquivo'
+ object Abrir1: TMenuItem
+ Caption = 'Abrir'
+ end
+ object Salvar1: TMenuItem
+ Caption = '-'
+ end
+ object Salvar2: TMenuItem
+ Caption = 'Salvar'
+ end
+ object Salvarcomo1: TMenuItem
+ Caption = 'Salvar como...'
+ end
+ object Fechar1: TMenuItem
+ Caption = 'Fechar'
+ end
+ object N2: TMenuItem
+ Caption = '-'
+ end
+ object Dados1: TMenuItem
+ Caption = 'Dados'
+ object Importar1: TMenuItem
+ Caption = 'Importar'
+ end
+ object Exportar1: TMenuItem
+ Caption = 'Exportar'
+ end
+ object N4: TMenuItem
+ Caption = '-'
+ end
+ object Vincular1: TMenuItem
+ Caption = 'Vincular'
+ end
+ end
+ object N3: TMenuItem
+ Caption = '-'
+ end
+ object Sair2: TMenuItem
+ Caption = 'Sair'
+ end
+ end
+ object Editar1: TMenuItem
+ Caption = 'Editar'
+ object Copiar1: TMenuItem
+ Caption = 'Copiar'
+ end
+ object Colar1: TMenuItem
+ Caption = 'Colar'
+ end
+ object Recortar1: TMenuItem
+ Caption = 'Recortar'
+ end
+ object N1: TMenuItem
+ Caption = '-'
+ end
+ object Selecionartudo1: TMenuItem
+ Caption = 'Selecionar tudo'
+ end
+ object N5: TMenuItem
+ Caption = '-'
+ end
+ object AreadeTransferencia1: TMenuItem
+ Caption = 'Area de Transferencia'
+ object Exibir2: TMenuItem
+ Caption = 'Exibir'
+ end
+ object Esvaziar1: TMenuItem
+ Caption = 'Esvaziar'
+ end
+ end
+ end
+ object Exibir1: TMenuItem
+ Caption = 'Exibir'
+ object Zoom1: TMenuItem
+ Caption = 'Zoom...'
+ object Normal1: TMenuItem
+ Caption = 'Normal'
+ Checked = True
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object Grande1: TMenuItem
+ Caption = 'Grande'
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object Ajustarnajanela1: TMenuItem
+ Caption = 'Ajustar na janela'
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object N6: TMenuItem
+ Caption = '-'
+ GroupIndex = 1
+ end
+ object Personalizar1: TMenuItem
+ Caption = 'Personalizar'
+ GroupIndex = 1
+ end
+ end
+ object amanhonormal1: TMenuItem
+ Caption = 'Tamanho normal'
+ end
+ object elacheia1: TMenuItem
+ Caption = 'Tela cheia'
+ end
+ end
+ object Relatorios1: TMenuItem
+ Caption = 'Relatorios'
+ object Relatorio11: TMenuItem
+ Caption = 'Relatorio 1'
+ end
+ object Relatorio21: TMenuItem
+ Caption = 'Relatorio 2'
+ end
+ object Relatorio31: TMenuItem
+ Caption = 'Relatorio 3'
+ end
+ object Relatorio41: TMenuItem
+ Caption = 'Relatorio 4'
+ end
+ end
+ object Segurana1: TMenuItem
+ Caption = 'Seguran'#231'a'
+ object Cadastrodeusuarios1: TMenuItem
+ Caption = 'Cadastro de usuarios'
+ end
+ object Perfildeusurios1: TMenuItem
+ Caption = 'Perfil de usuarios'
+ end
+ object logdosistema: TMenuItem
+ Caption = 'Log do Sistema'
+ end
+ object N7: TMenuItem
+ Caption = '-'
+ end
+ object rocarsenha1: TMenuItem
+ Caption = 'Trocar senha'
+ end
+ object EfetuarLogoff1: TMenuItem
+ Caption = 'Efetuar Logoff'
+ OnClick = EfetuarLogoff1Click
+ end
+ end
+ end
+ object ActionList1: TActionList
+ Left = 40
+ Top = 432
+ object Action1: TAction
+ Category = 'Grupo1'
+ Caption = 'Action1'
+ OnExecute = Action1Execute
+ end
+ object Action2: TAction
+ Category = 'Grupo1'
+ Caption = 'Action2'
+ OnExecute = Action1Execute
+ end
+ object Action3: TAction
+ Category = 'Grupo1'
+ Caption = 'Action3'
+ OnExecute = Action1Execute
+ end
+ object Action4: TAction
+ Category = 'Grupo2'
+ Caption = 'Action4'
+ OnExecute = Action1Execute
+ end
+ object Action5: TAction
+ Category = 'Grupo2'
+ Caption = 'Action5'
+ OnExecute = Action1Execute
+ end
+ object Action6: TAction
+ Category = 'Grupo2'
+ Caption = 'Action6'
+ OnExecute = Action1Execute
+ end
+ object Action7: TAction
+ Category = 'Grupo3'
+ Caption = 'Action7'
+ OnExecute = Action1Execute
+ end
+ object Action8: TAction
+ Category = 'Grupo3'
+ Caption = 'Action8'
+ OnExecute = Action1Execute
+ end
+ object Action9: TAction
+ Category = 'Grupo3'
+ Caption = 'Action9'
+ OnExecute = Action1Execute
+ end
+ end
+ object ADOConnection1: TADOConnection
+ ConnectionString =
+ 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=..\Base.mdb;Persist' +
+ ' Security Info=False'
+ LoginPrompt = False
+ Mode = cmShareDenyNone
+ Provider = 'Microsoft.Jet.OLEDB.4.0'
+ Left = 72
+ Top = 432
+ end
+ object ADOQuery1: TADOQuery
+ Connection = ADOConnection1
+ Parameters = <>
+ Left = 8
+ Top = 464
+ end
+ object ApplicationEvents1: TApplicationEvents
+ OnException = ApplicationEvents1Exception
+ Left = 32
+ Top = 392
+ end
+ object UCSettings1: TUCSettings
+ AppMessages.MsgsForm_BtNew = '&Nova Mensagem'
+ AppMessages.MsgsForm_BtReplay = '&Responder'
+ AppMessages.MsgsForm_BtForward = 'E&ncaminhar'
+ AppMessages.MsgsForm_BtDelete = '&Excluir'
+ AppMessages.MsgsForm_BtClose = '&Close'
+ AppMessages.MsgsForm_WindowCaption = 'Mensagens do Sistema'
+ AppMessages.MsgsForm_ColFrom = 'Remetente'
+ AppMessages.MsgsForm_ColSubject = 'Assunto'
+ AppMessages.MsgsForm_ColDate = 'Data'
+ AppMessages.MsgsForm_PromptDelete = 'Confirma excluir as mensagens selecionadas ?'
+ AppMessages.MsgsForm_PromptDelete_WindowCaption = 'Delete messages'
+ AppMessages.MsgsForm_NoMessagesSelected = '!No Messages selected'#161
+ AppMessages.MsgsForm_NoMessagesSelected_WindowCaption = 'Information'
+ AppMessages.MsgRec_BtClose = '&Fechar'
+ AppMessages.MsgRec_WindowCaption = 'Mensagem'
+ AppMessages.MsgRec_Title = 'Mensagem Recebida'
+ AppMessages.MsgRec_LabelFrom = 'De :'
+ AppMessages.MsgRec_LabelDate = 'Date'
+ AppMessages.MsgRec_LabelSubject = 'Assunto'
+ AppMessages.MsgRec_LabelMessage = 'Mensagem'
+ AppMessages.MsgSend_BtSend = '&Enviar'
+ AppMessages.MsgSend_BtCancel = '&Cancelar'
+ AppMessages.MsgSend_WindowCaption = 'Mensagem'
+ AppMessages.MsgSend_Title = 'Enviar Nova Mensagem'
+ AppMessages.MsgSend_GroupTo = 'Para'
+ AppMessages.MsgSend_RadioUser = 'Usu'#225'rio :'
+ AppMessages.MsgSend_RadioAll = 'Todos'
+ AppMessages.MsgSend_GroupMessage = 'Mensagem'
+ AppMessages.MsgSend_LabelSubject = 'Subject'
+ AppMessages.MsgSend_LabelMessageText = 'Message text'
+ CommonMessages.AutoLogonError = 'Falha de Auto Logon!'#13#10'Informe um usu'#225'rio e senha v'#225'lidos.'
+ CommonMessages.ChangePasswordError.InvalidCurrentPassword = 'Senha Atual n'#227'o confere!'
+ CommonMessages.ChangePasswordError.NewPasswordError = 'Os campos: Nova Senha e Confirma'#231#227'o devem ser iguais.'
+ CommonMessages.ChangePasswordError.NewEqualCurrent = 'Nova senha igual a senha atual'
+ CommonMessages.ChangePasswordError.PasswordRequired = 'A Senha '#233' obrigat'#243'ria'
+ CommonMessages.ChangePasswordError.MinPasswordLength = 'A senha deve conter no m'#237'nimo %d caracteres'
+ CommonMessages.ChangePasswordError.InvalidNewPassword = 'Proibido utilizar senhas obvias!'
+ CommonMessages.InvalidLogin = 'Usu'#225'rio ou Senha n'#227'o inv'#225'lidos!'
+ CommonMessages.InitialMessage.Strings = (
+ 'ATEN'#199#195'O Login Inicial:'
+ ''
+ 'Usu'#225'rio : Admin'
+ 'Senha : #delphi'
+ ''
+ 'Defina as permiss'#245'es para este usu'#225'rio.')
+ CommonMessages.MaxLoginAttemptsError =
+ '%d Tentativas de login inv'#225'ido. Por motivos de segun'#231'a o '#13#10'siste' +
+ 'ma ser'#225' fechado.'
+ CommonMessages.PasswordChanged = 'Senha alterada com sucesso!'
+ CommonMessages.BlankPassword = 'Retirada senha do Login %s'
+ Login.WindowCaption = 'Login'
+ Login.LabelUser = 'Usu'#225'rio '
+ Login.LabelPassword = 'Senha : '
+ Login.BtOk = 'OK'
+ Login.BtCancel = '&Cancelar'
+ Login.TopImage.Data = {
+ 07544269746D6170B6790000424DB67900000000000036040000280000007601
+ 0000500000000100080000000000807500000000000000000000000100000000
+ 00009BB5D8007493BA00ACC2E000BBBBBB00CBD9EB007D9BC20051719900F6F8
+ FB00F2F5FA0095B0D500FCFDFE00EDF2F800A7B6BC0055759D00F8FAFC00B1C5
+ E1005979A10089A8D200CDD5D9003E5E88004D7199003D5D8700FAFBFD008888
+ 8800E5ECF500DDE6F200DDDDDD00E2EAF400A5BDDD00405F880042628C0089A6
+ CC008297A0005D7DA500C5D4E900A1B9DA006685AD004569920045679000B4C8
+ E300EEEEEE00BDCEE60099B3D600A9C0DE008BA8CD009EA5B0006181A9006E8D
+ B400D0DCED006989B10099999900809DC40085A2C80044638C00C1D1E8004462
+ 8C008EAACF0091ACD100486890005579A100E7EEF6003E5F890040608A005D82
+ AB00C0CBCF008CAAD400D5E0EF00496C950042618A004A6A93008FACD500D8E3
+ F0004C6C9400D2DEEE007795BD0046668E004E6E960050709700B8CBE400BBCD
+ E500CCCCCC00C8D7EA00648BB2006D93BA0044648E00A2BADB004A6B94009BAC
+ B300708EB5004E6F980085A5CF00DAE4F10058789E0043638D0050759D00506E
+ 9600D6E1EF00F4F7FB00A7BEDE00829FC600FDFEFE0041608B0054749A007A98
+ BF0093AFD600BECFE60044628A00666666004060880086A6D0004C6B92004867
+ 8E00EAEFF700AAAAAA0049688E006C8AB1004D6E940053729A00476690006584
+ AB007290B8005C7CA300333333005F7EA60046648E005A7DA50056779E00E6EA
+ EC0046648C0044444400777777004869920044678E0080A0C900E0E8F3006D8C
+ B3005576A000AAAEB50090ADD5006080A7009EB7DA006486AF00486A93006185
+ AC00F9FAFD004C6A92003C5B85004C6E96006988AF0049699100C6CFDC0093AE
+ D20051729B00597AA30045648B004E6D94004A6992004A6C92004D6D96006786
+ AD00B6BCC40056769E003D5A82003F628B006383A900698DB500555555005A7F
+ A7005B7AA1003A5A8400527399005A7BA200426188004668900039577F007D9F
+ C70047668D00EBF1F8004C6B940087A3CA00405F8600486990004E6D96004C6D
+ 9400222222006287AF0083A3CC00FBFCFD00779BC2004A6A9100D1DDEE005473
+ 9C003C5C87006B8BB20092ADD200D3DFEF00E1E5E900426189006C8BB5008B8F
+ 940045658D005878A00042638B003F5C84005C7BA4001111110084A3CC006183
+ AB00CDD6E1006A8AB3006282AB00808285006787B0006483AC00A5BCDB004061
+ 8A004F5153003E40420043637000FEFEFE0091AED600FEFFFF00758D9600F2F5
+ F5008FA0A900D9E0E200506D7A00EFF4F9005C788300BFD0E700B5C1C60091AE
+ D500E3EBF50069828D00C3D3E900D2DDEE0097B2D700DFE7F300F7F9FC00A3BB
+ DC006F8FB7007B7E830094AFD3007998C1002F3032007396BE00909296008FAB
+ D000686C7100A4BBDA00D2D9E400D9DEE600FEFEFF0088A7D20000000000FFFF
+ FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCFCFCFCFCFCFC
+ FCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB6464640A0A0A0ABBBBBBBBBB16
+ 16160E0E0EEEEEEE07EE0707616161070761070707EEEEEEEEEE90161616BB16
+ BB0ABB0A0A0A0ADB64646464DBDB64FCFFFCDBDB64DBDB0A640A0A0A0ABBBBBB
+ 16160EEEEE07610808E30BB1703C18E886195B47424930045122EA36294F4E27
+ 0F0F0F022B621CEF55558C8C000000ECECECECEC68096868DCDCDC8A8A8A8A8A
+ 8A46464646464646464646464646464646464646464646464646464646464646
+ 4646464646464646464646464646464646464646464646464646464646464646
+ 4646464646464646464646464646464646464646464646EC0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFC
+ FCFCFCDBDBDBDBDBDBDBDBDB64DB640A0A0A0A0ABBBBBBBB16161616160E0EEE
+ EE07EEEEEEEE6107070707EEEEEEEE0E0E0E0E161616BBBBBB0A0A0ADB0A6464
+ DBDBFCDBDBFCFCFFFFDBFCDDDBFCDBDB64640A0A0A0A0ABBBB16900EEE076108
+ 08E30BB1703C181B86195B4742BE3004512236694F4E27270F022B2B1CEF238C
+ 8C0000ECECEC09688A8A46464646414141111111111111111111FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCDB
+ DBDBDBDBDBDBDB6464640A0A0A0ABBBBBBBBBB161616160E0EEE0E0EEEEEEEEE
+ EEEEEEEEEE0E0E16901616BB16BBBB0A0A0A0A0A64DBDBFCFCDBFCFCFCFCFCFF
+ FFFCFCFFDDFFFCFCFCFF0A640A0A0ABB0A1616900EEE07070808E30BB1703C18
+ 1B1B195B604230040422EAE5294F4E270F02022B1C1C558C8C0000ECEC6868DC
+ DCE78A464646414141414111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCDBDBDBDBDBDB
+ DBDB64640A640A0A0ABBBBBB161616160E0E160E0E0E0E90EE0E0E9090901616
+ 161616BBBBBB0A0A640A0A64FCFCFCFCFCFFFFFCFFDDFFFCFCFFFFFFFCFFFCFF
+ FCDBFCDBDB0A0A0A0ABBBB16160E0EEE616108E30BB1703CE81BED5B47604930
+ 04512236E54F4E270F0F022B621CEF238C8C00ECECEC6809DCDC8A4646464641
+ 4141114111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB640A0A
+ 0A0A0ABBBBBBBB1616161616160E0E169090161616161616BBBBBBBB0ABB0A0A
+ 640A64DBDBFCFCDBFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFCFCFCFCFFFCFC0A0A
+ 0A0ABB1616160EEE07610808E30BB13C3C1B86195B4742BE3004222236294E27
+ 270F0F022B1CEF558C8C8C00ECECEC68DCE7DC8A464641414141411111111111
+ FD11FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB64640A0A0A0ABBBBBB
+ BBBBBB1616161616161616161616BBBB0ABB0A0A0A0A0A64FC64DBFCFCFCDDFC
+ FFDDFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFDDFCFFFCDDDB64640ABBBBBB160E0E
+ EE076108E30BB1703C181BED194760493004512236E54F4E270F0F022B621C55
+ 238C8C00ECECEC096868E7464646414141414111111111111111FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FCFFFFFCFCFCFCFCFCFCDBDBDBDBDBDB64640A0A0A0A0ABBBBBBBBBBBBBBBB16
+ BBBBBBBBBBBB0ABB0A0A0A0A640ADBDB64FCFCDBFCDDDDFCFFDDFFDDFFFFFFFF
+ FFFFFFFFFFDDFFFFFFDDFFFCFFFCDBDB64640ABBBBBB16900EEE070808E30B70
+ 703CE81B195B4742BE300451EAE5294F27270F022B2B1CEF558C8C0000ECECEC
+ 68DC8A8A464646464141414111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFCFC
+ FCFCFCFCFCDBDBDBDBDBDB64640A0A0A0ABBBBBBBBBBBBBBBBBB0ABBBB0A0A0A
+ 0A0A0A0A646464DBFCFCDDDBDBFCDDFCFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDBDB640A0ABBBBBB16900E07070808E3B1703C181BED194760
+ 493004512236694F4E270F02022B1C1C55238C00ECECECEC6809DC8A8A464641
+ 414141411111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFFFCFCFCDBFCFCDB
+ DBDBDBDBDB64640A0A0A0A0A0ABBBBBBBB0A0A0A0A0A0A0A0A0A0A64DBDBDBDB
+ DBFFFFDDDDDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFC
+ FC64640A0ABBBB16160EEE070808E30BB1703CE81BED5B4742BE300422EAE529
+ 4E27270F022B621C55238C8C00ECECEC0909DCE78A4646414641414111111111
+ 1111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCDBDBDBDBDBDB6464
+ 640A0A0A0A0ABBBBBB6464640A0A0A6464DB0ADB64DBDBFCFFFFFFDDDDFFFFFF
+ DDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFFDDDBFC640ABBBB16
+ BB0E0EEE070808E30B703C181B86194760C33004512236694F4E270F02022B1C
+ 1C55238C0000ECEC0968E7E78A8A41464141414141111111111111FDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A
+ 0A0A6464640A0A6464DBDBDBFCDBDBFCFCFFFFDDDDFFDDFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFCFCFC64640ABB16160EEE076108E3
+ 0BB1703CE81B195B47423004042236E54F4E270F02022B621C55238C00000909
+ C239382C1FCE85AF3305F3F5015353F5AF8585BC53B93F3F3FA7993B885E5E98
+ 98981414438E599E434343145E5E98593F52B9A7251E3D3D653E3E3E3E3E3ED7
+ 1E1E1E5D545D5DCA3E1E1E3B3B5DD7C03ED7A38E434354A365D7D76565D7D765
+ 6513153E3EC092AE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A6464646464
+ FCFCFCFCFCDBDBFCFCFFFFFFFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFCFCFCDB0A0A0ABB16160EEE070808E3B1703C181BED19
+ 4760BE3004512236694E270F0F022B621C558C00EC0997381F1F346333670101
+ F02F318DCF2EA7A78F52A5B97D14934393438E258E568E8E8E8E254325251459
+ 1414143B3FB93FA75E5E5E5E93985943438E8E25252525252676767683838326
+ 6554267DA78E263E3E3D15A33DA33D3E3D3D3D3D3D3D3D3D3E133D1E1E1592AE
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCFCFCFCDBDBDBDBDBDBDBDBDB646464646464FCFC6464FC64FCFCFCFCFCFCDB
+ FCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFF
+ FFFFFCFC64640A0ABBBB160E0E07610808E3B1703CE81B195B60C3BE04512236
+ 694F4E270F022B62D6558C002AF297382CB3633367677858319FA42E7BA8A87B
+ 21C9660648B5B53A4B4B8035CA6A6AC5353E1D1D3E1D3E1ECA268E883B3B4325
+ 26262654542626262626262626252525562543255EA77D5E2525262626262626
+ 252626262654262554252525431443255D1E2606433DA9A90000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE11212FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFF1212E1FFFFFFFFFFFFFFFFFF1212E1FFFFFFFFFF
+ FFFFFFFFDF121212FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE11212
+ E1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBFCFC
+ DBDBDBDBDB64646464646464FCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFF
+ DDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFDDFCFCFCFC0A0A
+ BBBB16160EEE610808E30B703C181BED194742BE300422EAE54F4E270F0F022B
+ 1C5523002A09C2382CB36333674A0158879F9F2E7B5CA10D21A1064D48BDBD72
+ 809A3535C56C6C6C13131D44441D1D3E1D1ECA438E263D3D3D3D3D1313131313
+ 3D131313133D3D3D3D3DA3A3435E435DA33E3D3D3D3E3E3EA33EA3A3A3D7A354
+ 5426268E5E88592665D75D765D3D15A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE120DADADADADAE940FFFFFF12DADA0C
+ FFFFFFFFFFFF0CDADADADADADADADEFFFFDADA12FFFFFFFF0CDADADAFFFFFFFF
+ FFFFE0DADADADAE440FFFFFFFF40E9DADADADADA20E1FFFFFFFF12DEDADADADA
+ DADE12FFFFFFDADADEFFFF7FDADADEFFFFFFDFE0E2DADADADADEFF12DADADADA
+ DADADADAFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB
+ DBDBDBDBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFC64646464BBBB160EEEEE61
+ 08E30BB1703CE886194760493004512236294E270F0F022B62D6238C2A09F239
+ 381F6333054A0158879F772E7B5C5CA1210D4C9B91726F6FC8C83535CA6AC5C5
+ 1D6C6C1DB41D6C6C1D3E5D4354A33D1E653E3E1D3D3D3D3D1313131313131313
+ 15133D3D8E14263D3D1315C015151515C0C0151313133DD7151315A343935492
+ 133D3DC0C0133DA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFE6E2DADAE00C57E4DADAE0FFFF7FDADA0CFFFFFFFFFFFF0CDA
+ DAE9DEDEDEDE57FFFFDEDA12FFFFFF7FDADADADAFFFFFFFFFFFFDADE0C0CE4DA
+ DA7FFFFF57DADAE2570CE0E2DADAE6FFFF12DADADA200CE0DADADA40FFFFE4DA
+ DEFFFF0CDADAE1FFFFE1E2DADA200C0CE0E4FF12DADAE4DEDEDEDEDEFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFDDFCFFFCFC6464640A64BB16160EEE070808E3B1703C181B
+ ED5B47C33004512236694F4E270F022B62EF238C0009F239381FB36305674A58
+ 2F9F772E21A1100D21BF5F9B9B91BD6FC8C83535CA6A6AC56A35441D1D1D6C1D
+ 15C0359E5DD71D441D1D1D131313131313131515151515151313C01526595465
+ 653E131515151515C0C0C0C0C0C0C0159215C0151E5D3E13C015C0A9921515AE
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FE2
+ DAE97FFFFFFFFFE0DADA40FFFFDADA0CFFFFFFFFFFFF0CDADAE6FFFFFFFFFFFF
+ FFDEDA12FFFFFFDEDADADADAFFFFFFFFFFFFDFFFFFFFDFDADA0CFF40DADAE0DF
+ FFFFFFDFE9DAE27FFF20DADA0CFFFFFF12DADADEFFFFDEDADEFFFFE4DAE0FFFF
+ FFE9DAE2E1FFFFFFFFFFFF12DADAE0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFCFCFCFCFCFCFCFCDBFCDBDBFCDBFFFFFCFCFCFCFCFCFCFFFF
+ FFFFFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFCFCFCFCFC64640ABBBB160EEE076108E30B703C181B86194742BE300422
+ EAE54F4E270F0202621C558C8C2A099739382CB3343333674A78589477A85C75
+ CC754D4D0606065F4D4D4D4C4C4C4C4C9191919191913AC83792449E3E151D13
+ 1D1D1D1D1D1D1D1D1D1D1D13131313151D13C092764565653E13131513131313
+ 131315151515C092921315C03D651E5415C092C0151592AE0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0CDADA7FFFFFFFFFFFFF
+ DEDAE4FFFFDADA0CFFFFFFFFFFFF12DADA0CFFFFFFFFFFFFFFDEDA0CFFFF40DA
+ DA0CDADAFFFFFFFFFFFFFFFFFFFF40DADAE6FF20DAE4FFFFFFFFFFFFDFE2DAE0
+ FFDEDADADFFFFFFFFFE4DADAFFFFDEDADEFFE6DAE2DFFFFFE1DADAE6FFFFFFFF
+ FFFFFFFFDADADEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFCFCFCFCFFFCFCFCFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFFFFFCFC6464
+ 640A0ABB160E0EEE070808E3B1703C1B86195B6049300451EA36694E270F0202
+ 2B1C55238C2A09F2C2382CB3346305674A4A017873A4C975CCBF4D0D0D667506
+ 4C4C4C9B4C4C9B4C064D9B9B4C9B4C4C9B131E593E1D373735353535357C7C4B
+ 54545454543535353737543EB69C1D1D3E1D13133E6565653E3E3E3E3E653E1D
+ 131392C03D3E13133DC092151315C0A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFDEDAE9FFFFFFFFFFFFFF0CDADA7FFFDADA0C
+ E1127FFFFFFF12DADAE012121212DFFFFFE0DA0CFFDFE4DA20E1DADAFFFFFFFF
+ FFFFFFFFFFE6DADAE9FFFFDADA57FFFFFFFFFFFFFF20DAE4FFDEDADAFFFFFFFF
+ FFDEDADAFFFFDEDADEFFE4DA0CFFFFFF0CDADADFFFFFFFFFFFFFFFFFDADAE912
+ 1212127FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFC
+ FCFCFCFCFCFCFFFFFCFFFCFFFFFCFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCDDFCFCFC64640A0ABB1616EEEE
+ 076108E3B1703C181BED5B60423004512236294E4E270F022B62EF2300002AF2
+ 97382C1FB33405336767582F8794C9BF210D98A10D755F744D4D4C4C4D4C4D4D
+ 4C48489B48B5BD4C06131E593D1D767C353535359A8080C854547C7C7C545435
+ 3735833E984BCBCB1E1E65651E1E1E1E651E1E1E1E5D3765371E3D3D1E3E9292
+ 3E15C013131513A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFDEDADEFFFFFFFFFFFFFF12DADA12FFDADA0CE2DADAE4E1FF12DA
+ DADADADADADA12FFFF0CDA0CFF0CDAE27FFFDADAE1FFFFFFFFFFFFFF0CDADAE9
+ DFFFFFDADA0CFFFFFFFFFFFFFF0CDADAFFDEDADAFFFFFFFFFFDEDADAFFFF20DA
+ DEE6DADA2012FFFF0CDADAFFFFFFFFFFFFFFFFFFDADADADADADADA0CFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCFCFCFCFFFFFF
+ FFFFFFFCFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFDDFCFFFCFC640A0ABBBBBB16EE076108E30BB13C18
+ 1BED5B4742BE040422EA694F4E270F022B62EF238C002A09C2F7381F1F1F63B3
+ B33401785831C9A121A10DC97EAA4D4C4C4C4C4C4C4C4D4C9B5F7E21104C6E4C
+ 0D444BBF3E1D76809A35CACACACACA355454C8C8C8C85454C8C8483E0D541D13
+ 1E1E653E3E3E3E3D651E1E651E1E1E3E1D1E653D3E139213133E3E13131313A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20DA
+ E4FFFFFFFFFFFFFF12DADA12FFDEDA571240E9DAE2DF12DADADE0C0C0C0C7FFF
+ FF0CDA577FDADA0CFFFFDADA12FFFFFFFFFFFFE0DADAE0DFFFFFFFE2DAE0FFFF
+ FFFFFFFFFF0CDADAFFDEDADAFFFFFFFFFFDEDADAFFFF0CDADEE1120CE2DA57FF
+ 0CDADA7FFFFFFFFFFFFFFFFFDADAE40C0C0C0C12FFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFFFFFFFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFC
+ FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFF
+ FFFFFFDDFCDDFC6464640A0ABBBB160EEE070808E3B1703CE81B194760493004
+ 2236E54F4E270F02022BD6558C000009F239381F1F2C3333676778585873100D
+ 215C66A80D664D5F066E4D4D4D0674AA9B21F031AB484C06BF1E26BF3E133AB0
+ 6F446C9A541E5454353A76C6D1B6767C6F9545CAC9D713151E445D4465443D3E
+ 655D651E4BD5761DCACA351E3E15C0153E15C0133E1315A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6DADA12FFFFFFFFFFFF
+ 57DADADFFFDEDA0CFFFF7FDADAE612DADA0CFFFFFFFFFFFFFF0CDADEDEDAE4FF
+ FFFFDADA12FFFFFFFFFF12DADAE0FFFFFFFFFFE0DAE2DFFFFFFFFFFFFFE9DAE9
+ FF0CDADA12FFFFFFFF0CDADAFFFF0CDADEFFFFFFE6DADA7F7FDADA0CFFFFFFFF
+ FFFFFFFFDADADEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFCFC
+ FC640A0A0ABB160EEE076108E3B1703CE81BED5B60493004512236294E270F02
+ 022B1CEF2300000997C2382CB32CB33463334A7858C1C90D79C9AA1010A87E5C
+ 754C75064D4D744D0D242EB74D4C4C06754426BFD71D953A3AB54BCA543E3A76
+ 9CC875D4213A3A243A9145357ED7131D5D3E3E3E1D13543E1E1E1E3D9EC6BF54
+ 9A35351E3E1515136513C0C0151313A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFDFE2DAE9DFFFFFFFFFE1E2DAE0FFFFDEDA0C
+ FFFFDFDADA0C12DADA0CFFFFFFFFFFFFFF0CDAE2DADA12FFFFFFE4DA12FFFFFF
+ FFFF0CDADAFFFFFFFFFFFF12DADAE0FFFFFFFFFFE6DADAE6FF0CDADA12FFFFFF
+ FF0CDADA12FF0CDADEFFFFFF40DADA12FFDEDADA12FFFFFFFFFFFFFFDADADEFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFC64640A0ABB160E
+ EE076108E30B703C181BED5B47C33004512236294F27270F022B62EF23002A09
+ 09C2382C1F2C386363054A017887A8BF7B10065C5C0DAA66664D66754D064D06
+ AA2E24AA4C4D0D4D063E26BF3E3E9C9CC8B5CA6C76548335443A0DCC45542ED5
+ 95484584BFD7134454831E13761D5D1E5D9265452EC698544BC8351E1D15133E
+ 653E15C0153E3EA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFF12E2DAE40C121257E2DAE2DFFFFFDEDADE0C0CDEDADA4012DA
+ DADE0C0C0C0C0C7FFF40DADADA20FFFFFFFFDEDAE6FFFFFFFFFF40DADA201212
+ 0CE1FFFF0CDADADEE61240E0DADADEFFFF0CDADA12FFFFFFFF0CDADA12FF0CDA
+ E40C0C57E2DADADFFFDFE9DADAE040124057E1FFDADAE40C0C0C0C0C12FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFC640A640ABB1616EE076108080B7070
+ 181B861947423004512236694F27270F022B62D6230000EC0997F72C1FB33834
+ 056701787887CC0D79AB4DAB215C5CA16606AAAA4D4D4D060101F3C1A84C6606
+ 061DAD986C44959C9A95449A7676761E1E567D7D84B7F0069148953A063E1337
+ 5D1E5D13763E443E54C05488D12F983A6FC835441D151D1E3D3E3E133D653EA2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ E1DEDADADADADADADEDFFFFFFFDEDADADADADADAE0FF12DADADADADADADADA12
+ FF12DADADA7FFFFFFFFFDEDA0CFFFFFFFFFFFFE0DADADADADA7FFFFFFF40E4DA
+ DADADADADA57FFFFFF0CDADA12FFFFFFFF0CDADA12FF0CDADADADADADAE2E6FF
+ FFFFDFE0DADADADADADA12FFDADADADADADADADA0CFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ DDFFFFFFFFFFFFFCFCFC640A0ABB16160EEE070808E3B1703CE886194742BE30
+ 042236694F4E270F022B62EF238C00EC09C2F72C1FB3B36367670101782FCC0D
+ 10794D2121A15CAAAAAA4D4D064C4C064D7E797B945C9B4D061D9598131E763A
+ C83A449544541D54C8138806A3AD9826914895569E1D153576924B1E3E5D543E
+ 155D83982E4AD47B6FC81E3E13151D1E3D3E3D13133E3DA20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FE60C0CE67F
+ FFFFFFFFFFE112121212127FFFFFDF1212121212121212DFFFDF1212E1FFFFFF
+ FFFFE1127FFFFFFFFFFFFFFFE10C0C0CE1FFFFFFFFFFFFE10C0C0C40DFFFFFFF
+ FF7F1212DFFFFFFFFF7F1212DFFF7F121212121212FFFFFFFFFFFFFFDF400C0C
+ 0C40DFFF12121212121212127FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
+ FF64640A640ABB160EEE070808E3B1703CE88619476049300451EAE54F4E270F
+ 020262D6558C002A0997F7381FB3343305674A0178C121A15C794D7910667BAA
+ 75790D4DAA4C4C06AA064C6E0D7506AA981D45061335763A4844443A1EB21E76
+ 3A4B764B563A7648919B9593563D157C5D4B5D13441EC01E65541E5476983AC8
+ 6FC81E3E1315134465131515151513A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFCFFFCFC64640A0ABB16
+ 0EEE076108E3B1703CE81B195B4749300451EAE54F4E270F022B2B1C55238C2A
+ 09F239381FB3343305676701782F8BA1C9AB4D211021019F0D2FA4AA66064D06
+ AA4CA1AA4D74664CBF1D43981354769CC8C8D101F0D19E1D3EB2443A453A453A
+ 6E4C9506831D15763D8313831E44541E3D15135D3A761E3A4B8035441D151365
+ 6513131E1E1315CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCDDFFFCDB64640ABB1616EE076108E30B70
+ 3C181BED5B47C330045122E5294E270F02022B1C55238C00099738382CB33463
+ 05674A0178782EA199CC06215C210558A1F32FBF66AA4D4D4C75AA4D5C4D0610
+ BF1D4898134B3A913AC5940D7676C8837C7CA87B3A9C3A486E4C45983A1D1576
+ 3A1376D15DB2C6761E1E5D15765454354B80351E1D15133E3D151E833A65C0A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFDDDDFCFFFCFCFC640A0ABBBB16EEEE6108E30BB170181BED5B474230
+ 0451EA36294E272702022B62558C8C2AEC9739381FB3343305674A01782FD5C9
+ 79A866A8109F874A8DC6F30DA10D4D66AA666666AA06BFA1A11D9EBF549A9C3A
+ 83D7F578787BBDBD5648D4C90DD276833ABF76C94B441D761E769CC65978B67C
+ 54351E5D54545476763A1D761315374465153DD13E1365A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFF
+ FFFCFC64640ABB16160EEE610808E37070181BED5B4742300451EA36694E270F
+ 02022B62EF8C8C002AF239F71F1FB36333054A017858775CAB8B06791078A4C1
+ 0521587779A1A8A85C5C5C5C0DAA66A10D15C999A34B9C3A4B83F0BF5966486E
+ AA4CD198CC109E839C9EADD2C81E443A54139EF3C6785FB695764B4B4B5D5D5D
+ 763AC83A1E445D44156583D41E3E1EA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFFFCFC646464BBBB
+ 160EEE070808E3B1703CE886194742BE04042236694F27270F022B1CD6238C2A
+ 09F2C2381FB3B3633305674A01F024107B2FA1AB7901AB2E0599D42410107966
+ 5C5C5C5C7E0D0DA10DD78F2ECA95569148B6016701774D100D4CD24810065945
+ 595643A5AD54C8953E9EC9CC88C6CC83599EB2B2453A767654358335D7441E3E
+ 135D59995D76B26F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC64DB640ABBBB160EEE070808E3B1
+ 703CE886194742BE30512236694F27270F022B1CEF238C002AF297382C1F3463
+ 3305674A015824A8CF2F7BC9102E0D10C9BF107E66ABAB105C5C5CA8105C5C10
+ BF458F8BAD9D6E6E9E3A065906AA9D0D0DAA0D06BF9806599893143143C8C876
+ 48567DF0317B59594C9E489E48569C9C45959826C8C84B848399F57899454B6A
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFDDFFFFFC64646464BBBB160E0E076108E3B1703CE886194742BE
+ 04042236694F4E270F022B62EF23000009F239382CB3343305674A4A78879F8B
+ 249FCF7E7E0DAA664D754D064D4DB7664D4C4C4D06060606459E0D06B5843A3A
+ 959B48B03A984C934C4D954C9D4D9E4C4343933B43C85454CAD7CA3ACA845426
+ 3A6F6F3A833A3A3A4B26AA8444D7A3D7543D1E44545D37B40000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
+ FFFCFCFC640A0ABB160E0E076108E30B703C181BED5B604930042236694F4E27
+ 0F022B1CEF23002A0939382C1F3433054A0158879FA47B21CCA10DBFB7489195
+ 91726F4856987DC972B09AB06FB0B0B04445C835AD9A9A6FB0356A953A4B4C3B
+ 3A6F9AC84B9A4BC835268326434B544B54CAD7CACA985E43C89ACA9A9A353554
+ 4B9598B76FC89ACA3D5D76B6833E1D6A0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFC64640A0ABB
+ 1616EE070808E3E3B1703CE81B1947C3300422EA694F27270F022B1C5523002A
+ F2C2382C1F3433676701583194778B7BCC5C0D6606065F9B6E6EBD3AC8067B8E
+ 6EB5B0B0B0C880804435CAC5C89A6AB09AB09A80C53599A79572729A6F35C835
+ 1E35C8CA26C8354B6ACA4B1D440D7D8E6FC89A9A35CA1E35C580C83A35C5CA6C
+ 3D767610597613AE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFCFC640A0ABB160EEE0761610808
+ 08E3E3B17018ED4749045136694F4E270F022B1C5523002A0939381F1F343367
+ 677858739FA47BA85C5C0D4C5F9B9191726E72C826563B846E729A9A80356A6A
+ 801D4B356A80AC806A9A6AC8D73D3B8872726F806A806A6A35441E543E354435
+ B01D6FCACAAD7E95B56FC89A9ACACA353580CBC8AC6A4B353D7615BF76541ECB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDDFFFCDDFC0A0A0ABB160EEE07076107EE0E0E0EEE0708B11B
+ 473051EAE54F4E270F022B1C5523002A0939381FB33433674A015873772E8BCC
+ 5C66665F5F4C6F953A72B03ACAB73B546F3A1D806AB4C580B0B46AB46FB46AB4
+ 449A1D4435157D9880B09A8080C5C5C57C15443735351D351D441DCA1E4B0635
+ 6F6F44C8445D1D3E1D443E44541E1DC81E443E4BC81E54CB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
+ FCFFFC6464640ABB160EEE07077F71176B818181170316081B4204EA694F4E27
+ 0F022B1CD623002A0939381FB36333674A0158872F739F777B9F7BA81066A14D
+ 9B483AC815837ECAB43A3A6EC84C6F95484806486E4806483A953A6FC8152193
+ 6CB09A6ACBC5657C44351D5415C854547C541EC8D73A4844CA6FC515A95D3544
+ 1D3A35443E1E44C01E441D351E1D35CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFC6464640ABB
+ BB0EEE070781FEFEFEFEFEFEFEFEA60AE31904EAE54F4E270F022B621CEF8C00
+ EC97381F1F63333305676778788773739424A4249F79C9AB5C5CBF486C43AB84
+ 80064C4C9B5F664C485C065F5C0D6E5F4D4C75064C448F43B46A6F4B959C3AB2
+ 9CB2B29CB6B61D459C6F6F8ECA4C3A1DCACA6C9A4B4B1D1D1EC03A4B153A159C
+ 35441D4413C044A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC640A64BB160EEE0707CDFE7A
+ 82D36BCDFEFEFE17EE1B3022E5294F4E270F0F022BD655002A97381FB3343333
+ 33674A01015887947377247B7B2E218B10ABA806A34899CA954D489BAA48664C
+ 754D75BF064C75A10D454D9806CA8F26CA3548C8B2445D54C8543A359E35483A
+ 954B4593AD0D351D1DCAC56C1D134445761E1D833E3E3E1D351E1D3EC09244A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFCFC64640A0ABBBB160EEE07D312610808E3C4F4FEFEB8
+ 163C495136E5E56969294F4E270262232AF2381FB334333305670505782F8794
+ 942424014A947B7EA8A8CC98D75699A3B5484C0DAA774D669B7506664A78D1C6
+ 779E4C98BF3524841D3A6E541E3A75B676563A563A54F021BD4B45483AA1C51D
+ 6C4BC54410D5BF131D35BF4859D10D5D35353E3E15C044A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFF
+ FCDDFCDBDB64640ABBBB90EE07616161616108E3F6FEFEFEBB70425122220430
+ 604242490436271C0009F71F1F3433330505336301C1C1949F24335831059458
+ 79AB21A1CA437D844B0D0648D4A8F04C0D4CAABFF0F30188787E060DBF268DAD
+ A94CC85676D478884B3A3A8376450DF05F6E489DB598356A6CB0CA6CBF990676
+ 764483D1313A44445D5D3E3E131535A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5003030328FFFFFFFFFFFFFFFF
+ FF5003031AFFFFFFFFFFFFFFFFFF280303031AFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFF1A03030328FFFFFFFFFFFFFFFF28030350FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A030350FFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFF50030328FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A03031AFFFFFFFFFFFFFFFFFFFF
+ FF28030350FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF030303FCFC6464
+ FC0A16EE0761EE1A030316EE12FEFEFE50B1600404428670E68903890B1B0402
+ 23EC381F34343333336767670578873131948B01F301F52E215C990DD73A99CA
+ BD4C064C66F0AB0D740DBF9E8DF30501D20D4D9859842ECA6C5935B29C244A83
+ 45C83A7659C926F0064CB7959D4D9A6AC89ACA562E103A44C0440DD2249C354B
+ 5D351D1D15135DA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFF03A6FEFEFEFEFEFEB86B1AFFFFFFFF6BFEFEFEFEFEB871FF
+ FFFFFFFF17B8FEFEFEFEFEFE17FFFF03FEFEFE28FFFFFFFFFFFFFFFFFFFFFFFF
+ FFFF036BCDFEFEFEFEFECD32FFFFFFFF717AFEFEFEFECD6B28FFFFFFFFFEFEFE
+ 03FFFFFFFFFF81FEFE17FFFFFFFF6BFEFEFEFE82FF03FEFEFE28FFFFFFFFFFFF
+ 286BCDFEFEFEFE7A71FFFFFFFF03FEFEFEFFFFFFFFFFFFFFFFFF17FEFEFE03FF
+ FFFFFFFFFFFFFFFF71B8FEFEFEFE3217FEFE81FFFFFFFF037AFEFEFEFEFE17FF
+ FF03FEFEFEFFFFFFFF81FEFECD50286BFEFEFEFEB8FCCDFEFE03BB0E615081FE
+ FEFECD17BBFEFEFE03B147EB47A0A6FEFEFEFEFEFEB8D04E2309381F34343333
+ 336733673487942F24A424F0317B7B7D215CAB5CCA8399A33A0606AA31A49F06
+ 667445BFD4054A7B4D4D060D4D56CFCA3E453A3A76B2013A564BCA3A932E01D2
+ 484848B5B7486AB49AC844C8CCA13A3E1E35C8C9D54476765D1E1315C01D54CB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B
+ FEFEFEFEFEFEFEFEFEFEFE32FFFFFFB8FEFEFEFEFEFEFE71FFFFFF81FEFEFECD
+ 8181CDFE81FFFF03FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF286BFEFEFEFEFEFE
+ FEFEFE81FFFFFF6BFEFEFEFEFEFEFEFECD50FFFFFF7AFEFE03FFFFFFFFFF82FE
+ FE17FFFFFF71FEFEFEFEFE81FF03FEFEFEFFFFFFFFFFFF50CDFEFEFEFEFEFEFE
+ FE6BFFFFFF50FEFEFEFFFFFFFFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFFFFFF1A
+ CDFEFE8117173203FEFE81FFFFFF32FEFEFEFEFEFEFE81FFFF1AFEFEFEFFFFFF
+ 71FEFEFE32FF82FEFECD8217822881FEFE030A9050CDFEFEFEFEFEFE6BFEFEFE
+ 030B5B47E0CDFEFEFEF4D9F4FEFE2D272309381FB363333305674A67012FC194
+ 9F772E944AF02179795C10A1444B885DC8754D75BF7E4C064C4C9B06107821C9
+ 4D4D66665993ABC81D455654543A3A54B09A4B6F5624F00D5F48834806543E1D
+ 5D54351E1E351E1E3DD78399064B44765D5D139213653ECB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFEFE6B71033281
+ FEFEFEFE03FFFF827128FF1A7AFEFEA6FFFF17FEFECD17FFFFFFFF1A32FFFF03
+ FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF7AFEFEFECD82710303176B7AFFFF71FE
+ FEFE1728FF037AFEFEB828FFFF81FEFE71FFFFFFFFFF17FEFE82FFFFFF17FEFE
+ FE03FF71FF03FEFEFEFFFFFFFFFFFF7AFEFE7A03FF2817FEFEFE17FFFFFFFEFE
+ FEFFFFFFFFFFFFFFFFFF03FEFEFE03FFFFFFFFFFFFFFFF17FEFEB8FFFFFFFF1A
+ FEFE7AFFFF1ACDFEFE7A71FFFF1A32FFFFFFFEFEFEFFFF28B8FEFE6BFFFFCDFE
+ FE32DDDDDB646BFEFE710A1681FEFECD32EEC4D3FEFEFEFE030BEDFACDFEFE81
+ 9647305151E0E0028C09381F34B3330505674A0178878731249FA4A4247B108B
+ 10AB21BF35450D546EAA744859069E0606BD594C48C9064C4DAA75754D14211D
+ 54487676543A353A3A9A4BCA3A59453A95B25643BF541D929C3E441D761D5D35
+ D7541E35134B3A541E1E3DC01D4465CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF7AFEFEFE17FFFFFFFFFF6BFEFEFE6BFFFFFF
+ FFFFFFFF82FEFEA6FFFFB8FEFE17FFFFFFFFFFFFFFFFFF1AFEFEFEFFFFFFFFFF
+ FFFFFFFFFFFFFF17FEFEFE8128FFFFFFFFFFFFFFFFFFB8FEFE17FFFFFFFF28CD
+ FEFE17FFFF81FEFE17FFFFFFFFFF17FEFE81FFFFFF17FEFEB8FFFFFFFF1AFEFE
+ FEFFFFFFFFFF32FEFECD28FFFFFFFF17FEFECDFFFFFFFEFEFEFFFFFFFFFFFFFF
+ FFFF03FEFEFE03FFFFFFFFFFFFFFFF17FEFE7AFFFFFFFFFFFEFEFEFFFF17FEFE
+ CD28FFFFFFFFFFFFFFFFFEFEFEFFFF82FEFEB828FFFFFEFEFE71FFDD646417FE
+ FE170A7FFEFEFE3290E3703CD3FEFEFE03E31BC7FEFEB8C4190436294F4E0F2B
+ 8C2AC21F3434333305674A017887C19F9F9FA48B8B21797B5C797BBF35565E54
+ C84D664C750659590D6EBFAABF1010994D660666B798211D92483A4576453E3A
+ C86E4B9D459A4583B2594C83C9C81EC5441E4B5D5D131D3ED73ED74B3E441E54
+ 1D1E3E133E3E3DCB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFEFEFEFEFFFFFFFFFFFF28FEFEFEB8FFFFFFFFFFFF71CDFEFE71
+ FF50FEFEFE28FFFFFFFFFFFFFFFFFFFFFEFEFE03FFFFFFFFFFFFFFFFFFFFFFCD
+ FEFEB828FFFFFFFFFFFFFFFFFF1AFEFEFE1AFFFFFFFFFF82FEFE81FFFF17FEFE
+ 17FFFFFFFFFF17FEFE81FFFFFF71FEFE7AFFFFFFFFFFFEFEFE03FFFFFFFF6BFE
+ FE6BFFFFFFFFFF28FEFEFE03FFFFFEFEFE03FFFFFFFFFFFFFFFF03FEFEFE03FF
+ FFFFFFFFFFFFFF1AFEFEFEA61AFFFFFFFEFEFEFFFFA6FEFE6BFFFFFFFFFFFFFF
+ FFFFFEFEFEFF50FEFEFE50FFFFFF6BFEFECD32FFFCFC17FEFE170A03FEFEFE28
+ 070B18E818B8FEFE0308E8D8FEFE820B4704223636694F0FD600971FB3343333
+ 330501782F582F9494772E2E2E778BA8AB10107ECA8399264D4D4D0694F0774C
+ 4C0D4C749F78D5C6934D5F0D95AB999C765935C8CCD4BF4B4CACB5C8458BC976
+ 9C5643AD7D4B35353A5444C910CC834B26458821593E1576445D1E3E653E1DB4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFE
+ FE7AFFFFFFFFFFFFFF7AFEFEFEFFFFFFFFFF82FEFEFE17FFFF03FEFEFEFFFFFF
+ FFFFFFFFFFFFFFFFFEFEFE03FFFFFFFFFFFFFFFFFFFF03FEFEFE32FFFFFFFFFF
+ FFFFFFFFFF03FEFEFEFFFFFFFFFFFF03FEFEFEFFFF17FEFE82FFFFFFFFFF03FE
+ FE7AFFFFFF03FEFEFEFFFFFFFFFFFEFEFE03FFFFFFFF81FEFE17FFFFFFFFFFFF
+ 81FEFE17FFFFFEFEFE03FFFFFFFFFFFFFFFF03FEFEFE03FFFFFFFFFFFFFFFFFF
+ 32CDFEFEFE7A825081FEFE50FF81FEFE17FFFFFFFFFFFFFFFFFF81FEFE507AFE
+ FE17FFFFFFFF2881FEFEFECDA63271FEFEA60A03FEFEFE6407B1181B1BD8FEFE
+ 170818D9FEFE17613C86195B191947040F8C972CB33463050567014A4A582FC1
+ 87949F778B8B2E211010A15C3593A58E6F4C759B2EF0871010060D7B2105F32E
+ 934C5FA1B5A521B21E483A547BD51006BD7EA1BF4DAB24B23A839E06314C4B76
+ 1E443AD424CCB2984310D4993A1E3E3E5476541E5D5D5D9A0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE81FFFFFFFFFFFF
+ FF81FEFEFEFFFFFF2881FEFECD71FFFFFF03FEFEFEFEFEFEFEFEFEFEFEFEFFFF
+ FEFEFE03FFFFFFFFFFFFFFFFFFFF17FEFEFE1AFFFFFFFFFFFFFFFFFFFF03FEFE
+ FEFFFFFFFFFFFF03FEFEFEFFFF17FEFE81FFFFFFFFFF03FEFEFEFFFFFF03FEFE
+ FEFFFFFFFFFFFEFEFE03FFFFFFFF81FEFE17FFFFFFFFFFFF81FEFE17FFFF81FE
+ FE03FFFFFFFFFFFFFFFF03FEFEFE030317177128FFFFFFFFFF28177AFEFEFEFE
+ CDFEFE03FF81FEFE17FFFFFFFFFFFFFFFFFF81FEFE82FEFECDFFFFFFFFFFDDFC
+ 036BCDFEFEFECDFEFE810A1AFEFEFE1AEE0B18861BD3FEFE170818D9FEFEFEFE
+ FEFEFEFEFEFEFEF1E523F22C341F2C0505674A34344A2F582FC17394777777A4
+ A87910C94B99BC140666AA06A40178AB5C77A8AB8B01D421AA66BFBF8EF53F54
+ 4C5656592FD421985C105C06D578CC4C064C595E8D9326765D0D31D421B6590D
+ 06998DBF3A459C7654545D1E5D5D54B00000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF81FEFEFEFFFFFFFFFFFFFF82FEFEFE28FFFF
+ 81FEFE7A1AFFFFFFFFFFFEFEFE710303030317FEFEFEFFFFFEFEFE17FFFFFFFF
+ FFFFFFFFFFFF17FEFEFEFFFFFFFFFFFFFFFFFFFFFF28FEFEFE71FFFFFFFFFF32
+ FEFEB8FFFF17FEFEFE28FFFFFFFF71FEFEFEFFFFFF28FEFEFEFFFFFFFFFFFEFE
+ FE17FFFFFFFF82FEFE7AFFFFFFFFFFFFB8FEFE32FFFF81FEFE03FFFFFFFFFFFF
+ FFFF03FEFEFE03B8FEFEFEFE82FFFFFFFFFFFFFF280382B8FEFEFE32FF82FEFE
+ 7AFFFFFFFFFFFFFFFFFF81FEFE717AFEFE32FFFFFFDDDDFCFCDBDB5032A6FEFE
+ FEB80A16B8FEFE17BB0870E8E8D3FEFE17081BF1FEFEA60389892D89F4FEFED3
+ 22D6092CB3B31F0533674A05057858783131949F949F2E8BAB7921A15699A55E
+ B5060DA1BF7979A106A8BFBF0DAB0DBF66BFBF0693525243543A4C062106489E
+ 9DAA9D4C7910BF9E599E458E98C8CA1E4B98CC48454B3A13C8D74C4B5D1E1D3E
+ 1E1E3E3D653E3EC50000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF81FEFEFEFFFFFFFFFFFFFF17FEFEFE03FF50FEFEFE28FFFFFFFF
+ FFFFA6FEFE32FFFFFFFF32FEFEB8FFFFFEFEFECD50FFFFFFFFFFFFFFFFFF17FE
+ FEFEFFFFFFFFFFFFFFFFFFFFFFFFA6FEFEA6FFFFFFFFFF81FEFE6BFFFF71FEFE
+ FEA6FFFFFFFFA6FEFEFEFFFFFFFFFEFEFE28FFFFFFFFFEFEFECD50FFFFFF50FE
+ FEFE50FFFFFFFF03FEFEFE1AFFFF81FEFE03FFFFFFFFFFFFFFFF1AFEFEFE71FE
+ FEFEFEFEFE6BFFFFFFFFFFFFFFFFFF28B8FEFE17FF71FEFEFE03FFFFFFFFFFFF
+ FFFF81FEFE0350CDFEFE71FFFFDDFCFCDBDBDB64FC6417FEFEFE0A0ED3FEFECD
+ 500E08B1B1D3FEFEA6611BA0FEFEB8EE3C5B4786B8FEFEC7E5F9F21FB36363F3
+ 67670178F087879424A42E8B7B21A879795C2166B75E5E14B774B74DBD4C4856
+ 4C9D564D9E454C4C93489B59143B53A73A3A5435763AC8C8B0CA3AB54B3A3A4B
+ 4B5683AD434B26353E1D1D1E1E444435C813484B76351D445D1E1D3D3E1315CB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6FE
+ FEFEFFFFFFFFFFFFFF17FEFEFE03FF03FEFEFE17FFFF1A32FFFF03FEFECD03FF
+ FF287AFEFE17FFFFFEFEFEFECD821703FFFFFFFFFFFF71FEFEFE71FFFFFFFFFF
+ FFFFFFFFFFFF50FEFEFEA61AFF1A6BFEFEFE50FFFF03FEFEFEFEB882177AFEFE
+ FECDFFFF5003FEFEFE17030328FFFEFEFEFECD821703FFA6FEFECD32FFFF71CD
+ FEFEA6FFFFFF81FEFE71FFFFFFFFFFFFFFFFFFFEFEFE7128FF507AFEFEFE03FF
+ FF0328FFFFFFFFFFB8FEFE17FFFF7AFEFECD3228FF280303FFFF81FEFE03FF32
+ FEFECD50FFDDFC1A50DDFCFC64DB32FEFEFEBBEE617AFEFECD321AEEEE6BFEFE
+ 81611960D9FEFE6BC43C18F6FEFECDD02700392CB36333674A01F058D1C1872E
+ 8B79C90DBFBF754D4D4D56954556459E453B7D1480373E1E1E3544134435443E
+ 6C443E5D253FA7C945441D1E3E441E1D443E3E44443E44543BA13A8044921313
+ 13923E15153E153E1515351D1D54C0C09265A9A9C09213AE0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFE1AFFFFFFFFFF
+ FF03FEFEFE03FFFFB8FEFEFEFEFEFECDFFFFFF32FEFEFE7A81FEFEFE7A28FFFF
+ FEFEFE7AFEFEFE17FFFFFFFFFFFF28FEFEFE6BFFFFFFFFFFFFFFFFFFFFFFFF32
+ FEFEFEFEFEFEFEFEFE32FFFFFF03FEFEFE81FEFEFEFEFEFEFE82FFFF81FEFEFE
+ FEFEFEFE03FFFEFEFE7AFEFEFE17FF287AFEFEFEFEFEFEFEFE7A28FFFFFF81FE
+ FE17FFFFFFFFFFFFFFFFFFFEFEFE03FFFFFF28CDFEFE6BFFFF82FE7A6B17177A
+ FEFEFE50FFFF50CDFEFEFEFEFEFEFE17FFFFA6FEFE32FFFFA6FEFEB828FCDB28
+ FECD8117176BCDFEFEA6166108C47AFEFEFEFEFEFEFEFEFEB8E3473096F4FEFE
+ CD81B8FEFEFEC72262F2381F3433054A7858C17331319F7BC975B648B245956F
+ C84B35449A9ACACA543B3B841DAC1313921D13921D1D151D6C1D1D3D3D3B983A
+ 1E13131D1D131D1315C0C01313C015138E5615B4CB15151513C03E133D65C015
+ 131544C51D15A9C09265C013651365A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFF03FEFEFE17FFFF
+ 5081FEFEFEFEFE6BFFFFFFFF037AFEFEFEFECD6B28FFFFFFFEFEFE716BFEFE17
+ FFFFFFFFFFFFFF6BFEFEFE03FFFFFFFFFFFFFFFFFFFFFFFF1A6BFEFEFEFEFEA6
+ 03FFFFFFFF03FEFEFE2882CDFEFEFECD82FFFFFF81FEFEFEFEFEFEFE03FFFEFE
+ FE716BFEFE17FFFFFF32B8FEFEFEFEB81728FFFFFFFF6BFEFE17FFFFFFFFFFFF
+ FFFFFFFEFEFE03FFFFFFFF81FEFE81FFFF0381CDFEFEFEFEFEB871FFFFFFFF1A
+ 6BFEFEFEFEFECD50FFFF17FEFE17FFFF28CDFEFE7A28DBDB6B7AFEFEFEFEFEFE
+ 6B7F0708E30BE3F67AFEFEFEFEFEFEFEF418EB512296F8CDFEFEFEFEF432510F
+ 009738B33433674A015831D4319F8BA85C0DBF064D4D4C4856454B6F6FB044B4
+ 3D3B5E3DAC7C3554C83A3A83453A3A56953A9C76A37D986A133E441E35444435
+ 764B4B7676C8544B439D1D1DC53537445D1E545D4B3A5D545D5435763792135D
+ 3E1E651E1E3E1ECB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFF03FEFEFE17FFFFFFFF28030350FFFF
+ FFFFFFFFFFFF28030350FFFFFFFFFFFFFFFFFFFFFF1A031AFFFFFFFFFFFFFF1A
+ CDFEFECD71FFFFFFFFFFFFFFFFFFFFFFFFFFFF030303FFFFFFFFFFFFFFFFFFFF
+ FFFFFFFF500303FFFFFFFFFFFFFF81FEFE03FFFFFFFFFFFFFFFFFF1A031AFFFF
+ FFFFFF1A03031AFFFFFFFFFFFFFF17FEFE17FFFFFFFFFFFFFFFFFFFEFEFE03FF
+ FFFF28CDFEFE81FFFFFFFFFF2803030328FFFFFFFFFFFFFFFFFF0303031AFFFF
+ FFFF17FEFE17FFFFFFFFFFFFFFFCFC640A646450030350BB16EE61E30BB17070
+ 700B89898989FBE819C351E5693622300C2D2D9604690FF92AF2382CB3B33305
+ 4A01739FC131217B7B79CCA8C910C910AB10107EA10D4D3A3D995E3D3A914556
+ 484C5906064C9E064C480659A38F0DAC4476764B3A3A4B4556459C4545454545
+ 5E9D441D7C355D35C8545454544B4B4B544B6A7637A9655D4B5D1E5D443E1EB4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FE
+ FEFE03FFFFFFFFFFFF28FEFEFE17FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32FEFEFEFE7A1703
+ 0371177A03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFE32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFE17FFFFFFFFFFFFFFFFFFFEFEFE6B171717B8FEFEFE17FF
+ FFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFE17FFFF
+ FFDDFCFFFFDBDB640A0A0ABBBB1616EE0761080BB1703C18E81B86ED195B6049
+ 0451364F4E4E4E4E4E4E4E270F2B55000939F72CB3346305674A317731C18BD5
+ 8B7BCC79A810A8A8C90D0D66660D75B55D7D5EA39B919C564548489E064C484C
+ 7448065954B95E6C353A76C83A833A45953A3A3A3A4545457E3A44923A443554
+ 35C8C8C854355454543A3580C5921E651E13445D3E441ECB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03FEFEFE17FFFFFFFFFF
+ FFFFFEFEFE6BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03CDFEFEFEFEFEFEFEFEFE28FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A17
+ 8117FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FE
+ FE81FFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFE7A28FFFFFFFFFFFFFCFCFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEA6FFDDFFFFFFFCFCFCDB64
+ 0A0ABBBB900EEE076108E30B703C18E886195B4742EB30512236294E270F0F0F
+ 02022B62552300EC9739381FB3346333674A312431877B248B7979A8C9105C7E
+ A8A17EA10D107E9B1E7D5EA34D91484556B64848590659594D4C7598265206AC
+ 543A76544B833A7645459595569E9E483BADCACB9C351E541EC8547676C83A76
+ 263AC8356C151E5D1D137676445D54B40000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF03FEFEFE17FFFFFFFFFFFFFFFEFEFE81FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFF28177AFEFEFEFEFEFE7AFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFE81FFFFFFFFFFFF
+ FFFFFFFEFEFEFEFEFEFEFECD6B28FFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFF17FEFE81DDFFDDFCFFFFFCDB640A0ABB16160EEE0761
+ 0808E3B1703CE886195B4742BE04512236294F4E270F02022B1CEF232300ECF2
+ C2F7381FB3346305674AC1D49F877BD2A47B21A85C105C7E5C0D7E7EAA7E0D6E
+ 3E7D7EA34D9B064548065956484C4C4C4D4D060684B99DB4763A453A4B45B276
+ 3AB5B595489EB79D93C86C1D4BB21E35459544CA9A9A956F263580ACCB923E45
+ 45560DB63E5D54B40000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF03030350FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDDFFFCFCFC0AFC640A0ABB16160EEE076108E30B707018E886
+ 19476049300451EA36294E270F0F022B1C1C238C8CECEC09C2382C1FB3633305
+ 674A58D49F2F7B24A48BABA85C10A1667E667E7E665C5C481E8B99A34C9BBF26
+ 59A10D9EB24C5959AA7575982552BDAC3A45B6483A48593A6F3A95BD4874483A
+ CAC86CB03A10B2458BC93A9A9A9A569556353AB0C5C5C888CCCCD5BF1D4435B4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFC
+ FFDBFFDB640A0ABBBB161690EE07610808E3B1703C181BED5B4742BE30042236
+ E54F4E270F0F022B1CEF238C00EC0909C2382C1F3463330567675894242FD2D5
+ CF2F8B7B2F87BFA1A1060D5CA17EA19B843F3BCA759B2F569888C12659598359
+ 4D750D14145206AC3A83F00688F02E2626AD833A4C4559569845352644D47B99
+ 8B4DCACA4B4B4B3A9C9C06B2441E1ED5CC8B103A134435CB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFCFCFFFFFCFFFFFFFFFFFFFFFCFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDFCFCDB0A0A0A0A
+ BB16160EEE076108E30B703C3CE886195B60493004512236694F27270F02022B
+ 1C55238C002A090939F72C1F34630505674A5894C1D1D49FA44A9F2158F00D7E
+ ABA1A1A166A1A14D938F3F25069B012EA17B2EB74C4C7498064806433BF55E6A
+ 454CD5CC06310D3A9595957645455999D2481D9A3A9F217EC99EC8C8264BC84B
+ 35060D4544541D06764545C83554C8AC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFCFCFCFCFFFCFCFCFCFCFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFDDFCFC640A0A0A0ABB1690EE070761E3
+ E30B703C181B86194760BE3004513636294E27270F022B621C558C0000EC0909
+ C2382C1F34633305674A58942F53312E24672F2E2F2FA8A85C667566660D0D4D
+ 1453528E069B77D55C775C66749B74744DB5BF433FBC3B6E489BA87B4C214C9B
+ 56489B48484893B97B484B4BD79D4B5606B7BD95BDB54BC88EAB5992A96F9A4B
+ 56959556454B44CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFC
+ FCFCFCFFFFFFFCFCFFFFFFFFFCFFFFFCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFCFCFC640A0A0ABBBB16160E07076108E30BB1703CE81B195B
+ 47C3BE30042236E54F4E270F0F022B62D6558C8C002A09F239382C1F34630505
+ 67017824C1AFA52E8B77777777A48B79AB1010105C5C664D5EAF5384065F7510
+ 667BAAAB7E0D7E0D0D4CBFB7B9535E6A729AAA7E66667E5C7EA1A1759B488EA5
+ A49DCAC8BD4D744D4D4D4D4C74B79DB5A3B98F06CACAB06E3AC8C83A954BC8AC
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFCFF
+ FCFFFFFCFCFFFCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCDB0A0A0ABBBBBBBB90EE07610808E30B7070181B8619476049300451223669
+ 4F4E270F02022BD6EF558C002A09F2C2F7382C1FB3633305674A7894C111BCCF
+ 7B798B77A48BA4A42E2E7B79A85C064DB96DAF14B79B5F0D7EA87E7979A85C5C
+ 7E0648AAF5BCB9747472064D66747E66AA4D5F6EB59314BCAFA44C9AB0B5849A
+ 84B5BD3A3ABD48B7A75A5AF57B0659757E7E5C5CC99979790000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFFFCFFFFFCFCFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCDB64640A0ABBBBBB
+ 1690EE076108E30BB1703CE81BED194742493004222236294F270F0F022B62EF
+ EF238C00ECECF2C2F7382C1F3463330567012F2F5A1185A48B2EA421A47B218B
+ 7979A85C5C66665CAF5A6D53C94CAA06664DAAAAAA4D4D4D14064C79BCBAF577
+ 9DB572B5B5729DB574744D4D6610D45AFDAF01C1772E9FC1C12FF0014ABCAFBA
+ 5AFDFD6D5A5A5A5A5A5A5ACEBACE5A2C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFFFFFCFCFCFCFCFFFFFCFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFDDFFFFFFFFFFFFFFFFFFFFDDDBDBDB640A0A0ABBBBBB16EEEE616108E30B
+ 703C3C1B86ED4760C330040422EA69294E270F0F022B621C55238C002A09F2C2
+ F72C1FB334330505670178F31111110524D22E21D221AB10AB79AB1079792EF0
+ FD6DFD6D0587318F3131C12FA5F07801F0010185BA6D5AAF0101F5BC058585BA
+ BABACEBACEBA5A6DFDFDFDFDFDFD6D5A5A6D6DFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCDBDBDBDBDB
+ DBFCFFFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFCFCFCFCDB640A0ABBBBBBBB160EEE076108E3E30B703C181B865B4760
+ C33004512236294F4E270F02022B1CEF23238C00EC0909E78A39F738112C2C1F
+ CECE6D41111111FD5ACE5A6D6D6D6D5A5A5A5A5A5A5A6DFDFDFDFDFDFDFD6D6D
+ 5A6D5A6D5A5A5A5A5A5A5AFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFFFCFCFCFC
+ FCFCFFFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBFCFCDB
+ 640ABBBBBB16160EEE07616108E30B70703CE81B195B47C3BE040422EAE5294E
+ 27270F022B621CEF238C8C00ECECEC6868E78A8A464646414141411111111111
+ 1111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
+ FCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFCFCFCFCFCFCFCFCFCFFFCFCFFFF
+ FFFFDDFFDDDDFFFFFFFFFFFFDDFFFFFFFFFFFFFFFCDBDB64640A0ABBBB16160E
+ EE07610808E3B1703C181BED194760493004512236E54F4E270F0F022B1C1C55
+ 238C00ECECECEC09688A8A8A4646464141414111111111111111FD1111FDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBDBDBDB
+ DBDBDBDBDBDBDB6464FCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFDDFFFFFFFFFFFF
+ FFFFFFFFFCDDFFFFFCFFFFFCDB64640A0A0ABBBBBB160EEE07610808E30B7070
+ 3CE81B195B4742BE300451EAE5294F4E270F02022B1C1C558C8C0000ECEC6868
+ E78A8A46464646414141411111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB6464646464
+ 64FCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFDDDDFFFFDDFFFFFFDDFFFFFFFFFFFC
+ FFFFFCFCFCFC640A0A0ABB1616160EEE076108080B0B703CE81B86194760C3BE
+ 04512236E54F4E270F0F022B2B1CEF8C8C0000ECECEC0909DCE7464646464141
+ 4111411111111111FDFD11FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB646464646464FCFC64FCFCFCFCFC
+ FCFCFCFCFCFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBFCDBDBDB0A0A
+ 0ABB1616160E0E07616108E30B70703CE886195B474249305151223669294E27
+ 0F0F022B2B1CEF238C8C0000ECEC096868E7E78A8A4646414141414111411111
+ 1111111111111111111111111111111111111111111111111111111111111111
+ 1111111111111111111111111111111111111111111111111111111111111111
+ 11111111111111111111111111111111111111111111118A0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFCFCFCFCFCDB
+ DBDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A646464646464DBFCFCFCDBFCDBFFFFFF
+ DDDDFFDDFFFFFFFFFFFFFFFFFFFCFCFCFCFFFCDBDB0A0A0ABBBB160E16EEEE07
+ 070808E30BB13C3CE81B86194760C3BE3004512236E54F4E4E270F0F022B2B1C
+ 1C55558C8C8C0000002A2AECECEC09EC09096868686868686868DCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCEC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB
+ DBDBDBDBDBDB64DBDBDBDBDBDBDBDBFCFCDBFCDBFFFFFFFFFFFFFFDDDDFFFFFF
+ FFFFFFFFFFFCFCFCFCFCFCDBDBDBDB640A0ABBBBBB160EEEEE07616108E3E3B1
+ 703C18181BED195B4760C349303004515122EAEAE5E529294F4F4E4E27272727
+ 270F0F0F0F0F0F0F0F0202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 020202020202020F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDDFCFCFCFCFCFCFCFCFCDD
+ DDDDDDDDDDFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFC640A0A0A0A0ABB161616900EEE0707610808E3E30B0BB170
+ 3C3C3C18E81B1B86EDED19195B5B4747474760604242C3C3C3C3494949494949
+ EBEBEBBEBEBEBE30BEBE30303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303049
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFDDDDFCFCFCFCFCFCFCFCDBDBDBDBDDFCFCFCDDDDFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDDFCFC64
+ 640A0A0A0ABB161616900EEE070761080808E3E30BB17070703C3CE81B1B1B86
+ ED1919195B5B4747476060424242C3C3C3494949494949EBBEEBBEBEBEBE3030
+ BE30303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030490000FCFCFCFCFCFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB
+ DBDB6464646464640A0A0A0A0A0A6464646464DBDBDBDBDBDBDBDBFCFFFFDDDD
+ FFDDFFFFFFFFFCFFFFFFDDFFFFFCFCFCFCDBDBDBDB640A0ABBBBBBBB16EEEE07
+ 610808E3E3B170703C181B86ED195B4742C3BE300404512222EA36E529294F4F
+ 4E4E4E272727270F0F0F0F0F0F0F020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020F0000FCFCFCFCFCFCFCFCFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCDBDBDBDBDBDBDB64640A0A0A0A0ABBBBBB
+ BBBBBBBBBBBB0A0ABB0A0A0A0A0A0A0ADB64FCFCFCFFDDDBFFFFDDFFFFFFFFFF
+ FFFFFCFFFFFFFC64DBDBDB0A0A0ABB161690EEEE07070808E30BB1703C181B1B
+ 195B476049300451512236294F4E27270F0F022B2B1C1CEF558C8C0000000000
+ ECECECECECEC09090968686868686868DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCEC0000FCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFF
+ FCFCFCFCFCFCDBDBDBDBDBDBDB640A0A0A0A0ABBBBBBBBBBBBBBBBBBBBBBBBBB
+ BB0A0A0A0A0A640A6464DBFCFCDDFCFFDDFCFFFFFFFFFFFFFFFFFFFFFFFCDBFC
+ 640A0A0ABBBBBBBB900EEE07616108E3E30B703C18E81B191947604930040451
+ 223669294E27270F02022B2B621CEF55238C8C00000000ECECECEC0909096868
+ 68E7E768E7E78AE7E78A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
+ 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
+ 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8AEC
+ 0000}
+ Login.LeftImage.Data = {
+ 07544269746D617016090000424D160900000000000036040000280000003200
+ 0000180000000100080000000000E00400000000000000000000000100000000
+ 000000000000000080000080000000808000800000008000800080800000C0C0
+ C000C0DCC000F0CAA6000020400000206000002080000020A0000020C0000020
+ E00000400000004020000040400000406000004080000040A0000040C0000040
+ E00000600000006020000060400000606000006080000060A0000060C0000060
+ E00000800000008020000080400000806000008080000080A0000080C0000080
+ E00000A0000000A0200000A0400000A0600000A0800000A0A00000A0C00000A0
+ E00000C0000000C0200000C0400000C0600000C0800000C0A00000C0C00000C0
+ E00000E0000000E0200000E0400000E0600000E0800000E0A00000E0C00000E0
+ E00040000000400020004000400040006000400080004000A0004000C0004000
+ E00040200000402020004020400040206000402080004020A0004020C0004020
+ E00040400000404020004040400040406000404080004040A0004040C0004040
+ E00040600000406020004060400040606000406080004060A0004060C0004060
+ E00040800000408020004080400040806000408080004080A0004080C0004080
+ E00040A0000040A0200040A0400040A0600040A0800040A0A00040A0C00040A0
+ E00040C0000040C0200040C0400040C0600040C0800040C0A00040C0C00040C0
+ E00040E0000040E0200040E0400040E0600040E0800040E0A00040E0C00040E0
+ E00080000000800020008000400080006000800080008000A0008000C0008000
+ E00080200000802020008020400080206000802080008020A0008020C0008020
+ E00080400000804020008040400080406000804080008040A0008040C0008040
+ E00080600000806020008060400080606000806080008060A0008060C0008060
+ E00080800000808020008080400080806000808080008080A0008080C0008080
+ E00080A0000080A0200080A0400080A0600080A0800080A0A00080A0C00080A0
+ E00080C0000080C0200080C0400080C0600080C0800080C0A00080C0C00080C0
+ E00080E0000080E0200080E0400080E0600080E0800080E0A00080E0C00080E0
+ E000C0000000C0002000C0004000C0006000C0008000C000A000C000C000C000
+ E000C0200000C0202000C0204000C0206000C0208000C020A000C020C000C020
+ E000C0400000C0402000C0404000C0406000C0408000C040A000C040C000C040
+ E000C0600000C0602000C0604000C0606000C0608000C060A000C060C000C060
+ E000C0800000C0802000C0804000C0806000C0808000C080A000C080C000C080
+ E000C0A00000C0A02000C0A04000C0A06000C0A08000C0A0A000C0A0C000C0A0
+ E000C0C00000C0C02000C0C04000C0C06000C0C08000C0C0A000F0FBFF00A4A0
+ A000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFF
+ FF00FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD525252525252525252525252
+ 5252FDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDAFB75E5E5E66666767676F6F6F6FB752FDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBF
+ BFBFBFBFBFBFBFBFBFB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFB76F676F6FB7B7B7B7B7776F5EB752FD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBFBFB752FDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFB76F676F6F6FB7B7
+ B7B7776F5EB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBFBFBF52FDFDFDFDFD
+ 0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAF
+ B76767676F6F6FB7B7B7776F5EB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBF
+ BFBF52FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDAFB76767676F6F6F6FB7B7776F5EB752FDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBF
+ BFBFBFBFBFBFBFBFBFBF52FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBFB7AFAFB7B7B7B7BFBFBFBFB7B752FD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDAFB76F675E5E5E5E5E5E676FB7A5FDFDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F79BFDFDFDFD
+ FDFDA4F7A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDF7F79BFDFDFDFDFDFDA407A3FDFDFDFDFDFDFD
+ 0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDF7F79BFDFDFDFDFDFDA407A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F7A4FDFDFDFDFDFDF707
+ A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDF707A49AFDFDFDFDA30707A3FDFDFDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F6A4
+ A49B9A9AA3A407079AFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F6F7F7A4A4F70707A3FDFDFDFD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDF7F6F6F6F6F607A3FDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7A3A3A3
+ A3A3FDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ 0000}
+ Log.WindowCaption = 'Seguran'#231'a'
+ Log.LabelDescription = 'Log do Sistema'
+ Log.LabelUser = 'Usu'#225'rio :'
+ Log.LabelDate = 'Data :'
+ Log.LabelLevel = 'N'#237'vel m'#237'nimo : '
+ Log.ColLevel = 'N'#237'vel'
+ Log.ColMessage = 'Mensagem'
+ Log.ColUser = 'Usu'#225'rio'
+ Log.ColDate = 'Data'
+ Log.BtFilter = '&Aplicar Filtro'
+ Log.BtDelete = '&Excluir Log'
+ Log.BtClose = '&Fechar'
+ Log.PromptDelete = 'Confirma excluir todos os registros de log selecionados ?'
+ Log.PromptDelete_WindowCaption = 'Delete confirmation'
+ Log.OptionUserAll = 'All'
+ Log.OptionLevelLow = 'Baixo'
+ Log.OptionLevelNormal = 'Normal'
+ Log.OptionLevelHigh = 'Alto'
+ Log.OptionLevelCritic = 'Cr'#237'tico'
+ Log.DeletePerformed =
+ 'Deletion of system log done: User = "%s" | Date = %s a %s | Leve' +
+ 'l <= %s'
+ UsersForm.WindowCaption = 'Seguran'#231'a'
+ UsersForm.LabelDescription = 'Cadastro de Usu'#225'rios'
+ UsersForm.ColName = 'Nome'
+ UsersForm.ColLogin = 'Login'
+ UsersForm.ColEmail = 'Email'
+ UsersForm.BtAdd = '&Adicionar'
+ UsersForm.BtChange = 'A<erar'
+ UsersForm.BtDelete = '&Excluir'
+ UsersForm.PromptDelete = 'Confirma excluir o usu'#225'rio "%s" ?'
+ UsersForm.PromptDelete_WindowCaption = 'Delete user'
+ UsersForm.BtRights = 'A&cessos'
+ UsersForm.BtPassword = '&Senha'
+ UsersForm.BtClose = '&Fechar'
+ AddChangeUser.WindowCaption = 'Cadastro de Usu'#225'rios'
+ AddChangeUser.LabelAdd = 'Adicionar Usu'#225'rio'
+ AddChangeUser.LabelChange = 'Alterar Usu'#225'rio'
+ AddChangeUser.LabelName = 'Nome : '
+ AddChangeUser.LabelLogin = 'Login : '
+ AddChangeUser.LabelEmail = 'Email : '
+ AddChangeUser.CheckPrivileged = 'Usu'#225'rio privilegiado'
+ AddChangeUser.BtSave = '&Gravar'
+ AddChangeUser.BtCancel = 'Cancelar'
+ AddChangeProfile.WindowCaption = 'Perfil de Usu'#225'rios'
+ AddChangeProfile.LabelAdd = 'Adicionar Perfil'
+ AddChangeProfile.LabelChange = 'Alterar Perfil'
+ AddChangeProfile.LabelName = 'Descri'#231#227'o : '
+ AddChangeProfile.BtSave = '&Gravar'
+ AddChangeProfile.BtCancel = 'Cancelar'
+ UsersProfile.WindowCaption = 'Seguran'#231'a'
+ UsersProfile.LabelDescription = 'Perfil de Usu'#225'rios'
+ UsersProfile.ColProfile = 'Perfil'
+ UsersProfile.BtAdd = '&Adicionar'
+ UsersProfile.BtChange = 'A<erar'
+ UsersProfile.BtDelete = '&Excluir'
+ UsersProfile.BtRights = 'A&cessos'
+ UsersProfile.PromptDelete = 'Existem usu'#225'rios com o perfil "%s". Confirma excluir?'
+ UsersProfile.PromptDelete_WindowCaption = 'Delete profile'
+ UsersProfile.BtClose = '&Fechar'
+ Rights.WindowCaption = 'Seguran'#231'a'
+ Rights.LabelUser = 'Permiss'#245'es do Usu'#225'rio : '
+ Rights.LabelProfile = 'Permiss'#245'es do Perfil : '
+ Rights.PageMenu = 'Itens do Menu'
+ Rights.PageActions = 'A'#231#245'es'
+ Rights.BtUnlock = '&Liberar'
+ Rights.BtLock = '&Bloquear'
+ Rights.BtSave = '&Gravar'
+ Rights.BtCancel = '&Cancelar'
+ ChangePassword.WindowCaption = 'Seguran'#231'a'
+ ChangePassword.LabelDescription = 'Trocar Senha'
+ ChangePassword.LabelCurrentPassword = 'Senha Atual :'
+ ChangePassword.LabelNewPassword = 'Nova Senha : '
+ ChangePassword.LabelConfirm = 'Confirma'#231#227'o : '
+ ChangePassword.BtSave = '&Gravar'
+ ChangePassword.BtCancel = 'Cancelar'
+ ResetPassword.WindowCaption = 'Definir senha do usu'#225'rio : "%s"'
+ ResetPassword.LabelPassword = 'Senha : '
+ XPStyleSet.DimLevel = 30
+ XPStyleSet.GrayLevel = 10
+ XPStyleSet.Font.Charset = ANSI_CHARSET
+ XPStyleSet.Font.Color = clMenuText
+ XPStyleSet.Font.Height = -11
+ XPStyleSet.Font.Name = 'Tahoma'
+ XPStyleSet.Font.Style = []
+ XPStyleSet.Color = clBtnFace
+ XPStyleSet.DrawMenuBar = False
+ XPStyleSet.IconBackColor = clBtnFace
+ XPStyleSet.MenuBarColor = clBtnFace
+ XPStyleSet.SelectColor = clHighlight
+ XPStyleSet.SelectBorderColor = clHighlight
+ XPStyleSet.SelectFontColor = clMenuText
+ XPStyleSet.DisabledColor = clInactiveCaption
+ XPStyleSet.SeparatorColor = clBtnFace
+ XPStyleSet.CheckedColor = clHighlight
+ XPStyleSet.IconWidth = 24
+ XPStyleSet.DrawSelect = True
+ XPStyleSet.UseSystemColors = True
+ XPStyleSet.UseDimColor = False
+ XPStyleSet.OverrideOwnerDraw = False
+ XPStyleSet.Gradient = False
+ XPStyleSet.FlatMenu = False
+ XPStyleSet.AutoDetect = False
+ XPStyleSet.BitBtnColor = clBtnFace
+ XPStyleSet.ColorsChanged = True
+ XPStyle = True
+ WindowsPosition = poDesktopCenter
+ Left = 168
+ Top = 432
+ end
+ object UCADOConn1: TUCADOConn
+ Connection = ADOConnection1
+ Left = 104
+ Top = 432
+ end
+ object UserControl1: TUserControl
+ AutoStart = True
+ ApplicationID = 'UCControlsDemo'
+ ControlRight.ActionList = ActionList1
+ ControlRight.MainMenu = MainMenu1
+ UsersForm.MenuItem = Cadastrodeusuarios1
+ UsersForm.UsePrivilegedField = False
+ UsersForm.ProtectAdmin = True
+ EncryptKey = 0
+ NotAllowedItems.MenuVisible = True
+ NotAllowedItems.ActionVisible = True
+ Login.AutoLogon.Active = False
+ Login.AutoLogon.MessageOnError = True
+ Login.InitialLogin.User = 'Admin'
+ Login.InitialLogin.Email = 'qmd@usercontrol.com.br'
+ Login.InitialLogin.Password = '#delphi'
+ Login.MaxLoginAttempts = 0
+ Login.GetLoginName = lnNone
+ LogControl.Active = False
+ LogControl.TableLog = 'UCLog'
+ LogControl.MenuItem = logdosistema
+ ExtraRight = <
+ item
+ FormName = 'Form2'
+ CompName = 'BitBtn1'
+ Caption = 'Bot'#227'o Incluir'
+ GroupName = 'Formul'#225'rio 2'
+ end
+ item
+ FormName = 'Form2'
+ CompName = 'BitBtn2'
+ Caption = 'Bot'#227'o Alterar'
+ GroupName = 'Formul'#225'rio 2'
+ end
+ item
+ FormName = 'Form2'
+ CompName = 'BitBtn3'
+ Caption = 'Bot'#227'o Excluir'
+ GroupName = 'Formul'#225'rio 2'
+ end
+ item
+ FormName = 'Form2'
+ CompName = 'BitBtn4'
+ Caption = 'Bot'#227'o Fechar'
+ GroupName = 'Formul'#225'rio 2'
+ end
+ item
+ FormName = 'Form2'
+ CompName = 'ADOTable1UCIdUser'
+ Caption = 'Campo UserID'
+ GroupName = 'Formul'#225'rio 2'
+ end
+ item
+ FormName = 'Form2'
+ CompName = 'ADOTable1UCPrivileged'
+ Caption = 'Campo Privilegiado'
+ GroupName = 'Formul'#225'rio 2'
+ end
+ item
+ FormName = 'Form2'
+ CompName = 'ADOTable1UCProfile'
+ Caption = 'Campo Profile'
+ GroupName = 'Formul'#225'rio 2'
+ end
+ item
+ FormName = 'Form2'
+ CompName = 'ADOTable1UCUserName'
+ Caption = 'Campo Nome'
+ GroupName = 'Formul'#225'rio 2'
+ end
+ item
+ FormName = 'Form2'
+ CompName = 'ADOTable1UCLogin'
+ Caption = 'Campo Login'
+ GroupName = 'Formul'#225'rio 2'
+ end
+ item
+ FormName = 'Form2'
+ CompName = 'ADOTable1UCPassword'
+ Caption = 'Campo Senha'
+ GroupName = 'Formul'#225'rio 2'
+ end
+ item
+ FormName = 'Form2'
+ CompName = 'ADOTable1UCEmail'
+ Caption = 'Campo Email'
+ GroupName = 'Formul'#225'rio 2'
+ end
+ item
+ FormName = 'Form2'
+ CompName = 'ADOTable1UCTypeRec'
+ Caption = 'Campo Tipo'
+ GroupName = 'Formul'#225'rio 2'
+ end
+ item
+ FormName = 'Form2'
+ CompName = 'ADOTable1UCKey'
+ Caption = 'Campo Chave'
+ GroupName = 'Formul'#225'rio 2'
+ end
+ item
+ FormName = 'Form2'
+ CompName = 'edID'
+ Caption = 'Edit UserID'
+ GroupName = 'Formul'#225'rio 2'
+ end
+ item
+ FormName = 'Form2'
+ CompName = 'edNome'
+ Caption = 'Edit nome'
+ GroupName = 'Formul'#225'rio 2'
+ end
+ item
+ FormName = 'Form2'
+ CompName = 'edLogin'
+ Caption = 'Edit login'
+ GroupName = 'Formul'#225'rio 2'
+ end
+ item
+ FormName = 'Form2'
+ CompName = 'edSenha'
+ Caption = 'Edit senha'
+ GroupName = 'Formul'#225'rio 2'
+ end
+ item
+ FormName = 'Form2'
+ CompName = 'edEmail'
+ Caption = 'Edit email'
+ GroupName = 'Formul'#225'rio 2'
+ end
+ item
+ FormName = 'Form2'
+ CompName = 'edPriv'
+ Caption = 'Edit privilegiado'
+ GroupName = 'Formul'#225'rio 2'
+ end
+ item
+ FormName = 'Form2'
+ CompName = 'edTipo'
+ Caption = 'Edit tipo'
+ GroupName = 'Formul'#225'rio 2'
+ end
+ item
+ FormName = 'Form2'
+ CompName = 'edPerfil'
+ Caption = 'Edit perfil'
+ GroupName = 'Formul'#225'rio 2'
+ end>
+ LoginMode = lmActive
+ UsersProfile.Active = True
+ UsersProfile.MenuItem = Perfildeusurios1
+ TableUsers.FieldUserID = 'UCIdUser'
+ TableUsers.FieldUserName = 'UCUserName'
+ TableUsers.FieldLogin = 'UCLogin'
+ TableUsers.FieldPassword = 'UCPassword'
+ TableUsers.FieldEmail = 'UCEmail'
+ TableUsers.FieldPrivileged = 'UCPrivileged'
+ TableUsers.FieldTypeRec = 'UCTypeRec'
+ TableUsers.FieldProfile = 'UCProfile'
+ TableUsers.FieldKey = 'UCKey'
+ TableUsers.TableName = 'UCCTTabUsers'
+ TableRights.FieldUserID = 'UCIdUser'
+ TableRights.FieldModule = 'UCModule'
+ TableRights.FieldComponentName = 'UCCompName'
+ TableRights.FieldFormName = 'UCFormName'
+ TableRights.FieldKey = 'UCKey'
+ TableRights.TableName = 'UCCTTabRights'
+ ChangePasswordForm.MenuItem = rocarsenha1
+ ChangePasswordForm.ForcePassword = False
+ ChangePasswordForm.MinPasswordLength = 0
+ DataConnector = UCADOConn1
+ CheckValidationKey = False
+ Left = 136
+ Top = 432
+ end
+ object UCXPStyle1: TUCXPStyle
+ Active = True
+ XPSettings.DimLevel = 30
+ XPSettings.GrayLevel = 10
+ XPSettings.Font.Charset = ANSI_CHARSET
+ XPSettings.Font.Color = clMenuText
+ XPSettings.Font.Height = -11
+ XPSettings.Font.Name = 'Tahoma'
+ XPSettings.Font.Style = []
+ XPSettings.Color = clBtnFace
+ XPSettings.DrawMenuBar = False
+ XPSettings.IconBackColor = clBtnFace
+ XPSettings.MenuBarColor = clBtnFace
+ XPSettings.SelectColor = clHighlight
+ XPSettings.SelectBorderColor = clHighlight
+ XPSettings.SelectFontColor = clMenuText
+ XPSettings.DisabledColor = clInactiveCaption
+ XPSettings.SeparatorColor = clBtnFace
+ XPSettings.CheckedColor = clHighlight
+ XPSettings.IconWidth = 24
+ XPSettings.DrawSelect = True
+ XPSettings.UseSystemColors = True
+ XPSettings.UseDimColor = False
+ XPSettings.OverrideOwnerDraw = False
+ XPSettings.Gradient = False
+ XPSettings.FlatMenu = False
+ XPSettings.AutoDetect = False
+ XPSettings.BitBtnColor = clBtnFace
+ XPSettings.ColorsChanged = False
+ UCSettings = UCSettings1
+ Left = 200
+ Top = 432
+ end
+end
diff --git a/official/2.20/Demos/2 UCControls - ADO/ucontrols.pas b/official/2.20/Demos/2 UCControls - ADO/ucontrols.pas
new file mode 100644
index 0000000..dbdce20
--- /dev/null
+++ b/official/2.20/Demos/2 UCControls - ADO/ucontrols.pas
@@ -0,0 +1,229 @@
+unit ucontrols;
+
+interface
+
+uses
+{$IFDEF VER130}
+{$ELSE}
+ Variants,
+{$ENDIF}
+ Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
+ Dialogs, Menus, DB, ActnList, StdCtrls, AppEvnts, ADODB, ComCtrls, Buttons,
+ UCBase, UCADOConn, UCXPStyle;
+
+type
+ TForm1 = class(TForm)
+ MainMenu1: TMainMenu;
+ Arquivo1: TMenuItem;
+ Abrir1: TMenuItem;
+ Salvar1: TMenuItem;
+ Salvar2: TMenuItem;
+ Salvarcomo1: TMenuItem;
+ Fechar1: TMenuItem;
+ N2: TMenuItem;
+ Dados1: TMenuItem;
+ Importar1: TMenuItem;
+ Exportar1: TMenuItem;
+ N4: TMenuItem;
+ Vincular1: TMenuItem;
+ N3: TMenuItem;
+ Sair2: TMenuItem;
+ Editar1: TMenuItem;
+ Copiar1: TMenuItem;
+ Colar1: TMenuItem;
+ Recortar1: TMenuItem;
+ N1: TMenuItem;
+ Selecionartudo1: TMenuItem;
+ N5: TMenuItem;
+ AreadeTransferencia1: TMenuItem;
+ Exibir2: TMenuItem;
+ Esvaziar1: TMenuItem;
+ Exibir1: TMenuItem;
+ Zoom1: TMenuItem;
+ Normal1: TMenuItem;
+ Grande1: TMenuItem;
+ Ajustarnajanela1: TMenuItem;
+ N6: TMenuItem;
+ Personalizar1: TMenuItem;
+ amanhonormal1: TMenuItem;
+ elacheia1: TMenuItem;
+ Relatorios1: TMenuItem;
+ Relatorio11: TMenuItem;
+ Relatorio21: TMenuItem;
+ Relatorio31: TMenuItem;
+ Relatorio41: TMenuItem;
+ Segurana1: TMenuItem;
+ Cadastrodeusuarios1: TMenuItem;
+ rocarsenha1: TMenuItem;
+ ActionList1: TActionList;
+ Action1: TAction;
+ Action2: TAction;
+ Action3: TAction;
+ Action4: TAction;
+ Action5: TAction;
+ Action6: TAction;
+ Action7: TAction;
+ Action8: TAction;
+ Action9: TAction;
+ N7: TMenuItem;
+ EfetuarLogoff1: TMenuItem;
+ ADOConnection1: TADOConnection;
+ Perfildeusurios1: TMenuItem;
+ logdosistema: TMenuItem;
+ ADOQuery1: TADOQuery;
+ ApplicationEvents1: TApplicationEvents;
+ Label2: TLabel;
+ Label3: TLabel;
+ GroupBox4: TGroupBox;
+ EditErro: TEdit;
+ GroupBox5: TGroupBox;
+ EditLog: TEdit;
+ cbNivel: TComboBox;
+ BitBtn1: TBitBtn;
+ BitBtn2: TBitBtn;
+ PageControl1: TPageControl;
+ TabSheet1: TTabSheet;
+ GroupBox1: TGroupBox;
+ Button1: TButton;
+ Button2: TButton;
+ Button3: TButton;
+ GroupBox2: TGroupBox;
+ Button4: TButton;
+ Button5: TButton;
+ Button6: TButton;
+ GroupBox3: TGroupBox;
+ Button7: TButton;
+ Button8: TButton;
+ Button9: TButton;
+ UCSettings1: TUCSettings;
+ BitBtn3: TBitBtn;
+ UCADOConn1: TUCADOConn;
+ UserControl1: TUserControl;
+ UCXPStyle1: TUCXPStyle;
+ procedure EfetuarLogoff1Click(Sender: TObject);
+ procedure ADOUserControl1LoginError(Sender: TObject; Usuario,
+ Senha: String);
+ procedure ADOUserControl1LoginSucess(Sender: TObject; IdUser: Integer;
+ Usuario, Nome, Senha, Email: String; Privilegiado: Boolean);
+ procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
+ procedure Button10Click(Sender: TObject);
+ procedure ApplicationEvents1Exception(Sender: TObject; E: Exception);
+ procedure BitBtn1Click(Sender: TObject);
+ procedure BitBtn2Click(Sender: TObject);
+ procedure FormCreate(Sender: TObject);
+ procedure ADOUserControl1Logoff(Sender: TObject; IDUser: Integer);
+ procedure FormShow(Sender: TObject);
+ procedure BitBtn3Click(Sender: TObject);
+ procedure Action1Execute(Sender: TObject);
+
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ Form1: TForm1;
+
+implementation
+
+uses form2_U;
+
+
+{$R *.dfm}
+
+procedure TForm1.EfetuarLogoff1Click(Sender: TObject);
+begin
+ UserControl1.Logoff;
+end;
+
+
+procedure TForm1.ADOUserControl1LoginError(Sender: TObject; Usuario,
+ Senha: String);
+begin
+ UserControl1.Log(Format('Erro de login do usuário: "%s" senha: "%s"',[Usuario, Senha]),0);
+end;
+
+procedure TForm1.ADOUserControl1LoginSucess(Sender: TObject;
+ IdUser: Integer; Usuario, Nome, Senha, Email: String;
+ Privilegiado: Boolean);
+var
+ LastLogin : TDateTime;
+ StrData : String;
+begin
+//Pesquisar ultimo login do usuario
+ ADOQuery1.Close;
+ ADOQuery1.SQL.Text := 'Select Max(Data) as Data from ' + UserControl1.LogControl.TableLog +
+ ' where IdUser = ' + IntToStr(IdUser) +
+ ' and MSG like ' + QuotedStr('Entrada no sistema%');
+ ADOQuery1.Open;
+ StrData := ADOQuery1.FieldByName('data').asString;
+ if StrData <> '' then begin
+ LastLogin := EncodeDate( StrToInt(Copy(StrData,1,4)), StrToInt(Copy(StrData,5,2)), StrToInt(Copy(StrData,7,2)) ) +
+ EncodeTime( StrToInt(Copy(StrData,9,2)), StrToInt(Copy(StrData,11,2)), StrToInt(Copy(StrData,13,2)),0);
+ MessageDlg('Seu último Login foi em '+ FormatDateTime('DD/MM/YYYY', LastLogin)+' '+ FormatDateTime('hh:mm', LastLogin), mtInformation, [mbOK], 0);
+ end else MessageDlg('Bem vindo!'+#13+#10+'Este é seu primeiro Login no sistema.', mtInformation, [mbOK], 0);
+
+ ADOQuery1.Close;
+
+// Logar este login do usuario
+ UserControl1.Log(Format('Entrada no sistema usuário: "%s" nome: "%s"',[Usuario, Nome]),0);
+end;
+
+procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
+begin
+ UserControl1.Log('Sistema encerrado.',0);
+end;
+
+procedure TForm1.Button10Click(Sender: TObject);
+begin
+ raise Exception.Create('');
+end;
+
+procedure TForm1.ApplicationEvents1Exception(Sender: TObject;
+ E: Exception);
+begin
+ UserControl1.Log(E.Message,3);
+ beep;
+end;
+
+procedure TForm1.BitBtn1Click(Sender: TObject);
+begin
+ UserControl1.Log(EditLog.Text, cbNivel.ItemIndex);
+ MessageDlg('Log adicionado', mtInformation, [mbOK], 0);
+end;
+
+procedure TForm1.BitBtn2Click(Sender: TObject);
+begin
+ raise Exception.Create(EditErro.Text);
+end;
+
+procedure TForm1.FormCreate(Sender: TObject);
+begin
+ cbNivel.ItemIndex := 0;
+ ADOConnection1.Connected := True;
+end;
+
+procedure TForm1.ADOUserControl1Logoff(Sender: TObject; IDUser: Integer);
+begin
+ UserControl1.Log('Efetuado Logoff',0);
+end;
+
+procedure TForm1.FormShow(Sender: TObject);
+begin
+ Form1.Height := 434;
+end;
+
+procedure TForm1.BitBtn3Click(Sender: TObject);
+begin
+ Form2 := TForm2.Create(Application);
+ Form2.ShowModal;
+ FreeAndNil(Form2);
+end;
+
+procedure TForm1.Action1Execute(Sender: TObject);
+begin
+ MessageBox(handle, 'Teste', 'Action onExecute', MB_ICONINFORMATION or MB_OK);
+end;
+
+end.
diff --git a/official/2.20/Demos/3 Mail Demo - ADO/ADODemo.dpr b/official/2.20/Demos/3 Mail Demo - ADO/ADODemo.dpr
new file mode 100644
index 0000000..91bc55b
--- /dev/null
+++ b/official/2.20/Demos/3 Mail Demo - ADO/ADODemo.dpr
@@ -0,0 +1,13 @@
+program ADODemo;
+
+uses
+ Forms,
+ uadodemo in 'uadodemo.pas' {Form1};
+
+{$R *.res}
+
+begin
+ Application.Initialize;
+ Application.CreateForm(TForm1, Form1);
+ Application.Run;
+end.
diff --git a/official/2.20/Demos/3 Mail Demo - ADO/ADODemo.res b/official/2.20/Demos/3 Mail Demo - ADO/ADODemo.res
new file mode 100644
index 0000000..627f283
Binary files /dev/null and b/official/2.20/Demos/3 Mail Demo - ADO/ADODemo.res differ
diff --git a/official/2.20/Demos/3 Mail Demo - ADO/uadodemo.ddp b/official/2.20/Demos/3 Mail Demo - ADO/uadodemo.ddp
new file mode 100644
index 0000000..4370276
Binary files /dev/null and b/official/2.20/Demos/3 Mail Demo - ADO/uadodemo.ddp differ
diff --git a/official/2.20/Demos/3 Mail Demo - ADO/uadodemo.dfm b/official/2.20/Demos/3 Mail Demo - ADO/uadodemo.dfm
new file mode 100644
index 0000000..3e7f489
--- /dev/null
+++ b/official/2.20/Demos/3 Mail Demo - ADO/uadodemo.dfm
@@ -0,0 +1,1701 @@
+object Form1: TForm1
+ Left = 248
+ Top = 188
+ Width = 446
+ Height = 234
+ Caption = 'UserControl - ADODemo - Mail!'
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ Menu = MainMenu1
+ OldCreateOrder = False
+ OnCreate = FormCreate
+ PixelsPerInch = 96
+ TextHeight = 13
+ object GroupBox1: TGroupBox
+ Left = 42
+ Top = 64
+ Width = 105
+ Height = 113
+ Caption = 'GroupBox1'
+ TabOrder = 0
+ object Button1: TButton
+ Left = 15
+ Top = 16
+ Width = 75
+ Height = 25
+ Action = Action1
+ TabOrder = 0
+ end
+ object Button2: TButton
+ Left = 15
+ Top = 48
+ Width = 75
+ Height = 25
+ Action = Action2
+ TabOrder = 1
+ end
+ object Button3: TButton
+ Left = 15
+ Top = 80
+ Width = 75
+ Height = 25
+ Action = Action3
+ TabOrder = 2
+ end
+ end
+ object GroupBox2: TGroupBox
+ Left = 170
+ Top = 64
+ Width = 105
+ Height = 113
+ Caption = 'GroupBox2'
+ TabOrder = 1
+ object Button4: TButton
+ Left = 15
+ Top = 16
+ Width = 75
+ Height = 25
+ Action = Action4
+ TabOrder = 0
+ end
+ object Button5: TButton
+ Left = 15
+ Top = 48
+ Width = 75
+ Height = 25
+ Action = Action5
+ TabOrder = 1
+ end
+ object Button6: TButton
+ Left = 15
+ Top = 80
+ Width = 75
+ Height = 25
+ Action = Action6
+ TabOrder = 2
+ end
+ end
+ object GroupBox3: TGroupBox
+ Left = 290
+ Top = 64
+ Width = 105
+ Height = 113
+ Caption = 'GroupBox3'
+ TabOrder = 2
+ object Button7: TButton
+ Left = 15
+ Top = 16
+ Width = 75
+ Height = 25
+ Action = Action7
+ TabOrder = 0
+ end
+ object Button8: TButton
+ Left = 15
+ Top = 48
+ Width = 75
+ Height = 25
+ Action = Action8
+ TabOrder = 1
+ end
+ object Button9: TButton
+ Left = 15
+ Top = 80
+ Width = 75
+ Height = 25
+ Action = Action9
+ TabOrder = 2
+ end
+ end
+ object MainMenu1: TMainMenu
+ AutoHotkeys = maManual
+ OwnerDraw = True
+ object Arquivo1: TMenuItem
+ Caption = 'Arquivo'
+ object Abrir1: TMenuItem
+ Caption = 'Abrir'
+ end
+ object Salvar1: TMenuItem
+ Caption = '-'
+ end
+ object Salvar2: TMenuItem
+ Caption = 'Salvar'
+ end
+ object Salvarcomo1: TMenuItem
+ Caption = 'Salvar como...'
+ end
+ object Fechar1: TMenuItem
+ Caption = 'Fechar'
+ end
+ object N2: TMenuItem
+ Caption = '-'
+ end
+ object Dados1: TMenuItem
+ Caption = 'Dados'
+ object Importar1: TMenuItem
+ Caption = 'Importar'
+ end
+ object Exportar1: TMenuItem
+ Caption = 'Exportar'
+ end
+ object N4: TMenuItem
+ Caption = '-'
+ end
+ object Vincular1: TMenuItem
+ Caption = 'Vincular'
+ end
+ end
+ object N3: TMenuItem
+ Caption = '-'
+ end
+ object Sair2: TMenuItem
+ Caption = 'Sair'
+ end
+ end
+ object Editar1: TMenuItem
+ Caption = 'Editar'
+ object Copiar1: TMenuItem
+ Caption = 'Copiar'
+ end
+ object Colar1: TMenuItem
+ Caption = 'Colar'
+ end
+ object Recortar1: TMenuItem
+ Caption = 'Recortar'
+ end
+ object N1: TMenuItem
+ Caption = '-'
+ end
+ object Selecionartudo1: TMenuItem
+ Caption = 'Selecionar tudo'
+ end
+ object N5: TMenuItem
+ Caption = '-'
+ end
+ object AreadeTransferencia1: TMenuItem
+ Caption = 'Area de Transferencia'
+ object Exibir2: TMenuItem
+ Caption = 'Exibir'
+ end
+ object Esvaziar1: TMenuItem
+ Caption = 'Esvaziar'
+ end
+ end
+ end
+ object Exibir1: TMenuItem
+ Caption = 'Exibir'
+ object Zoom1: TMenuItem
+ Caption = 'Zoom...'
+ object Normal1: TMenuItem
+ Caption = 'Normal'
+ Checked = True
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object Grande1: TMenuItem
+ Caption = 'Grande'
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object Ajustarnajanela1: TMenuItem
+ Caption = 'Ajustar na janela'
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object N6: TMenuItem
+ Caption = '-'
+ GroupIndex = 1
+ end
+ object Personalizar1: TMenuItem
+ Caption = 'Personalizar'
+ GroupIndex = 1
+ end
+ end
+ object amanhonormal1: TMenuItem
+ Caption = 'Tamanho normal'
+ end
+ object elacheia1: TMenuItem
+ Caption = 'Tela cheia'
+ end
+ end
+ object Relatorios1: TMenuItem
+ Caption = 'Relatorios'
+ object Relatorio11: TMenuItem
+ Caption = 'Relatorio 1'
+ end
+ object Relatorio21: TMenuItem
+ Caption = 'Relatorio 2'
+ end
+ object Relatorio31: TMenuItem
+ Caption = 'Relatorio 3'
+ end
+ object Relatorio41: TMenuItem
+ Caption = 'Relatorio 4'
+ end
+ end
+ object Segurana1: TMenuItem
+ Caption = 'Seguran'#231'a'
+ object Cadastrodeusuarios1: TMenuItem
+ Caption = 'Cadastro de usuarios'
+ end
+ object Perfildeusurios1: TMenuItem
+ Caption = 'Perfil de usuarios'
+ end
+ object N8: TMenuItem
+ Caption = '-'
+ end
+ object LogdoSistema1: TMenuItem
+ Caption = 'Log do Sistema'
+ end
+ object N7: TMenuItem
+ Caption = '-'
+ end
+ object rocarsenha1: TMenuItem
+ Caption = 'Trocar senha'
+ end
+ object EfetuarLogoff1: TMenuItem
+ Caption = 'Efetuar Logoff'
+ OnClick = EfetuarLogoff1Click
+ end
+ end
+ end
+ object ActionList1: TActionList
+ Left = 32
+ object Action1: TAction
+ Category = 'Grupo1'
+ Caption = 'Action1'
+ OnExecute = Action1Execute
+ end
+ object Action2: TAction
+ Category = 'Grupo1'
+ Caption = 'Action2'
+ OnExecute = Action1Execute
+ end
+ object Action3: TAction
+ Category = 'Grupo1'
+ Caption = 'Action3'
+ OnExecute = Action1Execute
+ end
+ object Action4: TAction
+ Category = 'Grupo2'
+ Caption = 'Action4'
+ OnExecute = Action1Execute
+ end
+ object Action5: TAction
+ Category = 'Grupo2'
+ Caption = 'Action5'
+ OnExecute = Action1Execute
+ end
+ object Action6: TAction
+ Category = 'Grupo2'
+ Caption = 'Action6'
+ OnExecute = Action1Execute
+ end
+ object Action7: TAction
+ Category = 'Grupo3'
+ Caption = 'Action7'
+ OnExecute = Action1Execute
+ end
+ object Action8: TAction
+ Category = 'Grupo3'
+ Caption = 'Action8'
+ OnExecute = Action1Execute
+ end
+ object Action9: TAction
+ Category = 'Grupo3'
+ Caption = 'Action9'
+ OnExecute = Action1Execute
+ end
+ end
+ object ADOConnection1: TADOConnection
+ ConnectionString =
+ 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=..\base.mdb;Persist' +
+ ' Security Info=False'
+ LoginPrompt = False
+ Provider = 'Microsoft.Jet.OLEDB.4.0'
+ Left = 64
+ end
+ object MailUserControl1: TMailUserControl
+ ServidorSMTP = 'smtp.mail.yahoo.com.br'
+ Usuario = 'usercontrol2'
+ Senha = 'uc2demo'
+ NomeRemetente = 'DEMO - UserControl Package v2.0 beta4'
+ EmailRemetente = 'usercontrol2@yahoo.com.br'
+ AdicionaUsuario.Ativo = True
+ AdicionaUsuario.Titulo = 'Seu login foi inclu'#237'do no sistema'
+ AdicionaUsuario.Mensagem.Strings = (
+ 'Foi criado seu login de acesso no sistema.'
+ ''
+ 'Dados do Login:'
+ ''
+ 'NOME : :nome'
+ 'LOGIN : :login'
+ 'SENHA : :senha'
+ 'EMAIL : :email'
+ 'PERFIL : :perfil'
+ ''
+ '-----------------------------------------------'
+ 'UserControl Package v2.18a'
+ 'QmD')
+ AlteraUsuario.Ativo = True
+ AlteraUsuario.Titulo = 'Aviso de altera'#231#227'o de login'
+ AlteraUsuario.Mensagem.Strings = (
+ 'Seu login foi alterado. '
+ ''
+ 'Dados do Login:'
+ ''
+ 'NOME : :nome'
+ 'LOGIN : :login'
+ 'SENHA : :senha'
+ 'EMAIL : :email'
+ 'PERFIL : :perfil'
+ ''
+ '-----------------------------------------------'
+ 'UserControl Package v2.18a'
+ 'QmD')
+ EsqueceuSenha.Ativo = True
+ EsqueceuSenha.Titulo = 'Solicita'#231#227'o de envio da senha'
+ EsqueceuSenha.Mensagem.Strings = (
+ 'Ol'#225' :nome,'
+ 'foi solicitado o envio de sua senha por email.'
+ ''
+ 'Anote os dados necess'#225'rios para efetuar login:'
+ ''
+ 'LOGIN : :login'
+ 'SENHA : :senha'
+ ''
+ '-----------------------------------------------'
+ 'UserControl Package v2.18a'
+ 'QmD')
+ EsqueceuSenha.LabelLoginForm = 'Esqueci a senha'
+ EsqueceuSenha.MensagemEmailEnviado = 'A senha foi enviada para o seu email.'
+ SenhaForcada.Ativo = True
+ SenhaForcada.Titulo = 'Senha alterada pelo Administrador'
+ SenhaForcada.Mensagem.Strings = (
+ ':nome'
+ ''
+ 'Sua senha do sistema foi alterada pelo administrador.'
+ ''
+ 'Anote sua nova senha de acesso: :senha'
+ ''
+ '-----------------------------------------------'
+ 'UserControl Package v2.18a'
+ 'QmD')
+ SenhaTrocada.Ativo = True
+ SenhaTrocada.Titulo = 'Confirma'#231#227'o de altera'#231#227'o da senha'
+ SenhaTrocada.Mensagem.Strings = (
+ 'Ol'#225' :nome'
+ ''
+ 'Voc'#234' alterou a senha do sistema para : :senha'
+ ''
+ '-----------------------------------------------'
+ 'UserControl Package v2.18a'
+ 'QmD')
+ Left = 160
+ end
+ object UCSettings1: TUCSettings
+ AppMessages.MsgsForm_BtNew = '&Nova Mensagem'
+ AppMessages.MsgsForm_BtReplay = '&Responder'
+ AppMessages.MsgsForm_BtForward = 'E&ncaminhar'
+ AppMessages.MsgsForm_BtDelete = '&Excluir'
+ AppMessages.MsgsForm_BtClose = '&Close'
+ AppMessages.MsgsForm_WindowCaption = 'Mensagens do Sistema'
+ AppMessages.MsgsForm_ColFrom = 'Remetente'
+ AppMessages.MsgsForm_ColSubject = 'Assunto'
+ AppMessages.MsgsForm_ColDate = 'Data'
+ AppMessages.MsgsForm_PromptDelete = 'Confirma excluir as mensagens selecionadas ?'
+ AppMessages.MsgsForm_PromptDelete_WindowCaption = 'Delete messages'
+ AppMessages.MsgsForm_NoMessagesSelected = '!No Messages selected'#161
+ AppMessages.MsgsForm_NoMessagesSelected_WindowCaption = 'Information'
+ AppMessages.MsgRec_BtClose = '&Fechar'
+ AppMessages.MsgRec_WindowCaption = 'Mensagem'
+ AppMessages.MsgRec_Title = 'Mensagem Recebida'
+ AppMessages.MsgRec_LabelFrom = 'De :'
+ AppMessages.MsgRec_LabelDate = 'Date'
+ AppMessages.MsgRec_LabelSubject = 'Assunto'
+ AppMessages.MsgRec_LabelMessage = 'Mensagem'
+ AppMessages.MsgSend_BtSend = '&Enviar'
+ AppMessages.MsgSend_BtCancel = '&Cancelar'
+ AppMessages.MsgSend_WindowCaption = 'Mensagem'
+ AppMessages.MsgSend_Title = 'Enviar Nova Mensagem'
+ AppMessages.MsgSend_GroupTo = 'Para'
+ AppMessages.MsgSend_RadioUser = 'Usu'#225'rio :'
+ AppMessages.MsgSend_RadioAll = 'Todos'
+ AppMessages.MsgSend_GroupMessage = 'Mensagem'
+ AppMessages.MsgSend_LabelSubject = 'Subject'
+ AppMessages.MsgSend_LabelMessageText = 'Message text'
+ CommonMessages.AutoLogonError = 'Falha de Auto Logon!'#13#10'Informe um usu'#225'rio e senha v'#225'lidos.'
+ CommonMessages.ChangePasswordError.InvalidCurrentPassword = 'Senha Atual n'#227'o confere!'
+ CommonMessages.ChangePasswordError.NewPasswordError = 'Os campos: Nova Senha e Confirma'#231#227'o devem ser iguais.'
+ CommonMessages.ChangePasswordError.NewEqualCurrent = 'Nova senha igual a senha atual'
+ CommonMessages.ChangePasswordError.PasswordRequired = 'A Senha '#233' obrigat'#243'ria'
+ CommonMessages.ChangePasswordError.MinPasswordLength = 'A senha deve conter no m'#237'nimo %d caracteres'
+ CommonMessages.ChangePasswordError.InvalidNewPassword = 'Proibido utilizar senhas obvias!'
+ CommonMessages.InvalidLogin = 'Usu'#225'rio ou Senha n'#227'o inv'#225'lidos!'
+ CommonMessages.InitialMessage.Strings = (
+ 'ATEN'#199#195'O Login Inicial:'
+ ''
+ 'Usu'#225'rio : Admin'
+ 'Senha : #delphi'
+ ''
+ 'Defina as permiss'#245'es para este usu'#225'rio.')
+ CommonMessages.MaxLoginAttemptsError =
+ '%d Tentativas de login inv'#225'ido. Por motivos de segun'#231'a o '#13#10'siste' +
+ 'ma ser'#225' fechado.'
+ CommonMessages.PasswordChanged = 'Senha alterada com sucesso!'
+ CommonMessages.BlankPassword = 'Retirada senha do Login %s'
+ Login.WindowCaption = 'Login'
+ Login.LabelUser = 'Usu'#225'rio '
+ Login.LabelPassword = 'Senha : '
+ Login.BtOk = 'OK'
+ Login.BtCancel = '&Cancelar'
+ Login.TopImage.Data = {
+ 07544269746D6170B6790000424DB67900000000000036040000280000007601
+ 0000500000000100080000000000807500000000000000000000000100000000
+ 00009BB5D8007493BA00ACC2E000BBBBBB00CBD9EB007D9BC20051719900F6F8
+ FB00F2F5FA0095B0D500FCFDFE00EDF2F800A7B6BC0055759D00F8FAFC00B1C5
+ E1005979A10089A8D200CDD5D9003E5E88004D7199003D5D8700FAFBFD008888
+ 8800E5ECF500DDE6F200DDDDDD00E2EAF400A5BDDD00405F880042628C0089A6
+ CC008297A0005D7DA500C5D4E900A1B9DA006685AD004569920045679000B4C8
+ E300EEEEEE00BDCEE60099B3D600A9C0DE008BA8CD009EA5B0006181A9006E8D
+ B400D0DCED006989B10099999900809DC40085A2C80044638C00C1D1E8004462
+ 8C008EAACF0091ACD100486890005579A100E7EEF6003E5F890040608A005D82
+ AB00C0CBCF008CAAD400D5E0EF00496C950042618A004A6A93008FACD500D8E3
+ F0004C6C9400D2DEEE007795BD0046668E004E6E960050709700B8CBE400BBCD
+ E500CCCCCC00C8D7EA00648BB2006D93BA0044648E00A2BADB004A6B94009BAC
+ B300708EB5004E6F980085A5CF00DAE4F10058789E0043638D0050759D00506E
+ 9600D6E1EF00F4F7FB00A7BEDE00829FC600FDFEFE0041608B0054749A007A98
+ BF0093AFD600BECFE60044628A00666666004060880086A6D0004C6B92004867
+ 8E00EAEFF700AAAAAA0049688E006C8AB1004D6E940053729A00476690006584
+ AB007290B8005C7CA300333333005F7EA60046648E005A7DA50056779E00E6EA
+ EC0046648C0044444400777777004869920044678E0080A0C900E0E8F3006D8C
+ B3005576A000AAAEB50090ADD5006080A7009EB7DA006486AF00486A93006185
+ AC00F9FAFD004C6A92003C5B85004C6E96006988AF0049699100C6CFDC0093AE
+ D20051729B00597AA30045648B004E6D94004A6992004A6C92004D6D96006786
+ AD00B6BCC40056769E003D5A82003F628B006383A900698DB500555555005A7F
+ A7005B7AA1003A5A8400527399005A7BA200426188004668900039577F007D9F
+ C70047668D00EBF1F8004C6B940087A3CA00405F8600486990004E6D96004C6D
+ 9400222222006287AF0083A3CC00FBFCFD00779BC2004A6A9100D1DDEE005473
+ 9C003C5C87006B8BB20092ADD200D3DFEF00E1E5E900426189006C8BB5008B8F
+ 940045658D005878A00042638B003F5C84005C7BA4001111110084A3CC006183
+ AB00CDD6E1006A8AB3006282AB00808285006787B0006483AC00A5BCDB004061
+ 8A004F5153003E40420043637000FEFEFE0091AED600FEFFFF00758D9600F2F5
+ F5008FA0A900D9E0E200506D7A00EFF4F9005C788300BFD0E700B5C1C60091AE
+ D500E3EBF50069828D00C3D3E900D2DDEE0097B2D700DFE7F300F7F9FC00A3BB
+ DC006F8FB7007B7E830094AFD3007998C1002F3032007396BE00909296008FAB
+ D000686C7100A4BBDA00D2D9E400D9DEE600FEFEFF0088A7D20000000000FFFF
+ FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCFCFCFCFCFCFC
+ FCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB6464640A0A0A0ABBBBBBBBBB16
+ 16160E0E0EEEEEEE07EE0707616161070761070707EEEEEEEEEE90161616BB16
+ BB0ABB0A0A0A0ADB64646464DBDB64FCFFFCDBDB64DBDB0A640A0A0A0ABBBBBB
+ 16160EEEEE07610808E30BB1703C18E886195B47424930045122EA36294F4E27
+ 0F0F0F022B621CEF55558C8C000000ECECECECEC68096868DCDCDC8A8A8A8A8A
+ 8A46464646464646464646464646464646464646464646464646464646464646
+ 4646464646464646464646464646464646464646464646464646464646464646
+ 4646464646464646464646464646464646464646464646EC0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFC
+ FCFCFCDBDBDBDBDBDBDBDBDB64DB640A0A0A0A0ABBBBBBBB16161616160E0EEE
+ EE07EEEEEEEE6107070707EEEEEEEE0E0E0E0E161616BBBBBB0A0A0ADB0A6464
+ DBDBFCDBDBFCFCFFFFDBFCDDDBFCDBDB64640A0A0A0A0ABBBB16900EEE076108
+ 08E30BB1703C181B86195B4742BE3004512236694F4E27270F022B2B1CEF238C
+ 8C0000ECECEC09688A8A46464646414141111111111111111111FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCDB
+ DBDBDBDBDBDBDB6464640A0A0A0ABBBBBBBBBB161616160E0EEE0E0EEEEEEEEE
+ EEEEEEEEEE0E0E16901616BB16BBBB0A0A0A0A0A64DBDBFCFCDBFCFCFCFCFCFF
+ FFFCFCFFDDFFFCFCFCFF0A640A0A0ABB0A1616900EEE07070808E30BB1703C18
+ 1B1B195B604230040422EAE5294F4E270F02022B1C1C558C8C0000ECEC6868DC
+ DCE78A464646414141414111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCDBDBDBDBDBDB
+ DBDB64640A640A0A0ABBBBBB161616160E0E160E0E0E0E90EE0E0E9090901616
+ 161616BBBBBB0A0A640A0A64FCFCFCFCFCFFFFFCFFDDFFFCFCFFFFFFFCFFFCFF
+ FCDBFCDBDB0A0A0A0ABBBB16160E0EEE616108E30BB1703CE81BED5B47604930
+ 04512236E54F4E270F0F022B621CEF238C8C00ECECEC6809DCDC8A4646464641
+ 4141114111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB640A0A
+ 0A0A0ABBBBBBBB1616161616160E0E169090161616161616BBBBBBBB0ABB0A0A
+ 640A64DBDBFCFCDBFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFCFCFCFCFFFCFC0A0A
+ 0A0ABB1616160EEE07610808E30BB13C3C1B86195B4742BE3004222236294E27
+ 270F0F022B1CEF558C8C8C00ECECEC68DCE7DC8A464641414141411111111111
+ FD11FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB64640A0A0A0ABBBBBB
+ BBBBBB1616161616161616161616BBBB0ABB0A0A0A0A0A64FC64DBFCFCFCDDFC
+ FFDDFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFDDFCFFFCDDDB64640ABBBBBB160E0E
+ EE076108E30BB1703C181BED194760493004512236E54F4E270F0F022B621C55
+ 238C8C00ECECEC096868E7464646414141414111111111111111FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FCFFFFFCFCFCFCFCFCFCDBDBDBDBDBDB64640A0A0A0A0ABBBBBBBBBBBBBBBB16
+ BBBBBBBBBBBB0ABB0A0A0A0A640ADBDB64FCFCDBFCDDDDFCFFDDFFDDFFFFFFFF
+ FFFFFFFFFFDDFFFFFFDDFFFCFFFCDBDB64640ABBBBBB16900EEE070808E30B70
+ 703CE81B195B4742BE300451EAE5294F27270F022B2B1CEF558C8C0000ECECEC
+ 68DC8A8A464646464141414111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFCFC
+ FCFCFCFCFCDBDBDBDBDBDB64640A0A0A0ABBBBBBBBBBBBBBBBBB0ABBBB0A0A0A
+ 0A0A0A0A646464DBFCFCDDDBDBFCDDFCFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDBDB640A0ABBBBBB16900E07070808E3B1703C181BED194760
+ 493004512236694F4E270F02022B1C1C55238C00ECECECEC6809DC8A8A464641
+ 414141411111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFFFCFCFCDBFCFCDB
+ DBDBDBDBDB64640A0A0A0A0A0ABBBBBBBB0A0A0A0A0A0A0A0A0A0A64DBDBDBDB
+ DBFFFFDDDDDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFC
+ FC64640A0ABBBB16160EEE070808E30BB1703CE81BED5B4742BE300422EAE529
+ 4E27270F022B621C55238C8C00ECECEC0909DCE78A4646414641414111111111
+ 1111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCDBDBDBDBDBDB6464
+ 640A0A0A0A0ABBBBBB6464640A0A0A6464DB0ADB64DBDBFCFFFFFFDDDDFFFFFF
+ DDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFFDDDBFC640ABBBB16
+ BB0E0EEE070808E30B703C181B86194760C33004512236694F4E270F02022B1C
+ 1C55238C0000ECEC0968E7E78A8A41464141414141111111111111FDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A
+ 0A0A6464640A0A6464DBDBDBFCDBDBFCFCFFFFDDDDFFDDFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFCFCFC64640ABB16160EEE076108E3
+ 0BB1703CE81B195B47423004042236E54F4E270F02022B621C55238C00000909
+ C239382C1FCE85AF3305F3F5015353F5AF8585BC53B93F3F3FA7993B885E5E98
+ 98981414438E599E434343145E5E98593F52B9A7251E3D3D653E3E3E3E3E3ED7
+ 1E1E1E5D545D5DCA3E1E1E3B3B5DD7C03ED7A38E434354A365D7D76565D7D765
+ 6513153E3EC092AE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A6464646464
+ FCFCFCFCFCDBDBFCFCFFFFFFFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFCFCFCDB0A0A0ABB16160EEE070808E3B1703C181BED19
+ 4760BE3004512236694E270F0F022B621C558C00EC0997381F1F346333670101
+ F02F318DCF2EA7A78F52A5B97D14934393438E258E568E8E8E8E254325251459
+ 1414143B3FB93FA75E5E5E5E93985943438E8E25252525252676767683838326
+ 6554267DA78E263E3E3D15A33DA33D3E3D3D3D3D3D3D3D3D3E133D1E1E1592AE
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCFCFCFCDBDBDBDBDBDBDBDBDB646464646464FCFC6464FC64FCFCFCFCFCFCDB
+ FCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFF
+ FFFFFCFC64640A0ABBBB160E0E07610808E3B1703CE81B195B60C3BE04512236
+ 694F4E270F022B62D6558C002AF297382CB3633367677858319FA42E7BA8A87B
+ 21C9660648B5B53A4B4B8035CA6A6AC5353E1D1D3E1D3E1ECA268E883B3B4325
+ 26262654542626262626262626252525562543255EA77D5E2525262626262626
+ 252626262654262554252525431443255D1E2606433DA9A90000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE11212FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFF1212E1FFFFFFFFFFFFFFFFFF1212E1FFFFFFFFFF
+ FFFFFFFFDF121212FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE11212
+ E1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBFCFC
+ DBDBDBDBDB64646464646464FCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFF
+ DDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFDDFCFCFCFC0A0A
+ BBBB16160EEE610808E30B703C181BED194742BE300422EAE54F4E270F0F022B
+ 1C5523002A09C2382CB36333674A0158879F9F2E7B5CA10D21A1064D48BDBD72
+ 809A3535C56C6C6C13131D44441D1D3E1D1ECA438E263D3D3D3D3D1313131313
+ 3D131313133D3D3D3D3DA3A3435E435DA33E3D3D3D3E3E3EA33EA3A3A3D7A354
+ 5426268E5E88592665D75D765D3D15A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE120DADADADADAE940FFFFFF12DADA0C
+ FFFFFFFFFFFF0CDADADADADADADADEFFFFDADA12FFFFFFFF0CDADADAFFFFFFFF
+ FFFFE0DADADADAE440FFFFFFFF40E9DADADADADA20E1FFFFFFFF12DEDADADADA
+ DADE12FFFFFFDADADEFFFF7FDADADEFFFFFFDFE0E2DADADADADEFF12DADADADA
+ DADADADAFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB
+ DBDBDBDBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFC64646464BBBB160EEEEE61
+ 08E30BB1703CE886194760493004512236294E270F0F022B62D6238C2A09F239
+ 381F6333054A0158879F772E7B5C5CA1210D4C9B91726F6FC8C83535CA6AC5C5
+ 1D6C6C1DB41D6C6C1D3E5D4354A33D1E653E3E1D3D3D3D3D1313131313131313
+ 15133D3D8E14263D3D1315C015151515C0C0151313133DD7151315A343935492
+ 133D3DC0C0133DA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFE6E2DADAE00C57E4DADAE0FFFF7FDADA0CFFFFFFFFFFFF0CDA
+ DAE9DEDEDEDE57FFFFDEDA12FFFFFF7FDADADADAFFFFFFFFFFFFDADE0C0CE4DA
+ DA7FFFFF57DADAE2570CE0E2DADAE6FFFF12DADADA200CE0DADADA40FFFFE4DA
+ DEFFFF0CDADAE1FFFFE1E2DADA200C0CE0E4FF12DADAE4DEDEDEDEDEFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFDDFCFFFCFC6464640A64BB16160EEE070808E3B1703C181B
+ ED5B47C33004512236694F4E270F022B62EF238C0009F239381FB36305674A58
+ 2F9F772E21A1100D21BF5F9B9B91BD6FC8C83535CA6A6AC56A35441D1D1D6C1D
+ 15C0359E5DD71D441D1D1D131313131313131515151515151313C01526595465
+ 653E131515151515C0C0C0C0C0C0C0159215C0151E5D3E13C015C0A9921515AE
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FE2
+ DAE97FFFFFFFFFE0DADA40FFFFDADA0CFFFFFFFFFFFF0CDADAE6FFFFFFFFFFFF
+ FFDEDA12FFFFFFDEDADADADAFFFFFFFFFFFFDFFFFFFFDFDADA0CFF40DADAE0DF
+ FFFFFFDFE9DAE27FFF20DADA0CFFFFFF12DADADEFFFFDEDADEFFFFE4DAE0FFFF
+ FFE9DAE2E1FFFFFFFFFFFF12DADAE0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFCFCFCFCFCFCFCFCDBFCDBDBFCDBFFFFFCFCFCFCFCFCFCFFFF
+ FFFFFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFCFCFCFCFC64640ABBBB160EEE076108E30B703C181B86194742BE300422
+ EAE54F4E270F0202621C558C8C2A099739382CB3343333674A78589477A85C75
+ CC754D4D0606065F4D4D4D4C4C4C4C4C9191919191913AC83792449E3E151D13
+ 1D1D1D1D1D1D1D1D1D1D1D13131313151D13C092764565653E13131513131313
+ 131315151515C092921315C03D651E5415C092C0151592AE0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0CDADA7FFFFFFFFFFFFF
+ DEDAE4FFFFDADA0CFFFFFFFFFFFF12DADA0CFFFFFFFFFFFFFFDEDA0CFFFF40DA
+ DA0CDADAFFFFFFFFFFFFFFFFFFFF40DADAE6FF20DAE4FFFFFFFFFFFFDFE2DAE0
+ FFDEDADADFFFFFFFFFE4DADAFFFFDEDADEFFE6DAE2DFFFFFE1DADAE6FFFFFFFF
+ FFFFFFFFDADADEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFCFCFCFCFFFCFCFCFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFFFFFCFC6464
+ 640A0ABB160E0EEE070808E3B1703C1B86195B6049300451EA36694E270F0202
+ 2B1C55238C2A09F2C2382CB3346305674A4A017873A4C975CCBF4D0D0D667506
+ 4C4C4C9B4C4C9B4C064D9B9B4C9B4C4C9B131E593E1D373735353535357C7C4B
+ 54545454543535353737543EB69C1D1D3E1D13133E6565653E3E3E3E3E653E1D
+ 131392C03D3E13133DC092151315C0A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFDEDAE9FFFFFFFFFFFFFF0CDADA7FFFDADA0C
+ E1127FFFFFFF12DADAE012121212DFFFFFE0DA0CFFDFE4DA20E1DADAFFFFFFFF
+ FFFFFFFFFFE6DADAE9FFFFDADA57FFFFFFFFFFFFFF20DAE4FFDEDADAFFFFFFFF
+ FFDEDADAFFFFDEDADEFFE4DA0CFFFFFF0CDADADFFFFFFFFFFFFFFFFFDADAE912
+ 1212127FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFC
+ FCFCFCFCFCFCFFFFFCFFFCFFFFFCFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCDDFCFCFC64640A0ABB1616EEEE
+ 076108E3B1703C181BED5B60423004512236294E4E270F022B62EF2300002AF2
+ 97382C1FB33405336767582F8794C9BF210D98A10D755F744D4D4C4C4D4C4D4D
+ 4C48489B48B5BD4C06131E593D1D767C353535359A8080C854547C7C7C545435
+ 3735833E984BCBCB1E1E65651E1E1E1E651E1E1E1E5D3765371E3D3D1E3E9292
+ 3E15C013131513A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFDEDADEFFFFFFFFFFFFFF12DADA12FFDADA0CE2DADAE4E1FF12DA
+ DADADADADADA12FFFF0CDA0CFF0CDAE27FFFDADAE1FFFFFFFFFFFFFF0CDADAE9
+ DFFFFFDADA0CFFFFFFFFFFFFFF0CDADAFFDEDADAFFFFFFFFFFDEDADAFFFF20DA
+ DEE6DADA2012FFFF0CDADAFFFFFFFFFFFFFFFFFFDADADADADADADA0CFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCFCFCFCFFFFFF
+ FFFFFFFCFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFDDFCFFFCFC640A0ABBBBBB16EE076108E30BB13C18
+ 1BED5B4742BE040422EA694F4E270F022B62EF238C002A09C2F7381F1F1F63B3
+ B33401785831C9A121A10DC97EAA4D4C4C4C4C4C4C4C4D4C9B5F7E21104C6E4C
+ 0D444BBF3E1D76809A35CACACACACA355454C8C8C8C85454C8C8483E0D541D13
+ 1E1E653E3E3E3E3D651E1E651E1E1E3E1D1E653D3E139213133E3E13131313A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20DA
+ E4FFFFFFFFFFFFFF12DADA12FFDEDA571240E9DAE2DF12DADADE0C0C0C0C7FFF
+ FF0CDA577FDADA0CFFFFDADA12FFFFFFFFFFFFE0DADAE0DFFFFFFFE2DAE0FFFF
+ FFFFFFFFFF0CDADAFFDEDADAFFFFFFFFFFDEDADAFFFF0CDADEE1120CE2DA57FF
+ 0CDADA7FFFFFFFFFFFFFFFFFDADAE40C0C0C0C12FFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFFFFFFFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFC
+ FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFF
+ FFFFFFDDFCDDFC6464640A0ABBBB160EEE070808E3B1703CE81B194760493004
+ 2236E54F4E270F02022BD6558C000009F239381F1F2C3333676778585873100D
+ 215C66A80D664D5F066E4D4D4D0674AA9B21F031AB484C06BF1E26BF3E133AB0
+ 6F446C9A541E5454353A76C6D1B6767C6F9545CAC9D713151E445D4465443D3E
+ 655D651E4BD5761DCACA351E3E15C0153E15C0133E1315A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6DADA12FFFFFFFFFFFF
+ 57DADADFFFDEDA0CFFFF7FDADAE612DADA0CFFFFFFFFFFFFFF0CDADEDEDAE4FF
+ FFFFDADA12FFFFFFFFFF12DADAE0FFFFFFFFFFE0DAE2DFFFFFFFFFFFFFE9DAE9
+ FF0CDADA12FFFFFFFF0CDADAFFFF0CDADEFFFFFFE6DADA7F7FDADA0CFFFFFFFF
+ FFFFFFFFDADADEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFCFC
+ FC640A0A0ABB160EEE076108E3B1703CE81BED5B60493004512236294E270F02
+ 022B1CEF2300000997C2382CB32CB33463334A7858C1C90D79C9AA1010A87E5C
+ 754C75064D4D744D0D242EB74D4C4C06754426BFD71D953A3AB54BCA543E3A76
+ 9CC875D4213A3A243A9145357ED7131D5D3E3E3E1D13543E1E1E1E3D9EC6BF54
+ 9A35351E3E1515136513C0C0151313A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFDFE2DAE9DFFFFFFFFFE1E2DAE0FFFFDEDA0C
+ FFFFDFDADA0C12DADA0CFFFFFFFFFFFFFF0CDAE2DADA12FFFFFFE4DA12FFFFFF
+ FFFF0CDADAFFFFFFFFFFFF12DADAE0FFFFFFFFFFE6DADAE6FF0CDADA12FFFFFF
+ FF0CDADA12FF0CDADEFFFFFF40DADA12FFDEDADA12FFFFFFFFFFFFFFDADADEFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFC64640A0ABB160E
+ EE076108E30B703C181BED5B47C33004512236294F27270F022B62EF23002A09
+ 09C2382C1F2C386363054A017887A8BF7B10065C5C0DAA66664D66754D064D06
+ AA2E24AA4C4D0D4D063E26BF3E3E9C9CC8B5CA6C76548335443A0DCC45542ED5
+ 95484584BFD7134454831E13761D5D1E5D9265452EC698544BC8351E1D15133E
+ 653E15C0153E3EA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFF12E2DAE40C121257E2DAE2DFFFFFDEDADE0C0CDEDADA4012DA
+ DADE0C0C0C0C0C7FFF40DADADA20FFFFFFFFDEDAE6FFFFFFFFFF40DADA201212
+ 0CE1FFFF0CDADADEE61240E0DADADEFFFF0CDADA12FFFFFFFF0CDADA12FF0CDA
+ E40C0C57E2DADADFFFDFE9DADAE040124057E1FFDADAE40C0C0C0C0C12FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFC640A640ABB1616EE076108080B7070
+ 181B861947423004512236694F27270F022B62D6230000EC0997F72C1FB33834
+ 056701787887CC0D79AB4DAB215C5CA16606AAAA4D4D4D060101F3C1A84C6606
+ 061DAD986C44959C9A95449A7676761E1E567D7D84B7F0069148953A063E1337
+ 5D1E5D13763E443E54C05488D12F983A6FC835441D151D1E3D3E3E133D653EA2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ E1DEDADADADADADADEDFFFFFFFDEDADADADADADAE0FF12DADADADADADADADA12
+ FF12DADADA7FFFFFFFFFDEDA0CFFFFFFFFFFFFE0DADADADADA7FFFFFFF40E4DA
+ DADADADADA57FFFFFF0CDADA12FFFFFFFF0CDADA12FF0CDADADADADADAE2E6FF
+ FFFFDFE0DADADADADADA12FFDADADADADADADADA0CFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ DDFFFFFFFFFFFFFCFCFC640A0ABB16160EEE070808E3B1703CE886194742BE30
+ 042236694F4E270F022B62EF238C00EC09C2F72C1FB3B36367670101782FCC0D
+ 10794D2121A15CAAAAAA4D4D064C4C064D7E797B945C9B4D061D9598131E763A
+ C83A449544541D54C8138806A3AD9826914895569E1D153576924B1E3E5D543E
+ 155D83982E4AD47B6FC81E3E13151D1E3D3E3D13133E3DA20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FE60C0CE67F
+ FFFFFFFFFFE112121212127FFFFFDF1212121212121212DFFFDF1212E1FFFFFF
+ FFFFE1127FFFFFFFFFFFFFFFE10C0C0CE1FFFFFFFFFFFFE10C0C0C40DFFFFFFF
+ FF7F1212DFFFFFFFFF7F1212DFFF7F121212121212FFFFFFFFFFFFFFDF400C0C
+ 0C40DFFF12121212121212127FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
+ FF64640A640ABB160EEE070808E3B1703CE88619476049300451EAE54F4E270F
+ 020262D6558C002A0997F7381FB3343305674A0178C121A15C794D7910667BAA
+ 75790D4DAA4C4C06AA064C6E0D7506AA981D45061335763A4844443A1EB21E76
+ 3A4B764B563A7648919B9593563D157C5D4B5D13441EC01E65541E5476983AC8
+ 6FC81E3E1315134465131515151513A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFCFFFCFC64640A0ABB16
+ 0EEE076108E3B1703CE81B195B4749300451EAE54F4E270F022B2B1C55238C2A
+ 09F239381FB3343305676701782F8BA1C9AB4D211021019F0D2FA4AA66064D06
+ AA4CA1AA4D74664CBF1D43981354769CC8C8D101F0D19E1D3EB2443A453A453A
+ 6E4C9506831D15763D8313831E44541E3D15135D3A761E3A4B8035441D151365
+ 6513131E1E1315CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCDDFFFCDB64640ABB1616EE076108E30B70
+ 3C181BED5B47C330045122E5294E270F02022B1C55238C00099738382CB33463
+ 05674A0178782EA199CC06215C210558A1F32FBF66AA4D4D4C75AA4D5C4D0610
+ BF1D4898134B3A913AC5940D7676C8837C7CA87B3A9C3A486E4C45983A1D1576
+ 3A1376D15DB2C6761E1E5D15765454354B80351E1D15133E3D151E833A65C0A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFDDDDFCFFFCFCFC640A0ABBBB16EEEE6108E30BB170181BED5B474230
+ 0451EA36294E272702022B62558C8C2AEC9739381FB3343305674A01782FD5C9
+ 79A866A8109F874A8DC6F30DA10D4D66AA666666AA06BFA1A11D9EBF549A9C3A
+ 83D7F578787BBDBD5648D4C90DD276833ABF76C94B441D761E769CC65978B67C
+ 54351E5D54545476763A1D761315374465153DD13E1365A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFF
+ FFFCFC64640ABB16160EEE610808E37070181BED5B4742300451EA36694E270F
+ 02022B62EF8C8C002AF239F71F1FB36333054A017858775CAB8B06791078A4C1
+ 0521587779A1A8A85C5C5C5C0DAA66A10D15C999A34B9C3A4B83F0BF5966486E
+ AA4CD198CC109E839C9EADD2C81E443A54139EF3C6785FB695764B4B4B5D5D5D
+ 763AC83A1E445D44156583D41E3E1EA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFFFCFC646464BBBB
+ 160EEE070808E3B1703CE886194742BE04042236694F27270F022B1CD6238C2A
+ 09F2C2381FB3B3633305674A01F024107B2FA1AB7901AB2E0599D42410107966
+ 5C5C5C5C7E0D0DA10DD78F2ECA95569148B6016701774D100D4CD24810065945
+ 595643A5AD54C8953E9EC9CC88C6CC83599EB2B2453A767654358335D7441E3E
+ 135D59995D76B26F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC64DB640ABBBB160EEE070808E3B1
+ 703CE886194742BE30512236694F27270F022B1CEF238C002AF297382C1F3463
+ 3305674A015824A8CF2F7BC9102E0D10C9BF107E66ABAB105C5C5CA8105C5C10
+ BF458F8BAD9D6E6E9E3A065906AA9D0D0DAA0D06BF9806599893143143C8C876
+ 48567DF0317B59594C9E489E48569C9C45959826C8C84B848399F57899454B6A
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFDDFFFFFC64646464BBBB160E0E076108E3B1703CE886194742BE
+ 04042236694F4E270F022B62EF23000009F239382CB3343305674A4A78879F8B
+ 249FCF7E7E0DAA664D754D064D4DB7664D4C4C4D06060606459E0D06B5843A3A
+ 959B48B03A984C934C4D954C9D4D9E4C4343933B43C85454CAD7CA3ACA845426
+ 3A6F6F3A833A3A3A4B26AA8444D7A3D7543D1E44545D37B40000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
+ FFFCFCFC640A0ABB160E0E076108E30B703C181BED5B604930042236694F4E27
+ 0F022B1CEF23002A0939382C1F3433054A0158879FA47B21CCA10DBFB7489195
+ 91726F4856987DC972B09AB06FB0B0B04445C835AD9A9A6FB0356A953A4B4C3B
+ 3A6F9AC84B9A4BC835268326434B544B54CAD7CACA985E43C89ACA9A9A353554
+ 4B9598B76FC89ACA3D5D76B6833E1D6A0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFC64640A0ABB
+ 1616EE070808E3E3B1703CE81B1947C3300422EA694F27270F022B1C5523002A
+ F2C2382C1F3433676701583194778B7BCC5C0D6606065F9B6E6EBD3AC8067B8E
+ 6EB5B0B0B0C880804435CAC5C89A6AB09AB09A80C53599A79572729A6F35C835
+ 1E35C8CA26C8354B6ACA4B1D440D7D8E6FC89A9A35CA1E35C580C83A35C5CA6C
+ 3D767610597613AE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFCFC640A0ABB160EEE0761610808
+ 08E3E3B17018ED4749045136694F4E270F022B1C5523002A0939381F1F343367
+ 677858739FA47BA85C5C0D4C5F9B9191726E72C826563B846E729A9A80356A6A
+ 801D4B356A80AC806A9A6AC8D73D3B8872726F806A806A6A35441E543E354435
+ B01D6FCACAAD7E95B56FC89A9ACACA353580CBC8AC6A4B353D7615BF76541ECB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDDFFFCDDFC0A0A0ABB160EEE07076107EE0E0E0EEE0708B11B
+ 473051EAE54F4E270F022B1C5523002A0939381FB33433674A015873772E8BCC
+ 5C66665F5F4C6F953A72B03ACAB73B546F3A1D806AB4C580B0B46AB46FB46AB4
+ 449A1D4435157D9880B09A8080C5C5C57C15443735351D351D441DCA1E4B0635
+ 6F6F44C8445D1D3E1D443E44541E1DC81E443E4BC81E54CB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
+ FCFFFC6464640ABB160EEE07077F71176B818181170316081B4204EA694F4E27
+ 0F022B1CD623002A0939381FB36333674A0158872F739F777B9F7BA81066A14D
+ 9B483AC815837ECAB43A3A6EC84C6F95484806486E4806483A953A6FC8152193
+ 6CB09A6ACBC5657C44351D5415C854547C541EC8D73A4844CA6FC515A95D3544
+ 1D3A35443E1E44C01E441D351E1D35CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFC6464640ABB
+ BB0EEE070781FEFEFEFEFEFEFEFEA60AE31904EAE54F4E270F022B621CEF8C00
+ EC97381F1F63333305676778788773739424A4249F79C9AB5C5CBF486C43AB84
+ 80064C4C9B5F664C485C065F5C0D6E5F4D4C75064C448F43B46A6F4B959C3AB2
+ 9CB2B29CB6B61D459C6F6F8ECA4C3A1DCACA6C9A4B4B1D1D1EC03A4B153A159C
+ 35441D4413C044A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC640A64BB160EEE0707CDFE7A
+ 82D36BCDFEFEFE17EE1B3022E5294F4E270F0F022BD655002A97381FB3343333
+ 33674A01015887947377247B7B2E218B10ABA806A34899CA954D489BAA48664C
+ 754D75BF064C75A10D454D9806CA8F26CA3548C8B2445D54C8543A359E35483A
+ 954B4593AD0D351D1DCAC56C1D134445761E1D833E3E3E1D351E1D3EC09244A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFCFC64640A0ABBBB160EEE07D312610808E3C4F4FEFEB8
+ 163C495136E5E56969294F4E270262232AF2381FB334333305670505782F8794
+ 942424014A947B7EA8A8CC98D75699A3B5484C0DAA774D669B7506664A78D1C6
+ 779E4C98BF3524841D3A6E541E3A75B676563A563A54F021BD4B45483AA1C51D
+ 6C4BC54410D5BF131D35BF4859D10D5D35353E3E15C044A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFF
+ FCDDFCDBDB64640ABBBB90EE07616161616108E3F6FEFEFEBB70425122220430
+ 604242490436271C0009F71F1F3433330505336301C1C1949F24335831059458
+ 79AB21A1CA437D844B0D0648D4A8F04C0D4CAABFF0F30188787E060DBF268DAD
+ A94CC85676D478884B3A3A8376450DF05F6E489DB598356A6CB0CA6CBF990676
+ 764483D1313A44445D5D3E3E131535A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5003030328FFFFFFFFFFFFFFFF
+ FF5003031AFFFFFFFFFFFFFFFFFF280303031AFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFF1A03030328FFFFFFFFFFFFFFFF28030350FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A030350FFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFF50030328FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A03031AFFFFFFFFFFFFFFFFFFFF
+ FF28030350FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF030303FCFC6464
+ FC0A16EE0761EE1A030316EE12FEFEFE50B1600404428670E68903890B1B0402
+ 23EC381F34343333336767670578873131948B01F301F52E215C990DD73A99CA
+ BD4C064C66F0AB0D740DBF9E8DF30501D20D4D9859842ECA6C5935B29C244A83
+ 45C83A7659C926F0064CB7959D4D9A6AC89ACA562E103A44C0440DD2249C354B
+ 5D351D1D15135DA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFF03A6FEFEFEFEFEFEB86B1AFFFFFFFF6BFEFEFEFEFEB871FF
+ FFFFFFFF17B8FEFEFEFEFEFE17FFFF03FEFEFE28FFFFFFFFFFFFFFFFFFFFFFFF
+ FFFF036BCDFEFEFEFEFECD32FFFFFFFF717AFEFEFEFECD6B28FFFFFFFFFEFEFE
+ 03FFFFFFFFFF81FEFE17FFFFFFFF6BFEFEFEFE82FF03FEFEFE28FFFFFFFFFFFF
+ 286BCDFEFEFEFE7A71FFFFFFFF03FEFEFEFFFFFFFFFFFFFFFFFF17FEFEFE03FF
+ FFFFFFFFFFFFFFFF71B8FEFEFEFE3217FEFE81FFFFFFFF037AFEFEFEFEFE17FF
+ FF03FEFEFEFFFFFFFF81FEFECD50286BFEFEFEFEB8FCCDFEFE03BB0E615081FE
+ FEFECD17BBFEFEFE03B147EB47A0A6FEFEFEFEFEFEB8D04E2309381F34343333
+ 336733673487942F24A424F0317B7B7D215CAB5CCA8399A33A0606AA31A49F06
+ 667445BFD4054A7B4D4D060D4D56CFCA3E453A3A76B2013A564BCA3A932E01D2
+ 484848B5B7486AB49AC844C8CCA13A3E1E35C8C9D54476765D1E1315C01D54CB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B
+ FEFEFEFEFEFEFEFEFEFEFE32FFFFFFB8FEFEFEFEFEFEFE71FFFFFF81FEFEFECD
+ 8181CDFE81FFFF03FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF286BFEFEFEFEFEFE
+ FEFEFE81FFFFFF6BFEFEFEFEFEFEFEFECD50FFFFFF7AFEFE03FFFFFFFFFF82FE
+ FE17FFFFFF71FEFEFEFEFE81FF03FEFEFEFFFFFFFFFFFF50CDFEFEFEFEFEFEFE
+ FE6BFFFFFF50FEFEFEFFFFFFFFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFFFFFF1A
+ CDFEFE8117173203FEFE81FFFFFF32FEFEFEFEFEFEFE81FFFF1AFEFEFEFFFFFF
+ 71FEFEFE32FF82FEFECD8217822881FEFE030A9050CDFEFEFEFEFEFE6BFEFEFE
+ 030B5B47E0CDFEFEFEF4D9F4FEFE2D272309381FB363333305674A67012FC194
+ 9F772E944AF02179795C10A1444B885DC8754D75BF7E4C064C4C9B06107821C9
+ 4D4D66665993ABC81D455654543A3A54B09A4B6F5624F00D5F48834806543E1D
+ 5D54351E1E351E1E3DD78399064B44765D5D139213653ECB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFEFE6B71033281
+ FEFEFEFE03FFFF827128FF1A7AFEFEA6FFFF17FEFECD17FFFFFFFF1A32FFFF03
+ FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF7AFEFEFECD82710303176B7AFFFF71FE
+ FEFE1728FF037AFEFEB828FFFF81FEFE71FFFFFFFFFF17FEFE82FFFFFF17FEFE
+ FE03FF71FF03FEFEFEFFFFFFFFFFFF7AFEFE7A03FF2817FEFEFE17FFFFFFFEFE
+ FEFFFFFFFFFFFFFFFFFF03FEFEFE03FFFFFFFFFFFFFFFF17FEFEB8FFFFFFFF1A
+ FEFE7AFFFF1ACDFEFE7A71FFFF1A32FFFFFFFEFEFEFFFF28B8FEFE6BFFFFCDFE
+ FE32DDDDDB646BFEFE710A1681FEFECD32EEC4D3FEFEFEFE030BEDFACDFEFE81
+ 9647305151E0E0028C09381F34B3330505674A0178878731249FA4A4247B108B
+ 10AB21BF35450D546EAA744859069E0606BD594C48C9064C4DAA75754D14211D
+ 54487676543A353A3A9A4BCA3A59453A95B25643BF541D929C3E441D761D5D35
+ D7541E35134B3A541E1E3DC01D4465CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF7AFEFEFE17FFFFFFFFFF6BFEFEFE6BFFFFFF
+ FFFFFFFF82FEFEA6FFFFB8FEFE17FFFFFFFFFFFFFFFFFF1AFEFEFEFFFFFFFFFF
+ FFFFFFFFFFFFFF17FEFEFE8128FFFFFFFFFFFFFFFFFFB8FEFE17FFFFFFFF28CD
+ FEFE17FFFF81FEFE17FFFFFFFFFF17FEFE81FFFFFF17FEFEB8FFFFFFFF1AFEFE
+ FEFFFFFFFFFF32FEFECD28FFFFFFFF17FEFECDFFFFFFFEFEFEFFFFFFFFFFFFFF
+ FFFF03FEFEFE03FFFFFFFFFFFFFFFF17FEFE7AFFFFFFFFFFFEFEFEFFFF17FEFE
+ CD28FFFFFFFFFFFFFFFFFEFEFEFFFF82FEFEB828FFFFFEFEFE71FFDD646417FE
+ FE170A7FFEFEFE3290E3703CD3FEFEFE03E31BC7FEFEB8C4190436294F4E0F2B
+ 8C2AC21F3434333305674A017887C19F9F9FA48B8B21797B5C797BBF35565E54
+ C84D664C750659590D6EBFAABF1010994D660666B798211D92483A4576453E3A
+ C86E4B9D459A4583B2594C83C9C81EC5441E4B5D5D131D3ED73ED74B3E441E54
+ 1D1E3E133E3E3DCB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFEFEFEFEFFFFFFFFFFFF28FEFEFEB8FFFFFFFFFFFF71CDFEFE71
+ FF50FEFEFE28FFFFFFFFFFFFFFFFFFFFFEFEFE03FFFFFFFFFFFFFFFFFFFFFFCD
+ FEFEB828FFFFFFFFFFFFFFFFFF1AFEFEFE1AFFFFFFFFFF82FEFE81FFFF17FEFE
+ 17FFFFFFFFFF17FEFE81FFFFFF71FEFE7AFFFFFFFFFFFEFEFE03FFFFFFFF6BFE
+ FE6BFFFFFFFFFF28FEFEFE03FFFFFEFEFE03FFFFFFFFFFFFFFFF03FEFEFE03FF
+ FFFFFFFFFFFFFF1AFEFEFEA61AFFFFFFFEFEFEFFFFA6FEFE6BFFFFFFFFFFFFFF
+ FFFFFEFEFEFF50FEFEFE50FFFFFF6BFEFECD32FFFCFC17FEFE170A03FEFEFE28
+ 070B18E818B8FEFE0308E8D8FEFE820B4704223636694F0FD600971FB3343333
+ 330501782F582F9494772E2E2E778BA8AB10107ECA8399264D4D4D0694F0774C
+ 4C0D4C749F78D5C6934D5F0D95AB999C765935C8CCD4BF4B4CACB5C8458BC976
+ 9C5643AD7D4B35353A5444C910CC834B26458821593E1576445D1E3E653E1DB4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFE
+ FE7AFFFFFFFFFFFFFF7AFEFEFEFFFFFFFFFF82FEFEFE17FFFF03FEFEFEFFFFFF
+ FFFFFFFFFFFFFFFFFEFEFE03FFFFFFFFFFFFFFFFFFFF03FEFEFE32FFFFFFFFFF
+ FFFFFFFFFF03FEFEFEFFFFFFFFFFFF03FEFEFEFFFF17FEFE82FFFFFFFFFF03FE
+ FE7AFFFFFF03FEFEFEFFFFFFFFFFFEFEFE03FFFFFFFF81FEFE17FFFFFFFFFFFF
+ 81FEFE17FFFFFEFEFE03FFFFFFFFFFFFFFFF03FEFEFE03FFFFFFFFFFFFFFFFFF
+ 32CDFEFEFE7A825081FEFE50FF81FEFE17FFFFFFFFFFFFFFFFFF81FEFE507AFE
+ FE17FFFFFFFF2881FEFEFECDA63271FEFEA60A03FEFEFE6407B1181B1BD8FEFE
+ 170818D9FEFE17613C86195B191947040F8C972CB33463050567014A4A582FC1
+ 87949F778B8B2E211010A15C3593A58E6F4C759B2EF0871010060D7B2105F32E
+ 934C5FA1B5A521B21E483A547BD51006BD7EA1BF4DAB24B23A839E06314C4B76
+ 1E443AD424CCB2984310D4993A1E3E3E5476541E5D5D5D9A0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE81FFFFFFFFFFFF
+ FF81FEFEFEFFFFFF2881FEFECD71FFFFFF03FEFEFEFEFEFEFEFEFEFEFEFEFFFF
+ FEFEFE03FFFFFFFFFFFFFFFFFFFF17FEFEFE1AFFFFFFFFFFFFFFFFFFFF03FEFE
+ FEFFFFFFFFFFFF03FEFEFEFFFF17FEFE81FFFFFFFFFF03FEFEFEFFFFFF03FEFE
+ FEFFFFFFFFFFFEFEFE03FFFFFFFF81FEFE17FFFFFFFFFFFF81FEFE17FFFF81FE
+ FE03FFFFFFFFFFFFFFFF03FEFEFE030317177128FFFFFFFFFF28177AFEFEFEFE
+ CDFEFE03FF81FEFE17FFFFFFFFFFFFFFFFFF81FEFE82FEFECDFFFFFFFFFFDDFC
+ 036BCDFEFEFECDFEFE810A1AFEFEFE1AEE0B18861BD3FEFE170818D9FEFEFEFE
+ FEFEFEFEFEFEFEF1E523F22C341F2C0505674A34344A2F582FC17394777777A4
+ A87910C94B99BC140666AA06A40178AB5C77A8AB8B01D421AA66BFBF8EF53F54
+ 4C5656592FD421985C105C06D578CC4C064C595E8D9326765D0D31D421B6590D
+ 06998DBF3A459C7654545D1E5D5D54B00000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF81FEFEFEFFFFFFFFFFFFFF82FEFEFE28FFFF
+ 81FEFE7A1AFFFFFFFFFFFEFEFE710303030317FEFEFEFFFFFEFEFE17FFFFFFFF
+ FFFFFFFFFFFF17FEFEFEFFFFFFFFFFFFFFFFFFFFFF28FEFEFE71FFFFFFFFFF32
+ FEFEB8FFFF17FEFEFE28FFFFFFFF71FEFEFEFFFFFF28FEFEFEFFFFFFFFFFFEFE
+ FE17FFFFFFFF82FEFE7AFFFFFFFFFFFFB8FEFE32FFFF81FEFE03FFFFFFFFFFFF
+ FFFF03FEFEFE03B8FEFEFEFE82FFFFFFFFFFFFFF280382B8FEFEFE32FF82FEFE
+ 7AFFFFFFFFFFFFFFFFFF81FEFE717AFEFE32FFFFFFDDDDFCFCDBDB5032A6FEFE
+ FEB80A16B8FEFE17BB0870E8E8D3FEFE17081BF1FEFEA60389892D89F4FEFED3
+ 22D6092CB3B31F0533674A05057858783131949F949F2E8BAB7921A15699A55E
+ B5060DA1BF7979A106A8BFBF0DAB0DBF66BFBF0693525243543A4C062106489E
+ 9DAA9D4C7910BF9E599E458E98C8CA1E4B98CC48454B3A13C8D74C4B5D1E1D3E
+ 1E1E3E3D653E3EC50000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF81FEFEFEFFFFFFFFFFFFFF17FEFEFE03FF50FEFEFE28FFFFFFFF
+ FFFFA6FEFE32FFFFFFFF32FEFEB8FFFFFEFEFECD50FFFFFFFFFFFFFFFFFF17FE
+ FEFEFFFFFFFFFFFFFFFFFFFFFFFFA6FEFEA6FFFFFFFFFF81FEFE6BFFFF71FEFE
+ FEA6FFFFFFFFA6FEFEFEFFFFFFFFFEFEFE28FFFFFFFFFEFEFECD50FFFFFF50FE
+ FEFE50FFFFFFFF03FEFEFE1AFFFF81FEFE03FFFFFFFFFFFFFFFF1AFEFEFE71FE
+ FEFEFEFEFE6BFFFFFFFFFFFFFFFFFF28B8FEFE17FF71FEFEFE03FFFFFFFFFFFF
+ FFFF81FEFE0350CDFEFE71FFFFDDFCFCDBDBDB64FC6417FEFEFE0A0ED3FEFECD
+ 500E08B1B1D3FEFEA6611BA0FEFEB8EE3C5B4786B8FEFEC7E5F9F21FB36363F3
+ 67670178F087879424A42E8B7B21A879795C2166B75E5E14B774B74DBD4C4856
+ 4C9D564D9E454C4C93489B59143B53A73A3A5435763AC8C8B0CA3AB54B3A3A4B
+ 4B5683AD434B26353E1D1D1E1E444435C813484B76351D445D1E1D3D3E1315CB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6FE
+ FEFEFFFFFFFFFFFFFF17FEFEFE03FF03FEFEFE17FFFF1A32FFFF03FEFECD03FF
+ FF287AFEFE17FFFFFEFEFEFECD821703FFFFFFFFFFFF71FEFEFE71FFFFFFFFFF
+ FFFFFFFFFFFF50FEFEFEA61AFF1A6BFEFEFE50FFFF03FEFEFEFEB882177AFEFE
+ FECDFFFF5003FEFEFE17030328FFFEFEFEFECD821703FFA6FEFECD32FFFF71CD
+ FEFEA6FFFFFF81FEFE71FFFFFFFFFFFFFFFFFFFEFEFE7128FF507AFEFEFE03FF
+ FF0328FFFFFFFFFFB8FEFE17FFFF7AFEFECD3228FF280303FFFF81FEFE03FF32
+ FEFECD50FFDDFC1A50DDFCFC64DB32FEFEFEBBEE617AFEFECD321AEEEE6BFEFE
+ 81611960D9FEFE6BC43C18F6FEFECDD02700392CB36333674A01F058D1C1872E
+ 8B79C90DBFBF754D4D4D56954556459E453B7D1480373E1E1E3544134435443E
+ 6C443E5D253FA7C945441D1E3E441E1D443E3E44443E44543BA13A8044921313
+ 13923E15153E153E1515351D1D54C0C09265A9A9C09213AE0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFE1AFFFFFFFFFF
+ FF03FEFEFE03FFFFB8FEFEFEFEFEFECDFFFFFF32FEFEFE7A81FEFEFE7A28FFFF
+ FEFEFE7AFEFEFE17FFFFFFFFFFFF28FEFEFE6BFFFFFFFFFFFFFFFFFFFFFFFF32
+ FEFEFEFEFEFEFEFEFE32FFFFFF03FEFEFE81FEFEFEFEFEFEFE82FFFF81FEFEFE
+ FEFEFEFE03FFFEFEFE7AFEFEFE17FF287AFEFEFEFEFEFEFEFE7A28FFFFFF81FE
+ FE17FFFFFFFFFFFFFFFFFFFEFEFE03FFFFFF28CDFEFE6BFFFF82FE7A6B17177A
+ FEFEFE50FFFF50CDFEFEFEFEFEFEFE17FFFFA6FEFE32FFFFA6FEFEB828FCDB28
+ FECD8117176BCDFEFEA6166108C47AFEFEFEFEFEFEFEFEFEB8E3473096F4FEFE
+ CD81B8FEFEFEC72262F2381F3433054A7858C17331319F7BC975B648B245956F
+ C84B35449A9ACACA543B3B841DAC1313921D13921D1D151D6C1D1D3D3D3B983A
+ 1E13131D1D131D1315C0C01313C015138E5615B4CB15151513C03E133D65C015
+ 131544C51D15A9C09265C013651365A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFF03FEFEFE17FFFF
+ 5081FEFEFEFEFE6BFFFFFFFF037AFEFEFEFECD6B28FFFFFFFEFEFE716BFEFE17
+ FFFFFFFFFFFFFF6BFEFEFE03FFFFFFFFFFFFFFFFFFFFFFFF1A6BFEFEFEFEFEA6
+ 03FFFFFFFF03FEFEFE2882CDFEFEFECD82FFFFFF81FEFEFEFEFEFEFE03FFFEFE
+ FE716BFEFE17FFFFFF32B8FEFEFEFEB81728FFFFFFFF6BFEFE17FFFFFFFFFFFF
+ FFFFFFFEFEFE03FFFFFFFF81FEFE81FFFF0381CDFEFEFEFEFEB871FFFFFFFF1A
+ 6BFEFEFEFEFECD50FFFF17FEFE17FFFF28CDFEFE7A28DBDB6B7AFEFEFEFEFEFE
+ 6B7F0708E30BE3F67AFEFEFEFEFEFEFEF418EB512296F8CDFEFEFEFEF432510F
+ 009738B33433674A015831D4319F8BA85C0DBF064D4D4C4856454B6F6FB044B4
+ 3D3B5E3DAC7C3554C83A3A83453A3A56953A9C76A37D986A133E441E35444435
+ 764B4B7676C8544B439D1D1DC53537445D1E545D4B3A5D545D5435763792135D
+ 3E1E651E1E3E1ECB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFF03FEFEFE17FFFFFFFF28030350FFFF
+ FFFFFFFFFFFF28030350FFFFFFFFFFFFFFFFFFFFFF1A031AFFFFFFFFFFFFFF1A
+ CDFEFECD71FFFFFFFFFFFFFFFFFFFFFFFFFFFF030303FFFFFFFFFFFFFFFFFFFF
+ FFFFFFFF500303FFFFFFFFFFFFFF81FEFE03FFFFFFFFFFFFFFFFFF1A031AFFFF
+ FFFFFF1A03031AFFFFFFFFFFFFFF17FEFE17FFFFFFFFFFFFFFFFFFFEFEFE03FF
+ FFFF28CDFEFE81FFFFFFFFFF2803030328FFFFFFFFFFFFFFFFFF0303031AFFFF
+ FFFF17FEFE17FFFFFFFFFFFFFFFCFC640A646450030350BB16EE61E30BB17070
+ 700B89898989FBE819C351E5693622300C2D2D9604690FF92AF2382CB3B33305
+ 4A01739FC131217B7B79CCA8C910C910AB10107EA10D4D3A3D995E3D3A914556
+ 484C5906064C9E064C480659A38F0DAC4476764B3A3A4B4556459C4545454545
+ 5E9D441D7C355D35C8545454544B4B4B544B6A7637A9655D4B5D1E5D443E1EB4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FE
+ FEFE03FFFFFFFFFFFF28FEFEFE17FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32FEFEFEFE7A1703
+ 0371177A03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFE32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFE17FFFFFFFFFFFFFFFFFFFEFEFE6B171717B8FEFEFE17FF
+ FFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFE17FFFF
+ FFDDFCFFFFDBDB640A0A0ABBBB1616EE0761080BB1703C18E81B86ED195B6049
+ 0451364F4E4E4E4E4E4E4E270F2B55000939F72CB3346305674A317731C18BD5
+ 8B7BCC79A810A8A8C90D0D66660D75B55D7D5EA39B919C564548489E064C484C
+ 7448065954B95E6C353A76C83A833A45953A3A3A3A4545457E3A44923A443554
+ 35C8C8C854355454543A3580C5921E651E13445D3E441ECB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03FEFEFE17FFFFFFFFFF
+ FFFFFEFEFE6BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03CDFEFEFEFEFEFEFEFEFE28FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A17
+ 8117FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FE
+ FE81FFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFE7A28FFFFFFFFFFFFFCFCFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEA6FFDDFFFFFFFCFCFCDB64
+ 0A0ABBBB900EEE076108E30B703C18E886195B4742EB30512236294E270F0F0F
+ 02022B62552300EC9739381FB3346333674A312431877B248B7979A8C9105C7E
+ A8A17EA10D107E9B1E7D5EA34D91484556B64848590659594D4C7598265206AC
+ 543A76544B833A7645459595569E9E483BADCACB9C351E541EC8547676C83A76
+ 263AC8356C151E5D1D137676445D54B40000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF03FEFEFE17FFFFFFFFFFFFFFFEFEFE81FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFF28177AFEFEFEFEFEFE7AFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFE81FFFFFFFFFFFF
+ FFFFFFFEFEFEFEFEFEFEFECD6B28FFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFF17FEFE81DDFFDDFCFFFFFCDB640A0ABB16160EEE0761
+ 0808E3B1703CE886195B4742BE04512236294F4E270F02022B1CEF232300ECF2
+ C2F7381FB3346305674AC1D49F877BD2A47B21A85C105C7E5C0D7E7EAA7E0D6E
+ 3E7D7EA34D9B064548065956484C4C4C4D4D060684B99DB4763A453A4B45B276
+ 3AB5B595489EB79D93C86C1D4BB21E35459544CA9A9A956F263580ACCB923E45
+ 45560DB63E5D54B40000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF03030350FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDDFFFCFCFC0AFC640A0ABB16160EEE076108E30B707018E886
+ 19476049300451EA36294E270F0F022B1C1C238C8CECEC09C2382C1FB3633305
+ 674A58D49F2F7B24A48BABA85C10A1667E667E7E665C5C481E8B99A34C9BBF26
+ 59A10D9EB24C5959AA7575982552BDAC3A45B6483A48593A6F3A95BD4874483A
+ CAC86CB03A10B2458BC93A9A9A9A569556353AB0C5C5C888CCCCD5BF1D4435B4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFC
+ FFDBFFDB640A0ABBBB161690EE07610808E3B1703C181BED5B4742BE30042236
+ E54F4E270F0F022B1CEF238C00EC0909C2382C1F3463330567675894242FD2D5
+ CF2F8B7B2F87BFA1A1060D5CA17EA19B843F3BCA759B2F569888C12659598359
+ 4D750D14145206AC3A83F00688F02E2626AD833A4C4559569845352644D47B99
+ 8B4DCACA4B4B4B3A9C9C06B2441E1ED5CC8B103A134435CB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFCFCFFFFFCFFFFFFFFFFFFFFFCFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDFCFCDB0A0A0A0A
+ BB16160EEE076108E30B703C3CE886195B60493004512236694F27270F02022B
+ 1C55238C002A090939F72C1F34630505674A5894C1D1D49FA44A9F2158F00D7E
+ ABA1A1A166A1A14D938F3F25069B012EA17B2EB74C4C7498064806433BF55E6A
+ 454CD5CC06310D3A9595957645455999D2481D9A3A9F217EC99EC8C8264BC84B
+ 35060D4544541D06764545C83554C8AC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFCFCFCFCFFFCFCFCFCFCFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFDDFCFC640A0A0A0ABB1690EE070761E3
+ E30B703C181B86194760BE3004513636294E27270F022B621C558C0000EC0909
+ C2382C1F34633305674A58942F53312E24672F2E2F2FA8A85C667566660D0D4D
+ 1453528E069B77D55C775C66749B74744DB5BF433FBC3B6E489BA87B4C214C9B
+ 56489B48484893B97B484B4BD79D4B5606B7BD95BDB54BC88EAB5992A96F9A4B
+ 56959556454B44CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFC
+ FCFCFCFFFFFFFCFCFFFFFFFFFCFFFFFCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFCFCFC640A0A0ABBBB16160E07076108E30BB1703CE81B195B
+ 47C3BE30042236E54F4E270F0F022B62D6558C8C002A09F239382C1F34630505
+ 67017824C1AFA52E8B77777777A48B79AB1010105C5C664D5EAF5384065F7510
+ 667BAAAB7E0D7E0D0D4CBFB7B9535E6A729AAA7E66667E5C7EA1A1759B488EA5
+ A49DCAC8BD4D744D4D4D4D4C74B79DB5A3B98F06CACAB06E3AC8C83A954BC8AC
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFCFF
+ FCFFFFFCFCFFFCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCDB0A0A0ABBBBBBBB90EE07610808E30B7070181B8619476049300451223669
+ 4F4E270F02022BD6EF558C002A09F2C2F7382C1FB3633305674A7894C111BCCF
+ 7B798B77A48BA4A42E2E7B79A85C064DB96DAF14B79B5F0D7EA87E7979A85C5C
+ 7E0648AAF5BCB9747472064D66747E66AA4D5F6EB59314BCAFA44C9AB0B5849A
+ 84B5BD3A3ABD48B7A75A5AF57B0659757E7E5C5CC99979790000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFFFCFFFFFCFCFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCDB64640A0ABBBBBB
+ 1690EE076108E30BB1703CE81BED194742493004222236294F270F0F022B62EF
+ EF238C00ECECF2C2F7382C1F3463330567012F2F5A1185A48B2EA421A47B218B
+ 7979A85C5C66665CAF5A6D53C94CAA06664DAAAAAA4D4D4D14064C79BCBAF577
+ 9DB572B5B5729DB574744D4D6610D45AFDAF01C1772E9FC1C12FF0014ABCAFBA
+ 5AFDFD6D5A5A5A5A5A5A5ACEBACE5A2C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFFFFFCFCFCFCFCFFFFFCFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFDDFFFFFFFFFFFFFFFFFFFFDDDBDBDB640A0A0ABBBBBB16EEEE616108E30B
+ 703C3C1B86ED4760C330040422EA69294E270F0F022B621C55238C002A09F2C2
+ F72C1FB334330505670178F31111110524D22E21D221AB10AB79AB1079792EF0
+ FD6DFD6D0587318F3131C12FA5F07801F0010185BA6D5AAF0101F5BC058585BA
+ BABACEBACEBA5A6DFDFDFDFDFDFD6D5A5A6D6DFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCDBDBDBDBDB
+ DBFCFFFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFCFCFCFCDB640A0ABBBBBBBB160EEE076108E3E30B703C181B865B4760
+ C33004512236294F4E270F02022B1CEF23238C00EC0909E78A39F738112C2C1F
+ CECE6D41111111FD5ACE5A6D6D6D6D5A5A5A5A5A5A5A6DFDFDFDFDFDFDFD6D6D
+ 5A6D5A6D5A5A5A5A5A5A5AFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFFFCFCFCFC
+ FCFCFFFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBFCFCDB
+ 640ABBBBBB16160EEE07616108E30B70703CE81B195B47C3BE040422EAE5294E
+ 27270F022B621CEF238C8C00ECECEC6868E78A8A464646414141411111111111
+ 1111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
+ FCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFCFCFCFCFCFCFCFCFCFFFCFCFFFF
+ FFFFDDFFDDDDFFFFFFFFFFFFDDFFFFFFFFFFFFFFFCDBDB64640A0ABBBB16160E
+ EE07610808E3B1703C181BED194760493004512236E54F4E270F0F022B1C1C55
+ 238C00ECECECEC09688A8A8A4646464141414111111111111111FD1111FDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBDBDBDB
+ DBDBDBDBDBDBDB6464FCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFDDFFFFFFFFFFFF
+ FFFFFFFFFCDDFFFFFCFFFFFCDB64640A0A0ABBBBBB160EEE07610808E30B7070
+ 3CE81B195B4742BE300451EAE5294F4E270F02022B1C1C558C8C0000ECEC6868
+ E78A8A46464646414141411111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB6464646464
+ 64FCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFDDDDFFFFDDFFFFFFDDFFFFFFFFFFFC
+ FFFFFCFCFCFC640A0A0ABB1616160EEE076108080B0B703CE81B86194760C3BE
+ 04512236E54F4E270F0F022B2B1CEF8C8C0000ECECEC0909DCE7464646464141
+ 4111411111111111FDFD11FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB646464646464FCFC64FCFCFCFCFC
+ FCFCFCFCFCFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBFCDBDBDB0A0A
+ 0ABB1616160E0E07616108E30B70703CE886195B474249305151223669294E27
+ 0F0F022B2B1CEF238C8C0000ECEC096868E7E78A8A4646414141414111411111
+ 1111111111111111111111111111111111111111111111111111111111111111
+ 1111111111111111111111111111111111111111111111111111111111111111
+ 11111111111111111111111111111111111111111111118A0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFCFCFCFCFCDB
+ DBDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A646464646464DBFCFCFCDBFCDBFFFFFF
+ DDDDFFDDFFFFFFFFFFFFFFFFFFFCFCFCFCFFFCDBDB0A0A0ABBBB160E16EEEE07
+ 070808E30BB13C3CE81B86194760C3BE3004512236E54F4E4E270F0F022B2B1C
+ 1C55558C8C8C0000002A2AECECEC09EC09096868686868686868DCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCEC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB
+ DBDBDBDBDBDB64DBDBDBDBDBDBDBDBFCFCDBFCDBFFFFFFFFFFFFFFDDDDFFFFFF
+ FFFFFFFFFFFCFCFCFCFCFCDBDBDBDB640A0ABBBBBB160EEEEE07616108E3E3B1
+ 703C18181BED195B4760C349303004515122EAEAE5E529294F4F4E4E27272727
+ 270F0F0F0F0F0F0F0F0202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 020202020202020F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDDFCFCFCFCFCFCFCFCFCDD
+ DDDDDDDDDDFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFC640A0A0A0A0ABB161616900EEE0707610808E3E30B0BB170
+ 3C3C3C18E81B1B86EDED19195B5B4747474760604242C3C3C3C3494949494949
+ EBEBEBBEBEBEBE30BEBE30303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303049
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFDDDDFCFCFCFCFCFCFCFCDBDBDBDBDDFCFCFCDDDDFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDDFCFC64
+ 640A0A0A0ABB161616900EEE070761080808E3E30BB17070703C3CE81B1B1B86
+ ED1919195B5B4747476060424242C3C3C3494949494949EBBEEBBEBEBEBE3030
+ BE30303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030490000FCFCFCFCFCFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB
+ DBDB6464646464640A0A0A0A0A0A6464646464DBDBDBDBDBDBDBDBFCFFFFDDDD
+ FFDDFFFFFFFFFCFFFFFFDDFFFFFCFCFCFCDBDBDBDB640A0ABBBBBBBB16EEEE07
+ 610808E3E3B170703C181B86ED195B4742C3BE300404512222EA36E529294F4F
+ 4E4E4E272727270F0F0F0F0F0F0F020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020F0000FCFCFCFCFCFCFCFCFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCDBDBDBDBDBDBDB64640A0A0A0A0ABBBBBB
+ BBBBBBBBBBBB0A0ABB0A0A0A0A0A0A0ADB64FCFCFCFFDDDBFFFFDDFFFFFFFFFF
+ FFFFFCFFFFFFFC64DBDBDB0A0A0ABB161690EEEE07070808E30BB1703C181B1B
+ 195B476049300451512236294F4E27270F0F022B2B1C1CEF558C8C0000000000
+ ECECECECECEC09090968686868686868DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCEC0000FCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFF
+ FCFCFCFCFCFCDBDBDBDBDBDBDB640A0A0A0A0ABBBBBBBBBBBBBBBBBBBBBBBBBB
+ BB0A0A0A0A0A640A6464DBFCFCDDFCFFDDFCFFFFFFFFFFFFFFFFFFFFFFFCDBFC
+ 640A0A0ABBBBBBBB900EEE07616108E3E30B703C18E81B191947604930040451
+ 223669294E27270F02022B2B621CEF55238C8C00000000ECECECEC0909096868
+ 68E7E768E7E78AE7E78A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
+ 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
+ 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8AEC
+ 0000}
+ Login.LeftImage.Data = {
+ 07544269746D617016090000424D160900000000000036040000280000003200
+ 0000180000000100080000000000E00400000000000000000000000100000000
+ 000000000000000080000080000000808000800000008000800080800000C0C0
+ C000C0DCC000F0CAA6000020400000206000002080000020A0000020C0000020
+ E00000400000004020000040400000406000004080000040A0000040C0000040
+ E00000600000006020000060400000606000006080000060A0000060C0000060
+ E00000800000008020000080400000806000008080000080A0000080C0000080
+ E00000A0000000A0200000A0400000A0600000A0800000A0A00000A0C00000A0
+ E00000C0000000C0200000C0400000C0600000C0800000C0A00000C0C00000C0
+ E00000E0000000E0200000E0400000E0600000E0800000E0A00000E0C00000E0
+ E00040000000400020004000400040006000400080004000A0004000C0004000
+ E00040200000402020004020400040206000402080004020A0004020C0004020
+ E00040400000404020004040400040406000404080004040A0004040C0004040
+ E00040600000406020004060400040606000406080004060A0004060C0004060
+ E00040800000408020004080400040806000408080004080A0004080C0004080
+ E00040A0000040A0200040A0400040A0600040A0800040A0A00040A0C00040A0
+ E00040C0000040C0200040C0400040C0600040C0800040C0A00040C0C00040C0
+ E00040E0000040E0200040E0400040E0600040E0800040E0A00040E0C00040E0
+ E00080000000800020008000400080006000800080008000A0008000C0008000
+ E00080200000802020008020400080206000802080008020A0008020C0008020
+ E00080400000804020008040400080406000804080008040A0008040C0008040
+ E00080600000806020008060400080606000806080008060A0008060C0008060
+ E00080800000808020008080400080806000808080008080A0008080C0008080
+ E00080A0000080A0200080A0400080A0600080A0800080A0A00080A0C00080A0
+ E00080C0000080C0200080C0400080C0600080C0800080C0A00080C0C00080C0
+ E00080E0000080E0200080E0400080E0600080E0800080E0A00080E0C00080E0
+ E000C0000000C0002000C0004000C0006000C0008000C000A000C000C000C000
+ E000C0200000C0202000C0204000C0206000C0208000C020A000C020C000C020
+ E000C0400000C0402000C0404000C0406000C0408000C040A000C040C000C040
+ E000C0600000C0602000C0604000C0606000C0608000C060A000C060C000C060
+ E000C0800000C0802000C0804000C0806000C0808000C080A000C080C000C080
+ E000C0A00000C0A02000C0A04000C0A06000C0A08000C0A0A000C0A0C000C0A0
+ E000C0C00000C0C02000C0C04000C0C06000C0C08000C0C0A000F0FBFF00A4A0
+ A000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFF
+ FF00FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD525252525252525252525252
+ 5252FDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDAFB75E5E5E66666767676F6F6F6FB752FDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBF
+ BFBFBFBFBFBFBFBFBFB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFB76F676F6FB7B7B7B7B7776F5EB752FD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBFBFB752FDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFB76F676F6F6FB7B7
+ B7B7776F5EB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBFBFBF52FDFDFDFDFD
+ 0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAF
+ B76767676F6F6FB7B7B7776F5EB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBF
+ BFBF52FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDAFB76767676F6F6F6FB7B7776F5EB752FDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBF
+ BFBFBFBFBFBFBFBFBFBF52FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBFB7AFAFB7B7B7B7BFBFBFBFB7B752FD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDAFB76F675E5E5E5E5E5E676FB7A5FDFDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F79BFDFDFDFD
+ FDFDA4F7A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDF7F79BFDFDFDFDFDFDA407A3FDFDFDFDFDFDFD
+ 0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDF7F79BFDFDFDFDFDFDA407A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F7A4FDFDFDFDFDFDF707
+ A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDF707A49AFDFDFDFDA30707A3FDFDFDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F6A4
+ A49B9A9AA3A407079AFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F6F7F7A4A4F70707A3FDFDFDFD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDF7F6F6F6F6F607A3FDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7A3A3A3
+ A3A3FDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ 0000}
+ Log.WindowCaption = 'Seguran'#231'a'
+ Log.LabelDescription = 'Log do Sistema'
+ Log.LabelUser = 'Usu'#225'rio :'
+ Log.LabelDate = 'Data :'
+ Log.LabelLevel = 'N'#237'vel m'#237'nimo : '
+ Log.ColLevel = 'N'#237'vel'
+ Log.ColMessage = 'Mensagem'
+ Log.ColUser = 'Usu'#225'rio'
+ Log.ColDate = 'Data'
+ Log.BtFilter = '&Aplicar Filtro'
+ Log.BtDelete = '&Excluir Log'
+ Log.BtClose = '&Fechar'
+ Log.PromptDelete = 'Confirma excluir todos os registros de log selecionados ?'
+ Log.PromptDelete_WindowCaption = 'Delete confirmation'
+ Log.OptionUserAll = 'All'
+ Log.OptionLevelLow = 'Baixo'
+ Log.OptionLevelNormal = 'Normal'
+ Log.OptionLevelHigh = 'Alto'
+ Log.OptionLevelCritic = 'Cr'#237'tico'
+ Log.DeletePerformed =
+ 'Deletion of system log done: User = "%s" | Date = %s a %s | Leve' +
+ 'l <= %s'
+ UsersForm.WindowCaption = 'Seguran'#231'a'
+ UsersForm.LabelDescription = 'Cadastro de Usu'#225'rios'
+ UsersForm.ColName = 'Nome'
+ UsersForm.ColLogin = 'Login'
+ UsersForm.ColEmail = 'Email'
+ UsersForm.BtAdd = '&Adicionar'
+ UsersForm.BtChange = 'A<erar'
+ UsersForm.BtDelete = '&Excluir'
+ UsersForm.PromptDelete = 'Confirma excluir o usu'#225'rio "%s" ?'
+ UsersForm.PromptDelete_WindowCaption = 'Delete user'
+ UsersForm.BtRights = 'A&cessos'
+ UsersForm.BtPassword = '&Senha'
+ UsersForm.BtClose = '&Fechar'
+ AddChangeUser.WindowCaption = 'Cadastro de Usu'#225'rios'
+ AddChangeUser.LabelAdd = 'Adicionar Usu'#225'rio'
+ AddChangeUser.LabelChange = 'Alterar Usu'#225'rio'
+ AddChangeUser.LabelName = 'Nome : '
+ AddChangeUser.LabelLogin = 'Login : '
+ AddChangeUser.LabelEmail = 'Email : '
+ AddChangeUser.CheckPrivileged = 'Usu'#225'rio privilegiado'
+ AddChangeUser.BtSave = '&Gravar'
+ AddChangeUser.BtCancel = 'Cancelar'
+ AddChangeProfile.WindowCaption = 'Perfil de Usu'#225'rios'
+ AddChangeProfile.LabelAdd = 'Adicionar Perfil'
+ AddChangeProfile.LabelChange = 'Alterar Perfil'
+ AddChangeProfile.LabelName = 'Descri'#231#227'o : '
+ AddChangeProfile.BtSave = '&Gravar'
+ AddChangeProfile.BtCancel = 'Cancelar'
+ UsersProfile.WindowCaption = 'Seguran'#231'a'
+ UsersProfile.LabelDescription = 'Perfil de Usu'#225'rios'
+ UsersProfile.ColProfile = 'Perfil'
+ UsersProfile.BtAdd = '&Adicionar'
+ UsersProfile.BtChange = 'A<erar'
+ UsersProfile.BtDelete = '&Excluir'
+ UsersProfile.BtRights = 'A&cessos'
+ UsersProfile.PromptDelete = 'Existem usu'#225'rios com o perfil "%s". Confirma excluir?'
+ UsersProfile.PromptDelete_WindowCaption = 'Delete profile'
+ UsersProfile.BtClose = '&Fechar'
+ Rights.WindowCaption = 'Seguran'#231'a'
+ Rights.LabelUser = 'Permiss'#245'es do Usu'#225'rio : '
+ Rights.LabelProfile = 'Permiss'#245'es do Perfil : '
+ Rights.PageMenu = 'Itens do Menu'
+ Rights.PageActions = 'A'#231#245'es'
+ Rights.BtUnlock = '&Liberar'
+ Rights.BtLock = '&Bloquear'
+ Rights.BtSave = '&Gravar'
+ Rights.BtCancel = '&Cancelar'
+ ChangePassword.WindowCaption = 'Seguran'#231'a'
+ ChangePassword.LabelDescription = 'Trocar Senha'
+ ChangePassword.LabelCurrentPassword = 'Senha Atual :'
+ ChangePassword.LabelNewPassword = 'Nova Senha : '
+ ChangePassword.LabelConfirm = 'Confirma'#231#227'o : '
+ ChangePassword.BtSave = '&Gravar'
+ ChangePassword.BtCancel = 'Cancelar'
+ ResetPassword.WindowCaption = 'Definir senha do usu'#225'rio : "%s"'
+ ResetPassword.LabelPassword = 'Senha : '
+ XPStyleSet.DimLevel = 30
+ XPStyleSet.GrayLevel = 10
+ XPStyleSet.Font.Charset = ANSI_CHARSET
+ XPStyleSet.Font.Color = clMenuText
+ XPStyleSet.Font.Height = -11
+ XPStyleSet.Font.Name = 'Tahoma'
+ XPStyleSet.Font.Style = []
+ XPStyleSet.Color = clBtnFace
+ XPStyleSet.DrawMenuBar = False
+ XPStyleSet.IconBackColor = clBtnFace
+ XPStyleSet.MenuBarColor = clBtnFace
+ XPStyleSet.SelectColor = clHighlight
+ XPStyleSet.SelectBorderColor = clHighlight
+ XPStyleSet.SelectFontColor = clMenuText
+ XPStyleSet.DisabledColor = clInactiveCaption
+ XPStyleSet.SeparatorColor = clBtnFace
+ XPStyleSet.CheckedColor = clHighlight
+ XPStyleSet.IconWidth = 24
+ XPStyleSet.DrawSelect = True
+ XPStyleSet.UseSystemColors = True
+ XPStyleSet.UseDimColor = False
+ XPStyleSet.OverrideOwnerDraw = False
+ XPStyleSet.Gradient = False
+ XPStyleSet.FlatMenu = False
+ XPStyleSet.AutoDetect = False
+ XPStyleSet.BitBtnColor = clBtnFace
+ XPStyleSet.ColorsChanged = True
+ XPStyle = True
+ WindowsPosition = poDesktopCenter
+ Left = 192
+ end
+ object UCADOConn1: TUCADOConn
+ Connection = ADOConnection1
+ Left = 96
+ end
+ object UserControl1: TUserControl
+ AutoStart = True
+ ApplicationID = 'MailDemo'
+ ControlRight.ActionList = ActionList1
+ ControlRight.MainMenu = MainMenu1
+ UsersForm.MenuItem = Cadastrodeusuarios1
+ UsersForm.UsePrivilegedField = False
+ UsersForm.ProtectAdmin = True
+ EncryptKey = 0
+ NotAllowedItems.MenuVisible = True
+ NotAllowedItems.ActionVisible = True
+ Login.AutoLogon.Active = False
+ Login.AutoLogon.MessageOnError = True
+ Login.InitialLogin.User = 'Admin'
+ Login.InitialLogin.Email = 'qmd@usercontrol.com.br'
+ Login.InitialLogin.Password = '#delphi'
+ Login.MaxLoginAttempts = 0
+ Login.GetLoginName = lnNone
+ LogControl.Active = False
+ LogControl.TableLog = 'UCMailLog'
+ LogControl.MenuItem = LogdoSistema1
+ ExtraRight = <>
+ LoginMode = lmActive
+ MailUserControl = MailUserControl1
+ UsersProfile.Active = True
+ UsersProfile.MenuItem = Perfildeusurios1
+ TableUsers.FieldUserID = 'UCIdUser'
+ TableUsers.FieldUserName = 'UCUserName'
+ TableUsers.FieldLogin = 'UCLogin'
+ TableUsers.FieldPassword = 'UCPassword'
+ TableUsers.FieldEmail = 'UCEmail'
+ TableUsers.FieldPrivileged = 'UCPrivileged'
+ TableUsers.FieldTypeRec = 'UCTypeRec'
+ TableUsers.FieldProfile = 'UCProfile'
+ TableUsers.FieldKey = 'UCKey'
+ TableUsers.TableName = 'UCMailTabUsers'
+ TableRights.FieldUserID = 'UCIdUser'
+ TableRights.FieldModule = 'UCModule'
+ TableRights.FieldComponentName = 'UCCompName'
+ TableRights.FieldFormName = 'UCFormName'
+ TableRights.FieldKey = 'UCKey'
+ TableRights.TableName = 'UCMailTabRights'
+ ChangePasswordForm.MenuItem = rocarsenha1
+ ChangePasswordForm.ForcePassword = False
+ ChangePasswordForm.MinPasswordLength = 0
+ DataConnector = UCADOConn1
+ CheckValidationKey = False
+ Left = 128
+ end
+ object UCXPStyle1: TUCXPStyle
+ Active = True
+ XPSettings.DimLevel = 30
+ XPSettings.GrayLevel = 10
+ XPSettings.Font.Charset = ANSI_CHARSET
+ XPSettings.Font.Color = clMenuText
+ XPSettings.Font.Height = -11
+ XPSettings.Font.Name = 'Tahoma'
+ XPSettings.Font.Style = []
+ XPSettings.Color = clBtnFace
+ XPSettings.DrawMenuBar = False
+ XPSettings.IconBackColor = clBtnFace
+ XPSettings.MenuBarColor = clBtnFace
+ XPSettings.SelectColor = clHighlight
+ XPSettings.SelectBorderColor = clHighlight
+ XPSettings.SelectFontColor = clMenuText
+ XPSettings.DisabledColor = clInactiveCaption
+ XPSettings.SeparatorColor = clBtnFace
+ XPSettings.CheckedColor = clHighlight
+ XPSettings.IconWidth = 24
+ XPSettings.DrawSelect = True
+ XPSettings.UseSystemColors = True
+ XPSettings.UseDimColor = False
+ XPSettings.OverrideOwnerDraw = False
+ XPSettings.Gradient = False
+ XPSettings.FlatMenu = False
+ XPSettings.AutoDetect = False
+ XPSettings.BitBtnColor = clBtnFace
+ XPSettings.ColorsChanged = False
+ UCSettings = UCSettings1
+ Left = 224
+ end
+end
diff --git a/official/2.20/Demos/3 Mail Demo - ADO/uadodemo.pas b/official/2.20/Demos/3 Mail Demo - ADO/uadodemo.pas
new file mode 100644
index 0000000..e02a222
--- /dev/null
+++ b/official/2.20/Demos/3 Mail Demo - ADO/uadodemo.pas
@@ -0,0 +1,120 @@
+unit uadodemo;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, Menus, DB, ActnList, StdCtrls, ADODB, UCMail, UCBase, UCADOConn,
+ UCXPStyle;
+
+type
+ TForm1 = class(TForm)
+ MainMenu1: TMainMenu;
+ Arquivo1: TMenuItem;
+ Abrir1: TMenuItem;
+ Salvar1: TMenuItem;
+ Salvar2: TMenuItem;
+ Salvarcomo1: TMenuItem;
+ Fechar1: TMenuItem;
+ N2: TMenuItem;
+ Dados1: TMenuItem;
+ Importar1: TMenuItem;
+ Exportar1: TMenuItem;
+ N4: TMenuItem;
+ Vincular1: TMenuItem;
+ N3: TMenuItem;
+ Sair2: TMenuItem;
+ Editar1: TMenuItem;
+ Copiar1: TMenuItem;
+ Colar1: TMenuItem;
+ Recortar1: TMenuItem;
+ N1: TMenuItem;
+ Selecionartudo1: TMenuItem;
+ N5: TMenuItem;
+ AreadeTransferencia1: TMenuItem;
+ Exibir2: TMenuItem;
+ Esvaziar1: TMenuItem;
+ Exibir1: TMenuItem;
+ Zoom1: TMenuItem;
+ Normal1: TMenuItem;
+ Grande1: TMenuItem;
+ Ajustarnajanela1: TMenuItem;
+ N6: TMenuItem;
+ Personalizar1: TMenuItem;
+ amanhonormal1: TMenuItem;
+ elacheia1: TMenuItem;
+ Relatorios1: TMenuItem;
+ Relatorio11: TMenuItem;
+ Relatorio21: TMenuItem;
+ Relatorio31: TMenuItem;
+ Relatorio41: TMenuItem;
+ Segurana1: TMenuItem;
+ Cadastrodeusuarios1: TMenuItem;
+ rocarsenha1: TMenuItem;
+ ActionList1: TActionList;
+ GroupBox1: TGroupBox;
+ Button1: TButton;
+ Button2: TButton;
+ Button3: TButton;
+ GroupBox2: TGroupBox;
+ Button4: TButton;
+ Button5: TButton;
+ Button6: TButton;
+ GroupBox3: TGroupBox;
+ Button7: TButton;
+ Button8: TButton;
+ Button9: TButton;
+ Action1: TAction;
+ Action2: TAction;
+ Action3: TAction;
+ Action4: TAction;
+ Action5: TAction;
+ Action6: TAction;
+ Action7: TAction;
+ Action8: TAction;
+ Action9: TAction;
+ N7: TMenuItem;
+ EfetuarLogoff1: TMenuItem;
+ ADOConnection1: TADOConnection;
+ Perfildeusurios1: TMenuItem;
+ MailUserControl1: TMailUserControl;
+ LogdoSistema1: TMenuItem;
+ N8: TMenuItem;
+ UCSettings1: TUCSettings;
+ UCADOConn1: TUCADOConn;
+ UserControl1: TUserControl;
+ UCXPStyle1: TUCXPStyle;
+ procedure Action1Execute(Sender: TObject);
+ procedure EfetuarLogoff1Click(Sender: TObject);
+ procedure FormCreate(Sender: TObject);
+
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ Form1: TForm1;
+
+implementation
+
+{$R *.dfm}
+
+procedure TForm1.Action1Execute(Sender: TObject);
+begin
+ MessageDlg('Teste', mtInformation, [mbOK], 0);
+end;
+
+procedure TForm1.EfetuarLogoff1Click(Sender: TObject);
+begin
+ UserControl1.Logoff;
+end;
+
+
+procedure TForm1.FormCreate(Sender: TObject);
+begin
+ ADOConnection1.Connected := True;
+end;
+
+end.
diff --git a/official/2.20/Demos/4 AppMessages - ADO/ADODemo.dpr b/official/2.20/Demos/4 AppMessages - ADO/ADODemo.dpr
new file mode 100644
index 0000000..91bc55b
--- /dev/null
+++ b/official/2.20/Demos/4 AppMessages - ADO/ADODemo.dpr
@@ -0,0 +1,13 @@
+program ADODemo;
+
+uses
+ Forms,
+ uadodemo in 'uadodemo.pas' {Form1};
+
+{$R *.res}
+
+begin
+ Application.Initialize;
+ Application.CreateForm(TForm1, Form1);
+ Application.Run;
+end.
diff --git a/official/2.20/Demos/4 AppMessages - ADO/ADODemo.res b/official/2.20/Demos/4 AppMessages - ADO/ADODemo.res
new file mode 100644
index 0000000..627f283
Binary files /dev/null and b/official/2.20/Demos/4 AppMessages - ADO/ADODemo.res differ
diff --git a/official/2.20/Demos/4 AppMessages - ADO/uadodemo.ddp b/official/2.20/Demos/4 AppMessages - ADO/uadodemo.ddp
new file mode 100644
index 0000000..4370276
Binary files /dev/null and b/official/2.20/Demos/4 AppMessages - ADO/uadodemo.ddp differ
diff --git a/official/2.20/Demos/4 AppMessages - ADO/uadodemo.dfm b/official/2.20/Demos/4 AppMessages - ADO/uadodemo.dfm
new file mode 100644
index 0000000..00c2f50
--- /dev/null
+++ b/official/2.20/Demos/4 AppMessages - ADO/uadodemo.dfm
@@ -0,0 +1,1581 @@
+object Form1: TForm1
+ Left = 365
+ Top = 222
+ Width = 469
+ Height = 205
+ Caption = 'UserControl - TUCAppMessage Demo'
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ Menu = MainMenu1
+ OldCreateOrder = False
+ Position = poDesktopCenter
+ OnCloseQuery = FormCloseQuery
+ OnCreate = FormCreate
+ PixelsPerInch = 96
+ TextHeight = 13
+ object BitBtn1: TBitBtn
+ Left = 158
+ Top = 43
+ Width = 145
+ Height = 41
+ Caption = '&Mensagens'
+ TabOrder = 0
+ OnClick = BitBtn1Click
+ Glyph.Data = {
+ 76060000424D7606000000000000360400002800000018000000180000000100
+ 08000000000040020000320B0000320B00000001000000010000C6949400CE94
+ 9400D6949400CE9C9400D6A59400CE949C00B59C9C00C69C9C00CE9C9C00D69C
+ 9C00CEA59C00D6A59C00DEAD9C00E7AD9C00E7B59C00FFD69C00CEA5A500D6A5
+ A500CEADA500E7B5A500E7BDA500EFBDA500F7C6A500BDA5AD00C6ADAD00D6AD
+ AD00D6B5AD00DEB5AD00E7BDAD00E7C6AD00FFD6AD0094A5B500BDADB500B5B5
+ B500BDB5B500DEB5B500D6BDB500DEBDB500E7BDB500EFCEB500F7CEB500F7D6
+ B500FFD6B500BDB5BD00D6BDBD00DEC6BD00E7C6BD00F7DEBD00FFDEBD0084B5
+ C6008CB5C600B5BDC600CEC6C600DEC6C600E7C6C600E7CEC600E7D6C600F7D6
+ C600F7DEC600FFDEC600F7E7C600A5B5CE0084BDCE009CBDCE0084C6CE008CC6
+ CE00A5C6CE00ADC6CE00E7CECE00FFE7CE0084C6D600B5CED600EFD6D600E7DE
+ D600EFDED600F7E7D600F7EFD60084C6DE00ADD6DE00C6DEDE00F7E7DE00F7EF
+ DE00FFEFDE0084CEE7009CD6E70084DEE7008CDEE700C6DEE7009CE7E700CEE7
+ E700EFE7E700F7E7E700F7EFE700F7F7E700FFF7E7008CCEEF0084E7EF0094E7
+ EF009CE7EF00C6E7EF00CEE7EF00BDEFEF00DEEFEF00E7EFEF00F7EFEF00F7F7
+ EF00FFF7EF0094DEF7008CEFF70094EFF700DEEFF700DEF7F700EFF7F700F7F7
+ F700FFF7F700FFFFF700FF00FF008CE7FF008CEFFF008CF7FF00ADF7FF00E7F7
+ FF008CFFFF009CFFFF00B5FFFF00EFFFFF00F7FFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00740800000000
+ 00000000000000000000000000000000007408080C0F0F0F0F0F0F0F0F0F0F0F
+ 0F0F0F0F0F0F0F0B0500080C08141E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1308
+ 0B0000140E08272F2929292929292929292929292F2708141400001C2904193A
+ 3A3A3A3A3A3A3A3A3A3A3A3A39080B2F250000253C16032E4B4A4A4A4A4A4A4A
+ 4A4A4A4B2501274B25000025503A0C084A504A4A4A4A4A4A4A4A5037011C4B50
+ 2500002D5C5029041A50505050505050505C50100B4B505C2D000035695C5128
+ 0035695C5C5C5C5C5C5C2303395C5C6935000036736969390301191A19191A19
+ 1911001B5C716973360000377F732D00113511080808080812352401115A7F7F
+ 370000445B190135717F7E70707070707D7D7D49100135724400011908085A7F
+ 7F7E7E7E7E7D7D7D7D7D7D7D702C00112300080034717F7F7E7E7E7E7E7D7D7D
+ 7D7D7D7D7D7D6724080001217C7F7F7F7E7E7E7E7E7D7D7E7D7E7D7D796F6E63
+ 22000317657F7F7F7F7E7F7F7F7E7066594F47423F32311F06007400007F7F7F
+ 7E7D66594F4E413E3E46464D535F3D0103747474010021787B6D565555606C6C
+ 6C7575756B200303747474747400002161777776777777767676755417017474
+ 74747474747474010843777777767677776C3303017474747474747474747474
+ 0301225877777777582001037474747474747474747474747474010821434320
+ 0801747474747474747474747474747474747403010101017474747474747474
+ 7474747474747474747474747474747474747474747474747474}
+ end
+ object BitBtn2: TBitBtn
+ Left = 158
+ Top = 91
+ Width = 145
+ Height = 41
+ Caption = '&Verificar'
+ TabOrder = 1
+ OnClick = BitBtn2Click
+ Glyph.Data = {
+ 76060000424D7606000000000000360400002800000018000000180000000100
+ 08000000000040020000320B0000320B000000010000000100005A5A5A005263
+ 6B00846B6B009C6B6B00636B7300A5737300A57B73007B7B7B00AD847B00AD8C
+ 8400B58C8400EFBD8400BD8C8C00C6948C00BD9C8C00C69C8C00F7BD8C00F7C6
+ 8C00738494007B84940084849400C6949400C69C9400CE9C9400D69C9400BDA5
+ 9400CEA59400CEAD9400F7C69400F7CE94009C9C9C00BD9C9C00CE9C9C00D69C
+ 9C00CEA59C00F7CE9C00F7D69C003973A500C6A5A500ADADA500D6ADA500D6B5
+ A500D6BDA500F7D6A500C6ADAD00D6B5AD00D6C6AD00DEC6AD00E7C6AD00E7CE
+ AD00F7D6AD00F7DEAD00FFDEAD001873B5002173B5006394B500E7CEB500EFD6
+ B500EFDEB500F7DEB500FFE7B5001873BD00E7D6BD00F7DEBD00F7E7BD00FFE7
+ BD00FFEFBD00FFF7BD00EFDEC600EFE7C600FFEFC600FFF7C600FFF7CE003184
+ D600FFFFD600C6CEDE00F7EFDE00FFEFDE00FFFFDE00EFEFE700FFF7E700FFFF
+ E700218CEF00F7F7EF00FFFFEF00FFFFF700FF00FF0031A5FF0039A5FF0042A5
+ FF004AB5FF0052BDFF005ABDFF007BC6FF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00560004165656
+ 5656565656565656565656565656565656562725361217565656565656565656
+ 5656565656565656565637585236131756565656565656565656565656565656
+ 56565A5C59523613175656565656565656565656565656565656575B5C595236
+ 13175656565656565656565656565656565656575B5C59523614175656565656
+ 565656565656565656565656575B5C5952361417565656565656565656565656
+ 5656565656575B5C59523614565656565656565656565656565656565656575B
+ 5C5849015656030A222928201556565656565656565656575B5D4B1E02093E48
+ 4A4E4A4A44225656565656565656565656564F2C1A484A4E4A4A4A4E4E4E2905
+ 565656565656565656562C1A4241484A4A4A4E4E515E5E265656565656565656
+ 56560C3A3C32484A4A4E5154555E5E4C065656565656565656562942232B484A
+ 4A4E54555E55544E1956565656565656561531421123464A4A4E545555544E4E
+ 2E155656565656565615393C0B113B4A4A4E515454514E4E3E0E565656565656
+ 56153942100B23464A4E4E4E4E4E4A4E3E0E56565656565656153142230B1C2B
+ 464A4E4A4A4A4A4E2E1556565656565656562842413323232B40484A4A4A4A4A
+ 0E5656565656565656560C3A4E544C231D1C324040464A440556565656565656
+ 5656560F505E5E3F1C0B101C3242460E5656565656565656565656561F4F5448
+ 3C33333C4240165656565656565656565656565656062A404242424030155656
+ 565656565656565656565656565656080F222216565656565656}
+ end
+ object MainMenu1: TMainMenu
+ AutoHotkeys = maManual
+ Left = 8
+ Top = 40
+ object Arquivo1: TMenuItem
+ Caption = 'Arquivo'
+ object Abrir1: TMenuItem
+ Caption = 'Abrir'
+ end
+ object Salvar1: TMenuItem
+ Caption = '-'
+ end
+ object Salvar2: TMenuItem
+ Caption = 'Salvar'
+ end
+ object Salvarcomo1: TMenuItem
+ Caption = 'Salvar como...'
+ end
+ object Fechar1: TMenuItem
+ Caption = 'Fechar'
+ end
+ object N2: TMenuItem
+ Caption = '-'
+ end
+ object Dados1: TMenuItem
+ Caption = 'Dados'
+ object Importar1: TMenuItem
+ Caption = 'Importar'
+ end
+ object Exportar1: TMenuItem
+ Caption = 'Exportar'
+ end
+ object N4: TMenuItem
+ Caption = '-'
+ end
+ object Vincular1: TMenuItem
+ Caption = 'Vincular'
+ end
+ end
+ object N3: TMenuItem
+ Caption = '-'
+ end
+ object Sair2: TMenuItem
+ Caption = 'Sair'
+ end
+ end
+ object Editar1: TMenuItem
+ Caption = 'Editar'
+ object Copiar1: TMenuItem
+ Caption = 'Copiar'
+ end
+ object Colar1: TMenuItem
+ Caption = 'Colar'
+ end
+ object Recortar1: TMenuItem
+ Caption = 'Recortar'
+ end
+ object N1: TMenuItem
+ Caption = '-'
+ end
+ object Selecionartudo1: TMenuItem
+ Caption = 'Selecionar tudo'
+ end
+ object N5: TMenuItem
+ Caption = '-'
+ end
+ object AreadeTransferencia1: TMenuItem
+ Caption = 'Area de Transferencia'
+ object Exibir2: TMenuItem
+ Caption = 'Exibir'
+ end
+ object Esvaziar1: TMenuItem
+ Caption = 'Esvaziar'
+ end
+ end
+ end
+ object Exibir1: TMenuItem
+ Caption = 'Exibir'
+ object Zoom1: TMenuItem
+ Caption = 'Zoom...'
+ object Normal1: TMenuItem
+ Caption = 'Normal'
+ Checked = True
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object Grande1: TMenuItem
+ Caption = 'Grande'
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object Ajustarnajanela1: TMenuItem
+ Caption = 'Ajustar na janela'
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object N6: TMenuItem
+ Caption = '-'
+ GroupIndex = 1
+ end
+ object Personalizar1: TMenuItem
+ Caption = 'Personalizar'
+ GroupIndex = 1
+ end
+ end
+ object amanhonormal1: TMenuItem
+ Caption = 'Tamanho normal'
+ end
+ object elacheia1: TMenuItem
+ Caption = 'Tela cheia'
+ end
+ end
+ object Relatorios1: TMenuItem
+ Caption = 'Relatorios'
+ object Relatorio11: TMenuItem
+ Caption = 'Relatorio 1'
+ end
+ object Relatorio21: TMenuItem
+ Caption = 'Relatorio 2'
+ end
+ object Relatorio31: TMenuItem
+ Caption = 'Relatorio 3'
+ end
+ object Relatorio41: TMenuItem
+ Caption = 'Relatorio 4'
+ end
+ end
+ object Segurana1: TMenuItem
+ Caption = 'Seguran'#231'a'
+ object Cadastrodeusuarios1: TMenuItem
+ Caption = 'Cadastro de usuarios'
+ end
+ object Perfildeusurios1: TMenuItem
+ Caption = 'Perfil de usuarios'
+ end
+ object logdosistema: TMenuItem
+ Caption = 'Log do Sistema'
+ end
+ object N7: TMenuItem
+ Caption = '-'
+ end
+ object rocarsenha1: TMenuItem
+ Caption = 'Trocar senha'
+ end
+ object EfetuarLogoff1: TMenuItem
+ Caption = 'Efetuar Logoff'
+ OnClick = EfetuarLogoff1Click
+ end
+ end
+ end
+ object ADOConnection1: TADOConnection
+ ConnectionString =
+ 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=..\base.mdb;Persist' +
+ ' Security Info=False'
+ LoginPrompt = False
+ Provider = 'Microsoft.Jet.OLEDB.4.0'
+ Left = 8
+ Top = 8
+ end
+ object UCAppMessage1: TUCAppMessage
+ Active = True
+ Interval = 60000
+ TableMessages = 'ucmessagez'
+ UserControl = UserControl1
+ Left = 104
+ Top = 40
+ end
+ object UCSettings1: TUCSettings
+ AppMessages.MsgsForm_BtNew = '&Nova Mensagem'
+ AppMessages.MsgsForm_BtReplay = '&Responder'
+ AppMessages.MsgsForm_BtForward = 'E&ncaminhar'
+ AppMessages.MsgsForm_BtDelete = '&Excluir'
+ AppMessages.MsgsForm_BtClose = '&Close'
+ AppMessages.MsgsForm_WindowCaption = 'Mensagens do Sistema'
+ AppMessages.MsgsForm_ColFrom = 'Remetente'
+ AppMessages.MsgsForm_ColSubject = 'Assunto'
+ AppMessages.MsgsForm_ColDate = 'Data'
+ AppMessages.MsgsForm_PromptDelete = 'Confirma excluir as mensagens selecionadas ?'
+ AppMessages.MsgsForm_PromptDelete_WindowCaption = 'Delete messages'
+ AppMessages.MsgsForm_NoMessagesSelected = '!No Messages selected'#161
+ AppMessages.MsgsForm_NoMessagesSelected_WindowCaption = 'Information'
+ AppMessages.MsgRec_BtClose = '&Fechar'
+ AppMessages.MsgRec_WindowCaption = 'Mensagem'
+ AppMessages.MsgRec_Title = 'Mensagem Recebida'
+ AppMessages.MsgRec_LabelFrom = 'De :'
+ AppMessages.MsgRec_LabelDate = 'Date'
+ AppMessages.MsgRec_LabelSubject = 'Assunto'
+ AppMessages.MsgRec_LabelMessage = 'Mensagem'
+ AppMessages.MsgSend_BtSend = '&Enviar'
+ AppMessages.MsgSend_BtCancel = '&Cancelar'
+ AppMessages.MsgSend_WindowCaption = 'Mensagem'
+ AppMessages.MsgSend_Title = 'Enviar Nova Mensagem'
+ AppMessages.MsgSend_GroupTo = 'Para'
+ AppMessages.MsgSend_RadioUser = 'Usu'#225'rio :'
+ AppMessages.MsgSend_RadioAll = 'Todos'
+ AppMessages.MsgSend_GroupMessage = 'Mensagem'
+ AppMessages.MsgSend_LabelSubject = 'Subject'
+ AppMessages.MsgSend_LabelMessageText = 'Message text'
+ CommonMessages.AutoLogonError = 'Falha de Auto Logon!'#13#10'Informe um usu'#225'rio e senha v'#225'lidos.'
+ CommonMessages.ChangePasswordError.InvalidCurrentPassword = 'Senha Atual n'#227'o confere!'
+ CommonMessages.ChangePasswordError.NewPasswordError = 'Os campos: Nova Senha e Confirma'#231#227'o devem ser iguais.'
+ CommonMessages.ChangePasswordError.NewEqualCurrent = 'Nova senha igual a senha atual'
+ CommonMessages.ChangePasswordError.PasswordRequired = 'A Senha '#233' obrigat'#243'ria'
+ CommonMessages.ChangePasswordError.MinPasswordLength = 'A senha deve conter no m'#237'nimo %d caracteres'
+ CommonMessages.ChangePasswordError.InvalidNewPassword = 'Proibido utilizar senhas obvias!'
+ CommonMessages.InvalidLogin = 'Usu'#225'rio ou Senha n'#227'o inv'#225'lidos!'
+ CommonMessages.InitialMessage.Strings = (
+ 'ATEN'#199#195'O Login Inicial:'
+ ''
+ 'Usu'#225'rio : Admin'
+ 'Senha : #delphi'
+ ''
+ 'Defina as permiss'#245'es para este usu'#225'rio.')
+ CommonMessages.MaxLoginAttemptsError =
+ '%d Tentativas de login inv'#225'ido. Por motivos de segun'#231'a o '#13#10'siste' +
+ 'ma ser'#225' fechado.'
+ CommonMessages.PasswordChanged = 'Senha alterada com sucesso!'
+ CommonMessages.BlankPassword = 'Retirada senha do Login %s'
+ Login.WindowCaption = 'Login'
+ Login.LabelUser = 'Usu'#225'rio '
+ Login.LabelPassword = 'Senha : '
+ Login.BtOk = 'OK'
+ Login.BtCancel = '&Cancelar'
+ Login.TopImage.Data = {
+ 07544269746D6170B6790000424DB67900000000000036040000280000007601
+ 0000500000000100080000000000807500000000000000000000000100000000
+ 00009BB5D8007493BA00ACC2E000BBBBBB00CBD9EB007D9BC20051719900F6F8
+ FB00F2F5FA0095B0D500FCFDFE00EDF2F800A7B6BC0055759D00F8FAFC00B1C5
+ E1005979A10089A8D200CDD5D9003E5E88004D7199003D5D8700FAFBFD008888
+ 8800E5ECF500DDE6F200DDDDDD00E2EAF400A5BDDD00405F880042628C0089A6
+ CC008297A0005D7DA500C5D4E900A1B9DA006685AD004569920045679000B4C8
+ E300EEEEEE00BDCEE60099B3D600A9C0DE008BA8CD009EA5B0006181A9006E8D
+ B400D0DCED006989B10099999900809DC40085A2C80044638C00C1D1E8004462
+ 8C008EAACF0091ACD100486890005579A100E7EEF6003E5F890040608A005D82
+ AB00C0CBCF008CAAD400D5E0EF00496C950042618A004A6A93008FACD500D8E3
+ F0004C6C9400D2DEEE007795BD0046668E004E6E960050709700B8CBE400BBCD
+ E500CCCCCC00C8D7EA00648BB2006D93BA0044648E00A2BADB004A6B94009BAC
+ B300708EB5004E6F980085A5CF00DAE4F10058789E0043638D0050759D00506E
+ 9600D6E1EF00F4F7FB00A7BEDE00829FC600FDFEFE0041608B0054749A007A98
+ BF0093AFD600BECFE60044628A00666666004060880086A6D0004C6B92004867
+ 8E00EAEFF700AAAAAA0049688E006C8AB1004D6E940053729A00476690006584
+ AB007290B8005C7CA300333333005F7EA60046648E005A7DA50056779E00E6EA
+ EC0046648C0044444400777777004869920044678E0080A0C900E0E8F3006D8C
+ B3005576A000AAAEB50090ADD5006080A7009EB7DA006486AF00486A93006185
+ AC00F9FAFD004C6A92003C5B85004C6E96006988AF0049699100C6CFDC0093AE
+ D20051729B00597AA30045648B004E6D94004A6992004A6C92004D6D96006786
+ AD00B6BCC40056769E003D5A82003F628B006383A900698DB500555555005A7F
+ A7005B7AA1003A5A8400527399005A7BA200426188004668900039577F007D9F
+ C70047668D00EBF1F8004C6B940087A3CA00405F8600486990004E6D96004C6D
+ 9400222222006287AF0083A3CC00FBFCFD00779BC2004A6A9100D1DDEE005473
+ 9C003C5C87006B8BB20092ADD200D3DFEF00E1E5E900426189006C8BB5008B8F
+ 940045658D005878A00042638B003F5C84005C7BA4001111110084A3CC006183
+ AB00CDD6E1006A8AB3006282AB00808285006787B0006483AC00A5BCDB004061
+ 8A004F5153003E40420043637000FEFEFE0091AED600FEFFFF00758D9600F2F5
+ F5008FA0A900D9E0E200506D7A00EFF4F9005C788300BFD0E700B5C1C60091AE
+ D500E3EBF50069828D00C3D3E900D2DDEE0097B2D700DFE7F300F7F9FC00A3BB
+ DC006F8FB7007B7E830094AFD3007998C1002F3032007396BE00909296008FAB
+ D000686C7100A4BBDA00D2D9E400D9DEE600FEFEFF0088A7D20000000000FFFF
+ FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCFCFCFCFCFCFC
+ FCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB6464640A0A0A0ABBBBBBBBBB16
+ 16160E0E0EEEEEEE07EE0707616161070761070707EEEEEEEEEE90161616BB16
+ BB0ABB0A0A0A0ADB64646464DBDB64FCFFFCDBDB64DBDB0A640A0A0A0ABBBBBB
+ 16160EEEEE07610808E30BB1703C18E886195B47424930045122EA36294F4E27
+ 0F0F0F022B621CEF55558C8C000000ECECECECEC68096868DCDCDC8A8A8A8A8A
+ 8A46464646464646464646464646464646464646464646464646464646464646
+ 4646464646464646464646464646464646464646464646464646464646464646
+ 4646464646464646464646464646464646464646464646EC0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFC
+ FCFCFCDBDBDBDBDBDBDBDBDB64DB640A0A0A0A0ABBBBBBBB16161616160E0EEE
+ EE07EEEEEEEE6107070707EEEEEEEE0E0E0E0E161616BBBBBB0A0A0ADB0A6464
+ DBDBFCDBDBFCFCFFFFDBFCDDDBFCDBDB64640A0A0A0A0ABBBB16900EEE076108
+ 08E30BB1703C181B86195B4742BE3004512236694F4E27270F022B2B1CEF238C
+ 8C0000ECECEC09688A8A46464646414141111111111111111111FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCDB
+ DBDBDBDBDBDBDB6464640A0A0A0ABBBBBBBBBB161616160E0EEE0E0EEEEEEEEE
+ EEEEEEEEEE0E0E16901616BB16BBBB0A0A0A0A0A64DBDBFCFCDBFCFCFCFCFCFF
+ FFFCFCFFDDFFFCFCFCFF0A640A0A0ABB0A1616900EEE07070808E30BB1703C18
+ 1B1B195B604230040422EAE5294F4E270F02022B1C1C558C8C0000ECEC6868DC
+ DCE78A464646414141414111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCDBDBDBDBDBDB
+ DBDB64640A640A0A0ABBBBBB161616160E0E160E0E0E0E90EE0E0E9090901616
+ 161616BBBBBB0A0A640A0A64FCFCFCFCFCFFFFFCFFDDFFFCFCFFFFFFFCFFFCFF
+ FCDBFCDBDB0A0A0A0ABBBB16160E0EEE616108E30BB1703CE81BED5B47604930
+ 04512236E54F4E270F0F022B621CEF238C8C00ECECEC6809DCDC8A4646464641
+ 4141114111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB640A0A
+ 0A0A0ABBBBBBBB1616161616160E0E169090161616161616BBBBBBBB0ABB0A0A
+ 640A64DBDBFCFCDBFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFCFCFCFCFFFCFC0A0A
+ 0A0ABB1616160EEE07610808E30BB13C3C1B86195B4742BE3004222236294E27
+ 270F0F022B1CEF558C8C8C00ECECEC68DCE7DC8A464641414141411111111111
+ FD11FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB64640A0A0A0ABBBBBB
+ BBBBBB1616161616161616161616BBBB0ABB0A0A0A0A0A64FC64DBFCFCFCDDFC
+ FFDDFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFDDFCFFFCDDDB64640ABBBBBB160E0E
+ EE076108E30BB1703C181BED194760493004512236E54F4E270F0F022B621C55
+ 238C8C00ECECEC096868E7464646414141414111111111111111FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FCFFFFFCFCFCFCFCFCFCDBDBDBDBDBDB64640A0A0A0A0ABBBBBBBBBBBBBBBB16
+ BBBBBBBBBBBB0ABB0A0A0A0A640ADBDB64FCFCDBFCDDDDFCFFDDFFDDFFFFFFFF
+ FFFFFFFFFFDDFFFFFFDDFFFCFFFCDBDB64640ABBBBBB16900EEE070808E30B70
+ 703CE81B195B4742BE300451EAE5294F27270F022B2B1CEF558C8C0000ECECEC
+ 68DC8A8A464646464141414111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFCFC
+ FCFCFCFCFCDBDBDBDBDBDB64640A0A0A0ABBBBBBBBBBBBBBBBBB0ABBBB0A0A0A
+ 0A0A0A0A646464DBFCFCDDDBDBFCDDFCFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDBDB640A0ABBBBBB16900E07070808E3B1703C181BED194760
+ 493004512236694F4E270F02022B1C1C55238C00ECECECEC6809DC8A8A464641
+ 414141411111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFFFCFCFCDBFCFCDB
+ DBDBDBDBDB64640A0A0A0A0A0ABBBBBBBB0A0A0A0A0A0A0A0A0A0A64DBDBDBDB
+ DBFFFFDDDDDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFC
+ FC64640A0ABBBB16160EEE070808E30BB1703CE81BED5B4742BE300422EAE529
+ 4E27270F022B621C55238C8C00ECECEC0909DCE78A4646414641414111111111
+ 1111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCDBDBDBDBDBDB6464
+ 640A0A0A0A0ABBBBBB6464640A0A0A6464DB0ADB64DBDBFCFFFFFFDDDDFFFFFF
+ DDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFFDDDBFC640ABBBB16
+ BB0E0EEE070808E30B703C181B86194760C33004512236694F4E270F02022B1C
+ 1C55238C0000ECEC0968E7E78A8A41464141414141111111111111FDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A
+ 0A0A6464640A0A6464DBDBDBFCDBDBFCFCFFFFDDDDFFDDFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFCFCFC64640ABB16160EEE076108E3
+ 0BB1703CE81B195B47423004042236E54F4E270F02022B621C55238C00000909
+ C239382C1FCE85AF3305F3F5015353F5AF8585BC53B93F3F3FA7993B885E5E98
+ 98981414438E599E434343145E5E98593F52B9A7251E3D3D653E3E3E3E3E3ED7
+ 1E1E1E5D545D5DCA3E1E1E3B3B5DD7C03ED7A38E434354A365D7D76565D7D765
+ 6513153E3EC092AE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A6464646464
+ FCFCFCFCFCDBDBFCFCFFFFFFFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFCFCFCDB0A0A0ABB16160EEE070808E3B1703C181BED19
+ 4760BE3004512236694E270F0F022B621C558C00EC0997381F1F346333670101
+ F02F318DCF2EA7A78F52A5B97D14934393438E258E568E8E8E8E254325251459
+ 1414143B3FB93FA75E5E5E5E93985943438E8E25252525252676767683838326
+ 6554267DA78E263E3E3D15A33DA33D3E3D3D3D3D3D3D3D3D3E133D1E1E1592AE
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCFCFCFCDBDBDBDBDBDBDBDBDB646464646464FCFC6464FC64FCFCFCFCFCFCDB
+ FCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFF
+ FFFFFCFC64640A0ABBBB160E0E07610808E3B1703CE81B195B60C3BE04512236
+ 694F4E270F022B62D6558C002AF297382CB3633367677858319FA42E7BA8A87B
+ 21C9660648B5B53A4B4B8035CA6A6AC5353E1D1D3E1D3E1ECA268E883B3B4325
+ 26262654542626262626262626252525562543255EA77D5E2525262626262626
+ 252626262654262554252525431443255D1E2606433DA9A90000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE11212FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFF1212E1FFFFFFFFFFFFFFFFFF1212E1FFFFFFFFFF
+ FFFFFFFFDF121212FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE11212
+ E1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBFCFC
+ DBDBDBDBDB64646464646464FCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFF
+ DDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFDDFCFCFCFC0A0A
+ BBBB16160EEE610808E30B703C181BED194742BE300422EAE54F4E270F0F022B
+ 1C5523002A09C2382CB36333674A0158879F9F2E7B5CA10D21A1064D48BDBD72
+ 809A3535C56C6C6C13131D44441D1D3E1D1ECA438E263D3D3D3D3D1313131313
+ 3D131313133D3D3D3D3DA3A3435E435DA33E3D3D3D3E3E3EA33EA3A3A3D7A354
+ 5426268E5E88592665D75D765D3D15A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE120DADADADADAE940FFFFFF12DADA0C
+ FFFFFFFFFFFF0CDADADADADADADADEFFFFDADA12FFFFFFFF0CDADADAFFFFFFFF
+ FFFFE0DADADADAE440FFFFFFFF40E9DADADADADA20E1FFFFFFFF12DEDADADADA
+ DADE12FFFFFFDADADEFFFF7FDADADEFFFFFFDFE0E2DADADADADEFF12DADADADA
+ DADADADAFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB
+ DBDBDBDBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFC64646464BBBB160EEEEE61
+ 08E30BB1703CE886194760493004512236294E270F0F022B62D6238C2A09F239
+ 381F6333054A0158879F772E7B5C5CA1210D4C9B91726F6FC8C83535CA6AC5C5
+ 1D6C6C1DB41D6C6C1D3E5D4354A33D1E653E3E1D3D3D3D3D1313131313131313
+ 15133D3D8E14263D3D1315C015151515C0C0151313133DD7151315A343935492
+ 133D3DC0C0133DA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFE6E2DADAE00C57E4DADAE0FFFF7FDADA0CFFFFFFFFFFFF0CDA
+ DAE9DEDEDEDE57FFFFDEDA12FFFFFF7FDADADADAFFFFFFFFFFFFDADE0C0CE4DA
+ DA7FFFFF57DADAE2570CE0E2DADAE6FFFF12DADADA200CE0DADADA40FFFFE4DA
+ DEFFFF0CDADAE1FFFFE1E2DADA200C0CE0E4FF12DADAE4DEDEDEDEDEFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFDDFCFFFCFC6464640A64BB16160EEE070808E3B1703C181B
+ ED5B47C33004512236694F4E270F022B62EF238C0009F239381FB36305674A58
+ 2F9F772E21A1100D21BF5F9B9B91BD6FC8C83535CA6A6AC56A35441D1D1D6C1D
+ 15C0359E5DD71D441D1D1D131313131313131515151515151313C01526595465
+ 653E131515151515C0C0C0C0C0C0C0159215C0151E5D3E13C015C0A9921515AE
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FE2
+ DAE97FFFFFFFFFE0DADA40FFFFDADA0CFFFFFFFFFFFF0CDADAE6FFFFFFFFFFFF
+ FFDEDA12FFFFFFDEDADADADAFFFFFFFFFFFFDFFFFFFFDFDADA0CFF40DADAE0DF
+ FFFFFFDFE9DAE27FFF20DADA0CFFFFFF12DADADEFFFFDEDADEFFFFE4DAE0FFFF
+ FFE9DAE2E1FFFFFFFFFFFF12DADAE0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFCFCFCFCFCFCFCFCDBFCDBDBFCDBFFFFFCFCFCFCFCFCFCFFFF
+ FFFFFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFCFCFCFCFC64640ABBBB160EEE076108E30B703C181B86194742BE300422
+ EAE54F4E270F0202621C558C8C2A099739382CB3343333674A78589477A85C75
+ CC754D4D0606065F4D4D4D4C4C4C4C4C9191919191913AC83792449E3E151D13
+ 1D1D1D1D1D1D1D1D1D1D1D13131313151D13C092764565653E13131513131313
+ 131315151515C092921315C03D651E5415C092C0151592AE0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0CDADA7FFFFFFFFFFFFF
+ DEDAE4FFFFDADA0CFFFFFFFFFFFF12DADA0CFFFFFFFFFFFFFFDEDA0CFFFF40DA
+ DA0CDADAFFFFFFFFFFFFFFFFFFFF40DADAE6FF20DAE4FFFFFFFFFFFFDFE2DAE0
+ FFDEDADADFFFFFFFFFE4DADAFFFFDEDADEFFE6DAE2DFFFFFE1DADAE6FFFFFFFF
+ FFFFFFFFDADADEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFCFCFCFCFFFCFCFCFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFFFFFCFC6464
+ 640A0ABB160E0EEE070808E3B1703C1B86195B6049300451EA36694E270F0202
+ 2B1C55238C2A09F2C2382CB3346305674A4A017873A4C975CCBF4D0D0D667506
+ 4C4C4C9B4C4C9B4C064D9B9B4C9B4C4C9B131E593E1D373735353535357C7C4B
+ 54545454543535353737543EB69C1D1D3E1D13133E6565653E3E3E3E3E653E1D
+ 131392C03D3E13133DC092151315C0A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFDEDAE9FFFFFFFFFFFFFF0CDADA7FFFDADA0C
+ E1127FFFFFFF12DADAE012121212DFFFFFE0DA0CFFDFE4DA20E1DADAFFFFFFFF
+ FFFFFFFFFFE6DADAE9FFFFDADA57FFFFFFFFFFFFFF20DAE4FFDEDADAFFFFFFFF
+ FFDEDADAFFFFDEDADEFFE4DA0CFFFFFF0CDADADFFFFFFFFFFFFFFFFFDADAE912
+ 1212127FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFC
+ FCFCFCFCFCFCFFFFFCFFFCFFFFFCFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCDDFCFCFC64640A0ABB1616EEEE
+ 076108E3B1703C181BED5B60423004512236294E4E270F022B62EF2300002AF2
+ 97382C1FB33405336767582F8794C9BF210D98A10D755F744D4D4C4C4D4C4D4D
+ 4C48489B48B5BD4C06131E593D1D767C353535359A8080C854547C7C7C545435
+ 3735833E984BCBCB1E1E65651E1E1E1E651E1E1E1E5D3765371E3D3D1E3E9292
+ 3E15C013131513A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFDEDADEFFFFFFFFFFFFFF12DADA12FFDADA0CE2DADAE4E1FF12DA
+ DADADADADADA12FFFF0CDA0CFF0CDAE27FFFDADAE1FFFFFFFFFFFFFF0CDADAE9
+ DFFFFFDADA0CFFFFFFFFFFFFFF0CDADAFFDEDADAFFFFFFFFFFDEDADAFFFF20DA
+ DEE6DADA2012FFFF0CDADAFFFFFFFFFFFFFFFFFFDADADADADADADA0CFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCFCFCFCFFFFFF
+ FFFFFFFCFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFDDFCFFFCFC640A0ABBBBBB16EE076108E30BB13C18
+ 1BED5B4742BE040422EA694F4E270F022B62EF238C002A09C2F7381F1F1F63B3
+ B33401785831C9A121A10DC97EAA4D4C4C4C4C4C4C4C4D4C9B5F7E21104C6E4C
+ 0D444BBF3E1D76809A35CACACACACA355454C8C8C8C85454C8C8483E0D541D13
+ 1E1E653E3E3E3E3D651E1E651E1E1E3E1D1E653D3E139213133E3E13131313A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20DA
+ E4FFFFFFFFFFFFFF12DADA12FFDEDA571240E9DAE2DF12DADADE0C0C0C0C7FFF
+ FF0CDA577FDADA0CFFFFDADA12FFFFFFFFFFFFE0DADAE0DFFFFFFFE2DAE0FFFF
+ FFFFFFFFFF0CDADAFFDEDADAFFFFFFFFFFDEDADAFFFF0CDADEE1120CE2DA57FF
+ 0CDADA7FFFFFFFFFFFFFFFFFDADAE40C0C0C0C12FFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFFFFFFFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFC
+ FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFF
+ FFFFFFDDFCDDFC6464640A0ABBBB160EEE070808E3B1703CE81B194760493004
+ 2236E54F4E270F02022BD6558C000009F239381F1F2C3333676778585873100D
+ 215C66A80D664D5F066E4D4D4D0674AA9B21F031AB484C06BF1E26BF3E133AB0
+ 6F446C9A541E5454353A76C6D1B6767C6F9545CAC9D713151E445D4465443D3E
+ 655D651E4BD5761DCACA351E3E15C0153E15C0133E1315A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6DADA12FFFFFFFFFFFF
+ 57DADADFFFDEDA0CFFFF7FDADAE612DADA0CFFFFFFFFFFFFFF0CDADEDEDAE4FF
+ FFFFDADA12FFFFFFFFFF12DADAE0FFFFFFFFFFE0DAE2DFFFFFFFFFFFFFE9DAE9
+ FF0CDADA12FFFFFFFF0CDADAFFFF0CDADEFFFFFFE6DADA7F7FDADA0CFFFFFFFF
+ FFFFFFFFDADADEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFCFC
+ FC640A0A0ABB160EEE076108E3B1703CE81BED5B60493004512236294E270F02
+ 022B1CEF2300000997C2382CB32CB33463334A7858C1C90D79C9AA1010A87E5C
+ 754C75064D4D744D0D242EB74D4C4C06754426BFD71D953A3AB54BCA543E3A76
+ 9CC875D4213A3A243A9145357ED7131D5D3E3E3E1D13543E1E1E1E3D9EC6BF54
+ 9A35351E3E1515136513C0C0151313A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFDFE2DAE9DFFFFFFFFFE1E2DAE0FFFFDEDA0C
+ FFFFDFDADA0C12DADA0CFFFFFFFFFFFFFF0CDAE2DADA12FFFFFFE4DA12FFFFFF
+ FFFF0CDADAFFFFFFFFFFFF12DADAE0FFFFFFFFFFE6DADAE6FF0CDADA12FFFFFF
+ FF0CDADA12FF0CDADEFFFFFF40DADA12FFDEDADA12FFFFFFFFFFFFFFDADADEFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFC64640A0ABB160E
+ EE076108E30B703C181BED5B47C33004512236294F27270F022B62EF23002A09
+ 09C2382C1F2C386363054A017887A8BF7B10065C5C0DAA66664D66754D064D06
+ AA2E24AA4C4D0D4D063E26BF3E3E9C9CC8B5CA6C76548335443A0DCC45542ED5
+ 95484584BFD7134454831E13761D5D1E5D9265452EC698544BC8351E1D15133E
+ 653E15C0153E3EA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFF12E2DAE40C121257E2DAE2DFFFFFDEDADE0C0CDEDADA4012DA
+ DADE0C0C0C0C0C7FFF40DADADA20FFFFFFFFDEDAE6FFFFFFFFFF40DADA201212
+ 0CE1FFFF0CDADADEE61240E0DADADEFFFF0CDADA12FFFFFFFF0CDADA12FF0CDA
+ E40C0C57E2DADADFFFDFE9DADAE040124057E1FFDADAE40C0C0C0C0C12FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFC640A640ABB1616EE076108080B7070
+ 181B861947423004512236694F27270F022B62D6230000EC0997F72C1FB33834
+ 056701787887CC0D79AB4DAB215C5CA16606AAAA4D4D4D060101F3C1A84C6606
+ 061DAD986C44959C9A95449A7676761E1E567D7D84B7F0069148953A063E1337
+ 5D1E5D13763E443E54C05488D12F983A6FC835441D151D1E3D3E3E133D653EA2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ E1DEDADADADADADADEDFFFFFFFDEDADADADADADAE0FF12DADADADADADADADA12
+ FF12DADADA7FFFFFFFFFDEDA0CFFFFFFFFFFFFE0DADADADADA7FFFFFFF40E4DA
+ DADADADADA57FFFFFF0CDADA12FFFFFFFF0CDADA12FF0CDADADADADADAE2E6FF
+ FFFFDFE0DADADADADADA12FFDADADADADADADADA0CFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ DDFFFFFFFFFFFFFCFCFC640A0ABB16160EEE070808E3B1703CE886194742BE30
+ 042236694F4E270F022B62EF238C00EC09C2F72C1FB3B36367670101782FCC0D
+ 10794D2121A15CAAAAAA4D4D064C4C064D7E797B945C9B4D061D9598131E763A
+ C83A449544541D54C8138806A3AD9826914895569E1D153576924B1E3E5D543E
+ 155D83982E4AD47B6FC81E3E13151D1E3D3E3D13133E3DA20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FE60C0CE67F
+ FFFFFFFFFFE112121212127FFFFFDF1212121212121212DFFFDF1212E1FFFFFF
+ FFFFE1127FFFFFFFFFFFFFFFE10C0C0CE1FFFFFFFFFFFFE10C0C0C40DFFFFFFF
+ FF7F1212DFFFFFFFFF7F1212DFFF7F121212121212FFFFFFFFFFFFFFDF400C0C
+ 0C40DFFF12121212121212127FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
+ FF64640A640ABB160EEE070808E3B1703CE88619476049300451EAE54F4E270F
+ 020262D6558C002A0997F7381FB3343305674A0178C121A15C794D7910667BAA
+ 75790D4DAA4C4C06AA064C6E0D7506AA981D45061335763A4844443A1EB21E76
+ 3A4B764B563A7648919B9593563D157C5D4B5D13441EC01E65541E5476983AC8
+ 6FC81E3E1315134465131515151513A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFCFFFCFC64640A0ABB16
+ 0EEE076108E3B1703CE81B195B4749300451EAE54F4E270F022B2B1C55238C2A
+ 09F239381FB3343305676701782F8BA1C9AB4D211021019F0D2FA4AA66064D06
+ AA4CA1AA4D74664CBF1D43981354769CC8C8D101F0D19E1D3EB2443A453A453A
+ 6E4C9506831D15763D8313831E44541E3D15135D3A761E3A4B8035441D151365
+ 6513131E1E1315CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCDDFFFCDB64640ABB1616EE076108E30B70
+ 3C181BED5B47C330045122E5294E270F02022B1C55238C00099738382CB33463
+ 05674A0178782EA199CC06215C210558A1F32FBF66AA4D4D4C75AA4D5C4D0610
+ BF1D4898134B3A913AC5940D7676C8837C7CA87B3A9C3A486E4C45983A1D1576
+ 3A1376D15DB2C6761E1E5D15765454354B80351E1D15133E3D151E833A65C0A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFDDDDFCFFFCFCFC640A0ABBBB16EEEE6108E30BB170181BED5B474230
+ 0451EA36294E272702022B62558C8C2AEC9739381FB3343305674A01782FD5C9
+ 79A866A8109F874A8DC6F30DA10D4D66AA666666AA06BFA1A11D9EBF549A9C3A
+ 83D7F578787BBDBD5648D4C90DD276833ABF76C94B441D761E769CC65978B67C
+ 54351E5D54545476763A1D761315374465153DD13E1365A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFF
+ FFFCFC64640ABB16160EEE610808E37070181BED5B4742300451EA36694E270F
+ 02022B62EF8C8C002AF239F71F1FB36333054A017858775CAB8B06791078A4C1
+ 0521587779A1A8A85C5C5C5C0DAA66A10D15C999A34B9C3A4B83F0BF5966486E
+ AA4CD198CC109E839C9EADD2C81E443A54139EF3C6785FB695764B4B4B5D5D5D
+ 763AC83A1E445D44156583D41E3E1EA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFFFCFC646464BBBB
+ 160EEE070808E3B1703CE886194742BE04042236694F27270F022B1CD6238C2A
+ 09F2C2381FB3B3633305674A01F024107B2FA1AB7901AB2E0599D42410107966
+ 5C5C5C5C7E0D0DA10DD78F2ECA95569148B6016701774D100D4CD24810065945
+ 595643A5AD54C8953E9EC9CC88C6CC83599EB2B2453A767654358335D7441E3E
+ 135D59995D76B26F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC64DB640ABBBB160EEE070808E3B1
+ 703CE886194742BE30512236694F27270F022B1CEF238C002AF297382C1F3463
+ 3305674A015824A8CF2F7BC9102E0D10C9BF107E66ABAB105C5C5CA8105C5C10
+ BF458F8BAD9D6E6E9E3A065906AA9D0D0DAA0D06BF9806599893143143C8C876
+ 48567DF0317B59594C9E489E48569C9C45959826C8C84B848399F57899454B6A
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFDDFFFFFC64646464BBBB160E0E076108E3B1703CE886194742BE
+ 04042236694F4E270F022B62EF23000009F239382CB3343305674A4A78879F8B
+ 249FCF7E7E0DAA664D754D064D4DB7664D4C4C4D06060606459E0D06B5843A3A
+ 959B48B03A984C934C4D954C9D4D9E4C4343933B43C85454CAD7CA3ACA845426
+ 3A6F6F3A833A3A3A4B26AA8444D7A3D7543D1E44545D37B40000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
+ FFFCFCFC640A0ABB160E0E076108E30B703C181BED5B604930042236694F4E27
+ 0F022B1CEF23002A0939382C1F3433054A0158879FA47B21CCA10DBFB7489195
+ 91726F4856987DC972B09AB06FB0B0B04445C835AD9A9A6FB0356A953A4B4C3B
+ 3A6F9AC84B9A4BC835268326434B544B54CAD7CACA985E43C89ACA9A9A353554
+ 4B9598B76FC89ACA3D5D76B6833E1D6A0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFC64640A0ABB
+ 1616EE070808E3E3B1703CE81B1947C3300422EA694F27270F022B1C5523002A
+ F2C2382C1F3433676701583194778B7BCC5C0D6606065F9B6E6EBD3AC8067B8E
+ 6EB5B0B0B0C880804435CAC5C89A6AB09AB09A80C53599A79572729A6F35C835
+ 1E35C8CA26C8354B6ACA4B1D440D7D8E6FC89A9A35CA1E35C580C83A35C5CA6C
+ 3D767610597613AE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFCFC640A0ABB160EEE0761610808
+ 08E3E3B17018ED4749045136694F4E270F022B1C5523002A0939381F1F343367
+ 677858739FA47BA85C5C0D4C5F9B9191726E72C826563B846E729A9A80356A6A
+ 801D4B356A80AC806A9A6AC8D73D3B8872726F806A806A6A35441E543E354435
+ B01D6FCACAAD7E95B56FC89A9ACACA353580CBC8AC6A4B353D7615BF76541ECB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDDFFFCDDFC0A0A0ABB160EEE07076107EE0E0E0EEE0708B11B
+ 473051EAE54F4E270F022B1C5523002A0939381FB33433674A015873772E8BCC
+ 5C66665F5F4C6F953A72B03ACAB73B546F3A1D806AB4C580B0B46AB46FB46AB4
+ 449A1D4435157D9880B09A8080C5C5C57C15443735351D351D441DCA1E4B0635
+ 6F6F44C8445D1D3E1D443E44541E1DC81E443E4BC81E54CB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
+ FCFFFC6464640ABB160EEE07077F71176B818181170316081B4204EA694F4E27
+ 0F022B1CD623002A0939381FB36333674A0158872F739F777B9F7BA81066A14D
+ 9B483AC815837ECAB43A3A6EC84C6F95484806486E4806483A953A6FC8152193
+ 6CB09A6ACBC5657C44351D5415C854547C541EC8D73A4844CA6FC515A95D3544
+ 1D3A35443E1E44C01E441D351E1D35CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFC6464640ABB
+ BB0EEE070781FEFEFEFEFEFEFEFEA60AE31904EAE54F4E270F022B621CEF8C00
+ EC97381F1F63333305676778788773739424A4249F79C9AB5C5CBF486C43AB84
+ 80064C4C9B5F664C485C065F5C0D6E5F4D4C75064C448F43B46A6F4B959C3AB2
+ 9CB2B29CB6B61D459C6F6F8ECA4C3A1DCACA6C9A4B4B1D1D1EC03A4B153A159C
+ 35441D4413C044A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC640A64BB160EEE0707CDFE7A
+ 82D36BCDFEFEFE17EE1B3022E5294F4E270F0F022BD655002A97381FB3343333
+ 33674A01015887947377247B7B2E218B10ABA806A34899CA954D489BAA48664C
+ 754D75BF064C75A10D454D9806CA8F26CA3548C8B2445D54C8543A359E35483A
+ 954B4593AD0D351D1DCAC56C1D134445761E1D833E3E3E1D351E1D3EC09244A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFCFC64640A0ABBBB160EEE07D312610808E3C4F4FEFEB8
+ 163C495136E5E56969294F4E270262232AF2381FB334333305670505782F8794
+ 942424014A947B7EA8A8CC98D75699A3B5484C0DAA774D669B7506664A78D1C6
+ 779E4C98BF3524841D3A6E541E3A75B676563A563A54F021BD4B45483AA1C51D
+ 6C4BC54410D5BF131D35BF4859D10D5D35353E3E15C044A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFF
+ FCDDFCDBDB64640ABBBB90EE07616161616108E3F6FEFEFEBB70425122220430
+ 604242490436271C0009F71F1F3433330505336301C1C1949F24335831059458
+ 79AB21A1CA437D844B0D0648D4A8F04C0D4CAABFF0F30188787E060DBF268DAD
+ A94CC85676D478884B3A3A8376450DF05F6E489DB598356A6CB0CA6CBF990676
+ 764483D1313A44445D5D3E3E131535A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5003030328FFFFFFFFFFFFFFFF
+ FF5003031AFFFFFFFFFFFFFFFFFF280303031AFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFF1A03030328FFFFFFFFFFFFFFFF28030350FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A030350FFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFF50030328FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A03031AFFFFFFFFFFFFFFFFFFFF
+ FF28030350FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF030303FCFC6464
+ FC0A16EE0761EE1A030316EE12FEFEFE50B1600404428670E68903890B1B0402
+ 23EC381F34343333336767670578873131948B01F301F52E215C990DD73A99CA
+ BD4C064C66F0AB0D740DBF9E8DF30501D20D4D9859842ECA6C5935B29C244A83
+ 45C83A7659C926F0064CB7959D4D9A6AC89ACA562E103A44C0440DD2249C354B
+ 5D351D1D15135DA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFF03A6FEFEFEFEFEFEB86B1AFFFFFFFF6BFEFEFEFEFEB871FF
+ FFFFFFFF17B8FEFEFEFEFEFE17FFFF03FEFEFE28FFFFFFFFFFFFFFFFFFFFFFFF
+ FFFF036BCDFEFEFEFEFECD32FFFFFFFF717AFEFEFEFECD6B28FFFFFFFFFEFEFE
+ 03FFFFFFFFFF81FEFE17FFFFFFFF6BFEFEFEFE82FF03FEFEFE28FFFFFFFFFFFF
+ 286BCDFEFEFEFE7A71FFFFFFFF03FEFEFEFFFFFFFFFFFFFFFFFF17FEFEFE03FF
+ FFFFFFFFFFFFFFFF71B8FEFEFEFE3217FEFE81FFFFFFFF037AFEFEFEFEFE17FF
+ FF03FEFEFEFFFFFFFF81FEFECD50286BFEFEFEFEB8FCCDFEFE03BB0E615081FE
+ FEFECD17BBFEFEFE03B147EB47A0A6FEFEFEFEFEFEB8D04E2309381F34343333
+ 336733673487942F24A424F0317B7B7D215CAB5CCA8399A33A0606AA31A49F06
+ 667445BFD4054A7B4D4D060D4D56CFCA3E453A3A76B2013A564BCA3A932E01D2
+ 484848B5B7486AB49AC844C8CCA13A3E1E35C8C9D54476765D1E1315C01D54CB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B
+ FEFEFEFEFEFEFEFEFEFEFE32FFFFFFB8FEFEFEFEFEFEFE71FFFFFF81FEFEFECD
+ 8181CDFE81FFFF03FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF286BFEFEFEFEFEFE
+ FEFEFE81FFFFFF6BFEFEFEFEFEFEFEFECD50FFFFFF7AFEFE03FFFFFFFFFF82FE
+ FE17FFFFFF71FEFEFEFEFE81FF03FEFEFEFFFFFFFFFFFF50CDFEFEFEFEFEFEFE
+ FE6BFFFFFF50FEFEFEFFFFFFFFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFFFFFF1A
+ CDFEFE8117173203FEFE81FFFFFF32FEFEFEFEFEFEFE81FFFF1AFEFEFEFFFFFF
+ 71FEFEFE32FF82FEFECD8217822881FEFE030A9050CDFEFEFEFEFEFE6BFEFEFE
+ 030B5B47E0CDFEFEFEF4D9F4FEFE2D272309381FB363333305674A67012FC194
+ 9F772E944AF02179795C10A1444B885DC8754D75BF7E4C064C4C9B06107821C9
+ 4D4D66665993ABC81D455654543A3A54B09A4B6F5624F00D5F48834806543E1D
+ 5D54351E1E351E1E3DD78399064B44765D5D139213653ECB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFEFE6B71033281
+ FEFEFEFE03FFFF827128FF1A7AFEFEA6FFFF17FEFECD17FFFFFFFF1A32FFFF03
+ FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF7AFEFEFECD82710303176B7AFFFF71FE
+ FEFE1728FF037AFEFEB828FFFF81FEFE71FFFFFFFFFF17FEFE82FFFFFF17FEFE
+ FE03FF71FF03FEFEFEFFFFFFFFFFFF7AFEFE7A03FF2817FEFEFE17FFFFFFFEFE
+ FEFFFFFFFFFFFFFFFFFF03FEFEFE03FFFFFFFFFFFFFFFF17FEFEB8FFFFFFFF1A
+ FEFE7AFFFF1ACDFEFE7A71FFFF1A32FFFFFFFEFEFEFFFF28B8FEFE6BFFFFCDFE
+ FE32DDDDDB646BFEFE710A1681FEFECD32EEC4D3FEFEFEFE030BEDFACDFEFE81
+ 9647305151E0E0028C09381F34B3330505674A0178878731249FA4A4247B108B
+ 10AB21BF35450D546EAA744859069E0606BD594C48C9064C4DAA75754D14211D
+ 54487676543A353A3A9A4BCA3A59453A95B25643BF541D929C3E441D761D5D35
+ D7541E35134B3A541E1E3DC01D4465CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF7AFEFEFE17FFFFFFFFFF6BFEFEFE6BFFFFFF
+ FFFFFFFF82FEFEA6FFFFB8FEFE17FFFFFFFFFFFFFFFFFF1AFEFEFEFFFFFFFFFF
+ FFFFFFFFFFFFFF17FEFEFE8128FFFFFFFFFFFFFFFFFFB8FEFE17FFFFFFFF28CD
+ FEFE17FFFF81FEFE17FFFFFFFFFF17FEFE81FFFFFF17FEFEB8FFFFFFFF1AFEFE
+ FEFFFFFFFFFF32FEFECD28FFFFFFFF17FEFECDFFFFFFFEFEFEFFFFFFFFFFFFFF
+ FFFF03FEFEFE03FFFFFFFFFFFFFFFF17FEFE7AFFFFFFFFFFFEFEFEFFFF17FEFE
+ CD28FFFFFFFFFFFFFFFFFEFEFEFFFF82FEFEB828FFFFFEFEFE71FFDD646417FE
+ FE170A7FFEFEFE3290E3703CD3FEFEFE03E31BC7FEFEB8C4190436294F4E0F2B
+ 8C2AC21F3434333305674A017887C19F9F9FA48B8B21797B5C797BBF35565E54
+ C84D664C750659590D6EBFAABF1010994D660666B798211D92483A4576453E3A
+ C86E4B9D459A4583B2594C83C9C81EC5441E4B5D5D131D3ED73ED74B3E441E54
+ 1D1E3E133E3E3DCB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFEFEFEFEFFFFFFFFFFFF28FEFEFEB8FFFFFFFFFFFF71CDFEFE71
+ FF50FEFEFE28FFFFFFFFFFFFFFFFFFFFFEFEFE03FFFFFFFFFFFFFFFFFFFFFFCD
+ FEFEB828FFFFFFFFFFFFFFFFFF1AFEFEFE1AFFFFFFFFFF82FEFE81FFFF17FEFE
+ 17FFFFFFFFFF17FEFE81FFFFFF71FEFE7AFFFFFFFFFFFEFEFE03FFFFFFFF6BFE
+ FE6BFFFFFFFFFF28FEFEFE03FFFFFEFEFE03FFFFFFFFFFFFFFFF03FEFEFE03FF
+ FFFFFFFFFFFFFF1AFEFEFEA61AFFFFFFFEFEFEFFFFA6FEFE6BFFFFFFFFFFFFFF
+ FFFFFEFEFEFF50FEFEFE50FFFFFF6BFEFECD32FFFCFC17FEFE170A03FEFEFE28
+ 070B18E818B8FEFE0308E8D8FEFE820B4704223636694F0FD600971FB3343333
+ 330501782F582F9494772E2E2E778BA8AB10107ECA8399264D4D4D0694F0774C
+ 4C0D4C749F78D5C6934D5F0D95AB999C765935C8CCD4BF4B4CACB5C8458BC976
+ 9C5643AD7D4B35353A5444C910CC834B26458821593E1576445D1E3E653E1DB4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFE
+ FE7AFFFFFFFFFFFFFF7AFEFEFEFFFFFFFFFF82FEFEFE17FFFF03FEFEFEFFFFFF
+ FFFFFFFFFFFFFFFFFEFEFE03FFFFFFFFFFFFFFFFFFFF03FEFEFE32FFFFFFFFFF
+ FFFFFFFFFF03FEFEFEFFFFFFFFFFFF03FEFEFEFFFF17FEFE82FFFFFFFFFF03FE
+ FE7AFFFFFF03FEFEFEFFFFFFFFFFFEFEFE03FFFFFFFF81FEFE17FFFFFFFFFFFF
+ 81FEFE17FFFFFEFEFE03FFFFFFFFFFFFFFFF03FEFEFE03FFFFFFFFFFFFFFFFFF
+ 32CDFEFEFE7A825081FEFE50FF81FEFE17FFFFFFFFFFFFFFFFFF81FEFE507AFE
+ FE17FFFFFFFF2881FEFEFECDA63271FEFEA60A03FEFEFE6407B1181B1BD8FEFE
+ 170818D9FEFE17613C86195B191947040F8C972CB33463050567014A4A582FC1
+ 87949F778B8B2E211010A15C3593A58E6F4C759B2EF0871010060D7B2105F32E
+ 934C5FA1B5A521B21E483A547BD51006BD7EA1BF4DAB24B23A839E06314C4B76
+ 1E443AD424CCB2984310D4993A1E3E3E5476541E5D5D5D9A0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE81FFFFFFFFFFFF
+ FF81FEFEFEFFFFFF2881FEFECD71FFFFFF03FEFEFEFEFEFEFEFEFEFEFEFEFFFF
+ FEFEFE03FFFFFFFFFFFFFFFFFFFF17FEFEFE1AFFFFFFFFFFFFFFFFFFFF03FEFE
+ FEFFFFFFFFFFFF03FEFEFEFFFF17FEFE81FFFFFFFFFF03FEFEFEFFFFFF03FEFE
+ FEFFFFFFFFFFFEFEFE03FFFFFFFF81FEFE17FFFFFFFFFFFF81FEFE17FFFF81FE
+ FE03FFFFFFFFFFFFFFFF03FEFEFE030317177128FFFFFFFFFF28177AFEFEFEFE
+ CDFEFE03FF81FEFE17FFFFFFFFFFFFFFFFFF81FEFE82FEFECDFFFFFFFFFFDDFC
+ 036BCDFEFEFECDFEFE810A1AFEFEFE1AEE0B18861BD3FEFE170818D9FEFEFEFE
+ FEFEFEFEFEFEFEF1E523F22C341F2C0505674A34344A2F582FC17394777777A4
+ A87910C94B99BC140666AA06A40178AB5C77A8AB8B01D421AA66BFBF8EF53F54
+ 4C5656592FD421985C105C06D578CC4C064C595E8D9326765D0D31D421B6590D
+ 06998DBF3A459C7654545D1E5D5D54B00000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF81FEFEFEFFFFFFFFFFFFFF82FEFEFE28FFFF
+ 81FEFE7A1AFFFFFFFFFFFEFEFE710303030317FEFEFEFFFFFEFEFE17FFFFFFFF
+ FFFFFFFFFFFF17FEFEFEFFFFFFFFFFFFFFFFFFFFFF28FEFEFE71FFFFFFFFFF32
+ FEFEB8FFFF17FEFEFE28FFFFFFFF71FEFEFEFFFFFF28FEFEFEFFFFFFFFFFFEFE
+ FE17FFFFFFFF82FEFE7AFFFFFFFFFFFFB8FEFE32FFFF81FEFE03FFFFFFFFFFFF
+ FFFF03FEFEFE03B8FEFEFEFE82FFFFFFFFFFFFFF280382B8FEFEFE32FF82FEFE
+ 7AFFFFFFFFFFFFFFFFFF81FEFE717AFEFE32FFFFFFDDDDFCFCDBDB5032A6FEFE
+ FEB80A16B8FEFE17BB0870E8E8D3FEFE17081BF1FEFEA60389892D89F4FEFED3
+ 22D6092CB3B31F0533674A05057858783131949F949F2E8BAB7921A15699A55E
+ B5060DA1BF7979A106A8BFBF0DAB0DBF66BFBF0693525243543A4C062106489E
+ 9DAA9D4C7910BF9E599E458E98C8CA1E4B98CC48454B3A13C8D74C4B5D1E1D3E
+ 1E1E3E3D653E3EC50000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF81FEFEFEFFFFFFFFFFFFFF17FEFEFE03FF50FEFEFE28FFFFFFFF
+ FFFFA6FEFE32FFFFFFFF32FEFEB8FFFFFEFEFECD50FFFFFFFFFFFFFFFFFF17FE
+ FEFEFFFFFFFFFFFFFFFFFFFFFFFFA6FEFEA6FFFFFFFFFF81FEFE6BFFFF71FEFE
+ FEA6FFFFFFFFA6FEFEFEFFFFFFFFFEFEFE28FFFFFFFFFEFEFECD50FFFFFF50FE
+ FEFE50FFFFFFFF03FEFEFE1AFFFF81FEFE03FFFFFFFFFFFFFFFF1AFEFEFE71FE
+ FEFEFEFEFE6BFFFFFFFFFFFFFFFFFF28B8FEFE17FF71FEFEFE03FFFFFFFFFFFF
+ FFFF81FEFE0350CDFEFE71FFFFDDFCFCDBDBDB64FC6417FEFEFE0A0ED3FEFECD
+ 500E08B1B1D3FEFEA6611BA0FEFEB8EE3C5B4786B8FEFEC7E5F9F21FB36363F3
+ 67670178F087879424A42E8B7B21A879795C2166B75E5E14B774B74DBD4C4856
+ 4C9D564D9E454C4C93489B59143B53A73A3A5435763AC8C8B0CA3AB54B3A3A4B
+ 4B5683AD434B26353E1D1D1E1E444435C813484B76351D445D1E1D3D3E1315CB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6FE
+ FEFEFFFFFFFFFFFFFF17FEFEFE03FF03FEFEFE17FFFF1A32FFFF03FEFECD03FF
+ FF287AFEFE17FFFFFEFEFEFECD821703FFFFFFFFFFFF71FEFEFE71FFFFFFFFFF
+ FFFFFFFFFFFF50FEFEFEA61AFF1A6BFEFEFE50FFFF03FEFEFEFEB882177AFEFE
+ FECDFFFF5003FEFEFE17030328FFFEFEFEFECD821703FFA6FEFECD32FFFF71CD
+ FEFEA6FFFFFF81FEFE71FFFFFFFFFFFFFFFFFFFEFEFE7128FF507AFEFEFE03FF
+ FF0328FFFFFFFFFFB8FEFE17FFFF7AFEFECD3228FF280303FFFF81FEFE03FF32
+ FEFECD50FFDDFC1A50DDFCFC64DB32FEFEFEBBEE617AFEFECD321AEEEE6BFEFE
+ 81611960D9FEFE6BC43C18F6FEFECDD02700392CB36333674A01F058D1C1872E
+ 8B79C90DBFBF754D4D4D56954556459E453B7D1480373E1E1E3544134435443E
+ 6C443E5D253FA7C945441D1E3E441E1D443E3E44443E44543BA13A8044921313
+ 13923E15153E153E1515351D1D54C0C09265A9A9C09213AE0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFE1AFFFFFFFFFF
+ FF03FEFEFE03FFFFB8FEFEFEFEFEFECDFFFFFF32FEFEFE7A81FEFEFE7A28FFFF
+ FEFEFE7AFEFEFE17FFFFFFFFFFFF28FEFEFE6BFFFFFFFFFFFFFFFFFFFFFFFF32
+ FEFEFEFEFEFEFEFEFE32FFFFFF03FEFEFE81FEFEFEFEFEFEFE82FFFF81FEFEFE
+ FEFEFEFE03FFFEFEFE7AFEFEFE17FF287AFEFEFEFEFEFEFEFE7A28FFFFFF81FE
+ FE17FFFFFFFFFFFFFFFFFFFEFEFE03FFFFFF28CDFEFE6BFFFF82FE7A6B17177A
+ FEFEFE50FFFF50CDFEFEFEFEFEFEFE17FFFFA6FEFE32FFFFA6FEFEB828FCDB28
+ FECD8117176BCDFEFEA6166108C47AFEFEFEFEFEFEFEFEFEB8E3473096F4FEFE
+ CD81B8FEFEFEC72262F2381F3433054A7858C17331319F7BC975B648B245956F
+ C84B35449A9ACACA543B3B841DAC1313921D13921D1D151D6C1D1D3D3D3B983A
+ 1E13131D1D131D1315C0C01313C015138E5615B4CB15151513C03E133D65C015
+ 131544C51D15A9C09265C013651365A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFF03FEFEFE17FFFF
+ 5081FEFEFEFEFE6BFFFFFFFF037AFEFEFEFECD6B28FFFFFFFEFEFE716BFEFE17
+ FFFFFFFFFFFFFF6BFEFEFE03FFFFFFFFFFFFFFFFFFFFFFFF1A6BFEFEFEFEFEA6
+ 03FFFFFFFF03FEFEFE2882CDFEFEFECD82FFFFFF81FEFEFEFEFEFEFE03FFFEFE
+ FE716BFEFE17FFFFFF32B8FEFEFEFEB81728FFFFFFFF6BFEFE17FFFFFFFFFFFF
+ FFFFFFFEFEFE03FFFFFFFF81FEFE81FFFF0381CDFEFEFEFEFEB871FFFFFFFF1A
+ 6BFEFEFEFEFECD50FFFF17FEFE17FFFF28CDFEFE7A28DBDB6B7AFEFEFEFEFEFE
+ 6B7F0708E30BE3F67AFEFEFEFEFEFEFEF418EB512296F8CDFEFEFEFEF432510F
+ 009738B33433674A015831D4319F8BA85C0DBF064D4D4C4856454B6F6FB044B4
+ 3D3B5E3DAC7C3554C83A3A83453A3A56953A9C76A37D986A133E441E35444435
+ 764B4B7676C8544B439D1D1DC53537445D1E545D4B3A5D545D5435763792135D
+ 3E1E651E1E3E1ECB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFF03FEFEFE17FFFFFFFF28030350FFFF
+ FFFFFFFFFFFF28030350FFFFFFFFFFFFFFFFFFFFFF1A031AFFFFFFFFFFFFFF1A
+ CDFEFECD71FFFFFFFFFFFFFFFFFFFFFFFFFFFF030303FFFFFFFFFFFFFFFFFFFF
+ FFFFFFFF500303FFFFFFFFFFFFFF81FEFE03FFFFFFFFFFFFFFFFFF1A031AFFFF
+ FFFFFF1A03031AFFFFFFFFFFFFFF17FEFE17FFFFFFFFFFFFFFFFFFFEFEFE03FF
+ FFFF28CDFEFE81FFFFFFFFFF2803030328FFFFFFFFFFFFFFFFFF0303031AFFFF
+ FFFF17FEFE17FFFFFFFFFFFFFFFCFC640A646450030350BB16EE61E30BB17070
+ 700B89898989FBE819C351E5693622300C2D2D9604690FF92AF2382CB3B33305
+ 4A01739FC131217B7B79CCA8C910C910AB10107EA10D4D3A3D995E3D3A914556
+ 484C5906064C9E064C480659A38F0DAC4476764B3A3A4B4556459C4545454545
+ 5E9D441D7C355D35C8545454544B4B4B544B6A7637A9655D4B5D1E5D443E1EB4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FE
+ FEFE03FFFFFFFFFFFF28FEFEFE17FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32FEFEFEFE7A1703
+ 0371177A03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFE32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFE17FFFFFFFFFFFFFFFFFFFEFEFE6B171717B8FEFEFE17FF
+ FFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFE17FFFF
+ FFDDFCFFFFDBDB640A0A0ABBBB1616EE0761080BB1703C18E81B86ED195B6049
+ 0451364F4E4E4E4E4E4E4E270F2B55000939F72CB3346305674A317731C18BD5
+ 8B7BCC79A810A8A8C90D0D66660D75B55D7D5EA39B919C564548489E064C484C
+ 7448065954B95E6C353A76C83A833A45953A3A3A3A4545457E3A44923A443554
+ 35C8C8C854355454543A3580C5921E651E13445D3E441ECB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03FEFEFE17FFFFFFFFFF
+ FFFFFEFEFE6BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03CDFEFEFEFEFEFEFEFEFE28FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A17
+ 8117FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FE
+ FE81FFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFE7A28FFFFFFFFFFFFFCFCFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEA6FFDDFFFFFFFCFCFCDB64
+ 0A0ABBBB900EEE076108E30B703C18E886195B4742EB30512236294E270F0F0F
+ 02022B62552300EC9739381FB3346333674A312431877B248B7979A8C9105C7E
+ A8A17EA10D107E9B1E7D5EA34D91484556B64848590659594D4C7598265206AC
+ 543A76544B833A7645459595569E9E483BADCACB9C351E541EC8547676C83A76
+ 263AC8356C151E5D1D137676445D54B40000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF03FEFEFE17FFFFFFFFFFFFFFFEFEFE81FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFF28177AFEFEFEFEFEFE7AFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFE81FFFFFFFFFFFF
+ FFFFFFFEFEFEFEFEFEFEFECD6B28FFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFF17FEFE81DDFFDDFCFFFFFCDB640A0ABB16160EEE0761
+ 0808E3B1703CE886195B4742BE04512236294F4E270F02022B1CEF232300ECF2
+ C2F7381FB3346305674AC1D49F877BD2A47B21A85C105C7E5C0D7E7EAA7E0D6E
+ 3E7D7EA34D9B064548065956484C4C4C4D4D060684B99DB4763A453A4B45B276
+ 3AB5B595489EB79D93C86C1D4BB21E35459544CA9A9A956F263580ACCB923E45
+ 45560DB63E5D54B40000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF03030350FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDDFFFCFCFC0AFC640A0ABB16160EEE076108E30B707018E886
+ 19476049300451EA36294E270F0F022B1C1C238C8CECEC09C2382C1FB3633305
+ 674A58D49F2F7B24A48BABA85C10A1667E667E7E665C5C481E8B99A34C9BBF26
+ 59A10D9EB24C5959AA7575982552BDAC3A45B6483A48593A6F3A95BD4874483A
+ CAC86CB03A10B2458BC93A9A9A9A569556353AB0C5C5C888CCCCD5BF1D4435B4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFC
+ FFDBFFDB640A0ABBBB161690EE07610808E3B1703C181BED5B4742BE30042236
+ E54F4E270F0F022B1CEF238C00EC0909C2382C1F3463330567675894242FD2D5
+ CF2F8B7B2F87BFA1A1060D5CA17EA19B843F3BCA759B2F569888C12659598359
+ 4D750D14145206AC3A83F00688F02E2626AD833A4C4559569845352644D47B99
+ 8B4DCACA4B4B4B3A9C9C06B2441E1ED5CC8B103A134435CB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFCFCFFFFFCFFFFFFFFFFFFFFFCFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDFCFCDB0A0A0A0A
+ BB16160EEE076108E30B703C3CE886195B60493004512236694F27270F02022B
+ 1C55238C002A090939F72C1F34630505674A5894C1D1D49FA44A9F2158F00D7E
+ ABA1A1A166A1A14D938F3F25069B012EA17B2EB74C4C7498064806433BF55E6A
+ 454CD5CC06310D3A9595957645455999D2481D9A3A9F217EC99EC8C8264BC84B
+ 35060D4544541D06764545C83554C8AC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFCFCFCFCFFFCFCFCFCFCFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFDDFCFC640A0A0A0ABB1690EE070761E3
+ E30B703C181B86194760BE3004513636294E27270F022B621C558C0000EC0909
+ C2382C1F34633305674A58942F53312E24672F2E2F2FA8A85C667566660D0D4D
+ 1453528E069B77D55C775C66749B74744DB5BF433FBC3B6E489BA87B4C214C9B
+ 56489B48484893B97B484B4BD79D4B5606B7BD95BDB54BC88EAB5992A96F9A4B
+ 56959556454B44CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFC
+ FCFCFCFFFFFFFCFCFFFFFFFFFCFFFFFCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFCFCFC640A0A0ABBBB16160E07076108E30BB1703CE81B195B
+ 47C3BE30042236E54F4E270F0F022B62D6558C8C002A09F239382C1F34630505
+ 67017824C1AFA52E8B77777777A48B79AB1010105C5C664D5EAF5384065F7510
+ 667BAAAB7E0D7E0D0D4CBFB7B9535E6A729AAA7E66667E5C7EA1A1759B488EA5
+ A49DCAC8BD4D744D4D4D4D4C74B79DB5A3B98F06CACAB06E3AC8C83A954BC8AC
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFCFF
+ FCFFFFFCFCFFFCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCDB0A0A0ABBBBBBBB90EE07610808E30B7070181B8619476049300451223669
+ 4F4E270F02022BD6EF558C002A09F2C2F7382C1FB3633305674A7894C111BCCF
+ 7B798B77A48BA4A42E2E7B79A85C064DB96DAF14B79B5F0D7EA87E7979A85C5C
+ 7E0648AAF5BCB9747472064D66747E66AA4D5F6EB59314BCAFA44C9AB0B5849A
+ 84B5BD3A3ABD48B7A75A5AF57B0659757E7E5C5CC99979790000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFFFCFFFFFCFCFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCDB64640A0ABBBBBB
+ 1690EE076108E30BB1703CE81BED194742493004222236294F270F0F022B62EF
+ EF238C00ECECF2C2F7382C1F3463330567012F2F5A1185A48B2EA421A47B218B
+ 7979A85C5C66665CAF5A6D53C94CAA06664DAAAAAA4D4D4D14064C79BCBAF577
+ 9DB572B5B5729DB574744D4D6610D45AFDAF01C1772E9FC1C12FF0014ABCAFBA
+ 5AFDFD6D5A5A5A5A5A5A5ACEBACE5A2C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFFFFFCFCFCFCFCFFFFFCFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFDDFFFFFFFFFFFFFFFFFFFFDDDBDBDB640A0A0ABBBBBB16EEEE616108E30B
+ 703C3C1B86ED4760C330040422EA69294E270F0F022B621C55238C002A09F2C2
+ F72C1FB334330505670178F31111110524D22E21D221AB10AB79AB1079792EF0
+ FD6DFD6D0587318F3131C12FA5F07801F0010185BA6D5AAF0101F5BC058585BA
+ BABACEBACEBA5A6DFDFDFDFDFDFD6D5A5A6D6DFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCDBDBDBDBDB
+ DBFCFFFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFCFCFCFCDB640A0ABBBBBBBB160EEE076108E3E30B703C181B865B4760
+ C33004512236294F4E270F02022B1CEF23238C00EC0909E78A39F738112C2C1F
+ CECE6D41111111FD5ACE5A6D6D6D6D5A5A5A5A5A5A5A6DFDFDFDFDFDFDFD6D6D
+ 5A6D5A6D5A5A5A5A5A5A5AFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFFFCFCFCFC
+ FCFCFFFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBFCFCDB
+ 640ABBBBBB16160EEE07616108E30B70703CE81B195B47C3BE040422EAE5294E
+ 27270F022B621CEF238C8C00ECECEC6868E78A8A464646414141411111111111
+ 1111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
+ FCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFCFCFCFCFCFCFCFCFCFFFCFCFFFF
+ FFFFDDFFDDDDFFFFFFFFFFFFDDFFFFFFFFFFFFFFFCDBDB64640A0ABBBB16160E
+ EE07610808E3B1703C181BED194760493004512236E54F4E270F0F022B1C1C55
+ 238C00ECECECEC09688A8A8A4646464141414111111111111111FD1111FDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBDBDBDB
+ DBDBDBDBDBDBDB6464FCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFDDFFFFFFFFFFFF
+ FFFFFFFFFCDDFFFFFCFFFFFCDB64640A0A0ABBBBBB160EEE07610808E30B7070
+ 3CE81B195B4742BE300451EAE5294F4E270F02022B1C1C558C8C0000ECEC6868
+ E78A8A46464646414141411111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB6464646464
+ 64FCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFDDDDFFFFDDFFFFFFDDFFFFFFFFFFFC
+ FFFFFCFCFCFC640A0A0ABB1616160EEE076108080B0B703CE81B86194760C3BE
+ 04512236E54F4E270F0F022B2B1CEF8C8C0000ECECEC0909DCE7464646464141
+ 4111411111111111FDFD11FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB646464646464FCFC64FCFCFCFCFC
+ FCFCFCFCFCFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBFCDBDBDB0A0A
+ 0ABB1616160E0E07616108E30B70703CE886195B474249305151223669294E27
+ 0F0F022B2B1CEF238C8C0000ECEC096868E7E78A8A4646414141414111411111
+ 1111111111111111111111111111111111111111111111111111111111111111
+ 1111111111111111111111111111111111111111111111111111111111111111
+ 11111111111111111111111111111111111111111111118A0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFCFCFCFCFCDB
+ DBDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A646464646464DBFCFCFCDBFCDBFFFFFF
+ DDDDFFDDFFFFFFFFFFFFFFFFFFFCFCFCFCFFFCDBDB0A0A0ABBBB160E16EEEE07
+ 070808E30BB13C3CE81B86194760C3BE3004512236E54F4E4E270F0F022B2B1C
+ 1C55558C8C8C0000002A2AECECEC09EC09096868686868686868DCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCEC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB
+ DBDBDBDBDBDB64DBDBDBDBDBDBDBDBFCFCDBFCDBFFFFFFFFFFFFFFDDDDFFFFFF
+ FFFFFFFFFFFCFCFCFCFCFCDBDBDBDB640A0ABBBBBB160EEEEE07616108E3E3B1
+ 703C18181BED195B4760C349303004515122EAEAE5E529294F4F4E4E27272727
+ 270F0F0F0F0F0F0F0F0202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 020202020202020F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDDFCFCFCFCFCFCFCFCFCDD
+ DDDDDDDDDDFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFC640A0A0A0A0ABB161616900EEE0707610808E3E30B0BB170
+ 3C3C3C18E81B1B86EDED19195B5B4747474760604242C3C3C3C3494949494949
+ EBEBEBBEBEBEBE30BEBE30303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303049
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFDDDDFCFCFCFCFCFCFCFCDBDBDBDBDDFCFCFCDDDDFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDDFCFC64
+ 640A0A0A0ABB161616900EEE070761080808E3E30BB17070703C3CE81B1B1B86
+ ED1919195B5B4747476060424242C3C3C3494949494949EBBEEBBEBEBEBE3030
+ BE30303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030490000FCFCFCFCFCFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB
+ DBDB6464646464640A0A0A0A0A0A6464646464DBDBDBDBDBDBDBDBFCFFFFDDDD
+ FFDDFFFFFFFFFCFFFFFFDDFFFFFCFCFCFCDBDBDBDB640A0ABBBBBBBB16EEEE07
+ 610808E3E3B170703C181B86ED195B4742C3BE300404512222EA36E529294F4F
+ 4E4E4E272727270F0F0F0F0F0F0F020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020F0000FCFCFCFCFCFCFCFCFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCDBDBDBDBDBDBDB64640A0A0A0A0ABBBBBB
+ BBBBBBBBBBBB0A0ABB0A0A0A0A0A0A0ADB64FCFCFCFFDDDBFFFFDDFFFFFFFFFF
+ FFFFFCFFFFFFFC64DBDBDB0A0A0ABB161690EEEE07070808E30BB1703C181B1B
+ 195B476049300451512236294F4E27270F0F022B2B1C1CEF558C8C0000000000
+ ECECECECECEC09090968686868686868DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCEC0000FCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFF
+ FCFCFCFCFCFCDBDBDBDBDBDBDB640A0A0A0A0ABBBBBBBBBBBBBBBBBBBBBBBBBB
+ BB0A0A0A0A0A640A6464DBFCFCDDFCFFDDFCFFFFFFFFFFFFFFFFFFFFFFFCDBFC
+ 640A0A0ABBBBBBBB900EEE07616108E3E30B703C18E81B191947604930040451
+ 223669294E27270F02022B2B621CEF55238C8C00000000ECECECEC0909096868
+ 68E7E768E7E78AE7E78A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
+ 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
+ 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8AEC
+ 0000}
+ Login.LeftImage.Data = {
+ 07544269746D617016090000424D160900000000000036040000280000003200
+ 0000180000000100080000000000E00400000000000000000000000100000000
+ 000000000000000080000080000000808000800000008000800080800000C0C0
+ C000C0DCC000F0CAA6000020400000206000002080000020A0000020C0000020
+ E00000400000004020000040400000406000004080000040A0000040C0000040
+ E00000600000006020000060400000606000006080000060A0000060C0000060
+ E00000800000008020000080400000806000008080000080A0000080C0000080
+ E00000A0000000A0200000A0400000A0600000A0800000A0A00000A0C00000A0
+ E00000C0000000C0200000C0400000C0600000C0800000C0A00000C0C00000C0
+ E00000E0000000E0200000E0400000E0600000E0800000E0A00000E0C00000E0
+ E00040000000400020004000400040006000400080004000A0004000C0004000
+ E00040200000402020004020400040206000402080004020A0004020C0004020
+ E00040400000404020004040400040406000404080004040A0004040C0004040
+ E00040600000406020004060400040606000406080004060A0004060C0004060
+ E00040800000408020004080400040806000408080004080A0004080C0004080
+ E00040A0000040A0200040A0400040A0600040A0800040A0A00040A0C00040A0
+ E00040C0000040C0200040C0400040C0600040C0800040C0A00040C0C00040C0
+ E00040E0000040E0200040E0400040E0600040E0800040E0A00040E0C00040E0
+ E00080000000800020008000400080006000800080008000A0008000C0008000
+ E00080200000802020008020400080206000802080008020A0008020C0008020
+ E00080400000804020008040400080406000804080008040A0008040C0008040
+ E00080600000806020008060400080606000806080008060A0008060C0008060
+ E00080800000808020008080400080806000808080008080A0008080C0008080
+ E00080A0000080A0200080A0400080A0600080A0800080A0A00080A0C00080A0
+ E00080C0000080C0200080C0400080C0600080C0800080C0A00080C0C00080C0
+ E00080E0000080E0200080E0400080E0600080E0800080E0A00080E0C00080E0
+ E000C0000000C0002000C0004000C0006000C0008000C000A000C000C000C000
+ E000C0200000C0202000C0204000C0206000C0208000C020A000C020C000C020
+ E000C0400000C0402000C0404000C0406000C0408000C040A000C040C000C040
+ E000C0600000C0602000C0604000C0606000C0608000C060A000C060C000C060
+ E000C0800000C0802000C0804000C0806000C0808000C080A000C080C000C080
+ E000C0A00000C0A02000C0A04000C0A06000C0A08000C0A0A000C0A0C000C0A0
+ E000C0C00000C0C02000C0C04000C0C06000C0C08000C0C0A000F0FBFF00A4A0
+ A000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFF
+ FF00FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD525252525252525252525252
+ 5252FDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDAFB75E5E5E66666767676F6F6F6FB752FDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBF
+ BFBFBFBFBFBFBFBFBFB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFB76F676F6FB7B7B7B7B7776F5EB752FD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBFBFB752FDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFB76F676F6F6FB7B7
+ B7B7776F5EB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBFBFBF52FDFDFDFDFD
+ 0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAF
+ B76767676F6F6FB7B7B7776F5EB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBF
+ BFBF52FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDAFB76767676F6F6F6FB7B7776F5EB752FDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBF
+ BFBFBFBFBFBFBFBFBFBF52FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBFB7AFAFB7B7B7B7BFBFBFBFB7B752FD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDAFB76F675E5E5E5E5E5E676FB7A5FDFDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F79BFDFDFDFD
+ FDFDA4F7A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDF7F79BFDFDFDFDFDFDA407A3FDFDFDFDFDFDFD
+ 0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDF7F79BFDFDFDFDFDFDA407A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F7A4FDFDFDFDFDFDF707
+ A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDF707A49AFDFDFDFDA30707A3FDFDFDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F6A4
+ A49B9A9AA3A407079AFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F6F7F7A4A4F70707A3FDFDFDFD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDF7F6F6F6F6F607A3FDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7A3A3A3
+ A3A3FDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ 0000}
+ Log.WindowCaption = 'Seguran'#231'a'
+ Log.LabelDescription = 'Log do Sistema'
+ Log.LabelUser = 'Usu'#225'rio :'
+ Log.LabelDate = 'Data :'
+ Log.LabelLevel = 'N'#237'vel m'#237'nimo : '
+ Log.ColLevel = 'N'#237'vel'
+ Log.ColMessage = 'Mensagem'
+ Log.ColUser = 'Usu'#225'rio'
+ Log.ColDate = 'Data'
+ Log.BtFilter = '&Aplicar Filtro'
+ Log.BtDelete = '&Excluir Log'
+ Log.BtClose = '&Fechar'
+ Log.PromptDelete = 'Confirma excluir todos os registros de log selecionados ?'
+ Log.PromptDelete_WindowCaption = 'Delete confirmation'
+ Log.OptionUserAll = 'All'
+ Log.OptionLevelLow = 'Baixo'
+ Log.OptionLevelNormal = 'Normal'
+ Log.OptionLevelHigh = 'Alto'
+ Log.OptionLevelCritic = 'Cr'#237'tico'
+ Log.DeletePerformed =
+ 'Deletion of system log done: User = "%s" | Date = %s a %s | Leve' +
+ 'l <= %s'
+ UsersForm.WindowCaption = 'Seguran'#231'a'
+ UsersForm.LabelDescription = 'Cadastro de Usu'#225'rios'
+ UsersForm.ColName = 'Nome'
+ UsersForm.ColLogin = 'Login'
+ UsersForm.ColEmail = 'Email'
+ UsersForm.BtAdd = '&Adicionar'
+ UsersForm.BtChange = 'A<erar'
+ UsersForm.BtDelete = '&Excluir'
+ UsersForm.PromptDelete = 'Confirma excluir o usu'#225'rio "%s" ?'
+ UsersForm.PromptDelete_WindowCaption = 'Delete user'
+ UsersForm.BtRights = 'A&cessos'
+ UsersForm.BtPassword = '&Senha'
+ UsersForm.BtClose = '&Fechar'
+ AddChangeUser.WindowCaption = 'Cadastro de Usu'#225'rios'
+ AddChangeUser.LabelAdd = 'Adicionar Usu'#225'rio'
+ AddChangeUser.LabelChange = 'Alterar Usu'#225'rio'
+ AddChangeUser.LabelName = 'Nome : '
+ AddChangeUser.LabelLogin = 'Login : '
+ AddChangeUser.LabelEmail = 'Email : '
+ AddChangeUser.CheckPrivileged = 'Usu'#225'rio privilegiado'
+ AddChangeUser.BtSave = '&Gravar'
+ AddChangeUser.BtCancel = 'Cancelar'
+ AddChangeProfile.WindowCaption = 'Perfil de Usu'#225'rios'
+ AddChangeProfile.LabelAdd = 'Adicionar Perfil'
+ AddChangeProfile.LabelChange = 'Alterar Perfil'
+ AddChangeProfile.LabelName = 'Descri'#231#227'o : '
+ AddChangeProfile.BtSave = '&Gravar'
+ AddChangeProfile.BtCancel = 'Cancelar'
+ UsersProfile.WindowCaption = 'Seguran'#231'a'
+ UsersProfile.LabelDescription = 'Perfil de Usu'#225'rios'
+ UsersProfile.ColProfile = 'Perfil'
+ UsersProfile.BtAdd = '&Adicionar'
+ UsersProfile.BtChange = 'A<erar'
+ UsersProfile.BtDelete = '&Excluir'
+ UsersProfile.BtRights = 'A&cessos'
+ UsersProfile.PromptDelete = 'Existem usu'#225'rios com o perfil "%s". Confirma excluir?'
+ UsersProfile.PromptDelete_WindowCaption = 'Delete profile'
+ UsersProfile.BtClose = '&Fechar'
+ Rights.WindowCaption = 'Seguran'#231'a'
+ Rights.LabelUser = 'Permiss'#245'es do Usu'#225'rio : '
+ Rights.LabelProfile = 'Permiss'#245'es do Perfil : '
+ Rights.PageMenu = 'Itens do Menu'
+ Rights.PageActions = 'A'#231#245'es'
+ Rights.BtUnlock = '&Liberar'
+ Rights.BtLock = '&Bloquear'
+ Rights.BtSave = '&Gravar'
+ Rights.BtCancel = '&Cancelar'
+ ChangePassword.WindowCaption = 'Seguran'#231'a'
+ ChangePassword.LabelDescription = 'Trocar Senha'
+ ChangePassword.LabelCurrentPassword = 'Senha Atual :'
+ ChangePassword.LabelNewPassword = 'Nova Senha : '
+ ChangePassword.LabelConfirm = 'Confirma'#231#227'o : '
+ ChangePassword.BtSave = '&Gravar'
+ ChangePassword.BtCancel = 'Cancelar'
+ ResetPassword.WindowCaption = 'Definir senha do usu'#225'rio : "%s"'
+ ResetPassword.LabelPassword = 'Senha : '
+ XPStyleSet.DimLevel = 30
+ XPStyleSet.GrayLevel = 10
+ XPStyleSet.Font.Charset = ANSI_CHARSET
+ XPStyleSet.Font.Color = clMenuText
+ XPStyleSet.Font.Height = -11
+ XPStyleSet.Font.Name = 'Tahoma'
+ XPStyleSet.Font.Style = []
+ XPStyleSet.Color = clBtnFace
+ XPStyleSet.DrawMenuBar = False
+ XPStyleSet.IconBackColor = clBtnFace
+ XPStyleSet.MenuBarColor = clBtnFace
+ XPStyleSet.SelectColor = clHighlight
+ XPStyleSet.SelectBorderColor = clHighlight
+ XPStyleSet.SelectFontColor = clMenuText
+ XPStyleSet.DisabledColor = clInactiveCaption
+ XPStyleSet.SeparatorColor = clBtnFace
+ XPStyleSet.CheckedColor = clHighlight
+ XPStyleSet.IconWidth = 24
+ XPStyleSet.DrawSelect = True
+ XPStyleSet.UseSystemColors = True
+ XPStyleSet.UseDimColor = False
+ XPStyleSet.OverrideOwnerDraw = False
+ XPStyleSet.Gradient = False
+ XPStyleSet.FlatMenu = False
+ XPStyleSet.AutoDetect = False
+ XPStyleSet.BitBtnColor = clBtnFace
+ XPStyleSet.ColorsChanged = True
+ XPStyle = False
+ WindowsPosition = poDesktopCenter
+ Left = 104
+ Top = 8
+ end
+ object UCADOConn1: TUCADOConn
+ Connection = ADOConnection1
+ Left = 40
+ Top = 8
+ end
+ object UserControl1: TUserControl
+ AutoStart = True
+ ApplicationID = 'AppMsg'
+ ControlRight.MainMenu = MainMenu1
+ UsersForm.MenuItem = Cadastrodeusuarios1
+ UsersForm.UsePrivilegedField = False
+ UsersForm.ProtectAdmin = True
+ EncryptKey = 0
+ NotAllowedItems.MenuVisible = True
+ NotAllowedItems.ActionVisible = True
+ Login.AutoLogon.Active = False
+ Login.AutoLogon.MessageOnError = True
+ Login.InitialLogin.User = 'Admin'
+ Login.InitialLogin.Email = 'qmd@usercontrol.com.br'
+ Login.InitialLogin.Password = '#delphi'
+ Login.MaxLoginAttempts = 0
+ Login.GetLoginName = lnNone
+ LogControl.Active = True
+ LogControl.TableLog = 'AppUCLog'
+ LogControl.MenuItem = logdosistema
+ ExtraRight = <>
+ LoginMode = lmActive
+ UsersProfile.Active = True
+ UsersProfile.MenuItem = Perfildeusurios1
+ TableUsers.FieldUserID = 'UCIdUser'
+ TableUsers.FieldUserName = 'UCUserName'
+ TableUsers.FieldLogin = 'UCLogin'
+ TableUsers.FieldPassword = 'UCPassword'
+ TableUsers.FieldEmail = 'UCEmail'
+ TableUsers.FieldPrivileged = 'UCPrivileged'
+ TableUsers.FieldTypeRec = 'UCTypeRec'
+ TableUsers.FieldProfile = 'UCProfile'
+ TableUsers.FieldKey = 'UCKey'
+ TableUsers.TableName = 'AppUCTabUsers'
+ TableRights.FieldUserID = 'UCIdUser'
+ TableRights.FieldModule = 'UCModule'
+ TableRights.FieldComponentName = 'UCCompName'
+ TableRights.FieldFormName = 'UCFormName'
+ TableRights.FieldKey = 'UCKey'
+ TableRights.TableName = 'AppUCTabRights'
+ ChangePasswordForm.MenuItem = rocarsenha1
+ ChangePasswordForm.ForcePassword = False
+ ChangePasswordForm.MinPasswordLength = 0
+ DataConnector = UCADOConn1
+ CheckValidationKey = False
+ Left = 72
+ Top = 8
+ end
+end
diff --git a/official/2.20/Demos/4 AppMessages - ADO/uadodemo.pas b/official/2.20/Demos/4 AppMessages - ADO/uadodemo.pas
new file mode 100644
index 0000000..dea0963
--- /dev/null
+++ b/official/2.20/Demos/4 AppMessages - ADO/uadodemo.pas
@@ -0,0 +1,139 @@
+unit uadodemo;
+
+interface
+
+uses
+{$IFDEF VER130}
+{$ELSE}
+ Variants,
+{$ENDIF}
+ Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
+ Dialogs, Menus, DB, ActnList, StdCtrls, AppEvnts, ADODB, ComCtrls, Buttons,
+ UCBase, UCADOConn;
+
+type
+ TForm1 = class(TForm)
+ MainMenu1: TMainMenu;
+ Arquivo1: TMenuItem;
+ Abrir1: TMenuItem;
+ Salvar1: TMenuItem;
+ Salvar2: TMenuItem;
+ Salvarcomo1: TMenuItem;
+ Fechar1: TMenuItem;
+ N2: TMenuItem;
+ Dados1: TMenuItem;
+ Importar1: TMenuItem;
+ Exportar1: TMenuItem;
+ N4: TMenuItem;
+ Vincular1: TMenuItem;
+ N3: TMenuItem;
+ Sair2: TMenuItem;
+ Editar1: TMenuItem;
+ Copiar1: TMenuItem;
+ Colar1: TMenuItem;
+ Recortar1: TMenuItem;
+ N1: TMenuItem;
+ Selecionartudo1: TMenuItem;
+ N5: TMenuItem;
+ AreadeTransferencia1: TMenuItem;
+ Exibir2: TMenuItem;
+ Esvaziar1: TMenuItem;
+ Exibir1: TMenuItem;
+ Zoom1: TMenuItem;
+ Normal1: TMenuItem;
+ Grande1: TMenuItem;
+ Ajustarnajanela1: TMenuItem;
+ N6: TMenuItem;
+ Personalizar1: TMenuItem;
+ amanhonormal1: TMenuItem;
+ elacheia1: TMenuItem;
+ Relatorios1: TMenuItem;
+ Relatorio11: TMenuItem;
+ Relatorio21: TMenuItem;
+ Relatorio31: TMenuItem;
+ Relatorio41: TMenuItem;
+ Segurana1: TMenuItem;
+ Cadastrodeusuarios1: TMenuItem;
+ rocarsenha1: TMenuItem;
+ N7: TMenuItem;
+ EfetuarLogoff1: TMenuItem;
+ ADOConnection1: TADOConnection;
+ Perfildeusurios1: TMenuItem;
+ logdosistema: TMenuItem;
+ UCAppMessage1: TUCAppMessage;
+ UCSettings1: TUCSettings;
+ BitBtn1: TBitBtn;
+ BitBtn2: TBitBtn;
+ UCADOConn1: TUCADOConn;
+ UserControl1: TUserControl;
+ procedure EfetuarLogoff1Click(Sender: TObject);
+ procedure ADOUserControl1LoginError(Sender: TObject; Usuario,
+ Senha: String);
+ procedure ADOUserControl1LoginSucess(Sender: TObject; IdUser: Integer;
+ Usuario, Nome, Senha, Email: String; Privilegiado: Boolean);
+ procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
+ procedure ADOUserControl1Logoff(Sender: TObject; IDUser: Integer);
+ procedure BitBtn1Click(Sender: TObject);
+ procedure BitBtn2Click(Sender: TObject);
+ procedure FormCreate(Sender: TObject);
+
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ Form1: TForm1;
+
+implementation
+
+
+{$R *.dfm}
+
+procedure TForm1.EfetuarLogoff1Click(Sender: TObject);
+begin
+ UserControl1.Logoff;
+end;
+
+
+procedure TForm1.ADOUserControl1LoginError(Sender: TObject; Usuario,
+ Senha: String);
+begin
+ Usercontrol1.Log(Format('Erro de login do usuário: "%s" senha: "%s"',[Usuario, Senha]),0);
+end;
+
+procedure TForm1.ADOUserControl1LoginSucess(Sender: TObject;
+ IdUser: Integer; Usuario, Nome, Senha, Email: String;
+ Privilegiado: Boolean);
+begin
+ Usercontrol1.Log(Format('Entrada no sistema usuário: "%s" nome: "%s"',[Usuario, Nome]),0);
+ UCAppMessage1.CheckMessages;
+end;
+
+procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
+begin
+ UserControl1.Log('Sistema encerrado.',0);
+end;
+
+procedure TForm1.ADOUserControl1Logoff(Sender: TObject; IDUser: Integer);
+begin
+ UserControl1.Log('Efetuado Logoff',0);
+end;
+
+procedure TForm1.BitBtn1Click(Sender: TObject);
+begin
+ UCAppMessage1.ShowMessages;
+end;
+
+procedure TForm1.BitBtn2Click(Sender: TObject);
+begin
+ UCAppMessage1.CheckMessages;
+end;
+
+procedure TForm1.FormCreate(Sender: TObject);
+begin
+ ADOConnection1.Connected := True;
+end;
+
+end.
diff --git a/official/2.20/Demos/5 UCControls With DataModule - ADO/DataM_U.dfm b/official/2.20/Demos/5 UCControls With DataModule - ADO/DataM_U.dfm
new file mode 100644
index 0000000..0f9e049
--- /dev/null
+++ b/official/2.20/Demos/5 UCControls With DataModule - ADO/DataM_U.dfm
@@ -0,0 +1,60 @@
+object DataModule1: TDataModule1
+ OldCreateOrder = False
+ Left = 428
+ Top = 485
+ Height = 150
+ Width = 272
+ object ADOTable1: TADOTable
+ Connection = Form1.ADOConnection1
+ CursorType = ctStatic
+ TableName = 'UCCTDMTabUsers'
+ Left = 24
+ Top = 16
+ object ADOTable1UCIdUser: TIntegerField
+ FieldName = 'UCIdUser'
+ end
+ object ADOTable1UCUserName: TWideStringField
+ FieldName = 'UCUserName'
+ Size = 30
+ end
+ object ADOTable1UCLogin: TWideStringField
+ FieldName = 'UCLogin'
+ Size = 30
+ end
+ object ADOTable1UCPassword: TWideStringField
+ FieldName = 'UCPassword'
+ Size = 30
+ end
+ object ADOTable1UCEmail: TWideStringField
+ FieldName = 'UCEmail'
+ Size = 150
+ end
+ object ADOTable1UCPrivileged: TIntegerField
+ FieldName = 'UCPrivileged'
+ end
+ object ADOTable1UCTypeRec: TWideStringField
+ FieldName = 'UCTypeRec'
+ FixedChar = True
+ Size = 1
+ end
+ object ADOTable1UCProfile: TIntegerField
+ FieldName = 'UCProfile'
+ end
+ object ADOTable1UCKey: TWideStringField
+ FieldName = 'UCKey'
+ Size = 255
+ end
+ end
+ object DataSource1: TDataSource
+ DataSet = ADOTable1
+ Left = 96
+ Top = 16
+ end
+ object UCControls1: TUCControls
+ GroupName = 'Campos de Tabela'
+ UserControl = Form1.UserControl1
+ NotAllowed = naInvisible
+ Left = 176
+ Top = 16
+ end
+end
diff --git a/official/2.20/Demos/5 UCControls With DataModule - ADO/DataM_U.pas b/official/2.20/Demos/5 UCControls With DataModule - ADO/DataM_U.pas
new file mode 100644
index 0000000..e1718f2
--- /dev/null
+++ b/official/2.20/Demos/5 UCControls With DataModule - ADO/DataM_U.pas
@@ -0,0 +1,37 @@
+unit DataM_U;
+
+interface
+
+uses
+ SysUtils, Classes, DB, ADODB, UCBase;
+
+type
+ TDataModule1 = class(TDataModule)
+ ADOTable1: TADOTable;
+ DataSource1: TDataSource;
+ UCControls1: TUCControls;
+ ADOTable1UCIdUser: TIntegerField;
+ ADOTable1UCUserName: TWideStringField;
+ ADOTable1UCLogin: TWideStringField;
+ ADOTable1UCPassword: TWideStringField;
+ ADOTable1UCEmail: TWideStringField;
+ ADOTable1UCPrivileged: TIntegerField;
+ ADOTable1UCTypeRec: TWideStringField;
+ ADOTable1UCProfile: TIntegerField;
+ ADOTable1UCKey: TWideStringField;
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ DataModule1: TDataModule1;
+
+implementation
+
+uses ucontrols;
+
+{$R *.dfm}
+
+end.
diff --git a/official/2.20/Demos/5 UCControls With DataModule - ADO/UCControlsDemo.dpr b/official/2.20/Demos/5 UCControls With DataModule - ADO/UCControlsDemo.dpr
new file mode 100644
index 0000000..350d6aa
--- /dev/null
+++ b/official/2.20/Demos/5 UCControls With DataModule - ADO/UCControlsDemo.dpr
@@ -0,0 +1,16 @@
+program UCControlsDemo;
+
+uses
+ Forms,
+ ucontrols in 'ucontrols.pas' {Form1},
+ form2_U in 'form2_U.pas' {Form2},
+ DataM_U in 'DataM_U.pas' {DataModule1: TDataModule};
+
+{$R *.res}
+
+begin
+ Application.Initialize;
+ Application.CreateForm(TForm1, Form1);
+ Application.CreateForm(TDataModule1, DataModule1);
+ Application.Run;
+end.
diff --git a/official/2.20/Demos/5 UCControls With DataModule - ADO/UCControlsDemo.res b/official/2.20/Demos/5 UCControls With DataModule - ADO/UCControlsDemo.res
new file mode 100644
index 0000000..627f283
Binary files /dev/null and b/official/2.20/Demos/5 UCControls With DataModule - ADO/UCControlsDemo.res differ
diff --git a/official/2.20/Demos/5 UCControls With DataModule - ADO/form2_U.dfm b/official/2.20/Demos/5 UCControls With DataModule - ADO/form2_U.dfm
new file mode 100644
index 0000000..a5299c5
--- /dev/null
+++ b/official/2.20/Demos/5 UCControls With DataModule - ADO/form2_U.dfm
@@ -0,0 +1,468 @@
+object Form2: TForm2
+ Left = 310
+ Top = 155
+ BorderStyle = bsSingle
+ Caption = 'Form2'
+ ClientHeight = 462
+ ClientWidth = 546
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ OldCreateOrder = False
+ Position = poDesktopCenter
+ OnClose = FormClose
+ PixelsPerInch = 96
+ TextHeight = 13
+ object Panel1: TPanel
+ Left = 24
+ Top = 8
+ Width = 513
+ Height = 73
+ TabOrder = 0
+ object Label1: TLabel
+ Left = 16
+ Top = 16
+ Width = 32
+ Height = 13
+ Caption = 'Label1'
+ end
+ object Label2: TLabel
+ Left = 216
+ Top = 16
+ Width = 32
+ Height = 13
+ Caption = 'Label2'
+ end
+ object Edit1: TEdit
+ Left = 64
+ Top = 8
+ Width = 121
+ Height = 21
+ TabOrder = 0
+ Text = 'Edit1'
+ end
+ object Edit2: TEdit
+ Left = 272
+ Top = 8
+ Width = 121
+ Height = 21
+ TabOrder = 1
+ Text = 'Edit2'
+ end
+ object RadioButton1: TRadioButton
+ Left = 40
+ Top = 48
+ Width = 113
+ Height = 17
+ Caption = 'RadioButton1'
+ TabOrder = 2
+ end
+ object RadioButton2: TRadioButton
+ Left = 192
+ Top = 48
+ Width = 113
+ Height = 17
+ Caption = 'RadioButton2'
+ TabOrder = 3
+ end
+ object RadioButton3: TRadioButton
+ Left = 328
+ Top = 48
+ Width = 113
+ Height = 17
+ Caption = 'RadioButton3'
+ TabOrder = 4
+ end
+ end
+ object CheckBox1: TCheckBox
+ Left = 32
+ Top = 96
+ Width = 97
+ Height = 17
+ Caption = 'CheckBox1'
+ TabOrder = 1
+ end
+ object CheckBox2: TCheckBox
+ Left = 32
+ Top = 128
+ Width = 97
+ Height = 17
+ Caption = 'CheckBox2'
+ TabOrder = 2
+ end
+ object Memo1: TMemo
+ Left = 152
+ Top = 96
+ Width = 385
+ Height = 57
+ Lines.Strings = (
+ 'Memo1')
+ TabOrder = 3
+ end
+ object BitBtn1: TBitBtn
+ Left = 71
+ Top = 168
+ Width = 75
+ Height = 25
+ Caption = '&Incluir'
+ TabOrder = 4
+ Glyph.Data = {
+ 36050000424D3605000000000000360400002800000010000000100000000100
+ 08000000000000010000420B0000420B00000001000000010000B5847300AD73
+ 8400B5848400B58C8400B5948C00D6BDB500C6C6C600EFD6C600CECECE00D6D6
+ D600DEDEDE00E7E7E700EFEFEF0042B5F7008CD6F700B5DEF700F7F7F700FF00
+ FF003184FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00111111111111
+ 1111111111111111111111111101020202020202020202020211111111011313
+ 1313131313131313021111111101131313131313131313130211111111011313
+ 1313131313131313021111111101131313131313131313130211111111011313
+ 1313131313131313021111111101131313131313131313130211111111011313
+ 13131313131313130211111112121210101010101010101002111111120D120C
+ 0C0C0C0C0C0C0C0C02111212120D1212120B0B0B0B0004030211120E0F0F0F0E
+ 120A0A0A0600131302111212120F1212120909090600130211111111120F1208
+ 0808080806000211111111111212120707070707050011111111}
+ end
+ object BitBtn2: TBitBtn
+ Left = 185
+ Top = 168
+ Width = 75
+ Height = 25
+ Caption = '&Alterar'
+ TabOrder = 5
+ Glyph.Data = {
+ 36050000424D3605000000000000360400002800000010000000100000000100
+ 08000000000000010000420B0000420B000000010000000100002D2D2D001855
+ 6F004544420058534E005160610054777B007C707800B56D3E00CE630000C171
+ 3500C07638008A5B5200947E7500AD7B7300EFA65A00EDA75F00F0A85C000000
+ 9A000316AC0041749600477AA9000018C6001029D600106BFF00FF00FF0035A8
+ F5004A9EED006D8AFD009B9B9B009891A200AAAAAA00ADB5BD00F1BC8600F8C2
+ 8C00F9C48D00F7D6AD00FBD3A900FFD6AD00BDC6C600FFE7C600FFEFD600FFF7
+ E700FFFFF700FFFFFF0000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000181818181818
+ 181818181818181818181808080808080808080808080808080818082B2B2A29
+ 2827252523252525250818082B2626262626262626262626250818082B2B0003
+ 1E29272725252325250818082B260302041C262626262626250818082B2B2B05
+ 14010B1E27272525250818082B262605130C090B1C26261F250818082B2B2B2B
+ 0620100A0B1E2725250818082B2626260D24220E0A0B1C26250818082B2B2B2B
+ 2B0D242210090B1E250818082B2B2B2B2B2B0D24210F070B1C08180808080808
+ 0808080D241D19121108181808080808080808080D1A16161211181818181818
+ 1818181818151B17161818181818181818181818181815151818}
+ end
+ object BitBtn3: TBitBtn
+ Left = 300
+ Top = 168
+ Width = 75
+ Height = 25
+ Caption = '&Excluir'
+ TabOrder = 6
+ Glyph.Data = {
+ 36050000424D3605000000000000360400002800000010000000100000000100
+ 08000000000000010000220B0000220B000000010000000100000031DE000031
+ E7000031EF000031F700FF00FF000031FF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00040404040404
+ 0404040404040404000004000004040404040404040404000004040000000404
+ 0404040404040000040404000000000404040404040000040404040402000000
+ 0404040400000404040404040404000000040000000404040404040404040400
+ 0101010004040404040404040404040401010204040404040404040404040400
+ 0201020304040404040404040404030201040403030404040404040404050203
+ 0404040405030404040404040303050404040404040303040404040303030404
+ 0404040404040403040403030304040404040404040404040404030304040404
+ 0404040404040404040404040404040404040404040404040404}
+ end
+ object BitBtn4: TBitBtn
+ Left = 415
+ Top = 168
+ Width = 75
+ Height = 25
+ Caption = '&Fechar'
+ TabOrder = 7
+ OnClick = BitBtn4Click
+ Glyph.Data = {
+ 36050000424D3605000000000000360400002800000010000000100000000100
+ 08000000000000010000220B0000220B00000001000000010000006400004242
+ 42008C6363009A666600B9666600BB686800B0717200C3686900C66A6B00C76A
+ 6D00CF6C6E00D2686900D16D6E00CC6E7100C0797A00D2707200D4707100D572
+ 7300D0727500D3747600D9757600D8767700E37D7E000080000000960000DC7F
+ 8000FF00FF00D7868700DA888800D8888A00DA888A00DF898A00E6808100E085
+ 8500E9818200EE868700E3888900E78C8D00F0878800F18B8C00F28B8C00F18D
+ 8E00F48C8D00F48E8F00EB8F9000EC969700E49A9800F3919200F7909100F791
+ 9200F2939400F9909200F9949500FA949500F9969700F0999A00FC999A00FF9D
+ 9E00F7B58400F5A7A500FACCAA00FBD6BB00FADCDC00FFFFFF00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000000000000000000000001A1A1A1A1A1A
+ 1A02011A1A1A1A1A1A1A1A1A1A1A02030405011A1A1A1A1A1A1A1A1A0203080B
+ 0B07010303030303031A1A1A030C0C0C0A09010E1F323B3B031A1A1A030C0C10
+ 0F0D01181818183B031A1A1A03111114151201181818183B031A1A1A03161616
+ 201301181717173B031A1A1A0326222D3E1D01171700003B031A1A1A03262337
+ 3F1E013C3A3A3A3B031A1A1A03272B282A19013C3D3D3D3B031A1A1A03273031
+ 2921013C3D3D3D3B031A1A1A032734352F24013C3D3D3D3B031A1A1A03273338
+ 3625013C3D3D3D3B031A1A1A03032E33392C013C3D3D3D3B031A1A1A1A1A0306
+ 1B1C010303030303031A1A1A1A1A1A1A0303011A1A1A1A1A1A1A}
+ end
+ object ScrollBox1: TScrollBox
+ Left = 16
+ Top = 216
+ Width = 505
+ Height = 233
+ TabOrder = 8
+ object Label3: TLabel
+ Left = 24
+ Top = 16
+ Width = 31
+ Height = 13
+ Caption = 'IdUser'
+ FocusControl = EdUserID
+ end
+ object Label4: TLabel
+ Left = 24
+ Top = 56
+ Width = 28
+ Height = 13
+ Caption = 'Nome'
+ FocusControl = edNome
+ end
+ object Label5: TLabel
+ Left = 24
+ Top = 96
+ Width = 26
+ Height = 13
+ Caption = 'Login'
+ FocusControl = edLogin
+ end
+ object Label6: TLabel
+ Left = 24
+ Top = 136
+ Width = 31
+ Height = 13
+ Caption = 'Senha'
+ FocusControl = edSenha
+ end
+ object Label7: TLabel
+ Left = 24
+ Top = 176
+ Width = 25
+ Height = 13
+ Caption = 'Email'
+ FocusControl = edEmail
+ end
+ object Label8: TLabel
+ Left = 24
+ Top = 216
+ Width = 54
+ Height = 13
+ Caption = 'Privilegiado'
+ FocusControl = edPriv
+ end
+ object Label9: TLabel
+ Left = 24
+ Top = 256
+ Width = 21
+ Height = 13
+ Caption = 'Tipo'
+ FocusControl = edTipo
+ end
+ object Label10: TLabel
+ Left = 24
+ Top = 296
+ Width = 23
+ Height = 13
+ Caption = 'Perfil'
+ FocusControl = edPerfil
+ end
+ object EdUserID: TDBEdit
+ Left = 24
+ Top = 32
+ Width = 134
+ Height = 21
+ DataField = 'UCIdUser'
+ DataSource = DataModule1.DataSource1
+ TabOrder = 0
+ end
+ object edNome: TDBEdit
+ Left = 24
+ Top = 72
+ Width = 394
+ Height = 21
+ DataField = 'UCUserName'
+ DataSource = DataModule1.DataSource1
+ TabOrder = 1
+ end
+ object edLogin: TDBEdit
+ Left = 24
+ Top = 112
+ Width = 199
+ Height = 21
+ DataField = 'UCLogin'
+ DataSource = DataModule1.DataSource1
+ TabOrder = 2
+ end
+ object edSenha: TDBEdit
+ Left = 24
+ Top = 152
+ Width = 394
+ Height = 21
+ DataField = 'UCPassword'
+ DataSource = DataModule1.DataSource1
+ TabOrder = 3
+ end
+ object edEmail: TDBEdit
+ Left = 24
+ Top = 192
+ Width = 1304
+ Height = 21
+ DataField = 'UCEmail'
+ DataSource = DataModule1.DataSource1
+ TabOrder = 4
+ end
+ object edPriv: TDBEdit
+ Left = 24
+ Top = 232
+ Width = 134
+ Height = 21
+ DataField = 'UCPrivileged'
+ DataSource = DataModule1.DataSource1
+ TabOrder = 5
+ end
+ object edTipo: TDBEdit
+ Left = 24
+ Top = 272
+ Width = 17
+ Height = 21
+ DataField = 'UCTypeRec'
+ DataSource = DataModule1.DataSource1
+ TabOrder = 6
+ end
+ object edPerfil: TDBEdit
+ Left = 24
+ Top = 312
+ Width = 134
+ Height = 21
+ DataField = 'UCProfile'
+ DataSource = DataModule1.DataSource1
+ TabOrder = 7
+ end
+ object DBNavigator1: TDBNavigator
+ Left = 200
+ Top = 24
+ Width = 240
+ Height = 25
+ DataSource = DataModule1.DataSource1
+ TabOrder = 8
+ end
+ end
+ object UCControls1: TUCControls
+ GroupName = 'Formul'#225'rio 2'
+ UserControl = Form1.UserControl1
+ NotAllowed = naInvisible
+ Left = 40
+ Top = 160
+ end
+end
diff --git a/official/2.20/Demos/5 UCControls With DataModule - ADO/form2_U.pas b/official/2.20/Demos/5 UCControls With DataModule - ADO/form2_U.pas
new file mode 100644
index 0000000..692c049
--- /dev/null
+++ b/official/2.20/Demos/5 UCControls With DataModule - ADO/form2_U.pas
@@ -0,0 +1,73 @@
+unit form2_U;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, StdCtrls, Buttons, ExtCtrls, DB, ADODB, DBCtrls, Mask,
+ UCBase;
+
+type
+ TForm2 = class(TForm)
+ Panel1: TPanel;
+ Label1: TLabel;
+ Edit1: TEdit;
+ Label2: TLabel;
+ Edit2: TEdit;
+ RadioButton1: TRadioButton;
+ RadioButton2: TRadioButton;
+ RadioButton3: TRadioButton;
+ CheckBox1: TCheckBox;
+ CheckBox2: TCheckBox;
+ Memo1: TMemo;
+ BitBtn1: TBitBtn;
+ BitBtn2: TBitBtn;
+ BitBtn3: TBitBtn;
+ BitBtn4: TBitBtn;
+ UCControls1: TUCControls;
+ ScrollBox1: TScrollBox;
+ Label3: TLabel;
+ EdUserID: TDBEdit;
+ Label4: TLabel;
+ edNome: TDBEdit;
+ Label5: TLabel;
+ edLogin: TDBEdit;
+ Label6: TLabel;
+ edSenha: TDBEdit;
+ Label7: TLabel;
+ edEmail: TDBEdit;
+ Label8: TLabel;
+ edPriv: TDBEdit;
+ Label9: TLabel;
+ edTipo: TDBEdit;
+ Label10: TLabel;
+ edPerfil: TDBEdit;
+ DBNavigator1: TDBNavigator;
+ procedure FormClose(Sender: TObject; var Action: TCloseAction);
+ procedure BitBtn4Click(Sender: TObject);
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ Form2: TForm2;
+
+implementation
+
+uses ucontrols, DataM_U;
+
+{$R *.dfm}
+
+procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
+begin
+ action := caFree;
+end;
+
+procedure TForm2.BitBtn4Click(Sender: TObject);
+begin
+ Close;
+end;
+
+end.
diff --git a/official/2.20/Demos/5 UCControls With DataModule - ADO/ucontrols.ddp b/official/2.20/Demos/5 UCControls With DataModule - ADO/ucontrols.ddp
new file mode 100644
index 0000000..4370276
Binary files /dev/null and b/official/2.20/Demos/5 UCControls With DataModule - ADO/ucontrols.ddp differ
diff --git a/official/2.20/Demos/5 UCControls With DataModule - ADO/ucontrols.dfm b/official/2.20/Demos/5 UCControls With DataModule - ADO/ucontrols.dfm
new file mode 100644
index 0000000..3085fb6
--- /dev/null
+++ b/official/2.20/Demos/5 UCControls With DataModule - ADO/ucontrols.dfm
@@ -0,0 +1,2007 @@
+object Form1: TForm1
+ Left = 306
+ Top = 118
+ Width = 466
+ Height = 559
+ Caption = 'UserControl - TUCControls Demo'
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ Menu = MainMenu1
+ OldCreateOrder = False
+ Position = poDesktopCenter
+ OnCloseQuery = FormCloseQuery
+ OnCreate = FormCreate
+ OnShow = FormShow
+ PixelsPerInch = 96
+ TextHeight = 13
+ object Label2: TLabel
+ Left = 72
+ Top = 400
+ Width = 298
+ Height = 13
+ Caption = '<<= incluido para logar Exceptions. Veja o evento OnException'
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clBlue
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ ParentFont = False
+ Visible = False
+ end
+ object Label3: TLabel
+ Left = 48
+ Top = 472
+ Width = 364
+ Height = 26
+ Caption =
+ '<<=Query incluida para pesquisar ultimo login do usuario. '#13#10' ' +
+ ' Utilizado no evento on LoginSuccess do componente ADOUserCont' +
+ 'rol1.'
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clBlue
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ ParentFont = False
+ Visible = False
+ end
+ object GroupBox4: TGroupBox
+ Left = 10
+ Top = 336
+ Width = 441
+ Height = 49
+ Caption = 'Gerar erro'
+ TabOrder = 1
+ object EditErro: TEdit
+ Left = 16
+ Top = 16
+ Width = 217
+ Height = 21
+ TabOrder = 0
+ Text = 'Erro gerado pelo demo'
+ end
+ object BitBtn2: TBitBtn
+ Left = 256
+ Top = 16
+ Width = 75
+ Height = 25
+ Caption = 'Except!'
+ TabOrder = 1
+ OnClick = BitBtn2Click
+ Glyph.Data = {
+ 36030000424D3603000000000000360000002800000010000000100000000100
+ 18000000000000030000420B0000420B00000000000000000000FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFCC6701CC6701CC6701CC6701CC6701CC6701CC
+ 6701CC6701CC6701CC6701CC6701CC6701CC6701CC6701CC6701FF00FFCC6701
+ FFFFFFFFFFFFFFFAF5FFF3E6FEEBD5FEE3C3FEDCB5FED7ABFED7ABFED7ABFED7
+ ABFED7ABFED7ABCC6701FF00FFCC6701FFFFFFFFFFFFFFFFFFFFFAF5FFF3E6FE
+ EBD5FEE3C4FEDCB500C0C000C0C000C0C000C0C0FED7ABCC6701FF00FFCC6701
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFAF5FFF3E6FFEBD5FEE3C4FFFFFFFFFFFFFFFF
+ FF00C0C0FED7ABCC6701FF00FFCC6701FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FAF5FFF3E6FFEBD5FEE3C4FEDCB5FED7ABFED7ABFED7ABCC6701FF00FFCC6701
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF5FFF3E6FFEBD5FEE3C4FEDC
+ B5FED7ABFED7ABCC6701FF00FFCC6701FFFFFFFFFFFFFFFFFF80808080808080
+ 8080FFFFFF808080FFF3E6808080808080808080FED7ABCC6701FF00FFCC6701
+ 8080FF0000FF8080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF5FFF3E6FFEB
+ D5FEE3C4FEDCB5CC6701FF00FFCC67010000FF0000FF0000FFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFAF5FFF3E6FFEBD5FEE3C4CC6701FF00FFCC6701
+ 8080FF0000FF8080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA
+ F5FFF3E6FFEBD5CC6701FF00FFCC6701FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF5FFF3E6CC6701FF00FFCC6701
+ CC6701CC6701CC6701CC6701CC6701CC6701CC6701CC6701CC6701CC6701CC67
+ 01CC6701CC6701CC6701FF00FFFF00FFCC6701CC6701CC6701CC6701CC6701CC
+ 6701CC6701CC6701CC6701CC6701CC6701CC6701CC6701FF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF}
+ end
+ end
+ object GroupBox5: TGroupBox
+ Left = 10
+ Top = 280
+ Width = 441
+ Height = 49
+ Caption = 'Incluir log'
+ TabOrder = 0
+ object EditLog: TEdit
+ Left = 16
+ Top = 16
+ Width = 121
+ Height = 21
+ TabOrder = 0
+ Text = 'Teste de log'
+ end
+ object cbNivel: TComboBox
+ Left = 144
+ Top = 16
+ Width = 97
+ Height = 21
+ Style = csDropDownList
+ ItemHeight = 13
+ TabOrder = 1
+ Items.Strings = (
+ 'N'#237'vel 0'
+ 'N'#237'vel 1'
+ 'N'#237'vel 2'
+ 'N'#237'vel 3')
+ end
+ object BitBtn1: TBitBtn
+ Left = 256
+ Top = 16
+ Width = 75
+ Height = 25
+ Caption = 'Logar'
+ TabOrder = 2
+ OnClick = BitBtn1Click
+ Glyph.Data = {
+ 36050000424D3605000000000000360400002800000010000000100000000100
+ 08000000000000010000420B0000420B00000001000000010000B5847300AD73
+ 8400B5848400B58C8400B5948C00D6BDB500C6C6C600EFD6C600CECECE00D6D6
+ D600DEDEDE00E7E7E700EFEFEF0042B5F7008CD6F700B5DEF700F7F7F700FF00
+ FF003184FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00111111111111
+ 1111111111111111111111111101020202020202020202020211111111011313
+ 1313131313131313021111111101131313131313131313130211111111011313
+ 1313131313131313021111111101131313131313131313130211111111011313
+ 1313131313131313021111111101131313131313131313130211111111011313
+ 13131313131313130211111112121210101010101010101002111111120D120C
+ 0C0C0C0C0C0C0C0C02111212120D1212120B0B0B0B0004030211120E0F0F0F0E
+ 120A0A0A0600131302111212120F1212120909090600130211111111120F1208
+ 0808080806000211111111111212120707070707050011111111}
+ end
+ end
+ object PageControl1: TPageControl
+ Left = 8
+ Top = 88
+ Width = 441
+ Height = 185
+ ActivePage = TabSheet1
+ TabOrder = 2
+ object TabSheet1: TTabSheet
+ Caption = 'Actions'
+ object GroupBox1: TGroupBox
+ Left = 10
+ Top = 12
+ Width = 103
+ Height = 121
+ Caption = 'GroupBox1'
+ TabOrder = 0
+ object Button1: TButton
+ Left = 15
+ Top = 24
+ Width = 75
+ Height = 25
+ Action = Action1
+ TabOrder = 0
+ end
+ object Button2: TButton
+ Left = 15
+ Top = 56
+ Width = 75
+ Height = 25
+ Action = Action2
+ TabOrder = 1
+ end
+ object Button3: TButton
+ Left = 15
+ Top = 88
+ Width = 75
+ Height = 25
+ Action = Action3
+ TabOrder = 2
+ end
+ end
+ object GroupBox2: TGroupBox
+ Left = 162
+ Top = 12
+ Width = 103
+ Height = 121
+ Caption = 'GroupBox2'
+ TabOrder = 1
+ object Button4: TButton
+ Left = 15
+ Top = 24
+ Width = 75
+ Height = 25
+ Action = Action4
+ TabOrder = 0
+ end
+ object Button5: TButton
+ Left = 15
+ Top = 56
+ Width = 75
+ Height = 25
+ Action = Action5
+ TabOrder = 1
+ end
+ object Button6: TButton
+ Left = 15
+ Top = 88
+ Width = 75
+ Height = 25
+ Action = Action6
+ TabOrder = 2
+ end
+ end
+ object GroupBox3: TGroupBox
+ Left = 314
+ Top = 12
+ Width = 103
+ Height = 121
+ Caption = 'GroupBox3'
+ TabOrder = 2
+ object Button7: TButton
+ Left = 15
+ Top = 24
+ Width = 75
+ Height = 25
+ Action = Action7
+ TabOrder = 0
+ end
+ object Button8: TButton
+ Left = 15
+ Top = 56
+ Width = 75
+ Height = 25
+ Action = Action8
+ TabOrder = 1
+ end
+ object Button9: TButton
+ Left = 15
+ Top = 88
+ Width = 75
+ Height = 25
+ Action = Action9
+ TabOrder = 2
+ end
+ end
+ end
+ end
+ object BitBtn3: TBitBtn
+ Left = 8
+ Top = 8
+ Width = 441
+ Height = 65
+ Caption = 'Form2'
+ TabOrder = 3
+ OnClick = BitBtn3Click
+ Glyph.Data = {
+ 76060000424D7606000000000000360400002800000018000000180000000100
+ 08000000000040020000E30E0000E30E00000001000000010000107B10001084
+ 1000217318002184210021A521004A422900298C290031942900299C290029AD
+ 2900398C3100319C310031A5310031AD31004A6B390039943900399C390039AD
+ 390039B539005A52420052634200527342004A8C42004A9C42004AA5420042BD
+ 420042CE4200636B4A0018734A0052A54A004ABD4A00296B520052B5520052C6
+ 5200736B5A005AC65A007B736300428463006B84630063A5630063BD630063CE
+ 6300315A6B0073B56B006BCE6B0073AD730073CE730094B57B0084BD7B008CBD
+ 7B007BCE7B007BD67B00316B8400948C840084B5840039738C009CB58C008CBD
+ 8C0094DE8C009CDE8C0039739400106B9C00216B9C005A849C0063849C00216B
+ A5002173A500B5E7A500297BAD003984AD00428CAD004A8CAD00107BB500217B
+ B500428CB5004A94B500217BBD004294BD005294BD00529CBD006BA5BD00D6E7
+ BD00187BC6002184C6002984C600298CC600318CC600428CC6003994C6004294
+ C6004A94C60063A5C6006BA5C600BDC6C600298CCE00398CCE002994CE00E7DE
+ CE00D6E7CE006BADD6003194DE005AADDE00218CE700298CE7004A9CE70073BD
+ E7008CBDE7009CCEE7002994EF0042A5EF004AB5EF007BBDEF00F7FFEF002994
+ F700319CF700399CF70042A5F70063ADF70052B5F700FF00FF003194FF00399C
+ FF0042A5FF004AADFF004AB5FF0052B5FF006BBDFF006BC6FF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00777777777777
+ 7777777777777777777777777777777777777777777777777777777777777777
+ 7777777777777777777777777726150B0B0B0B0B0B141B243577777777777777
+ 777777772D011A0411111111000B0702031322777777777777777777061A0D19
+ 1E213B1031103B190D02057777777777777777770F09121E233B202B51184321
+ 19080377777777777777777739081E232C43277070304329210C0E7777777777
+ 77777777770A1E29431D628080363B2E230B0F77777777777777777777770A20
+ 17385D5D612F3233200F77777777777777777777777777161C454C4C46252810
+ 0F77777777777777777777777777773F5266676766481F77777777770F0F7777
+ 777777777777774C6C717878726C3E777777770F3A230F77777777777777446C
+ 797979797979673D7777770F3A230F7777777777777753797A7A7A7A7A7A732A
+ 770F0F0F3A230F0F0F7777777740737A7B7B7E7E7B7B74340F23232323232323
+ 230F7777775C747B7C7E7D7E7D7E7B3C0F3A3A3A3A233A3A3A0F7777774E6D7D
+ 7F7F7F766E767637770F0F0F3A230F0F0F777777775B495E646453555654603D
+ 7777770F3A230F7777777777774042575A636F75685F41777777770F3A230F77
+ 7777777777774256636A6A6965583D77777777770F0F7777777777777777774A
+ 59636B6A4D3D777777777777777777777777777777777777504B4F4740777777
+ 7777777777777777777777777777777777777777777777777777777777777777
+ 7777777777777777777777777777777777777777777777777777}
+ Layout = blGlyphTop
+ end
+ object MainMenu1: TMainMenu
+ AutoHotkeys = maManual
+ OwnerDraw = True
+ Left = 8
+ Top = 432
+ object Arquivo1: TMenuItem
+ Caption = 'Arquivo'
+ object Abrir1: TMenuItem
+ Caption = 'Abrir'
+ end
+ object Salvar1: TMenuItem
+ Caption = '-'
+ end
+ object Salvar2: TMenuItem
+ Caption = 'Salvar'
+ end
+ object Salvarcomo1: TMenuItem
+ Caption = 'Salvar como...'
+ end
+ object Fechar1: TMenuItem
+ Caption = 'Fechar'
+ end
+ object N2: TMenuItem
+ Caption = '-'
+ end
+ object Dados1: TMenuItem
+ Caption = 'Dados'
+ object Importar1: TMenuItem
+ Caption = 'Importar'
+ end
+ object Exportar1: TMenuItem
+ Caption = 'Exportar'
+ end
+ object N4: TMenuItem
+ Caption = '-'
+ end
+ object Vincular1: TMenuItem
+ Caption = 'Vincular'
+ end
+ end
+ object N3: TMenuItem
+ Caption = '-'
+ end
+ object Sair2: TMenuItem
+ Caption = 'Sair'
+ end
+ end
+ object Editar1: TMenuItem
+ Caption = 'Editar'
+ object Copiar1: TMenuItem
+ Caption = 'Copiar'
+ end
+ object Colar1: TMenuItem
+ Caption = 'Colar'
+ end
+ object Recortar1: TMenuItem
+ Caption = 'Recortar'
+ end
+ object N1: TMenuItem
+ Caption = '-'
+ end
+ object Selecionartudo1: TMenuItem
+ Caption = 'Selecionar tudo'
+ end
+ object N5: TMenuItem
+ Caption = '-'
+ end
+ object AreadeTransferencia1: TMenuItem
+ Caption = 'Area de Transferencia'
+ object Exibir2: TMenuItem
+ Caption = 'Exibir'
+ end
+ object Esvaziar1: TMenuItem
+ Caption = 'Esvaziar'
+ end
+ end
+ end
+ object Exibir1: TMenuItem
+ Caption = 'Exibir'
+ object Zoom1: TMenuItem
+ Caption = 'Zoom...'
+ object Normal1: TMenuItem
+ Caption = 'Normal'
+ Checked = True
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object Grande1: TMenuItem
+ Caption = 'Grande'
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object Ajustarnajanela1: TMenuItem
+ Caption = 'Ajustar na janela'
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object N6: TMenuItem
+ Caption = '-'
+ GroupIndex = 1
+ end
+ object Personalizar1: TMenuItem
+ Caption = 'Personalizar'
+ GroupIndex = 1
+ end
+ end
+ object amanhonormal1: TMenuItem
+ Caption = 'Tamanho normal'
+ end
+ object elacheia1: TMenuItem
+ Caption = 'Tela cheia'
+ end
+ end
+ object Relatorios1: TMenuItem
+ Caption = 'Relatorios'
+ object Relatorio11: TMenuItem
+ Caption = 'Relatorio 1'
+ end
+ object Relatorio21: TMenuItem
+ Caption = 'Relatorio 2'
+ end
+ object Relatorio31: TMenuItem
+ Caption = 'Relatorio 3'
+ end
+ object Relatorio41: TMenuItem
+ Caption = 'Relatorio 4'
+ end
+ end
+ object Segurana1: TMenuItem
+ Caption = 'Seguran'#231'a'
+ object Cadastrodeusuarios1: TMenuItem
+ Caption = 'Cadastro de usuarios'
+ end
+ object Perfildeusurios1: TMenuItem
+ Caption = 'Perfil de usuarios'
+ end
+ object logdosistema: TMenuItem
+ Caption = 'Log do Sistema'
+ OnClick = Action1Execute
+ end
+ object N7: TMenuItem
+ Caption = '-'
+ end
+ object rocarsenha1: TMenuItem
+ Caption = 'Trocar senha'
+ end
+ object EfetuarLogoff1: TMenuItem
+ Caption = 'Efetuar Logoff'
+ OnClick = EfetuarLogoff1Click
+ end
+ end
+ end
+ object ActionList1: TActionList
+ Left = 40
+ Top = 432
+ object Action1: TAction
+ Category = 'Grupo1'
+ Caption = 'Action1'
+ OnExecute = Action1Execute
+ end
+ object Action2: TAction
+ Category = 'Grupo1'
+ Caption = 'Action2'
+ OnExecute = Action1Execute
+ end
+ object Action3: TAction
+ Category = 'Grupo1'
+ Caption = 'Action3'
+ OnExecute = Action1Execute
+ end
+ object Action4: TAction
+ Category = 'Grupo2'
+ Caption = 'Action4'
+ OnExecute = Action1Execute
+ end
+ object Action5: TAction
+ Category = 'Grupo2'
+ Caption = 'Action5'
+ OnExecute = Action1Execute
+ end
+ object Action6: TAction
+ Category = 'Grupo2'
+ Caption = 'Action6'
+ OnExecute = Action1Execute
+ end
+ object Action7: TAction
+ Category = 'Grupo3'
+ Caption = 'Action7'
+ OnExecute = Action1Execute
+ end
+ object Action8: TAction
+ Category = 'Grupo3'
+ Caption = 'Action8'
+ OnExecute = Action1Execute
+ end
+ object Action9: TAction
+ Category = 'Grupo3'
+ Caption = 'Action9'
+ OnExecute = Action1Execute
+ end
+ end
+ object ADOQuery1: TADOQuery
+ Connection = ADOConnection1
+ Parameters = <>
+ Left = 8
+ Top = 464
+ end
+ object ApplicationEvents1: TApplicationEvents
+ OnException = ApplicationEvents1Exception
+ Left = 32
+ Top = 392
+ end
+ object UCSettings1: TUCSettings
+ AppMessages.MsgsForm_BtNew = '&Nova Mensagem'
+ AppMessages.MsgsForm_BtReplay = '&Responder'
+ AppMessages.MsgsForm_BtForward = 'E&ncaminhar'
+ AppMessages.MsgsForm_BtDelete = '&Excluir'
+ AppMessages.MsgsForm_BtClose = '&Close'
+ AppMessages.MsgsForm_WindowCaption = 'Mensagens do Sistema'
+ AppMessages.MsgsForm_ColFrom = 'Remetente'
+ AppMessages.MsgsForm_ColSubject = 'Assunto'
+ AppMessages.MsgsForm_ColDate = 'Data'
+ AppMessages.MsgsForm_PromptDelete = 'Confirma excluir as mensagens selecionadas ?'
+ AppMessages.MsgsForm_PromptDelete_WindowCaption = 'Delete messages'
+ AppMessages.MsgsForm_NoMessagesSelected = '!No Messages selected'#161
+ AppMessages.MsgsForm_NoMessagesSelected_WindowCaption = 'Information'
+ AppMessages.MsgRec_BtClose = '&Fechar'
+ AppMessages.MsgRec_WindowCaption = 'Mensagem'
+ AppMessages.MsgRec_Title = 'Mensagem Recebida'
+ AppMessages.MsgRec_LabelFrom = 'De :'
+ AppMessages.MsgRec_LabelDate = 'Date'
+ AppMessages.MsgRec_LabelSubject = 'Assunto'
+ AppMessages.MsgRec_LabelMessage = 'Mensagem'
+ AppMessages.MsgSend_BtSend = '&Enviar'
+ AppMessages.MsgSend_BtCancel = '&Cancelar'
+ AppMessages.MsgSend_WindowCaption = 'Mensagem'
+ AppMessages.MsgSend_Title = 'Enviar Nova Mensagem'
+ AppMessages.MsgSend_GroupTo = 'Para'
+ AppMessages.MsgSend_RadioUser = 'Usu'#225'rio :'
+ AppMessages.MsgSend_RadioAll = 'Todos'
+ AppMessages.MsgSend_GroupMessage = 'Mensagem'
+ AppMessages.MsgSend_LabelSubject = 'Subject'
+ AppMessages.MsgSend_LabelMessageText = 'Message text'
+ CommonMessages.AutoLogonError = 'Falha de Auto Logon!'#13#10'Informe um usu'#225'rio e senha v'#225'lidos.'
+ CommonMessages.ChangePasswordError.InvalidCurrentPassword = 'Senha Atual n'#227'o confere!'
+ CommonMessages.ChangePasswordError.NewPasswordError = 'Os campos: Nova Senha e Confirma'#231#227'o devem ser iguais.'
+ CommonMessages.ChangePasswordError.NewEqualCurrent = 'Nova senha igual a senha atual'
+ CommonMessages.ChangePasswordError.PasswordRequired = 'A Senha '#233' obrigat'#243'ria'
+ CommonMessages.ChangePasswordError.MinPasswordLength = 'A senha deve conter no m'#237'nimo %d caracteres'
+ CommonMessages.ChangePasswordError.InvalidNewPassword = 'Proibido utilizar senhas obvias!'
+ CommonMessages.InvalidLogin = 'Usu'#225'rio ou Senha n'#227'o inv'#225'lidos!'
+ CommonMessages.InitialMessage.Strings = (
+ 'ATEN'#199#195'O Login Inicial:'
+ ''
+ 'Usu'#225'rio : Admin'
+ 'Senha : #delphi'
+ ''
+ 'Defina as permiss'#245'es para este usu'#225'rio.')
+ CommonMessages.MaxLoginAttemptsError =
+ '%d Tentativas de login inv'#225'ido. Por motivos de segun'#231'a o '#13#10'siste' +
+ 'ma ser'#225' fechado.'
+ CommonMessages.PasswordChanged = 'Senha alterada com sucesso!'
+ CommonMessages.BlankPassword = 'Retirada senha do Login %s'
+ Login.WindowCaption = 'Login'
+ Login.LabelUser = 'Usu'#225'rio '
+ Login.LabelPassword = 'Senha : '
+ Login.BtOk = 'OK'
+ Login.BtCancel = '&Cancelar'
+ Login.TopImage.Data = {
+ 07544269746D6170B6790000424DB67900000000000036040000280000007601
+ 0000500000000100080000000000807500000000000000000000000100000000
+ 00009BB5D8007493BA00ACC2E000BBBBBB00CBD9EB007D9BC20051719900F6F8
+ FB00F2F5FA0095B0D500FCFDFE00EDF2F800A7B6BC0055759D00F8FAFC00B1C5
+ E1005979A10089A8D200CDD5D9003E5E88004D7199003D5D8700FAFBFD008888
+ 8800E5ECF500DDE6F200DDDDDD00E2EAF400A5BDDD00405F880042628C0089A6
+ CC008297A0005D7DA500C5D4E900A1B9DA006685AD004569920045679000B4C8
+ E300EEEEEE00BDCEE60099B3D600A9C0DE008BA8CD009EA5B0006181A9006E8D
+ B400D0DCED006989B10099999900809DC40085A2C80044638C00C1D1E8004462
+ 8C008EAACF0091ACD100486890005579A100E7EEF6003E5F890040608A005D82
+ AB00C0CBCF008CAAD400D5E0EF00496C950042618A004A6A93008FACD500D8E3
+ F0004C6C9400D2DEEE007795BD0046668E004E6E960050709700B8CBE400BBCD
+ E500CCCCCC00C8D7EA00648BB2006D93BA0044648E00A2BADB004A6B94009BAC
+ B300708EB5004E6F980085A5CF00DAE4F10058789E0043638D0050759D00506E
+ 9600D6E1EF00F4F7FB00A7BEDE00829FC600FDFEFE0041608B0054749A007A98
+ BF0093AFD600BECFE60044628A00666666004060880086A6D0004C6B92004867
+ 8E00EAEFF700AAAAAA0049688E006C8AB1004D6E940053729A00476690006584
+ AB007290B8005C7CA300333333005F7EA60046648E005A7DA50056779E00E6EA
+ EC0046648C0044444400777777004869920044678E0080A0C900E0E8F3006D8C
+ B3005576A000AAAEB50090ADD5006080A7009EB7DA006486AF00486A93006185
+ AC00F9FAFD004C6A92003C5B85004C6E96006988AF0049699100C6CFDC0093AE
+ D20051729B00597AA30045648B004E6D94004A6992004A6C92004D6D96006786
+ AD00B6BCC40056769E003D5A82003F628B006383A900698DB500555555005A7F
+ A7005B7AA1003A5A8400527399005A7BA200426188004668900039577F007D9F
+ C70047668D00EBF1F8004C6B940087A3CA00405F8600486990004E6D96004C6D
+ 9400222222006287AF0083A3CC00FBFCFD00779BC2004A6A9100D1DDEE005473
+ 9C003C5C87006B8BB20092ADD200D3DFEF00E1E5E900426189006C8BB5008B8F
+ 940045658D005878A00042638B003F5C84005C7BA4001111110084A3CC006183
+ AB00CDD6E1006A8AB3006282AB00808285006787B0006483AC00A5BCDB004061
+ 8A004F5153003E40420043637000FEFEFE0091AED600FEFFFF00758D9600F2F5
+ F5008FA0A900D9E0E200506D7A00EFF4F9005C788300BFD0E700B5C1C60091AE
+ D500E3EBF50069828D00C3D3E900D2DDEE0097B2D700DFE7F300F7F9FC00A3BB
+ DC006F8FB7007B7E830094AFD3007998C1002F3032007396BE00909296008FAB
+ D000686C7100A4BBDA00D2D9E400D9DEE600FEFEFF0088A7D20000000000FFFF
+ FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCFCFCFCFCFCFC
+ FCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB6464640A0A0A0ABBBBBBBBBB16
+ 16160E0E0EEEEEEE07EE0707616161070761070707EEEEEEEEEE90161616BB16
+ BB0ABB0A0A0A0ADB64646464DBDB64FCFFFCDBDB64DBDB0A640A0A0A0ABBBBBB
+ 16160EEEEE07610808E30BB1703C18E886195B47424930045122EA36294F4E27
+ 0F0F0F022B621CEF55558C8C000000ECECECECEC68096868DCDCDC8A8A8A8A8A
+ 8A46464646464646464646464646464646464646464646464646464646464646
+ 4646464646464646464646464646464646464646464646464646464646464646
+ 4646464646464646464646464646464646464646464646EC0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFC
+ FCFCFCDBDBDBDBDBDBDBDBDB64DB640A0A0A0A0ABBBBBBBB16161616160E0EEE
+ EE07EEEEEEEE6107070707EEEEEEEE0E0E0E0E161616BBBBBB0A0A0ADB0A6464
+ DBDBFCDBDBFCFCFFFFDBFCDDDBFCDBDB64640A0A0A0A0ABBBB16900EEE076108
+ 08E30BB1703C181B86195B4742BE3004512236694F4E27270F022B2B1CEF238C
+ 8C0000ECECEC09688A8A46464646414141111111111111111111FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCDB
+ DBDBDBDBDBDBDB6464640A0A0A0ABBBBBBBBBB161616160E0EEE0E0EEEEEEEEE
+ EEEEEEEEEE0E0E16901616BB16BBBB0A0A0A0A0A64DBDBFCFCDBFCFCFCFCFCFF
+ FFFCFCFFDDFFFCFCFCFF0A640A0A0ABB0A1616900EEE07070808E30BB1703C18
+ 1B1B195B604230040422EAE5294F4E270F02022B1C1C558C8C0000ECEC6868DC
+ DCE78A464646414141414111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCDBDBDBDBDBDB
+ DBDB64640A640A0A0ABBBBBB161616160E0E160E0E0E0E90EE0E0E9090901616
+ 161616BBBBBB0A0A640A0A64FCFCFCFCFCFFFFFCFFDDFFFCFCFFFFFFFCFFFCFF
+ FCDBFCDBDB0A0A0A0ABBBB16160E0EEE616108E30BB1703CE81BED5B47604930
+ 04512236E54F4E270F0F022B621CEF238C8C00ECECEC6809DCDC8A4646464641
+ 4141114111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB640A0A
+ 0A0A0ABBBBBBBB1616161616160E0E169090161616161616BBBBBBBB0ABB0A0A
+ 640A64DBDBFCFCDBFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFCFCFCFCFFFCFC0A0A
+ 0A0ABB1616160EEE07610808E30BB13C3C1B86195B4742BE3004222236294E27
+ 270F0F022B1CEF558C8C8C00ECECEC68DCE7DC8A464641414141411111111111
+ FD11FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB64640A0A0A0ABBBBBB
+ BBBBBB1616161616161616161616BBBB0ABB0A0A0A0A0A64FC64DBFCFCFCDDFC
+ FFDDFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFDDFCFFFCDDDB64640ABBBBBB160E0E
+ EE076108E30BB1703C181BED194760493004512236E54F4E270F0F022B621C55
+ 238C8C00ECECEC096868E7464646414141414111111111111111FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FCFFFFFCFCFCFCFCFCFCDBDBDBDBDBDB64640A0A0A0A0ABBBBBBBBBBBBBBBB16
+ BBBBBBBBBBBB0ABB0A0A0A0A640ADBDB64FCFCDBFCDDDDFCFFDDFFDDFFFFFFFF
+ FFFFFFFFFFDDFFFFFFDDFFFCFFFCDBDB64640ABBBBBB16900EEE070808E30B70
+ 703CE81B195B4742BE300451EAE5294F27270F022B2B1CEF558C8C0000ECECEC
+ 68DC8A8A464646464141414111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFCFC
+ FCFCFCFCFCDBDBDBDBDBDB64640A0A0A0ABBBBBBBBBBBBBBBBBB0ABBBB0A0A0A
+ 0A0A0A0A646464DBFCFCDDDBDBFCDDFCFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDBDB640A0ABBBBBB16900E07070808E3B1703C181BED194760
+ 493004512236694F4E270F02022B1C1C55238C00ECECECEC6809DC8A8A464641
+ 414141411111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFFFCFCFCDBFCFCDB
+ DBDBDBDBDB64640A0A0A0A0A0ABBBBBBBB0A0A0A0A0A0A0A0A0A0A64DBDBDBDB
+ DBFFFFDDDDDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFC
+ FC64640A0ABBBB16160EEE070808E30BB1703CE81BED5B4742BE300422EAE529
+ 4E27270F022B621C55238C8C00ECECEC0909DCE78A4646414641414111111111
+ 1111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCDBDBDBDBDBDB6464
+ 640A0A0A0A0ABBBBBB6464640A0A0A6464DB0ADB64DBDBFCFFFFFFDDDDFFFFFF
+ DDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFFDDDBFC640ABBBB16
+ BB0E0EEE070808E30B703C181B86194760C33004512236694F4E270F02022B1C
+ 1C55238C0000ECEC0968E7E78A8A41464141414141111111111111FDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A
+ 0A0A6464640A0A6464DBDBDBFCDBDBFCFCFFFFDDDDFFDDFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFCFCFC64640ABB16160EEE076108E3
+ 0BB1703CE81B195B47423004042236E54F4E270F02022B621C55238C00000909
+ C239382C1FCE85AF3305F3F5015353F5AF8585BC53B93F3F3FA7993B885E5E98
+ 98981414438E599E434343145E5E98593F52B9A7251E3D3D653E3E3E3E3E3ED7
+ 1E1E1E5D545D5DCA3E1E1E3B3B5DD7C03ED7A38E434354A365D7D76565D7D765
+ 6513153E3EC092AE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A6464646464
+ FCFCFCFCFCDBDBFCFCFFFFFFFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFCFCFCDB0A0A0ABB16160EEE070808E3B1703C181BED19
+ 4760BE3004512236694E270F0F022B621C558C00EC0997381F1F346333670101
+ F02F318DCF2EA7A78F52A5B97D14934393438E258E568E8E8E8E254325251459
+ 1414143B3FB93FA75E5E5E5E93985943438E8E25252525252676767683838326
+ 6554267DA78E263E3E3D15A33DA33D3E3D3D3D3D3D3D3D3D3E133D1E1E1592AE
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCFCFCFCDBDBDBDBDBDBDBDBDB646464646464FCFC6464FC64FCFCFCFCFCFCDB
+ FCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFF
+ FFFFFCFC64640A0ABBBB160E0E07610808E3B1703CE81B195B60C3BE04512236
+ 694F4E270F022B62D6558C002AF297382CB3633367677858319FA42E7BA8A87B
+ 21C9660648B5B53A4B4B8035CA6A6AC5353E1D1D3E1D3E1ECA268E883B3B4325
+ 26262654542626262626262626252525562543255EA77D5E2525262626262626
+ 252626262654262554252525431443255D1E2606433DA9A90000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE11212FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFF1212E1FFFFFFFFFFFFFFFFFF1212E1FFFFFFFFFF
+ FFFFFFFFDF121212FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE11212
+ E1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBFCFC
+ DBDBDBDBDB64646464646464FCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFF
+ DDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFDDFCFCFCFC0A0A
+ BBBB16160EEE610808E30B703C181BED194742BE300422EAE54F4E270F0F022B
+ 1C5523002A09C2382CB36333674A0158879F9F2E7B5CA10D21A1064D48BDBD72
+ 809A3535C56C6C6C13131D44441D1D3E1D1ECA438E263D3D3D3D3D1313131313
+ 3D131313133D3D3D3D3DA3A3435E435DA33E3D3D3D3E3E3EA33EA3A3A3D7A354
+ 5426268E5E88592665D75D765D3D15A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE120DADADADADAE940FFFFFF12DADA0C
+ FFFFFFFFFFFF0CDADADADADADADADEFFFFDADA12FFFFFFFF0CDADADAFFFFFFFF
+ FFFFE0DADADADAE440FFFFFFFF40E9DADADADADA20E1FFFFFFFF12DEDADADADA
+ DADE12FFFFFFDADADEFFFF7FDADADEFFFFFFDFE0E2DADADADADEFF12DADADADA
+ DADADADAFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB
+ DBDBDBDBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFC64646464BBBB160EEEEE61
+ 08E30BB1703CE886194760493004512236294E270F0F022B62D6238C2A09F239
+ 381F6333054A0158879F772E7B5C5CA1210D4C9B91726F6FC8C83535CA6AC5C5
+ 1D6C6C1DB41D6C6C1D3E5D4354A33D1E653E3E1D3D3D3D3D1313131313131313
+ 15133D3D8E14263D3D1315C015151515C0C0151313133DD7151315A343935492
+ 133D3DC0C0133DA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFE6E2DADAE00C57E4DADAE0FFFF7FDADA0CFFFFFFFFFFFF0CDA
+ DAE9DEDEDEDE57FFFFDEDA12FFFFFF7FDADADADAFFFFFFFFFFFFDADE0C0CE4DA
+ DA7FFFFF57DADAE2570CE0E2DADAE6FFFF12DADADA200CE0DADADA40FFFFE4DA
+ DEFFFF0CDADAE1FFFFE1E2DADA200C0CE0E4FF12DADAE4DEDEDEDEDEFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFDDFCFFFCFC6464640A64BB16160EEE070808E3B1703C181B
+ ED5B47C33004512236694F4E270F022B62EF238C0009F239381FB36305674A58
+ 2F9F772E21A1100D21BF5F9B9B91BD6FC8C83535CA6A6AC56A35441D1D1D6C1D
+ 15C0359E5DD71D441D1D1D131313131313131515151515151313C01526595465
+ 653E131515151515C0C0C0C0C0C0C0159215C0151E5D3E13C015C0A9921515AE
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FE2
+ DAE97FFFFFFFFFE0DADA40FFFFDADA0CFFFFFFFFFFFF0CDADAE6FFFFFFFFFFFF
+ FFDEDA12FFFFFFDEDADADADAFFFFFFFFFFFFDFFFFFFFDFDADA0CFF40DADAE0DF
+ FFFFFFDFE9DAE27FFF20DADA0CFFFFFF12DADADEFFFFDEDADEFFFFE4DAE0FFFF
+ FFE9DAE2E1FFFFFFFFFFFF12DADAE0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFCFCFCFCFCFCFCFCDBFCDBDBFCDBFFFFFCFCFCFCFCFCFCFFFF
+ FFFFFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFCFCFCFCFC64640ABBBB160EEE076108E30B703C181B86194742BE300422
+ EAE54F4E270F0202621C558C8C2A099739382CB3343333674A78589477A85C75
+ CC754D4D0606065F4D4D4D4C4C4C4C4C9191919191913AC83792449E3E151D13
+ 1D1D1D1D1D1D1D1D1D1D1D13131313151D13C092764565653E13131513131313
+ 131315151515C092921315C03D651E5415C092C0151592AE0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0CDADA7FFFFFFFFFFFFF
+ DEDAE4FFFFDADA0CFFFFFFFFFFFF12DADA0CFFFFFFFFFFFFFFDEDA0CFFFF40DA
+ DA0CDADAFFFFFFFFFFFFFFFFFFFF40DADAE6FF20DAE4FFFFFFFFFFFFDFE2DAE0
+ FFDEDADADFFFFFFFFFE4DADAFFFFDEDADEFFE6DAE2DFFFFFE1DADAE6FFFFFFFF
+ FFFFFFFFDADADEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFCFCFCFCFFFCFCFCFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFFFFFCFC6464
+ 640A0ABB160E0EEE070808E3B1703C1B86195B6049300451EA36694E270F0202
+ 2B1C55238C2A09F2C2382CB3346305674A4A017873A4C975CCBF4D0D0D667506
+ 4C4C4C9B4C4C9B4C064D9B9B4C9B4C4C9B131E593E1D373735353535357C7C4B
+ 54545454543535353737543EB69C1D1D3E1D13133E6565653E3E3E3E3E653E1D
+ 131392C03D3E13133DC092151315C0A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFDEDAE9FFFFFFFFFFFFFF0CDADA7FFFDADA0C
+ E1127FFFFFFF12DADAE012121212DFFFFFE0DA0CFFDFE4DA20E1DADAFFFFFFFF
+ FFFFFFFFFFE6DADAE9FFFFDADA57FFFFFFFFFFFFFF20DAE4FFDEDADAFFFFFFFF
+ FFDEDADAFFFFDEDADEFFE4DA0CFFFFFF0CDADADFFFFFFFFFFFFFFFFFDADAE912
+ 1212127FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFC
+ FCFCFCFCFCFCFFFFFCFFFCFFFFFCFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCDDFCFCFC64640A0ABB1616EEEE
+ 076108E3B1703C181BED5B60423004512236294E4E270F022B62EF2300002AF2
+ 97382C1FB33405336767582F8794C9BF210D98A10D755F744D4D4C4C4D4C4D4D
+ 4C48489B48B5BD4C06131E593D1D767C353535359A8080C854547C7C7C545435
+ 3735833E984BCBCB1E1E65651E1E1E1E651E1E1E1E5D3765371E3D3D1E3E9292
+ 3E15C013131513A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFDEDADEFFFFFFFFFFFFFF12DADA12FFDADA0CE2DADAE4E1FF12DA
+ DADADADADADA12FFFF0CDA0CFF0CDAE27FFFDADAE1FFFFFFFFFFFFFF0CDADAE9
+ DFFFFFDADA0CFFFFFFFFFFFFFF0CDADAFFDEDADAFFFFFFFFFFDEDADAFFFF20DA
+ DEE6DADA2012FFFF0CDADAFFFFFFFFFFFFFFFFFFDADADADADADADA0CFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCFCFCFCFFFFFF
+ FFFFFFFCFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFDDFCFFFCFC640A0ABBBBBB16EE076108E30BB13C18
+ 1BED5B4742BE040422EA694F4E270F022B62EF238C002A09C2F7381F1F1F63B3
+ B33401785831C9A121A10DC97EAA4D4C4C4C4C4C4C4C4D4C9B5F7E21104C6E4C
+ 0D444BBF3E1D76809A35CACACACACA355454C8C8C8C85454C8C8483E0D541D13
+ 1E1E653E3E3E3E3D651E1E651E1E1E3E1D1E653D3E139213133E3E13131313A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20DA
+ E4FFFFFFFFFFFFFF12DADA12FFDEDA571240E9DAE2DF12DADADE0C0C0C0C7FFF
+ FF0CDA577FDADA0CFFFFDADA12FFFFFFFFFFFFE0DADAE0DFFFFFFFE2DAE0FFFF
+ FFFFFFFFFF0CDADAFFDEDADAFFFFFFFFFFDEDADAFFFF0CDADEE1120CE2DA57FF
+ 0CDADA7FFFFFFFFFFFFFFFFFDADAE40C0C0C0C12FFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFFFFFFFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFC
+ FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFF
+ FFFFFFDDFCDDFC6464640A0ABBBB160EEE070808E3B1703CE81B194760493004
+ 2236E54F4E270F02022BD6558C000009F239381F1F2C3333676778585873100D
+ 215C66A80D664D5F066E4D4D4D0674AA9B21F031AB484C06BF1E26BF3E133AB0
+ 6F446C9A541E5454353A76C6D1B6767C6F9545CAC9D713151E445D4465443D3E
+ 655D651E4BD5761DCACA351E3E15C0153E15C0133E1315A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6DADA12FFFFFFFFFFFF
+ 57DADADFFFDEDA0CFFFF7FDADAE612DADA0CFFFFFFFFFFFFFF0CDADEDEDAE4FF
+ FFFFDADA12FFFFFFFFFF12DADAE0FFFFFFFFFFE0DAE2DFFFFFFFFFFFFFE9DAE9
+ FF0CDADA12FFFFFFFF0CDADAFFFF0CDADEFFFFFFE6DADA7F7FDADA0CFFFFFFFF
+ FFFFFFFFDADADEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFCFC
+ FC640A0A0ABB160EEE076108E3B1703CE81BED5B60493004512236294E270F02
+ 022B1CEF2300000997C2382CB32CB33463334A7858C1C90D79C9AA1010A87E5C
+ 754C75064D4D744D0D242EB74D4C4C06754426BFD71D953A3AB54BCA543E3A76
+ 9CC875D4213A3A243A9145357ED7131D5D3E3E3E1D13543E1E1E1E3D9EC6BF54
+ 9A35351E3E1515136513C0C0151313A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFDFE2DAE9DFFFFFFFFFE1E2DAE0FFFFDEDA0C
+ FFFFDFDADA0C12DADA0CFFFFFFFFFFFFFF0CDAE2DADA12FFFFFFE4DA12FFFFFF
+ FFFF0CDADAFFFFFFFFFFFF12DADAE0FFFFFFFFFFE6DADAE6FF0CDADA12FFFFFF
+ FF0CDADA12FF0CDADEFFFFFF40DADA12FFDEDADA12FFFFFFFFFFFFFFDADADEFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFC64640A0ABB160E
+ EE076108E30B703C181BED5B47C33004512236294F27270F022B62EF23002A09
+ 09C2382C1F2C386363054A017887A8BF7B10065C5C0DAA66664D66754D064D06
+ AA2E24AA4C4D0D4D063E26BF3E3E9C9CC8B5CA6C76548335443A0DCC45542ED5
+ 95484584BFD7134454831E13761D5D1E5D9265452EC698544BC8351E1D15133E
+ 653E15C0153E3EA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFF12E2DAE40C121257E2DAE2DFFFFFDEDADE0C0CDEDADA4012DA
+ DADE0C0C0C0C0C7FFF40DADADA20FFFFFFFFDEDAE6FFFFFFFFFF40DADA201212
+ 0CE1FFFF0CDADADEE61240E0DADADEFFFF0CDADA12FFFFFFFF0CDADA12FF0CDA
+ E40C0C57E2DADADFFFDFE9DADAE040124057E1FFDADAE40C0C0C0C0C12FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFC640A640ABB1616EE076108080B7070
+ 181B861947423004512236694F27270F022B62D6230000EC0997F72C1FB33834
+ 056701787887CC0D79AB4DAB215C5CA16606AAAA4D4D4D060101F3C1A84C6606
+ 061DAD986C44959C9A95449A7676761E1E567D7D84B7F0069148953A063E1337
+ 5D1E5D13763E443E54C05488D12F983A6FC835441D151D1E3D3E3E133D653EA2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ E1DEDADADADADADADEDFFFFFFFDEDADADADADADAE0FF12DADADADADADADADA12
+ FF12DADADA7FFFFFFFFFDEDA0CFFFFFFFFFFFFE0DADADADADA7FFFFFFF40E4DA
+ DADADADADA57FFFFFF0CDADA12FFFFFFFF0CDADA12FF0CDADADADADADAE2E6FF
+ FFFFDFE0DADADADADADA12FFDADADADADADADADA0CFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ DDFFFFFFFFFFFFFCFCFC640A0ABB16160EEE070808E3B1703CE886194742BE30
+ 042236694F4E270F022B62EF238C00EC09C2F72C1FB3B36367670101782FCC0D
+ 10794D2121A15CAAAAAA4D4D064C4C064D7E797B945C9B4D061D9598131E763A
+ C83A449544541D54C8138806A3AD9826914895569E1D153576924B1E3E5D543E
+ 155D83982E4AD47B6FC81E3E13151D1E3D3E3D13133E3DA20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FE60C0CE67F
+ FFFFFFFFFFE112121212127FFFFFDF1212121212121212DFFFDF1212E1FFFFFF
+ FFFFE1127FFFFFFFFFFFFFFFE10C0C0CE1FFFFFFFFFFFFE10C0C0C40DFFFFFFF
+ FF7F1212DFFFFFFFFF7F1212DFFF7F121212121212FFFFFFFFFFFFFFDF400C0C
+ 0C40DFFF12121212121212127FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
+ FF64640A640ABB160EEE070808E3B1703CE88619476049300451EAE54F4E270F
+ 020262D6558C002A0997F7381FB3343305674A0178C121A15C794D7910667BAA
+ 75790D4DAA4C4C06AA064C6E0D7506AA981D45061335763A4844443A1EB21E76
+ 3A4B764B563A7648919B9593563D157C5D4B5D13441EC01E65541E5476983AC8
+ 6FC81E3E1315134465131515151513A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFCFFFCFC64640A0ABB16
+ 0EEE076108E3B1703CE81B195B4749300451EAE54F4E270F022B2B1C55238C2A
+ 09F239381FB3343305676701782F8BA1C9AB4D211021019F0D2FA4AA66064D06
+ AA4CA1AA4D74664CBF1D43981354769CC8C8D101F0D19E1D3EB2443A453A453A
+ 6E4C9506831D15763D8313831E44541E3D15135D3A761E3A4B8035441D151365
+ 6513131E1E1315CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCDDFFFCDB64640ABB1616EE076108E30B70
+ 3C181BED5B47C330045122E5294E270F02022B1C55238C00099738382CB33463
+ 05674A0178782EA199CC06215C210558A1F32FBF66AA4D4D4C75AA4D5C4D0610
+ BF1D4898134B3A913AC5940D7676C8837C7CA87B3A9C3A486E4C45983A1D1576
+ 3A1376D15DB2C6761E1E5D15765454354B80351E1D15133E3D151E833A65C0A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFDDDDFCFFFCFCFC640A0ABBBB16EEEE6108E30BB170181BED5B474230
+ 0451EA36294E272702022B62558C8C2AEC9739381FB3343305674A01782FD5C9
+ 79A866A8109F874A8DC6F30DA10D4D66AA666666AA06BFA1A11D9EBF549A9C3A
+ 83D7F578787BBDBD5648D4C90DD276833ABF76C94B441D761E769CC65978B67C
+ 54351E5D54545476763A1D761315374465153DD13E1365A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFF
+ FFFCFC64640ABB16160EEE610808E37070181BED5B4742300451EA36694E270F
+ 02022B62EF8C8C002AF239F71F1FB36333054A017858775CAB8B06791078A4C1
+ 0521587779A1A8A85C5C5C5C0DAA66A10D15C999A34B9C3A4B83F0BF5966486E
+ AA4CD198CC109E839C9EADD2C81E443A54139EF3C6785FB695764B4B4B5D5D5D
+ 763AC83A1E445D44156583D41E3E1EA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFFFCFC646464BBBB
+ 160EEE070808E3B1703CE886194742BE04042236694F27270F022B1CD6238C2A
+ 09F2C2381FB3B3633305674A01F024107B2FA1AB7901AB2E0599D42410107966
+ 5C5C5C5C7E0D0DA10DD78F2ECA95569148B6016701774D100D4CD24810065945
+ 595643A5AD54C8953E9EC9CC88C6CC83599EB2B2453A767654358335D7441E3E
+ 135D59995D76B26F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC64DB640ABBBB160EEE070808E3B1
+ 703CE886194742BE30512236694F27270F022B1CEF238C002AF297382C1F3463
+ 3305674A015824A8CF2F7BC9102E0D10C9BF107E66ABAB105C5C5CA8105C5C10
+ BF458F8BAD9D6E6E9E3A065906AA9D0D0DAA0D06BF9806599893143143C8C876
+ 48567DF0317B59594C9E489E48569C9C45959826C8C84B848399F57899454B6A
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFDDFFFFFC64646464BBBB160E0E076108E3B1703CE886194742BE
+ 04042236694F4E270F022B62EF23000009F239382CB3343305674A4A78879F8B
+ 249FCF7E7E0DAA664D754D064D4DB7664D4C4C4D06060606459E0D06B5843A3A
+ 959B48B03A984C934C4D954C9D4D9E4C4343933B43C85454CAD7CA3ACA845426
+ 3A6F6F3A833A3A3A4B26AA8444D7A3D7543D1E44545D37B40000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
+ FFFCFCFC640A0ABB160E0E076108E30B703C181BED5B604930042236694F4E27
+ 0F022B1CEF23002A0939382C1F3433054A0158879FA47B21CCA10DBFB7489195
+ 91726F4856987DC972B09AB06FB0B0B04445C835AD9A9A6FB0356A953A4B4C3B
+ 3A6F9AC84B9A4BC835268326434B544B54CAD7CACA985E43C89ACA9A9A353554
+ 4B9598B76FC89ACA3D5D76B6833E1D6A0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFC64640A0ABB
+ 1616EE070808E3E3B1703CE81B1947C3300422EA694F27270F022B1C5523002A
+ F2C2382C1F3433676701583194778B7BCC5C0D6606065F9B6E6EBD3AC8067B8E
+ 6EB5B0B0B0C880804435CAC5C89A6AB09AB09A80C53599A79572729A6F35C835
+ 1E35C8CA26C8354B6ACA4B1D440D7D8E6FC89A9A35CA1E35C580C83A35C5CA6C
+ 3D767610597613AE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFCFC640A0ABB160EEE0761610808
+ 08E3E3B17018ED4749045136694F4E270F022B1C5523002A0939381F1F343367
+ 677858739FA47BA85C5C0D4C5F9B9191726E72C826563B846E729A9A80356A6A
+ 801D4B356A80AC806A9A6AC8D73D3B8872726F806A806A6A35441E543E354435
+ B01D6FCACAAD7E95B56FC89A9ACACA353580CBC8AC6A4B353D7615BF76541ECB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDDFFFCDDFC0A0A0ABB160EEE07076107EE0E0E0EEE0708B11B
+ 473051EAE54F4E270F022B1C5523002A0939381FB33433674A015873772E8BCC
+ 5C66665F5F4C6F953A72B03ACAB73B546F3A1D806AB4C580B0B46AB46FB46AB4
+ 449A1D4435157D9880B09A8080C5C5C57C15443735351D351D441DCA1E4B0635
+ 6F6F44C8445D1D3E1D443E44541E1DC81E443E4BC81E54CB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
+ FCFFFC6464640ABB160EEE07077F71176B818181170316081B4204EA694F4E27
+ 0F022B1CD623002A0939381FB36333674A0158872F739F777B9F7BA81066A14D
+ 9B483AC815837ECAB43A3A6EC84C6F95484806486E4806483A953A6FC8152193
+ 6CB09A6ACBC5657C44351D5415C854547C541EC8D73A4844CA6FC515A95D3544
+ 1D3A35443E1E44C01E441D351E1D35CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFC6464640ABB
+ BB0EEE070781FEFEFEFEFEFEFEFEA60AE31904EAE54F4E270F022B621CEF8C00
+ EC97381F1F63333305676778788773739424A4249F79C9AB5C5CBF486C43AB84
+ 80064C4C9B5F664C485C065F5C0D6E5F4D4C75064C448F43B46A6F4B959C3AB2
+ 9CB2B29CB6B61D459C6F6F8ECA4C3A1DCACA6C9A4B4B1D1D1EC03A4B153A159C
+ 35441D4413C044A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC640A64BB160EEE0707CDFE7A
+ 82D36BCDFEFEFE17EE1B3022E5294F4E270F0F022BD655002A97381FB3343333
+ 33674A01015887947377247B7B2E218B10ABA806A34899CA954D489BAA48664C
+ 754D75BF064C75A10D454D9806CA8F26CA3548C8B2445D54C8543A359E35483A
+ 954B4593AD0D351D1DCAC56C1D134445761E1D833E3E3E1D351E1D3EC09244A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFCFC64640A0ABBBB160EEE07D312610808E3C4F4FEFEB8
+ 163C495136E5E56969294F4E270262232AF2381FB334333305670505782F8794
+ 942424014A947B7EA8A8CC98D75699A3B5484C0DAA774D669B7506664A78D1C6
+ 779E4C98BF3524841D3A6E541E3A75B676563A563A54F021BD4B45483AA1C51D
+ 6C4BC54410D5BF131D35BF4859D10D5D35353E3E15C044A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFF
+ FCDDFCDBDB64640ABBBB90EE07616161616108E3F6FEFEFEBB70425122220430
+ 604242490436271C0009F71F1F3433330505336301C1C1949F24335831059458
+ 79AB21A1CA437D844B0D0648D4A8F04C0D4CAABFF0F30188787E060DBF268DAD
+ A94CC85676D478884B3A3A8376450DF05F6E489DB598356A6CB0CA6CBF990676
+ 764483D1313A44445D5D3E3E131535A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5003030328FFFFFFFFFFFFFFFF
+ FF5003031AFFFFFFFFFFFFFFFFFF280303031AFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFF1A03030328FFFFFFFFFFFFFFFF28030350FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A030350FFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFF50030328FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A03031AFFFFFFFFFFFFFFFFFFFF
+ FF28030350FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF030303FCFC6464
+ FC0A16EE0761EE1A030316EE12FEFEFE50B1600404428670E68903890B1B0402
+ 23EC381F34343333336767670578873131948B01F301F52E215C990DD73A99CA
+ BD4C064C66F0AB0D740DBF9E8DF30501D20D4D9859842ECA6C5935B29C244A83
+ 45C83A7659C926F0064CB7959D4D9A6AC89ACA562E103A44C0440DD2249C354B
+ 5D351D1D15135DA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFF03A6FEFEFEFEFEFEB86B1AFFFFFFFF6BFEFEFEFEFEB871FF
+ FFFFFFFF17B8FEFEFEFEFEFE17FFFF03FEFEFE28FFFFFFFFFFFFFFFFFFFFFFFF
+ FFFF036BCDFEFEFEFEFECD32FFFFFFFF717AFEFEFEFECD6B28FFFFFFFFFEFEFE
+ 03FFFFFFFFFF81FEFE17FFFFFFFF6BFEFEFEFE82FF03FEFEFE28FFFFFFFFFFFF
+ 286BCDFEFEFEFE7A71FFFFFFFF03FEFEFEFFFFFFFFFFFFFFFFFF17FEFEFE03FF
+ FFFFFFFFFFFFFFFF71B8FEFEFEFE3217FEFE81FFFFFFFF037AFEFEFEFEFE17FF
+ FF03FEFEFEFFFFFFFF81FEFECD50286BFEFEFEFEB8FCCDFEFE03BB0E615081FE
+ FEFECD17BBFEFEFE03B147EB47A0A6FEFEFEFEFEFEB8D04E2309381F34343333
+ 336733673487942F24A424F0317B7B7D215CAB5CCA8399A33A0606AA31A49F06
+ 667445BFD4054A7B4D4D060D4D56CFCA3E453A3A76B2013A564BCA3A932E01D2
+ 484848B5B7486AB49AC844C8CCA13A3E1E35C8C9D54476765D1E1315C01D54CB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B
+ FEFEFEFEFEFEFEFEFEFEFE32FFFFFFB8FEFEFEFEFEFEFE71FFFFFF81FEFEFECD
+ 8181CDFE81FFFF03FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF286BFEFEFEFEFEFE
+ FEFEFE81FFFFFF6BFEFEFEFEFEFEFEFECD50FFFFFF7AFEFE03FFFFFFFFFF82FE
+ FE17FFFFFF71FEFEFEFEFE81FF03FEFEFEFFFFFFFFFFFF50CDFEFEFEFEFEFEFE
+ FE6BFFFFFF50FEFEFEFFFFFFFFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFFFFFF1A
+ CDFEFE8117173203FEFE81FFFFFF32FEFEFEFEFEFEFE81FFFF1AFEFEFEFFFFFF
+ 71FEFEFE32FF82FEFECD8217822881FEFE030A9050CDFEFEFEFEFEFE6BFEFEFE
+ 030B5B47E0CDFEFEFEF4D9F4FEFE2D272309381FB363333305674A67012FC194
+ 9F772E944AF02179795C10A1444B885DC8754D75BF7E4C064C4C9B06107821C9
+ 4D4D66665993ABC81D455654543A3A54B09A4B6F5624F00D5F48834806543E1D
+ 5D54351E1E351E1E3DD78399064B44765D5D139213653ECB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFEFE6B71033281
+ FEFEFEFE03FFFF827128FF1A7AFEFEA6FFFF17FEFECD17FFFFFFFF1A32FFFF03
+ FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF7AFEFEFECD82710303176B7AFFFF71FE
+ FEFE1728FF037AFEFEB828FFFF81FEFE71FFFFFFFFFF17FEFE82FFFFFF17FEFE
+ FE03FF71FF03FEFEFEFFFFFFFFFFFF7AFEFE7A03FF2817FEFEFE17FFFFFFFEFE
+ FEFFFFFFFFFFFFFFFFFF03FEFEFE03FFFFFFFFFFFFFFFF17FEFEB8FFFFFFFF1A
+ FEFE7AFFFF1ACDFEFE7A71FFFF1A32FFFFFFFEFEFEFFFF28B8FEFE6BFFFFCDFE
+ FE32DDDDDB646BFEFE710A1681FEFECD32EEC4D3FEFEFEFE030BEDFACDFEFE81
+ 9647305151E0E0028C09381F34B3330505674A0178878731249FA4A4247B108B
+ 10AB21BF35450D546EAA744859069E0606BD594C48C9064C4DAA75754D14211D
+ 54487676543A353A3A9A4BCA3A59453A95B25643BF541D929C3E441D761D5D35
+ D7541E35134B3A541E1E3DC01D4465CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF7AFEFEFE17FFFFFFFFFF6BFEFEFE6BFFFFFF
+ FFFFFFFF82FEFEA6FFFFB8FEFE17FFFFFFFFFFFFFFFFFF1AFEFEFEFFFFFFFFFF
+ FFFFFFFFFFFFFF17FEFEFE8128FFFFFFFFFFFFFFFFFFB8FEFE17FFFFFFFF28CD
+ FEFE17FFFF81FEFE17FFFFFFFFFF17FEFE81FFFFFF17FEFEB8FFFFFFFF1AFEFE
+ FEFFFFFFFFFF32FEFECD28FFFFFFFF17FEFECDFFFFFFFEFEFEFFFFFFFFFFFFFF
+ FFFF03FEFEFE03FFFFFFFFFFFFFFFF17FEFE7AFFFFFFFFFFFEFEFEFFFF17FEFE
+ CD28FFFFFFFFFFFFFFFFFEFEFEFFFF82FEFEB828FFFFFEFEFE71FFDD646417FE
+ FE170A7FFEFEFE3290E3703CD3FEFEFE03E31BC7FEFEB8C4190436294F4E0F2B
+ 8C2AC21F3434333305674A017887C19F9F9FA48B8B21797B5C797BBF35565E54
+ C84D664C750659590D6EBFAABF1010994D660666B798211D92483A4576453E3A
+ C86E4B9D459A4583B2594C83C9C81EC5441E4B5D5D131D3ED73ED74B3E441E54
+ 1D1E3E133E3E3DCB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFEFEFEFEFFFFFFFFFFFF28FEFEFEB8FFFFFFFFFFFF71CDFEFE71
+ FF50FEFEFE28FFFFFFFFFFFFFFFFFFFFFEFEFE03FFFFFFFFFFFFFFFFFFFFFFCD
+ FEFEB828FFFFFFFFFFFFFFFFFF1AFEFEFE1AFFFFFFFFFF82FEFE81FFFF17FEFE
+ 17FFFFFFFFFF17FEFE81FFFFFF71FEFE7AFFFFFFFFFFFEFEFE03FFFFFFFF6BFE
+ FE6BFFFFFFFFFF28FEFEFE03FFFFFEFEFE03FFFFFFFFFFFFFFFF03FEFEFE03FF
+ FFFFFFFFFFFFFF1AFEFEFEA61AFFFFFFFEFEFEFFFFA6FEFE6BFFFFFFFFFFFFFF
+ FFFFFEFEFEFF50FEFEFE50FFFFFF6BFEFECD32FFFCFC17FEFE170A03FEFEFE28
+ 070B18E818B8FEFE0308E8D8FEFE820B4704223636694F0FD600971FB3343333
+ 330501782F582F9494772E2E2E778BA8AB10107ECA8399264D4D4D0694F0774C
+ 4C0D4C749F78D5C6934D5F0D95AB999C765935C8CCD4BF4B4CACB5C8458BC976
+ 9C5643AD7D4B35353A5444C910CC834B26458821593E1576445D1E3E653E1DB4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFE
+ FE7AFFFFFFFFFFFFFF7AFEFEFEFFFFFFFFFF82FEFEFE17FFFF03FEFEFEFFFFFF
+ FFFFFFFFFFFFFFFFFEFEFE03FFFFFFFFFFFFFFFFFFFF03FEFEFE32FFFFFFFFFF
+ FFFFFFFFFF03FEFEFEFFFFFFFFFFFF03FEFEFEFFFF17FEFE82FFFFFFFFFF03FE
+ FE7AFFFFFF03FEFEFEFFFFFFFFFFFEFEFE03FFFFFFFF81FEFE17FFFFFFFFFFFF
+ 81FEFE17FFFFFEFEFE03FFFFFFFFFFFFFFFF03FEFEFE03FFFFFFFFFFFFFFFFFF
+ 32CDFEFEFE7A825081FEFE50FF81FEFE17FFFFFFFFFFFFFFFFFF81FEFE507AFE
+ FE17FFFFFFFF2881FEFEFECDA63271FEFEA60A03FEFEFE6407B1181B1BD8FEFE
+ 170818D9FEFE17613C86195B191947040F8C972CB33463050567014A4A582FC1
+ 87949F778B8B2E211010A15C3593A58E6F4C759B2EF0871010060D7B2105F32E
+ 934C5FA1B5A521B21E483A547BD51006BD7EA1BF4DAB24B23A839E06314C4B76
+ 1E443AD424CCB2984310D4993A1E3E3E5476541E5D5D5D9A0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE81FFFFFFFFFFFF
+ FF81FEFEFEFFFFFF2881FEFECD71FFFFFF03FEFEFEFEFEFEFEFEFEFEFEFEFFFF
+ FEFEFE03FFFFFFFFFFFFFFFFFFFF17FEFEFE1AFFFFFFFFFFFFFFFFFFFF03FEFE
+ FEFFFFFFFFFFFF03FEFEFEFFFF17FEFE81FFFFFFFFFF03FEFEFEFFFFFF03FEFE
+ FEFFFFFFFFFFFEFEFE03FFFFFFFF81FEFE17FFFFFFFFFFFF81FEFE17FFFF81FE
+ FE03FFFFFFFFFFFFFFFF03FEFEFE030317177128FFFFFFFFFF28177AFEFEFEFE
+ CDFEFE03FF81FEFE17FFFFFFFFFFFFFFFFFF81FEFE82FEFECDFFFFFFFFFFDDFC
+ 036BCDFEFEFECDFEFE810A1AFEFEFE1AEE0B18861BD3FEFE170818D9FEFEFEFE
+ FEFEFEFEFEFEFEF1E523F22C341F2C0505674A34344A2F582FC17394777777A4
+ A87910C94B99BC140666AA06A40178AB5C77A8AB8B01D421AA66BFBF8EF53F54
+ 4C5656592FD421985C105C06D578CC4C064C595E8D9326765D0D31D421B6590D
+ 06998DBF3A459C7654545D1E5D5D54B00000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF81FEFEFEFFFFFFFFFFFFFF82FEFEFE28FFFF
+ 81FEFE7A1AFFFFFFFFFFFEFEFE710303030317FEFEFEFFFFFEFEFE17FFFFFFFF
+ FFFFFFFFFFFF17FEFEFEFFFFFFFFFFFFFFFFFFFFFF28FEFEFE71FFFFFFFFFF32
+ FEFEB8FFFF17FEFEFE28FFFFFFFF71FEFEFEFFFFFF28FEFEFEFFFFFFFFFFFEFE
+ FE17FFFFFFFF82FEFE7AFFFFFFFFFFFFB8FEFE32FFFF81FEFE03FFFFFFFFFFFF
+ FFFF03FEFEFE03B8FEFEFEFE82FFFFFFFFFFFFFF280382B8FEFEFE32FF82FEFE
+ 7AFFFFFFFFFFFFFFFFFF81FEFE717AFEFE32FFFFFFDDDDFCFCDBDB5032A6FEFE
+ FEB80A16B8FEFE17BB0870E8E8D3FEFE17081BF1FEFEA60389892D89F4FEFED3
+ 22D6092CB3B31F0533674A05057858783131949F949F2E8BAB7921A15699A55E
+ B5060DA1BF7979A106A8BFBF0DAB0DBF66BFBF0693525243543A4C062106489E
+ 9DAA9D4C7910BF9E599E458E98C8CA1E4B98CC48454B3A13C8D74C4B5D1E1D3E
+ 1E1E3E3D653E3EC50000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF81FEFEFEFFFFFFFFFFFFFF17FEFEFE03FF50FEFEFE28FFFFFFFF
+ FFFFA6FEFE32FFFFFFFF32FEFEB8FFFFFEFEFECD50FFFFFFFFFFFFFFFFFF17FE
+ FEFEFFFFFFFFFFFFFFFFFFFFFFFFA6FEFEA6FFFFFFFFFF81FEFE6BFFFF71FEFE
+ FEA6FFFFFFFFA6FEFEFEFFFFFFFFFEFEFE28FFFFFFFFFEFEFECD50FFFFFF50FE
+ FEFE50FFFFFFFF03FEFEFE1AFFFF81FEFE03FFFFFFFFFFFFFFFF1AFEFEFE71FE
+ FEFEFEFEFE6BFFFFFFFFFFFFFFFFFF28B8FEFE17FF71FEFEFE03FFFFFFFFFFFF
+ FFFF81FEFE0350CDFEFE71FFFFDDFCFCDBDBDB64FC6417FEFEFE0A0ED3FEFECD
+ 500E08B1B1D3FEFEA6611BA0FEFEB8EE3C5B4786B8FEFEC7E5F9F21FB36363F3
+ 67670178F087879424A42E8B7B21A879795C2166B75E5E14B774B74DBD4C4856
+ 4C9D564D9E454C4C93489B59143B53A73A3A5435763AC8C8B0CA3AB54B3A3A4B
+ 4B5683AD434B26353E1D1D1E1E444435C813484B76351D445D1E1D3D3E1315CB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6FE
+ FEFEFFFFFFFFFFFFFF17FEFEFE03FF03FEFEFE17FFFF1A32FFFF03FEFECD03FF
+ FF287AFEFE17FFFFFEFEFEFECD821703FFFFFFFFFFFF71FEFEFE71FFFFFFFFFF
+ FFFFFFFFFFFF50FEFEFEA61AFF1A6BFEFEFE50FFFF03FEFEFEFEB882177AFEFE
+ FECDFFFF5003FEFEFE17030328FFFEFEFEFECD821703FFA6FEFECD32FFFF71CD
+ FEFEA6FFFFFF81FEFE71FFFFFFFFFFFFFFFFFFFEFEFE7128FF507AFEFEFE03FF
+ FF0328FFFFFFFFFFB8FEFE17FFFF7AFEFECD3228FF280303FFFF81FEFE03FF32
+ FEFECD50FFDDFC1A50DDFCFC64DB32FEFEFEBBEE617AFEFECD321AEEEE6BFEFE
+ 81611960D9FEFE6BC43C18F6FEFECDD02700392CB36333674A01F058D1C1872E
+ 8B79C90DBFBF754D4D4D56954556459E453B7D1480373E1E1E3544134435443E
+ 6C443E5D253FA7C945441D1E3E441E1D443E3E44443E44543BA13A8044921313
+ 13923E15153E153E1515351D1D54C0C09265A9A9C09213AE0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFE1AFFFFFFFFFF
+ FF03FEFEFE03FFFFB8FEFEFEFEFEFECDFFFFFF32FEFEFE7A81FEFEFE7A28FFFF
+ FEFEFE7AFEFEFE17FFFFFFFFFFFF28FEFEFE6BFFFFFFFFFFFFFFFFFFFFFFFF32
+ FEFEFEFEFEFEFEFEFE32FFFFFF03FEFEFE81FEFEFEFEFEFEFE82FFFF81FEFEFE
+ FEFEFEFE03FFFEFEFE7AFEFEFE17FF287AFEFEFEFEFEFEFEFE7A28FFFFFF81FE
+ FE17FFFFFFFFFFFFFFFFFFFEFEFE03FFFFFF28CDFEFE6BFFFF82FE7A6B17177A
+ FEFEFE50FFFF50CDFEFEFEFEFEFEFE17FFFFA6FEFE32FFFFA6FEFEB828FCDB28
+ FECD8117176BCDFEFEA6166108C47AFEFEFEFEFEFEFEFEFEB8E3473096F4FEFE
+ CD81B8FEFEFEC72262F2381F3433054A7858C17331319F7BC975B648B245956F
+ C84B35449A9ACACA543B3B841DAC1313921D13921D1D151D6C1D1D3D3D3B983A
+ 1E13131D1D131D1315C0C01313C015138E5615B4CB15151513C03E133D65C015
+ 131544C51D15A9C09265C013651365A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFF03FEFEFE17FFFF
+ 5081FEFEFEFEFE6BFFFFFFFF037AFEFEFEFECD6B28FFFFFFFEFEFE716BFEFE17
+ FFFFFFFFFFFFFF6BFEFEFE03FFFFFFFFFFFFFFFFFFFFFFFF1A6BFEFEFEFEFEA6
+ 03FFFFFFFF03FEFEFE2882CDFEFEFECD82FFFFFF81FEFEFEFEFEFEFE03FFFEFE
+ FE716BFEFE17FFFFFF32B8FEFEFEFEB81728FFFFFFFF6BFEFE17FFFFFFFFFFFF
+ FFFFFFFEFEFE03FFFFFFFF81FEFE81FFFF0381CDFEFEFEFEFEB871FFFFFFFF1A
+ 6BFEFEFEFEFECD50FFFF17FEFE17FFFF28CDFEFE7A28DBDB6B7AFEFEFEFEFEFE
+ 6B7F0708E30BE3F67AFEFEFEFEFEFEFEF418EB512296F8CDFEFEFEFEF432510F
+ 009738B33433674A015831D4319F8BA85C0DBF064D4D4C4856454B6F6FB044B4
+ 3D3B5E3DAC7C3554C83A3A83453A3A56953A9C76A37D986A133E441E35444435
+ 764B4B7676C8544B439D1D1DC53537445D1E545D4B3A5D545D5435763792135D
+ 3E1E651E1E3E1ECB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFF03FEFEFE17FFFFFFFF28030350FFFF
+ FFFFFFFFFFFF28030350FFFFFFFFFFFFFFFFFFFFFF1A031AFFFFFFFFFFFFFF1A
+ CDFEFECD71FFFFFFFFFFFFFFFFFFFFFFFFFFFF030303FFFFFFFFFFFFFFFFFFFF
+ FFFFFFFF500303FFFFFFFFFFFFFF81FEFE03FFFFFFFFFFFFFFFFFF1A031AFFFF
+ FFFFFF1A03031AFFFFFFFFFFFFFF17FEFE17FFFFFFFFFFFFFFFFFFFEFEFE03FF
+ FFFF28CDFEFE81FFFFFFFFFF2803030328FFFFFFFFFFFFFFFFFF0303031AFFFF
+ FFFF17FEFE17FFFFFFFFFFFFFFFCFC640A646450030350BB16EE61E30BB17070
+ 700B89898989FBE819C351E5693622300C2D2D9604690FF92AF2382CB3B33305
+ 4A01739FC131217B7B79CCA8C910C910AB10107EA10D4D3A3D995E3D3A914556
+ 484C5906064C9E064C480659A38F0DAC4476764B3A3A4B4556459C4545454545
+ 5E9D441D7C355D35C8545454544B4B4B544B6A7637A9655D4B5D1E5D443E1EB4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FE
+ FEFE03FFFFFFFFFFFF28FEFEFE17FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32FEFEFEFE7A1703
+ 0371177A03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFE32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFE17FFFFFFFFFFFFFFFFFFFEFEFE6B171717B8FEFEFE17FF
+ FFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFE17FFFF
+ FFDDFCFFFFDBDB640A0A0ABBBB1616EE0761080BB1703C18E81B86ED195B6049
+ 0451364F4E4E4E4E4E4E4E270F2B55000939F72CB3346305674A317731C18BD5
+ 8B7BCC79A810A8A8C90D0D66660D75B55D7D5EA39B919C564548489E064C484C
+ 7448065954B95E6C353A76C83A833A45953A3A3A3A4545457E3A44923A443554
+ 35C8C8C854355454543A3580C5921E651E13445D3E441ECB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03FEFEFE17FFFFFFFFFF
+ FFFFFEFEFE6BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03CDFEFEFEFEFEFEFEFEFE28FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A17
+ 8117FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FE
+ FE81FFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFE7A28FFFFFFFFFFFFFCFCFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEA6FFDDFFFFFFFCFCFCDB64
+ 0A0ABBBB900EEE076108E30B703C18E886195B4742EB30512236294E270F0F0F
+ 02022B62552300EC9739381FB3346333674A312431877B248B7979A8C9105C7E
+ A8A17EA10D107E9B1E7D5EA34D91484556B64848590659594D4C7598265206AC
+ 543A76544B833A7645459595569E9E483BADCACB9C351E541EC8547676C83A76
+ 263AC8356C151E5D1D137676445D54B40000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF03FEFEFE17FFFFFFFFFFFFFFFEFEFE81FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFF28177AFEFEFEFEFEFE7AFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFE81FFFFFFFFFFFF
+ FFFFFFFEFEFEFEFEFEFEFECD6B28FFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFF17FEFE81DDFFDDFCFFFFFCDB640A0ABB16160EEE0761
+ 0808E3B1703CE886195B4742BE04512236294F4E270F02022B1CEF232300ECF2
+ C2F7381FB3346305674AC1D49F877BD2A47B21A85C105C7E5C0D7E7EAA7E0D6E
+ 3E7D7EA34D9B064548065956484C4C4C4D4D060684B99DB4763A453A4B45B276
+ 3AB5B595489EB79D93C86C1D4BB21E35459544CA9A9A956F263580ACCB923E45
+ 45560DB63E5D54B40000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF03030350FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDDFFFCFCFC0AFC640A0ABB16160EEE076108E30B707018E886
+ 19476049300451EA36294E270F0F022B1C1C238C8CECEC09C2382C1FB3633305
+ 674A58D49F2F7B24A48BABA85C10A1667E667E7E665C5C481E8B99A34C9BBF26
+ 59A10D9EB24C5959AA7575982552BDAC3A45B6483A48593A6F3A95BD4874483A
+ CAC86CB03A10B2458BC93A9A9A9A569556353AB0C5C5C888CCCCD5BF1D4435B4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFC
+ FFDBFFDB640A0ABBBB161690EE07610808E3B1703C181BED5B4742BE30042236
+ E54F4E270F0F022B1CEF238C00EC0909C2382C1F3463330567675894242FD2D5
+ CF2F8B7B2F87BFA1A1060D5CA17EA19B843F3BCA759B2F569888C12659598359
+ 4D750D14145206AC3A83F00688F02E2626AD833A4C4559569845352644D47B99
+ 8B4DCACA4B4B4B3A9C9C06B2441E1ED5CC8B103A134435CB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFCFCFFFFFCFFFFFFFFFFFFFFFCFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDFCFCDB0A0A0A0A
+ BB16160EEE076108E30B703C3CE886195B60493004512236694F27270F02022B
+ 1C55238C002A090939F72C1F34630505674A5894C1D1D49FA44A9F2158F00D7E
+ ABA1A1A166A1A14D938F3F25069B012EA17B2EB74C4C7498064806433BF55E6A
+ 454CD5CC06310D3A9595957645455999D2481D9A3A9F217EC99EC8C8264BC84B
+ 35060D4544541D06764545C83554C8AC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFCFCFCFCFFFCFCFCFCFCFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFDDFCFC640A0A0A0ABB1690EE070761E3
+ E30B703C181B86194760BE3004513636294E27270F022B621C558C0000EC0909
+ C2382C1F34633305674A58942F53312E24672F2E2F2FA8A85C667566660D0D4D
+ 1453528E069B77D55C775C66749B74744DB5BF433FBC3B6E489BA87B4C214C9B
+ 56489B48484893B97B484B4BD79D4B5606B7BD95BDB54BC88EAB5992A96F9A4B
+ 56959556454B44CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFC
+ FCFCFCFFFFFFFCFCFFFFFFFFFCFFFFFCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFCFCFC640A0A0ABBBB16160E07076108E30BB1703CE81B195B
+ 47C3BE30042236E54F4E270F0F022B62D6558C8C002A09F239382C1F34630505
+ 67017824C1AFA52E8B77777777A48B79AB1010105C5C664D5EAF5384065F7510
+ 667BAAAB7E0D7E0D0D4CBFB7B9535E6A729AAA7E66667E5C7EA1A1759B488EA5
+ A49DCAC8BD4D744D4D4D4D4C74B79DB5A3B98F06CACAB06E3AC8C83A954BC8AC
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFCFF
+ FCFFFFFCFCFFFCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCDB0A0A0ABBBBBBBB90EE07610808E30B7070181B8619476049300451223669
+ 4F4E270F02022BD6EF558C002A09F2C2F7382C1FB3633305674A7894C111BCCF
+ 7B798B77A48BA4A42E2E7B79A85C064DB96DAF14B79B5F0D7EA87E7979A85C5C
+ 7E0648AAF5BCB9747472064D66747E66AA4D5F6EB59314BCAFA44C9AB0B5849A
+ 84B5BD3A3ABD48B7A75A5AF57B0659757E7E5C5CC99979790000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFFFCFFFFFCFCFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCDB64640A0ABBBBBB
+ 1690EE076108E30BB1703CE81BED194742493004222236294F270F0F022B62EF
+ EF238C00ECECF2C2F7382C1F3463330567012F2F5A1185A48B2EA421A47B218B
+ 7979A85C5C66665CAF5A6D53C94CAA06664DAAAAAA4D4D4D14064C79BCBAF577
+ 9DB572B5B5729DB574744D4D6610D45AFDAF01C1772E9FC1C12FF0014ABCAFBA
+ 5AFDFD6D5A5A5A5A5A5A5ACEBACE5A2C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFFFFFCFCFCFCFCFFFFFCFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFDDFFFFFFFFFFFFFFFFFFFFDDDBDBDB640A0A0ABBBBBB16EEEE616108E30B
+ 703C3C1B86ED4760C330040422EA69294E270F0F022B621C55238C002A09F2C2
+ F72C1FB334330505670178F31111110524D22E21D221AB10AB79AB1079792EF0
+ FD6DFD6D0587318F3131C12FA5F07801F0010185BA6D5AAF0101F5BC058585BA
+ BABACEBACEBA5A6DFDFDFDFDFDFD6D5A5A6D6DFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCDBDBDBDBDB
+ DBFCFFFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFCFCFCFCDB640A0ABBBBBBBB160EEE076108E3E30B703C181B865B4760
+ C33004512236294F4E270F02022B1CEF23238C00EC0909E78A39F738112C2C1F
+ CECE6D41111111FD5ACE5A6D6D6D6D5A5A5A5A5A5A5A6DFDFDFDFDFDFDFD6D6D
+ 5A6D5A6D5A5A5A5A5A5A5AFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFFFCFCFCFC
+ FCFCFFFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBFCFCDB
+ 640ABBBBBB16160EEE07616108E30B70703CE81B195B47C3BE040422EAE5294E
+ 27270F022B621CEF238C8C00ECECEC6868E78A8A464646414141411111111111
+ 1111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
+ FCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFCFCFCFCFCFCFCFCFCFFFCFCFFFF
+ FFFFDDFFDDDDFFFFFFFFFFFFDDFFFFFFFFFFFFFFFCDBDB64640A0ABBBB16160E
+ EE07610808E3B1703C181BED194760493004512236E54F4E270F0F022B1C1C55
+ 238C00ECECECEC09688A8A8A4646464141414111111111111111FD1111FDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBDBDBDB
+ DBDBDBDBDBDBDB6464FCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFDDFFFFFFFFFFFF
+ FFFFFFFFFCDDFFFFFCFFFFFCDB64640A0A0ABBBBBB160EEE07610808E30B7070
+ 3CE81B195B4742BE300451EAE5294F4E270F02022B1C1C558C8C0000ECEC6868
+ E78A8A46464646414141411111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB6464646464
+ 64FCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFDDDDFFFFDDFFFFFFDDFFFFFFFFFFFC
+ FFFFFCFCFCFC640A0A0ABB1616160EEE076108080B0B703CE81B86194760C3BE
+ 04512236E54F4E270F0F022B2B1CEF8C8C0000ECECEC0909DCE7464646464141
+ 4111411111111111FDFD11FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB646464646464FCFC64FCFCFCFCFC
+ FCFCFCFCFCFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBFCDBDBDB0A0A
+ 0ABB1616160E0E07616108E30B70703CE886195B474249305151223669294E27
+ 0F0F022B2B1CEF238C8C0000ECEC096868E7E78A8A4646414141414111411111
+ 1111111111111111111111111111111111111111111111111111111111111111
+ 1111111111111111111111111111111111111111111111111111111111111111
+ 11111111111111111111111111111111111111111111118A0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFCFCFCFCFCDB
+ DBDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A646464646464DBFCFCFCDBFCDBFFFFFF
+ DDDDFFDDFFFFFFFFFFFFFFFFFFFCFCFCFCFFFCDBDB0A0A0ABBBB160E16EEEE07
+ 070808E30BB13C3CE81B86194760C3BE3004512236E54F4E4E270F0F022B2B1C
+ 1C55558C8C8C0000002A2AECECEC09EC09096868686868686868DCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCEC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB
+ DBDBDBDBDBDB64DBDBDBDBDBDBDBDBFCFCDBFCDBFFFFFFFFFFFFFFDDDDFFFFFF
+ FFFFFFFFFFFCFCFCFCFCFCDBDBDBDB640A0ABBBBBB160EEEEE07616108E3E3B1
+ 703C18181BED195B4760C349303004515122EAEAE5E529294F4F4E4E27272727
+ 270F0F0F0F0F0F0F0F0202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 020202020202020F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDDFCFCFCFCFCFCFCFCFCDD
+ DDDDDDDDDDFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFC640A0A0A0A0ABB161616900EEE0707610808E3E30B0BB170
+ 3C3C3C18E81B1B86EDED19195B5B4747474760604242C3C3C3C3494949494949
+ EBEBEBBEBEBEBE30BEBE30303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303049
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFDDDDFCFCFCFCFCFCFCFCDBDBDBDBDDFCFCFCDDDDFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDDFCFC64
+ 640A0A0A0ABB161616900EEE070761080808E3E30BB17070703C3CE81B1B1B86
+ ED1919195B5B4747476060424242C3C3C3494949494949EBBEEBBEBEBEBE3030
+ BE30303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030490000FCFCFCFCFCFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB
+ DBDB6464646464640A0A0A0A0A0A6464646464DBDBDBDBDBDBDBDBFCFFFFDDDD
+ FFDDFFFFFFFFFCFFFFFFDDFFFFFCFCFCFCDBDBDBDB640A0ABBBBBBBB16EEEE07
+ 610808E3E3B170703C181B86ED195B4742C3BE300404512222EA36E529294F4F
+ 4E4E4E272727270F0F0F0F0F0F0F020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020F0000FCFCFCFCFCFCFCFCFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCDBDBDBDBDBDBDB64640A0A0A0A0ABBBBBB
+ BBBBBBBBBBBB0A0ABB0A0A0A0A0A0A0ADB64FCFCFCFFDDDBFFFFDDFFFFFFFFFF
+ FFFFFCFFFFFFFC64DBDBDB0A0A0ABB161690EEEE07070808E30BB1703C181B1B
+ 195B476049300451512236294F4E27270F0F022B2B1C1CEF558C8C0000000000
+ ECECECECECEC09090968686868686868DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCEC0000FCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFF
+ FCFCFCFCFCFCDBDBDBDBDBDBDB640A0A0A0A0ABBBBBBBBBBBBBBBBBBBBBBBBBB
+ BB0A0A0A0A0A640A6464DBFCFCDDFCFFDDFCFFFFFFFFFFFFFFFFFFFFFFFCDBFC
+ 640A0A0ABBBBBBBB900EEE07616108E3E30B703C18E81B191947604930040451
+ 223669294E27270F02022B2B621CEF55238C8C00000000ECECECEC0909096868
+ 68E7E768E7E78AE7E78A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
+ 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
+ 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8AEC
+ 0000}
+ Login.LeftImage.Data = {
+ 07544269746D617016090000424D160900000000000036040000280000003200
+ 0000180000000100080000000000E00400000000000000000000000100000000
+ 000000000000000080000080000000808000800000008000800080800000C0C0
+ C000C0DCC000F0CAA6000020400000206000002080000020A0000020C0000020
+ E00000400000004020000040400000406000004080000040A0000040C0000040
+ E00000600000006020000060400000606000006080000060A0000060C0000060
+ E00000800000008020000080400000806000008080000080A0000080C0000080
+ E00000A0000000A0200000A0400000A0600000A0800000A0A00000A0C00000A0
+ E00000C0000000C0200000C0400000C0600000C0800000C0A00000C0C00000C0
+ E00000E0000000E0200000E0400000E0600000E0800000E0A00000E0C00000E0
+ E00040000000400020004000400040006000400080004000A0004000C0004000
+ E00040200000402020004020400040206000402080004020A0004020C0004020
+ E00040400000404020004040400040406000404080004040A0004040C0004040
+ E00040600000406020004060400040606000406080004060A0004060C0004060
+ E00040800000408020004080400040806000408080004080A0004080C0004080
+ E00040A0000040A0200040A0400040A0600040A0800040A0A00040A0C00040A0
+ E00040C0000040C0200040C0400040C0600040C0800040C0A00040C0C00040C0
+ E00040E0000040E0200040E0400040E0600040E0800040E0A00040E0C00040E0
+ E00080000000800020008000400080006000800080008000A0008000C0008000
+ E00080200000802020008020400080206000802080008020A0008020C0008020
+ E00080400000804020008040400080406000804080008040A0008040C0008040
+ E00080600000806020008060400080606000806080008060A0008060C0008060
+ E00080800000808020008080400080806000808080008080A0008080C0008080
+ E00080A0000080A0200080A0400080A0600080A0800080A0A00080A0C00080A0
+ E00080C0000080C0200080C0400080C0600080C0800080C0A00080C0C00080C0
+ E00080E0000080E0200080E0400080E0600080E0800080E0A00080E0C00080E0
+ E000C0000000C0002000C0004000C0006000C0008000C000A000C000C000C000
+ E000C0200000C0202000C0204000C0206000C0208000C020A000C020C000C020
+ E000C0400000C0402000C0404000C0406000C0408000C040A000C040C000C040
+ E000C0600000C0602000C0604000C0606000C0608000C060A000C060C000C060
+ E000C0800000C0802000C0804000C0806000C0808000C080A000C080C000C080
+ E000C0A00000C0A02000C0A04000C0A06000C0A08000C0A0A000C0A0C000C0A0
+ E000C0C00000C0C02000C0C04000C0C06000C0C08000C0C0A000F0FBFF00A4A0
+ A000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFF
+ FF00FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD525252525252525252525252
+ 5252FDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDAFB75E5E5E66666767676F6F6F6FB752FDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBF
+ BFBFBFBFBFBFBFBFBFB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFB76F676F6FB7B7B7B7B7776F5EB752FD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBFBFB752FDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFB76F676F6F6FB7B7
+ B7B7776F5EB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBFBFBF52FDFDFDFDFD
+ 0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAF
+ B76767676F6F6FB7B7B7776F5EB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBF
+ BFBF52FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDAFB76767676F6F6F6FB7B7776F5EB752FDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBF
+ BFBFBFBFBFBFBFBFBFBF52FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBFB7AFAFB7B7B7B7BFBFBFBFB7B752FD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDAFB76F675E5E5E5E5E5E676FB7A5FDFDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F79BFDFDFDFD
+ FDFDA4F7A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDF7F79BFDFDFDFDFDFDA407A3FDFDFDFDFDFDFD
+ 0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDF7F79BFDFDFDFDFDFDA407A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F7A4FDFDFDFDFDFDF707
+ A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDF707A49AFDFDFDFDA30707A3FDFDFDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F6A4
+ A49B9A9AA3A407079AFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F6F7F7A4A4F70707A3FDFDFDFD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDF7F6F6F6F6F607A3FDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7A3A3A3
+ A3A3FDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ 0000}
+ Log.WindowCaption = 'Seguran'#231'a'
+ Log.LabelDescription = 'Log do Sistema'
+ Log.LabelUser = 'Usu'#225'rio :'
+ Log.LabelDate = 'Data :'
+ Log.LabelLevel = 'N'#237'vel m'#237'nimo : '
+ Log.ColLevel = 'N'#237'vel'
+ Log.ColMessage = 'Mensagem'
+ Log.ColUser = 'Usu'#225'rio'
+ Log.ColDate = 'Data'
+ Log.BtFilter = '&Aplicar Filtro'
+ Log.BtDelete = '&Excluir Log'
+ Log.BtClose = '&Fechar'
+ Log.PromptDelete = 'Confirma excluir todos os registros de log selecionados ?'
+ Log.PromptDelete_WindowCaption = 'Delete confirmation'
+ Log.OptionUserAll = 'All'
+ Log.OptionLevelLow = 'Baixo'
+ Log.OptionLevelNormal = 'Normal'
+ Log.OptionLevelHigh = 'Alto'
+ Log.OptionLevelCritic = 'Cr'#237'tico'
+ Log.DeletePerformed =
+ 'Deletion of system log done: User = "%s" | Date = %s a %s | Leve' +
+ 'l <= %s'
+ UsersForm.WindowCaption = 'Seguran'#231'a'
+ UsersForm.LabelDescription = 'Cadastro de Usu'#225'rios'
+ UsersForm.ColName = 'Nome'
+ UsersForm.ColLogin = 'Login'
+ UsersForm.ColEmail = 'Email'
+ UsersForm.BtAdd = '&Adicionar'
+ UsersForm.BtChange = 'A<erar'
+ UsersForm.BtDelete = '&Excluir'
+ UsersForm.PromptDelete = 'Confirma excluir o usu'#225'rio "%s" ?'
+ UsersForm.PromptDelete_WindowCaption = 'Delete user'
+ UsersForm.BtRights = 'A&cessos'
+ UsersForm.BtPassword = '&Senha'
+ UsersForm.BtClose = '&Fechar'
+ AddChangeUser.WindowCaption = 'Cadastro de Usu'#225'rios'
+ AddChangeUser.LabelAdd = 'Adicionar Usu'#225'rio'
+ AddChangeUser.LabelChange = 'Alterar Usu'#225'rio'
+ AddChangeUser.LabelName = 'Nome : '
+ AddChangeUser.LabelLogin = 'Login : '
+ AddChangeUser.LabelEmail = 'Email : '
+ AddChangeUser.CheckPrivileged = 'Usu'#225'rio privilegiado'
+ AddChangeUser.BtSave = '&Gravar'
+ AddChangeUser.BtCancel = 'Cancelar'
+ AddChangeProfile.WindowCaption = 'Perfil de Usu'#225'rios'
+ AddChangeProfile.LabelAdd = 'Adicionar Perfil'
+ AddChangeProfile.LabelChange = 'Alterar Perfil'
+ AddChangeProfile.LabelName = 'Descri'#231#227'o : '
+ AddChangeProfile.BtSave = '&Gravar'
+ AddChangeProfile.BtCancel = 'Cancelar'
+ UsersProfile.WindowCaption = 'Seguran'#231'a'
+ UsersProfile.LabelDescription = 'Perfil de Usu'#225'rios'
+ UsersProfile.ColProfile = 'Perfil'
+ UsersProfile.BtAdd = '&Adicionar'
+ UsersProfile.BtChange = 'A<erar'
+ UsersProfile.BtDelete = '&Excluir'
+ UsersProfile.BtRights = 'A&cessos'
+ UsersProfile.PromptDelete = 'Existem usu'#225'rios com o perfil "%s". Confirma excluir?'
+ UsersProfile.PromptDelete_WindowCaption = 'Delete profile'
+ UsersProfile.BtClose = '&Fechar'
+ Rights.WindowCaption = 'Seguran'#231'a'
+ Rights.LabelUser = 'Permiss'#245'es do Usu'#225'rio : '
+ Rights.LabelProfile = 'Permiss'#245'es do Perfil : '
+ Rights.PageMenu = 'Itens do Menu'
+ Rights.PageActions = 'A'#231#245'es'
+ Rights.BtUnlock = '&Liberar'
+ Rights.BtLock = '&Bloquear'
+ Rights.BtSave = '&Gravar'
+ Rights.BtCancel = '&Cancelar'
+ ChangePassword.WindowCaption = 'Seguran'#231'a'
+ ChangePassword.LabelDescription = 'Trocar Senha'
+ ChangePassword.LabelCurrentPassword = 'Senha Atual :'
+ ChangePassword.LabelNewPassword = 'Nova Senha : '
+ ChangePassword.LabelConfirm = 'Confirma'#231#227'o : '
+ ChangePassword.BtSave = '&Gravar'
+ ChangePassword.BtCancel = 'Cancelar'
+ ResetPassword.WindowCaption = 'Definir senha do usu'#225'rio : "%s"'
+ ResetPassword.LabelPassword = 'Senha : '
+ XPStyleSet.DimLevel = 30
+ XPStyleSet.GrayLevel = 10
+ XPStyleSet.Font.Charset = ANSI_CHARSET
+ XPStyleSet.Font.Color = clMenuText
+ XPStyleSet.Font.Height = -11
+ XPStyleSet.Font.Name = 'Tahoma'
+ XPStyleSet.Font.Style = []
+ XPStyleSet.Color = clBtnFace
+ XPStyleSet.DrawMenuBar = False
+ XPStyleSet.IconBackColor = clBtnFace
+ XPStyleSet.MenuBarColor = clBtnFace
+ XPStyleSet.SelectColor = clHighlight
+ XPStyleSet.SelectBorderColor = clHighlight
+ XPStyleSet.SelectFontColor = clMenuText
+ XPStyleSet.DisabledColor = clInactiveCaption
+ XPStyleSet.SeparatorColor = clBtnFace
+ XPStyleSet.CheckedColor = clHighlight
+ XPStyleSet.IconWidth = 24
+ XPStyleSet.DrawSelect = True
+ XPStyleSet.UseSystemColors = True
+ XPStyleSet.UseDimColor = False
+ XPStyleSet.OverrideOwnerDraw = False
+ XPStyleSet.Gradient = False
+ XPStyleSet.FlatMenu = False
+ XPStyleSet.AutoDetect = False
+ XPStyleSet.BitBtnColor = clBtnFace
+ XPStyleSet.ColorsChanged = True
+ XPStyle = True
+ WindowsPosition = poDesktopCenter
+ Left = 168
+ Top = 432
+ end
+ object ADOConnection1: TADOConnection
+ Connected = True
+ ConnectionString =
+ 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=..\Base.mdb;Persist' +
+ ' Security Info=False'
+ LoginPrompt = False
+ Mode = cmShareDenyNone
+ Provider = 'Microsoft.Jet.OLEDB.4.0'
+ Left = 72
+ Top = 432
+ end
+ object UCADOConn1: TUCADOConn
+ Connection = ADOConnection1
+ Left = 104
+ Top = 432
+ end
+ object UserControl1: TUserControl
+ AutoStart = True
+ ApplicationID = 'UCTDM'
+ ControlRight.ActionList = ActionList1
+ ControlRight.MainMenu = MainMenu1
+ UsersForm.MenuItem = Cadastrodeusuarios1
+ UsersForm.UsePrivilegedField = False
+ UsersForm.ProtectAdmin = True
+ EncryptKey = 0
+ NotAllowedItems.MenuVisible = True
+ NotAllowedItems.ActionVisible = True
+ Login.AutoLogon.Active = False
+ Login.AutoLogon.MessageOnError = True
+ Login.InitialLogin.User = 'Admin'
+ Login.InitialLogin.Email = 'qmd@usercontrol.com.br'
+ Login.InitialLogin.Password = '#delphi'
+ Login.MaxLoginAttempts = 0
+ Login.GetLoginName = lnNone
+ LogControl.Active = True
+ LogControl.TableLog = 'UCCTDMLog'
+ LogControl.MenuItem = logdosistema
+ ExtraRight = <
+ item
+ FormName = 'Form2'
+ CompName = 'BitBtn1'
+ Caption = 'Bot'#227'o Incluir'
+ GroupName = 'Formul'#225'rio 2'
+ end
+ item
+ FormName = 'Form2'
+ CompName = 'BitBtn2'
+ Caption = 'Bot'#227'o Alterar'
+ GroupName = 'Formul'#225'rio 2'
+ end
+ item
+ FormName = 'Form2'
+ CompName = 'BitBtn3'
+ Caption = 'Bot'#227'o Excluir'
+ GroupName = 'Formul'#225'rio 2'
+ end
+ item
+ FormName = 'Form2'
+ CompName = 'EdUserID'
+ Caption = 'Edit UserID'
+ GroupName = 'Formul'#225'rio 2'
+ end
+ item
+ FormName = 'Form2'
+ CompName = 'edNome'
+ Caption = 'Edit Nome'
+ GroupName = 'Formul'#225'rio 2'
+ end
+ item
+ FormName = 'Form2'
+ CompName = 'edLogin'
+ Caption = 'Edit Login'
+ GroupName = 'Formul'#225'rio 2'
+ end
+ item
+ FormName = 'Form2'
+ CompName = 'edSenha'
+ Caption = 'Edit Senha'
+ GroupName = 'Formul'#225'rio 2'
+ end
+ item
+ FormName = 'Form2'
+ CompName = 'edEmail'
+ Caption = 'Edit Email'
+ GroupName = 'Formul'#225'rio 2'
+ end
+ item
+ FormName = 'Form2'
+ CompName = 'edPriv'
+ Caption = 'Edit Privilegiado'
+ GroupName = 'Formul'#225'rio 2'
+ end
+ item
+ FormName = 'Form2'
+ CompName = 'edTipo'
+ Caption = 'Edit Tipo'
+ GroupName = 'Formul'#225'rio 2'
+ end
+ item
+ FormName = 'Form2'
+ CompName = 'edPerfil'
+ Caption = 'Edit Perfil'
+ GroupName = 'Formul'#225'rio 2'
+ end
+ item
+ FormName = 'DataModule1'
+ CompName = 'ADOTable1UCIdUser'
+ Caption = 'Campo UserID'
+ GroupName = 'Campos de Tabela'
+ end
+ item
+ FormName = 'DataModule1'
+ CompName = 'ADOTable1UCPrivileged'
+ Caption = 'Campo Privilegiado'
+ GroupName = 'Campos de Tabela'
+ end
+ item
+ FormName = 'DataModule1'
+ CompName = 'ADOTable1UCProfile'
+ Caption = 'Campo Perfil'
+ GroupName = 'Campos de Tabela'
+ end
+ item
+ FormName = 'DataModule1'
+ CompName = 'ADOTable1UCUserName'
+ Caption = 'Campo Nome'
+ GroupName = 'Campos de Tabela'
+ end
+ item
+ FormName = 'DataModule1'
+ CompName = 'ADOTable1UCLogin'
+ Caption = 'Campo Login'
+ GroupName = 'Campos de Tabela'
+ end
+ item
+ FormName = 'DataModule1'
+ CompName = 'ADOTable1UCPassword'
+ Caption = 'Campo Senha'
+ GroupName = 'Campos de Tabela'
+ end
+ item
+ FormName = 'DataModule1'
+ CompName = 'ADOTable1UCEmail'
+ Caption = 'Campo Email'
+ GroupName = 'Campos de Tabela'
+ end
+ item
+ FormName = 'DataModule1'
+ CompName = 'ADOTable1UCTypeRec'
+ Caption = 'Campo Tipo'
+ GroupName = 'Campos de Tabela'
+ end
+ item
+ FormName = 'DataModule1'
+ CompName = 'ADOTable1UCKey'
+ Caption = 'Campo Chave'
+ GroupName = 'Campos de Tabela'
+ end>
+ LoginMode = lmActive
+ UsersProfile.Active = True
+ UsersProfile.MenuItem = Perfildeusurios1
+ TableUsers.FieldUserID = 'UCIdUser'
+ TableUsers.FieldUserName = 'UCUserName'
+ TableUsers.FieldLogin = 'UCLogin'
+ TableUsers.FieldPassword = 'UCPassword'
+ TableUsers.FieldEmail = 'UCEmail'
+ TableUsers.FieldPrivileged = 'UCPrivileged'
+ TableUsers.FieldTypeRec = 'UCTypeRec'
+ TableUsers.FieldProfile = 'UCProfile'
+ TableUsers.FieldKey = 'UCKey'
+ TableUsers.TableName = 'UCCTDMTabUsers'
+ TableRights.FieldUserID = 'UCIdUser'
+ TableRights.FieldModule = 'UCModule'
+ TableRights.FieldComponentName = 'UCCompName'
+ TableRights.FieldFormName = 'UCFormName'
+ TableRights.FieldKey = 'UCKey'
+ TableRights.TableName = 'UCCTDMTabRights'
+ ChangePasswordForm.MenuItem = rocarsenha1
+ ChangePasswordForm.ForcePassword = False
+ ChangePasswordForm.MinPasswordLength = 0
+ OnLogin = UserControl1Login
+ OnLoginSucess = UserControl1LoginSucess
+ OnLoginError = UserControl1LoginError
+ OnLogoff = UserControl1Logoff
+ DataConnector = UCADOConn1
+ CheckValidationKey = False
+ Left = 136
+ Top = 432
+ end
+ object UCXPStyle1: TUCXPStyle
+ Active = True
+ XPSettings.DimLevel = 30
+ XPSettings.GrayLevel = 10
+ XPSettings.Font.Charset = ANSI_CHARSET
+ XPSettings.Font.Color = clMenuText
+ XPSettings.Font.Height = -11
+ XPSettings.Font.Name = 'Tahoma'
+ XPSettings.Font.Style = []
+ XPSettings.Color = clBtnFace
+ XPSettings.DrawMenuBar = False
+ XPSettings.IconBackColor = clBtnFace
+ XPSettings.MenuBarColor = clBtnFace
+ XPSettings.SelectColor = clHighlight
+ XPSettings.SelectBorderColor = clHighlight
+ XPSettings.SelectFontColor = clMenuText
+ XPSettings.DisabledColor = clInactiveCaption
+ XPSettings.SeparatorColor = clBtnFace
+ XPSettings.CheckedColor = clHighlight
+ XPSettings.IconWidth = 24
+ XPSettings.DrawSelect = True
+ XPSettings.UseSystemColors = True
+ XPSettings.UseDimColor = False
+ XPSettings.OverrideOwnerDraw = False
+ XPSettings.Gradient = False
+ XPSettings.FlatMenu = False
+ XPSettings.AutoDetect = False
+ XPSettings.BitBtnColor = clBtnFace
+ XPSettings.ColorsChanged = False
+ UCSettings = UCSettings1
+ Left = 200
+ Top = 432
+ end
+end
diff --git a/official/2.20/Demos/5 UCControls With DataModule - ADO/ucontrols.pas b/official/2.20/Demos/5 UCControls With DataModule - ADO/ucontrols.pas
new file mode 100644
index 0000000..993b8c5
--- /dev/null
+++ b/official/2.20/Demos/5 UCControls With DataModule - ADO/ucontrols.pas
@@ -0,0 +1,240 @@
+unit ucontrols;
+
+interface
+
+uses
+{$IFDEF VER130}
+{$ELSE}
+ Variants,
+{$ENDIF}
+ Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
+ Dialogs, Menus, DB, ActnList, StdCtrls, AppEvnts, ADODB, ComCtrls, Buttons,
+ UCBase, UCADOConn, UCXPStyle;
+
+type
+ TForm1 = class(TForm)
+ MainMenu1: TMainMenu;
+ Arquivo1: TMenuItem;
+ Abrir1: TMenuItem;
+ Salvar1: TMenuItem;
+ Salvar2: TMenuItem;
+ Salvarcomo1: TMenuItem;
+ Fechar1: TMenuItem;
+ N2: TMenuItem;
+ Dados1: TMenuItem;
+ Importar1: TMenuItem;
+ Exportar1: TMenuItem;
+ N4: TMenuItem;
+ Vincular1: TMenuItem;
+ N3: TMenuItem;
+ Sair2: TMenuItem;
+ Editar1: TMenuItem;
+ Copiar1: TMenuItem;
+ Colar1: TMenuItem;
+ Recortar1: TMenuItem;
+ N1: TMenuItem;
+ Selecionartudo1: TMenuItem;
+ N5: TMenuItem;
+ AreadeTransferencia1: TMenuItem;
+ Exibir2: TMenuItem;
+ Esvaziar1: TMenuItem;
+ Exibir1: TMenuItem;
+ Zoom1: TMenuItem;
+ Normal1: TMenuItem;
+ Grande1: TMenuItem;
+ Ajustarnajanela1: TMenuItem;
+ N6: TMenuItem;
+ Personalizar1: TMenuItem;
+ amanhonormal1: TMenuItem;
+ elacheia1: TMenuItem;
+ Relatorios1: TMenuItem;
+ Relatorio11: TMenuItem;
+ Relatorio21: TMenuItem;
+ Relatorio31: TMenuItem;
+ Relatorio41: TMenuItem;
+ Segurana1: TMenuItem;
+ Cadastrodeusuarios1: TMenuItem;
+ rocarsenha1: TMenuItem;
+ ActionList1: TActionList;
+ Action1: TAction;
+ Action2: TAction;
+ Action3: TAction;
+ Action4: TAction;
+ Action5: TAction;
+ Action6: TAction;
+ Action7: TAction;
+ Action8: TAction;
+ Action9: TAction;
+ N7: TMenuItem;
+ EfetuarLogoff1: TMenuItem;
+ Perfildeusurios1: TMenuItem;
+ logdosistema: TMenuItem;
+ ADOQuery1: TADOQuery;
+ ApplicationEvents1: TApplicationEvents;
+ Label2: TLabel;
+ Label3: TLabel;
+ GroupBox4: TGroupBox;
+ EditErro: TEdit;
+ GroupBox5: TGroupBox;
+ EditLog: TEdit;
+ cbNivel: TComboBox;
+ BitBtn1: TBitBtn;
+ BitBtn2: TBitBtn;
+ PageControl1: TPageControl;
+ TabSheet1: TTabSheet;
+ GroupBox1: TGroupBox;
+ Button1: TButton;
+ Button2: TButton;
+ Button3: TButton;
+ GroupBox2: TGroupBox;
+ Button4: TButton;
+ Button5: TButton;
+ Button6: TButton;
+ GroupBox3: TGroupBox;
+ Button7: TButton;
+ Button8: TButton;
+ Button9: TButton;
+ UCSettings1: TUCSettings;
+ BitBtn3: TBitBtn;
+ ADOConnection1: TADOConnection;
+ UCADOConn1: TUCADOConn;
+ UserControl1: TUserControl;
+ UCXPStyle1: TUCXPStyle;
+ procedure Action1Execute(Sender: TObject);
+ procedure EfetuarLogoff1Click(Sender: TObject);
+ procedure UserControl1LoginError(Sender: TObject; Usuario,
+ Senha: String);
+ procedure UserControl1LoginSucess(Sender: TObject; IdUser: Integer;
+ Usuario, Nome, Senha, Email: String; Privilegiado: Boolean);
+ procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
+ procedure Button10Click(Sender: TObject);
+ procedure ApplicationEvents1Exception(Sender: TObject; E: Exception);
+ procedure BitBtn1Click(Sender: TObject);
+ procedure BitBtn2Click(Sender: TObject);
+ procedure FormCreate(Sender: TObject);
+ procedure UserControl1Logoff(Sender: TObject; IDUser: Integer);
+ procedure FormShow(Sender: TObject);
+ procedure BitBtn3Click(Sender: TObject);
+ procedure UserControl1Login(Sender: TObject; var User,
+ Password: String);
+
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ Form1: TForm1;
+
+implementation
+
+uses form2_U, DataM_U;
+
+
+{$R *.dfm}
+
+procedure TForm1.Action1Execute(Sender: TObject);
+begin
+ MessageDlg('Teste', mtInformation, [mbOK], 0);
+end;
+
+procedure TForm1.EfetuarLogoff1Click(Sender: TObject);
+begin
+ UserControl1.Logoff;
+end;
+
+
+procedure TForm1.UserControl1LoginError(Sender: TObject; Usuario,
+ Senha: String);
+begin
+ UserControl1.Log(Format('Erro de login do usuário: "%s" senha: "%s"',[Usuario, Senha]),0);
+end;
+
+procedure TForm1.UserControl1LoginSucess(Sender: TObject;
+ IdUser: Integer; Usuario, Nome, Senha, Email: String;
+ Privilegiado: Boolean);
+var
+ LastLogin : TDateTime;
+ StrData : String;
+begin
+//Pesquisar ultimo login do usuario
+ ADOQuery1.Close;
+ ADOQuery1.SQL.Text := 'Select Max(Data) as Data from ' + UserControl1.LogControl.TableLog +
+ ' where IdUser = ' + IntToStr(IdUser) +
+ ' and MSG like ' + QuotedStr('Entrada no sistema%');
+ ADOQuery1.Open;
+ StrData := ADOQuery1.FieldByName('data').asString;
+ if StrData <> '' then begin
+ LastLogin := EncodeDate( StrToInt(Copy(StrData,1,4)), StrToInt(Copy(StrData,5,2)), StrToInt(Copy(StrData,7,2)) ) +
+ EncodeTime( StrToInt(Copy(StrData,9,2)), StrToInt(Copy(StrData,11,2)), StrToInt(Copy(StrData,13,2)),0);
+ MessageDlg('Seu último Login foi em '+ FormatDateTime('DD/MM/YYYY', LastLogin)+' '+ FormatDateTime('hh:mm', LastLogin), mtInformation, [mbOK], 0);
+ end else MessageDlg('Bem vindo!'+#13+#10+'Este é seu primeiro Login no sistema.', mtInformation, [mbOK], 0);
+
+ ADOQuery1.Close;
+
+// Logar este login do usuario
+ UserControl1.Log(Format('Entrada no sistema usuário: "%s" nome: "%s"',[Usuario, Nome]),0);
+
+ if Assigned(DataModule1) then DataModule1.UCControls1.ApplyRights; // reaplica as permissoes no datamodule
+
+end;
+
+procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
+begin
+ UserControl1.Log('Sistema encerrado.',0);
+end;
+
+procedure TForm1.Button10Click(Sender: TObject);
+begin
+ raise Exception.Create('');
+end;
+
+procedure TForm1.ApplicationEvents1Exception(Sender: TObject;
+ E: Exception);
+begin
+ UserControl1.Log(E.Message,3);
+ beep;
+end;
+
+procedure TForm1.BitBtn1Click(Sender: TObject);
+begin
+ UserControl1.Log(EditLog.Text, cbNivel.ItemIndex);
+ MessageDlg('Log adicionado', mtInformation, [mbOK], 0);
+end;
+
+procedure TForm1.BitBtn2Click(Sender: TObject);
+begin
+ raise Exception.Create(EditErro.Text);
+end;
+
+procedure TForm1.FormCreate(Sender: TObject);
+begin
+ cbNivel.ItemIndex := 0;
+ ADOConnection1.Connected := True;
+end;
+
+procedure TForm1.UserControl1Logoff(Sender: TObject; IDUser: Integer);
+begin
+ UserControl1.Log('Efetuado Logoff',0);
+end;
+
+procedure TForm1.FormShow(Sender: TObject);
+begin
+ Form1.Height := 434;
+end;
+
+procedure TForm1.BitBtn3Click(Sender: TObject);
+begin
+ Form2 := TForm2.Create(Application);
+ Form2.ShowModal;
+ FreeAndNil(Form2);
+end;
+
+procedure TForm1.UserControl1Login(Sender: TObject; var User,
+ Password: String);
+begin
+ DataModule1.ADOTable1.Open;
+end;
+
+end.
diff --git a/official/2.20/Demos/6 CustomLoginForm - ADO/ADODemo.dpr b/official/2.20/Demos/6 CustomLoginForm - ADO/ADODemo.dpr
new file mode 100644
index 0000000..bb4c409
--- /dev/null
+++ b/official/2.20/Demos/6 CustomLoginForm - ADO/ADODemo.dpr
@@ -0,0 +1,15 @@
+program ADODemo;
+
+uses
+ Forms,
+ uadodemo in 'uadodemo.pas' {Form1},
+ Unit2 in 'Unit2.pas' {Form2};
+
+{$R *.res}
+
+begin
+ Application.Initialize;
+ Application.CreateForm(TForm1, Form1);
+ Application.CreateForm(TForm2, Form2);
+ Application.Run;
+end.
diff --git a/official/2.20/Demos/6 CustomLoginForm - ADO/ADODemo.res b/official/2.20/Demos/6 CustomLoginForm - ADO/ADODemo.res
new file mode 100644
index 0000000..627f283
Binary files /dev/null and b/official/2.20/Demos/6 CustomLoginForm - ADO/ADODemo.res differ
diff --git a/official/2.20/Demos/6 CustomLoginForm - ADO/Unit2.ddp b/official/2.20/Demos/6 CustomLoginForm - ADO/Unit2.ddp
new file mode 100644
index 0000000..4370276
Binary files /dev/null and b/official/2.20/Demos/6 CustomLoginForm - ADO/Unit2.ddp differ
diff --git a/official/2.20/Demos/6 CustomLoginForm - ADO/Unit2.dfm b/official/2.20/Demos/6 CustomLoginForm - ADO/Unit2.dfm
new file mode 100644
index 0000000..e9446dc
--- /dev/null
+++ b/official/2.20/Demos/6 CustomLoginForm - ADO/Unit2.dfm
@@ -0,0 +1,518 @@
+object Form2: TForm2
+ Left = 268
+ Top = 207
+ Width = 411
+ Height = 225
+ Caption = 'Sample CustomLoginForm'
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ OldCreateOrder = False
+ Position = poDesktopCenter
+ OnCloseQuery = FormCloseQuery
+ PixelsPerInch = 96
+ TextHeight = 13
+ object Image1: TImage
+ Left = 8
+ Top = 8
+ Width = 153
+ Height = 185
+ Picture.Data = {
+ 0A544A504547496D616765A6260000FFD8FFE000104A46494600010200006400
+ 640000FFFE001241646F626520496D6167655265616479FFEC00114475636B79
+ 000100040000002E0000FFEE000E41646F62650064C000000001FFDB0084000A
+ 07070707070A07070A0E0908090E100C0A0A0C10130F0F100F0F13120E100F0F
+ 100E12121516171615121D1D1F1F1D1D29292929292F2F2F2F2F2F2F2F2F2F01
+ 0A09090A0B0A0D0B0B0D100D0E0D10140E0E0E0E14170F0F110F0F171D151212
+ 1212151D1A1C1717171C1A20201D1D202028282628282F2F2F2F2F2F2F2F2F2F
+ FFC000110800D4011B03012200021101031101FFC400AA000002020301000000
+ 0000000000000000000102050304060701000105010100000000000000000000
+ 0000010204050603071000010302050204040404040504030000010011022103
+ 314112040551617181220691A13213B1C14214D1E15223F0F115076272923316
+ 82A2C25354351711000103020402070604050500000000000100020311042131
+ 4112710551618191223213A1C1D1425214B1724315F0E1F133066282C22324FF
+ DA000C03010002110311003F00E7016C8A2D922E10695759A4D10F2969EE4AC0
+ 24277B544EA07039284722B63CC40F45B8E3BC7BD5E6CC92031AE4A5BABA40EF
+ D42C3B4D5114C82C3BA980EF2513555C00AAD5DF6E3FB24FC1545B0741273AAD
+ CDE48CA020335AE469808F453611B5BC4A893F89C7A82ADBE7FBD2ECC15A7136
+ 6E5B98BB2610BB12235AD2AAAAED6F4BC55D71A4DC8C0FE9B50D3E67F92B1B4D
+ C6EA30DFAB1E033512FBD26F2BB8321A7FD546FE7750059B93FF00F5FB8FF93F
+ 35C9DAF496EEBB59463721284C3C660C48F10B8A20C2ECE07104853B9A37C4C7
+ 74823BBFAACFF2478D923350E0EEF14F72DAC2B1A3A81C6B9A60B808906554AF
+ 29AA882D38F8AEBEDC8E889EA07E0B8F8D671F10BB1881A2207F487F82B6E57F
+ A9D9EF545CF328B8BBDCA5A8A7AAB5C1450AD15154AC9F74C7E82405286E6FC0
+ 9D33945F162CB0A01485A3A2A9C1EE19388E0B686FB760D2F4FF00EA2B358E6B
+ 92DBB8B3B99C41A9AE6B409CF0404D31B0E6D07B13C4F28383DC3B55C5BF7573
+ 96C931DDCAB8BB1FC9658FBBF9C044BF7248150081FC15123BA61B784FE9B7B8
+ 2E82F2E47EABFBD74D1F7D73831940BFFC2B28F7F73218E9B440C5C1AFCD729A
+ 821FA26FDA407F4DA9FF00B85D0FD572ECE1FEE26FDFD5B6B723D890B2C3FDC4
+ DC0FAF6B1EED2FE4B8704BA6986C6DFE81DE53C733BAFAEBD8177F1FF706C4F1
+ DA17FF00982BDE1B9BB1CDC652B3B795B8DAA4A536673905E57B3DB5DDE6E6DE
+ DEC87B97242217AEF15C75AE33636F696F101E72EB2389506F6182100341DC7A
+ F20ACF97DC5C4E4B9E46C6F56656E16005180551BDE7F86B1B89ECF7B2631157
+ 0F1AACDCE7296F8AE3EE6E091AC822D039C97946EB7973737677665E73249F12
+ B9DA5AFAD526A1A300474AEB7B7A2DC00002E38D0F42F471C87B4370DAA76A98
+ 3864CC3D9F78C8EAB04CB13A99797EB383A4647AA9BFB7D3295E157FEED5CE16
+ 15E937B8CF67DC817B969B0713C3E6A07DA5C05F8B59BD421C34C1A2F39D4426
+ 2F5C8FD3331F02425FB3947967776A69E6509F35B37B3FA2EFEE7B0F8D9906DE
+ E24D9B90562FFF009F6D3FFCB38F40B881BCDD4430BD700ED33FC51FBDDD7FF6
+ DCFF00ACFF0014BF6D7397AE7B927DED9E7F6C2BC5544769B69CB519199E9391
+ 2B24069BCCC033618792D936E12FA857AAD611D3B83115A86598CC1E0BD3F983
+ 1AD89A4003C62B4E055C583A2C19E64305A5BB944559BB2D93297DA8DB8E58AD
+ 0BD09DFBB1B511DC951DADC7155DBB03458A11FBA65222992D6BC4464415712B
+ 31B56DB319854DBC2D33215FE6BBC2773E8B84E36C7BBBD56B6AB923DD5958DE
+ C36F6A36A1076A93D4AD1886AA902AF2D5A63ABF273BD815173191B386C07163
+ 295C7370F82DF3CADCCA0150EEEBBAB93C0CCEAF8ADFC569EF6158DCF24EBB73
+ A48F135DA6AA3D9C51C52781B4DC28546D9A294B058ED9590870AB55A8C963B7
+ FF00723E2AE3F7BB966D6CCAA6CC0CAE0394715BEA7D9B9C03A848AD3255D78C
+ 6B9CDDCD0EA573155B1FBDDCFF005A71DFEE47EA7F25AD4C93752FD47FD47BD4
+ 33045F437B82DE8F2731F5C41F05963C9DA3F5448558FDD008C53C4F20D6BC57
+ 2759C07E5A702AEED6EACDD2D0957A159973F1918C84A388CD591E46D8B21BFE
+ E1182ED1CE083BA828A1CF64E691E9D5C0E1C16D5DDC5AB23D643F45A3779299
+ 2D6C003A9C5694E72B92339172546A4AE4F9DC7CB80F6A9315946D157F88F5E4
+ B60EF7724BEB528EFAF8FD5F15AD51821BE298247FD47BD773045F437B9585BE
+ 4E4DEB8FC16D59DE59BB4074C8E455305B1B2DBCF77B986DE01CC8D4F419A7B6
+ 778CF15C1F6711F282D3D4BD57D89C2B5BFF0057BE292A58FCE4BB532CC8A2A5
+ F6BC6EDAE32D58906B56869B7D48097BA798B7C5F1972227A7757C18D919D719
+ 792AA94BE79CEA5C683A82B689ACB7B71A06B6A4F495C7FBCF9D3BFDE1D95820
+ EDB6E58119CB35CB92E9C8925CE25455EC31363606374599B89DD34AE7BB5380
+ E81D09A10862CF92E8B8A3E484248427E19248A843942160FB53341321618C25
+ 1B843926271EAB65BAA5100C8F5758AAAF61E67844CA6AFF007159253060F215
+ FEAEAACB84DA5ABF391BF2F511E9199F82D295991B12D22A587C51B6D56AE088
+ F48CD727500558D04E15A2CFC8DB16A663463D300B9FDF9A38C5C2E8F7B284ED
+ B0AF52B9CDFC59C1C5C909F6847AADE299760FA0F1AD168D3328A3230F349DF1
+ 5A25994C285FB7F72D188C710A5878A6410908A820EB8201A10468AB205A982C
+ E25458B710FB7788C04AA111AAAD7368483A1566C755A0F485B3B761A9EA495B
+ 2ECEA10B06D4048D4CBD43C14C91E4A5DA3816BA9D2A2DDB0B5CDAEA13054490
+ E9A194951520734D0842109F7293A48AA14AA98A04936A25090A62B552A0F12A
+ 21DBA26C4272694DDD767ED1E0EE4846EE9FEFDFFA47F4C3AAA3F6EF0D7F98DE
+ 885BB729DBB6D29B0A760EBD638AF6E9DA4ADEE27774CE23E8865D895C279434
+ 52B895D618CB8D6980571B5B30D8ED236C968DA8BC8F862BCBFDCBCB7FABF273
+ BF107ECC3FB7681A7A467E6BACF7DF337369B5871FB7998DDDC56EC8622032F3
+ 5E7649EAEEBAF2F830333B33837DE543E6B758881BA50BBDC10E3F825DD0E50A
+ C9535514477C1080094212421095221084510858E77610049200EA542C5E85C9
+ 19C0B87C5684769BCDD9D77CFDBB790CFF00E95B76AD436C630B6FA312E5C939
+ AC59000CEA57AFDEB9F2440EDDAC0E046EF31EC5736AE016889D0C851D3BD6A7
+ 28DB990E455DB2592C906102CE32A2DC91372DC224FA3019D2BFC54571C1416E
+ 042D0BF068EA91670EDD573FC8C5AE7AB1673E6BA1DCC1A25B0CA4B9FE4089CE
+ 7305EAC0F8275B60F09B38AC6554B7C94A3515F8A44904B290A07382D2B3100F
+ 52CB3C5091D6A39D0293B25FA909C9AB5B7D6CCAD8BC3F49F9159787D90DE5D9
+ 133D3F680911D54AEC7EE5A943A8A0561ED7B71959DC3C7D4E03E6DD1577303B
+ 1A5E3503BD59F2D01EF0C763425477BA44C4736208C96A01123BF7565BFB622E
+ 7C402AB1BFC92F2E70DA51CD1BE36A7A50C546AE0A6EAC2AAB10B6F6BB09EE06
+ A27443227351DA6D65B99F480FA8ABA8405B8884430145221877789D968A1DD5
+ CECF030F8B5EA5A038AB60FAA64ACB1E3B6C3227A9256E65828E3E2A488A31F2
+ 855EEB898FCEEECC16286CF6D0A8B63CEAA476DB693EAB513F2593E4A59512ED
+ 6E5409A2492B5DC7B4AD3B9C6D9912604C3B64B26CB841B8DC42CEB3394C8021
+ 11524ADA8C754AB425771EC7E0C02795BF105BD3B7FF00E5251EE1D1C4C2F205
+ 741D6A6DA7AF34819B8EDAF889E85D1705C36DF84E3EDED2CC00936ABB202A64
+ 7175B9BDDDDAD8EDAEEEEF52DDA8924664E402CECD9B775C1FBEF96FBB7A1C65
+ 8B8D6ED7AAF44673C83F65510C6E9E5009CCD5C7A95D4F2B6DE12EE81468EBD1
+ 731CAF237B93DEDDDDDFFAA6691C8446115A401380EE99A17C7AA55757ED686B
+ 435B80028165A4717BCB9C6A49A949252219802E953A2726512455D8A68C4D10
+ 84B34274084A911E96EE92687425AAD1DDF216ECBC63EA9F41F9AC3B2BF72F19
+ 8BB892251CA86852E26DF1D6A5FBBE467ACC4FF6EC33D7FAA7FC15EEEF90E2F7
+ 1B610DBDCB72BC640C40A48750B2FF006B489CE231A54762F46BAE6C659D91B4
+ 8DBB807532C70C3A566D85C1287DB996D382B1FA22D16951FB2A9DBC58090A32
+ DE85C2235A6219533CF88852C0C015ABBBD728B1A80F45CFEF65EB9838BABDDC
+ C88AE0454BAE7F7B332917C4D4F9AED6F8B9327A062D12FA8F441AE1E4AEF63C
+ 08DFECE1B98DDD129920C48A50B2C93F6B5F89F4DF84BC5C2D1C646C6E3A0597
+ 92BBDD86A550397F5064DB3C95C4BDB5BF80789849F27AFCD619701C902DF69C
+ 7570C9F5EB4CEC556FD4D3B66ADF8080B766E350CEE924766A2D59F11C8471DB
+ C87560EB678EB57B6E4FDC8181D408120CEA0F316175B93F49054FE56F0DB900
+ FCC0852E47D739066D2F866AAEE5A9DBF51FA4E12EFD175F778E89D8FEEB4810
+ 32316772ECEA9EE6DC07888EA81FA864CA059DD08F02302ACAF6D3D61B9A710A
+ 972592C589DFB8210065D4F45B1778EB9A81B1EA8C8B36717EAAF6CF1DFB4B71
+ 86862C1C8CFCC2BF8364BE2046D59ABA749078769DC7B875AC1B7B30B1010800
+ C31591F2CD66FB2416355136A4644E27053C16E992A7735E4D4D492715871A29
+ 08BB64B21B24508638BF6518C2598764B509BB483885121A86BD14837C3B2621
+ 5C1F2AACB66CFDCB82152E5A890B82735849A019AB1E0786BBCAEEE36044FDBA
+ 4AE4B2115EA7B7B16F6D66162D474DBB7111881D9557B67888F1BB08921AEDEF
+ 5CBB0392B86EA69D551DDCE659283CADC07C568ECED84310FA9D8BBE0B5394E4
+ 2D71BB2BBBBBA40D313A01CE4D4885E49BCBE7737E57E759DC2647CEABA3F797
+ 3677BB93B2B047D8DB121C1FAA59CBF25CA50B9C7B2B0B0836337BBCCEFC3455
+ 7CCEE77BFD36E2D67E2910C52FF0E986AA4594F554515C7CD2F9765201EADD94
+ 5BE0841080D519A1B24D8A6408E6E737C115453049A9D10002EC80DE1F343B21
+ 18247F04DC7F4A6EF8E0965E484B82AEBDC6D9B83FB67ED9ED87C169CB63B9DB
+ 5D8DC10D718105E15C3AAB80FD3CD63BDBAB5B51AAE4989C00A951E58227035F
+ 0F5A9B05DCED7002AFC70199561B5234986588F02B722408D497CCAABE3EFC77
+ 16E3743B4DC5710C56EEB9C5A31F50A96CC2C54ECDB2B9B5C891DCBD0207EF89
+ 8FA5370069C561DE1F44EB4EAB9DDD1FEE31C95FEE8CA5124D23FD39AA0DE0F5
+ 923E6BB5B6745CEE4F86A8DBF27BDDB44DBB374C6D8C062DE0EB62DFB83918D0
+ DC173A190AFC9556322EE039439C060AFD9835BC02CDBC55CEE255F47DD5BB1F
+ 55A8498369A8AF57596D7BB0B1FBB643B51A581EEB9DC73A948759164A9BDA57
+ 536FDD7B7207DEB7289342638277B99D96FF004EDA02466660C090C305CA122A
+ 43A9D8BD3DBDD85F049D3207C82E730DD1BDA0625A405D6076C963793835C09E
+ 15C577966E88ED6562E0D585730CB534C672916F4E056681D5B4FBCFF5C41F88
+ 5551DC5DB93959DBFAE4ECC3F15996349AF52D538804535592FD936CFDC81619
+ 0E8BB3F62F23B0E4DF86E436F09DFB5094AD5D385C802E6331FD517A1E8B96DB
+ 6B9467B7DD5B31321E8933D563D9ECEF59DF836AE9B178026CCC1D2F21938EA1
+ 4B8272C3473E835A7428B756E2469A306ED2BD2BD56EFB5386BB232168C1F281
+ FC1DD9629FB3F8893811988FF4EAFD5D579FC7DC5CD6DAE4AD9DD5D84E27D40C
+ ABF35B36FDDFCDC0897EE492F5762FE455EB2DEE1ED0F8E60E6918104ACC4975
+ 6F1BDD1CB0963DA68E0E685D7CFD91B191911765170444003487ECB5E5EC3B24
+ B7DD150DAC06FF00DB82E7BFF38E769FDE886AB68182DFB3FEE16FC0D3776D6A
+ 65A846A8D7E29C61BE6E4EAF6A60B9E5EECDB4E216C4FD83B807D17E126218B1
+ 14CDC765B5C67B3A7B3DE5BBDB890B96EDCB538A6A6FA5E29717EF0DE7257A16
+ 2D6DA2664B4C07A7CD975CE748D78E7D1719A6B96782434A8522186D5F47C6DA
+ D0E690707490C157F37B8DC6DF6174ED604DE97A62C0967A3D16EDEB91B16E57
+ 6E49A1006449C805CE47DF3C689CA17E172117F4188D448EE1478A37B8D5AD2E
+ DB985225918D147BC32B912B8DDCF0FC81D57FF6F310ABCA5121EAD9AD33B0DD
+ 090B72B53795453239AF451EF4E06418DC91068C6068B2D9F747B7AEFA46E2DC
+ 4E03545B3EE1588BBB868C613ED5586CAD5E6A2618F585E5F2DBCE32D2412D41
+ DC85136883860BD5A5CAFB6AE12277B6C6512EE44716C5D933B6F6E6E0C2E69D
+ B1330F0AC412FD025FDC1C3CD138261E56C27C3282BC9CDB23AF728D3203B775
+ EAB2F6FF0001789D56A12D752449DC7C56297B3B839068DB94730C416F074E1C
+ CA3D5AE4D3CA64F95ED5E59A5EA422A4F5EEBD2EEFB178AB9A6566772DCA20E2
+ C417CF2345AF7FD81B59C47D8DD18CC62651041F8278E6301E91D8B99E5338C8
+ 83DABCF4C70341E091896C183AEE6EFF00B7D330D56B710D79C4FD3E456BCBFD
+ BFE4B49946E5A3370000480DD45324F17D6E7E7EF5CCF2DB91F257815C707069
+ 44691D7B2EA67EC6E6A328C0421319C84E9F358BFF0009E73FFA063FD413FEEE
+ 0CF7B7BD33EC2E72D8E5E73737FB9BBF54F4768D02C127917913E26AA27AD03F
+ 544B07C478282E739DE624F156ED635B83406F00AE382BCE2E587F5408B91F03
+ 42BA0C62E18BE0EB8FE3AF8DBEEEDCF004B11E345D63C4C1C020338545CC63DB
+ 2EED1D8F6EAB41CB65DD0EDD5869D9A2C7B83AC69110017F2543BC8B97E8BA13
+ 839A96CBB60EA977F10096C0AE36E68E5267156154F2FA8E60134EE8A9C56FEC
+ F656B73727F7091A58E9147583786C46E7D9DB4008C1C19753E2B451B0985B21
+ 228460352B2D24805C3A10092D352740335AE643014EEA3955FC10E5881EAC30
+ 087767A366913E898FE906AB6363B63B9BAD27FB50FACFE4B58B9A0A038E4BAD
+ F6E6E361B2D8C86E76FF0076EDD3AB510241BFA58A425CD05CD8DD26DC76B75F
+ E480D6BC863A56C5BB0DEE34A70AEBD0AAF75B8DFEDEC0B16E7A2D49C089180E
+ 8B5F61CE6EB63136B8EB119DE73AEFCE2664F80C02B9E42CED6F826C0941DF48
+ 97E807A2C36ECDBB3016AD474C4745C2CF973A50E74ECD809AD08C49E1F15DF9
+ 87376C05ACB793D4701B4969F081F9BE0B447B87DCD1BBF72F47EFDB2DAADCAD
+ 011A7F4E90085D159DEEDF97E3BEF5906DEE2D9AC7F542432215750F5511F76D
+ 4FEF6DE66D5D66D4CE08E931985D6EB92B1CCAC146BC6429407AB051ECFF00C8
+ 1ED9036E01319CDC0D5CDEBC5587DFB7C898D9DD1167751A0B8DF5360567B3C5
+ 5A8DE8DBDEEE06DEDC81D37DB5409180ECB1DBDC6CF91B42C6F2236DB92C2372
+ 2FA09EB19E31F356FB1E237D11295FDE58BF62D47546374FAA43BCE1D3AB2A86
+ 497968F2C6974353E47794F58270577247CBEF63123832700537B7CE3AB0C550
+ 5D85BB576508CBEE441311301849B364C408918EA00B75A2B1DDF2F29ED0ECED
+ 58B76AD5C69021A5427107BB29703C70E477F6B6D5FB9AC4C821C7DB8D645696
+ 19A530EF9D9E9968C710EAD3E6C164EE2DA0171E9DBC9EA071C3C25BB7A1B8E6
+ BADF667071DA5A3C8DD795EBA1ADF403A8EE57560D2B874C546DC236EDC6101A
+ 6311A623B04AFDF8D8B172F4E90B7132978054F2C8E95E5C73255DC51B628C31
+ B8001733EF5E623B5DA7FA75927EF5DF548C7F4C4755E773999172715BFCC6EA
+ E6F7797AFCCC65F7A6489469407A055A465890AEED21114606A713C567EFA774
+ B293A0C1A9EB23B23513518E4A25AA1AA87F30305268A154F4A909E9CF146B39
+ 5141B0AA2ADE08A049B8F059A1BBDCDBAC2ECE0D4A488659E1CB72501A63BBBA
+ 220E1AE4CEB4BCD15FF24858C39B41EC4E12C83273876AB5FF00C879AD3189DD
+ DD9089700C9D6DEDBDE7CF581A7F702E87C2E443FC5973E984C74111142C6F72
+ E8DBB9C1A891FDEBABB7EFFE601FEE42C9072D247CDD66B3FEE1EF63030BDB7B
+ 7764E74CC13061D08AAE38C89604BB260B02705CCD9DB9FD31D8BB0E63720FF7
+ 0F6D1779B6FF0070ED1881B9DA9127A981A7CD6CFF00E7FC5B7FD8BCEDDB17C3
+ 15E7213D43A1F8A67D85BEEAED3C2B827FEE973B6956F1A62B91724396AE0B2D
+ 9B17EF52DC244756A7C55E5BDAEDAD7D16E23BB39F9ACE1B01F048DB33F33BB9
+ 757F321F233B5C7DCA9ED713B89CB55D22DF7152BA3D9CE46D8B723A880C65E1
+ 9F9AD42D4659B6647DE634D4287A10A2734B263AD1CF603BA3F1F5EDF9BE2A5F
+ 27E6520BD6B242364BE0A0C83BE5F82DA9DB21C92E3B66AA77F13A4B866C15D4
+ 80B409955B3559C8C44A0641CB8AACD447C438AD83C55A782A58DF958174C4B1
+ 947483D0B85A44893EAF8ACFB88D3A56AB0000C71C56861713134682BED59AB8
+ 68133DD4C5C457B304391415EB9242A5DAA89063D927213D72596CDB9DDBB1B7
+ 1C6470C57496E1F6E1180C221957F13B4D10FDC4FEA90683E43AAB25616D1ED6
+ EE39BBF05537B307BF68C99ED293A0A08E8872CCA428753AA316098C402954E6
+ 9B79A115A1528961E152A4272671E0C143D2D51EAEA815C121683984E1238646
+ 9868B20A9D6F5ECBD2BDA7C41E336477576265B8DC80611C0C6D9A81D9CE2B92
+ F6970A796DFC6E4EBB6DB913BC7A9778C0F890BD373C3E192ABE613E51378BBD
+ C15BF2CB7C0CCED7CBEF2A62A1BF9AE2BDE9CF8819713B793B0FEF4A273CA27B
+ 2E9F97E4ADF17C75EDE5D20480D36CBB7ACD22BC82ECCDC9CAE4C994A44C8C8B
+ 9249CEA99616E1EE323B26E5D67F92E9CCAE8C4C11B3CCF06BD4D513324825A5
+ 99EE9121FA0E89020609B9CD5C2CF93549A58A7DF2F8A5E284A910845304E9F1
+ 424A248CE9E48C990842108ED445508A2182752590C704B3A212D3A94A803664
+ 75514C8232A94776EFF9244E5851FE0A43BE09A1294F3EE98241D40B317F825E
+ 1E29B8F0484020822A0E0500969041A106A0856D688DC59141EA151DD633B184
+ A2637012DF0E8B1F1A6EEB300C63890722ACEF8D36B0D54A2C35F45F6D732440
+ E00D5BF94E217A372FB8FB9B58A62285EDF17E61839715CC588D8BE6DC30350A
+ ACF6F3575BCDBDC96EE57EF0A82D086401555B9B12B170C7089AC4AB6B29018C
+ 309A9A5555DFC444AE7D2809A2C66A16D6C36A3737C44FD11F54D6A0E9F3573C
+ 3DAD3667725FA8B449ECACA0687C801CB32AA6EA431C2E70CF21DAAC2830A018
+ 7821FA26C011AB0CD238D3E0AC951948774C07CB04C1ECFD90CC58D1093AD1E0
+ 8A37743793265C877C508481E9E6B25AB73BB38DB88794C88C436249601400C1
+ B35DB7B1B82FB973FD56F87B762966043FF77FABFF00485C6799B1465E7B0749
+ 522D6DDD3481832CC9E80BA9E07891C2F1B6F681A578FAEFCA39CE5FC3056203
+ 0A0A945684D42A9F72F2F1E238D95D8E995EBA7EDDA819693EA1590F0ECA846F
+ 964E973CFB4AD292C8A3E86B07B02E33DE7CE5DE437D2D95AF4ED36D268FFC52
+ 14949D733515059B052B970CE4652352493E65D47362B41146D8E30C0320B2F3
+ CAE9657484E670EA1A04134AE3F8A09049493CBE5E4BAAE29233A04511423C10
+ 928978D53CFA22A97C908A275C331E4847F87454A1087EA8A377C918F649084D
+ 0F5EA8A21C0F242114C08EE874B1A6684216219290A04800451483244F290098
+ AE09871FC5361FC9085B7C65C8C6F981C643D27C17473D9EAD8CB7224E633103
+ 167A10EEEB918C8C242512C625D753C5F23AEC4A26B0B91D17227F1F22B2FCFA
+ D76CCDB8A55AF1B1C7A1E060B5DFE3D79BEDCDB568F89DB9A3EA638E3DC5546E
+ B6B0265708F5160EA937FB28CE3A263497F4C8647AAEA6FDB73222BA4B766557
+ BCDBE8BB42F19E0FDD54DBCCE8DC08392BF9E26CAC2D2335C7CAC4E178589069
+ 12006CFBAE86D5A8D9B71B70FA601963DC6DE31319483CAD4B5448C7BACC2427
+ 1138B34BFC32D5F2D9E395AE208DFD1D4B19CE6DA585CD041F4F1C7FD4834C3E
+ 483D3F14DBBB209ABE47CD59AA5283D717CD26A625FA7652C0FA7F8D106465F5
+ 57C508483B3754C569440C30FF002596D5A94E7A6204A4707CD21344AD152066
+ B6789E36EF27BFB7B3B512653955B203127B05EB9B4DAD9D96D6DED2C0685A02
+ 21F12D89F3547ECDE123C7ECBF79760DB8DC03A750F50B6723E2BA29528A92F6
+ E3D59368F2B70E27A568AC2D84316E23C4FC4F0D0285CBD66C5B9DFBB210B36E
+ 265391C001895E57EE4E565CBF2772F46467B68536F1FE980CFCD765EF5E5E1B
+ 2E3C6C625AFEEF1A3B4062F5A395E6F2944BD33C549E5D0E065233C1BC3A544E
+ 6971942D23EA77B82810F87C5181403D10431A5559AA543A6285FC8245BA203E
+ 39042508A79648EC82CCFD7243BD109288C9D1F9A3274568317C12A133441350
+ D8A59D7E48CBF242108478FF002433D054A125124F26FC91F24764210F8A12EC
+ 8642141F00986389A1500D47F87F3528B0C704D5D4A95304C782546270AA61CE
+ 03FCD092880CF50FE2B738DBD2B7B98DA8E170E96EF92D32061D56DF186C4790
+ DBCAECB4C233064490D4FE6A35E31AFB695AE6EE1B1C69D605429960F7C7770B
+ 98EDA7D468AF538D0FB1741B6128EE62046372177FB73848622542DD0F7541C9
+ CBECEFFF006B6E5AEDEA3084BA905BF05D1EEAED9B17613B248AEB6CF53FE6B9
+ BDF6D4CB9FB71D60435CA712EC0031330B15181883A548EE5E835398C2A07B0A
+ C3B9B061BEB36E5F4DEF4BF7670A31D85DB5B895B074EA2F684BE997FC3E3D15
+ CEFF00691DCEC6538D371B62241BA0CD66D9476FCA6D446E01A241BBC26325D2
+ 2B99622D7C64B48C2A1729EDE1998E64AD0F69D0AE7E51B966663723A663F495
+ 138B9CF3A0565BE8CAD5CFD9F20755AFD1B91521BE9D7FC56B6EB65776DA643F
+ BD039C5891E4B4167CE98FA32E408DC7278F21F82CC5F7F8FC8CABED0991B998
+ CF9C70FA82D7224311E49E26803649C6DDDD1F77EDCBED7F5189671D52A360FD
+ 55CB5ED7005AE0E07569A8540F8DEC25AF69611A3850FB53638357E4AEFDB1C4
+ DCE4F91B76E4E2CDA3AAF60C220BB79AA8DBC0DCB908089B9291118C00CCE0BD
+ 63DBFC4C786D80B05A57E7EBBF2662E72F2512F6E3D38F68F33B01F153B97DB7
+ A926F3E56E27E0ACC08C622311A460C3058AFDEB5B7B73BF7E4236600CA73380
+ 0B25063407CD725EFAE4A30DBC78B87AA570EB99C453E98AA88633248D60D73E
+ 0AEE694451B9E741ED5C873FC85DE4B90B9B8993A093F6A323510FD20765578A
+ C932F276639F4A281A634F05A18DA1AD0D1A0A2CB4CF2F7B9E4D771AA431EE80
+ 48C33EC9B3D09EC192ABFC93D734792301D5360DDFA229D3F8A109649E00A471
+ EC8C70F821222983A284219EBFE682E093F8E28421BBF9264659A4C3CD19D4A5
+ 4210DDFC9373953B25D90841A7F048397A2789465DC212259A18A9570C5F2FCD
+ 2A7F8E8912AC41B03452F48C3CBAAC6CD4F3521DE84A6AEC4290E9967E2149DC
+ A8C4B53AA912E7074A9A861E49C58F7EDD547AB9C948464D4A66E84A165B32D3
+ 7A0462287F82D2F7338B46770D6622C19A8305B30338CA2CECE301529FBAADDC
+ BDB68688D231897EC0F4E95541CD230CBBB778006F1B7B5A6BEF5A9E492BA4B2
+ B961249678BB1CDA7FC53F696F0C36276F7A7491946D3E430D25FBAD8DCEDB95
+ E309DE6CA4E24754EDB3C6407E90157EDECC76D6636A31D42234826B8E27C55A
+ ECB93946C9D9EE4EA84A9099F96AFE2B95FF002C9633EBC2D0F6900CB1E78EA4
+ 0E84EE5DCDE297FF003CEE31BAA445265E1F9413A10B26C79BDBEE4FD9E52C0B
+ 3334133F49073D780F365B1BADB4B6F7233E365AE38FDBB91A570C0FE0B16DFD
+ B1BBDCDC90B0622D989B86571C0FF9433E2B5ADCB75C4EEE401D372D50DB3EB8
+ 31A8A60CB832C20B96EFB4928EA54C32FB8F4292FE637168F2DBB8F732B46CD1
+ 1C0D72DCDD0ADFB9C972F7B8ABF623B311DACC985DB91812C68FEAFCD95308EA
+ FA439CC3ABBBDEE5DEDFDBCF6F6EDDBB36EEC4C272882ED2A12160E0F899F29B
+ BB566C4A80B5C91C230CCD7F057362C7DBC2E12C6D8A98D5A776EF69A2A2E62F
+ 8EEA76186474B5AE0E14DB8E980AAE97D91C230972D7C3C496DBC641BC64D936
+ 4BB42C6B52B1D8B16B6D661B7B234DBB7110801D02C875641BBAAE9A532C85E7
+ 5CB82B28626C51B5834CF8AD6DEEEED6C36B777775846D8720E67203C579472B
+ C84F90DC4EFCEA644CB5E05F2018E0174FEF7E6356E23C75A9B5B807B9A31333
+ E0721D571522D22300FE4C559D841B5BEA3862ECB82A9E6773577A4D3837CDC5
+ 4751218976F92007E83325D04035FF000C9B191A06ED4A2B0553894BF3438005
+ 2B8BE2820CA4C017190AA65C172086A17EBDD0800A5D483F925937CD0E71C7F1
+ 457CD2A69464E803AE081D4141A634295223C50E7F9A3CD18A108E9927DBE28F
+ 1CD1A9E98B5122508AD1BF04B2AFC949F16C334B2642548E2C86FF0034C96F04
+ BBA126A8A9FE2873DB1743A3578E3D72E8847E2B078E4A400E9F151D2C58877A
+ A9C00228EF9B9A265549213EE3E4A419A943D4A23161E181CA8800E181CC254D
+ A290A8C83649B448626A320E4A41F363D903D46A7C5BF0424438120C5741C67B
+ 876DB4D8CB6BBBDA46F990D11986AC728CB53AE7C45CB8C007FF000E9C0962C7
+ E23F92E3716D14ED0D905686A31A10548B5BA96DDE5D1BA9B850E15052219F40
+ 023224C620D407C3C938B80090FD09E9FC932F2029812C3AA401152588A782EC
+ 30140B81C5C49CFB82DCDBF25BFDA4746DEFCEDC46004BD35E8EB5E52370CAED
+ C9133B85EE4892492737502063424643A290D527880413534A2E6D8636B8BDAC
+ 6B5C73700013C4AEAE9E57B031CF7168C9A49207059A10FB9A610389018D4634
+ F0F25E9DEDAE1E3C5EC21AE2FB9BC355D9528F847C1729ECFE1ADEEF772DC5F8
+ 9946C3488C23D40F35E86317A8755B7F3D4FA4D380C5CAD797DBED6FAAE18914
+ 1C1360F981E3455BEE0E4A5C4F19737109445F90D36B561A8E6286A05558B88E
+ 58E2BCEFDE1CE8DEDF96D2C17DB5A3A5E27EA23EAA66A35B4265940A540C5DC1
+ 49BA9843139D5A138378AE62FDDB97EE4EE5D3AAE4E465290C492B155882E1BF
+ 14F1D44160300E96A7724F9E2E56800D02CC135353AA1C9638B21EAFD50C625E
+ 84E410400CF5EE95250A3E9A82E951C025C2640C1DC75094869A624668498F72
+ 01AB9EEF4411D5C2544DD8BE69525524DC8A20B67F24BA212649D0D7E2818BFE
+ 297E1D90704213F0424870DDD08AA6C87EC8C7E9180AFF0034AB5FC1084FE7F2
+ 43C9B36438C0FC105F1AB212D12293A756C9458F44229D48F5B47A6583A06BA3
+ FE4842E63B14977FB94B3A79A98D4D2D386782108EE49AFCCA56DDE2CD9FD6CD
+ F352F4E8FD3DFAF9210839A737CAB1C59CB79EAFC932CF2FAB477EA842529832
+ F8E499D1AFFE1CDB0EC907CFE86AA108D11AFC131A349D2D87CFF1528FD6753E
+ 8FD6DD3CD0848528D38F62F51F69FED3FD16C7ED1DEBF75F1D7DFC95DC7E9F56
+ 0842CF4DFDD7E7E639E6B4D0FF0069997946592AFE6FF79FE997BF61FF00773C
+ 1F47EAC7B745E497757DDAB6AFD5D5DAAEE842B1E5BE57E59F6F6AACE6B9C79E
+ BC3B3AD612CE7A64FF0034C36AA63978210ACD52A8867A203B96FF001F14212A
+ 4E840D55C591473A70C9FA210846889E3979608CA9F24210121FE3A505B24B3E
+ E842107F8A267E918627C7CD4A4EC1DB437E9C108425E9ECFE0A84B56A3AFEAC
+ D3F4B77421090E67DF9A59290FA28DA9FCFF00821084A33EC510F9294DB5167D
+ 2E8420E68191E2A3E9FF0024A9DD08425EEF72FFD9}
+ end
+ object Label1: TLabel
+ Left = 200
+ Top = 48
+ Width = 42
+ Height = 13
+ Caption = 'Usuario :'
+ end
+ object Label2: TLabel
+ Left = 200
+ Top = 80
+ Width = 37
+ Height = 13
+ Caption = 'Senha :'
+ end
+ object SpeedButton1: TSpeedButton
+ Left = 200
+ Top = 112
+ Width = 73
+ Height = 49
+ Flat = True
+ Glyph.Data = {
+ 76060000424D7606000000000000360400002800000018000000180000000100
+ 08000000000040020000E30E0000E30E00000001000000010000213152003142
+ 5A00213163002939630039426300525A63002139730029427300394A7300525A
+ 730021397B0042527B004A527B00214284002942840029428C00314A8C003952
+ 8C00294A9400425A9400294A9C0031529C005A739C00637B9C002952A5003152
+ A5004263A5005273A5003152AD00315AAD00395AAD005A7BAD00315AB5004A73
+ B500315ABD003963BD004273BD00527BBD003163C6003963CE003973CE004273
+ CE003973DE004273DE00427BDE004A84DE003973E7004273E700A5BDE700427B
+ EF004A84EF00427BF7004284F700528CF7005294F7008CB5F700B5C6F700FF00
+ FF004284FF004A8CFF004A94FF005294FF005A94FF00529CFF005A9CFF00639C
+ FF005AA5FF0063A5FF0073A5FF0063ADFF0073ADFF0073B5FF007BB5FF008CB5
+ FF0073BDFF007BBDFF0084BDFF007BC6FF008CC6FF0094C6FF008CCEFF0094CE
+ FF0094DEFF00A5E7FF00A5EFFF00ADEFFF00ADF7FF00B5FFFF00BDFFFF00C6FF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00393939393939
+ 3939393939393939393939393939393939393939393939393939391611080439
+ 3939172328043939393939393935322F2810232F2A1C0A03111A282A2F290439
+ 39393939494B4640351832433B2A19122327282A2F2A1B393939393930413632
+ 2B1D4757483127272320140F14201E393939393939322B2B27192D5247342A2A
+ 2A261C1202020C39393939394B4743403B23153D3D3434342F2A221406003939
+ 3939393958524C463D271E3D3D3B3B3B312A26190D00393939393939392A2623
+ 201535403C3D3F3D352B261C0E003939393939394C484340352219403F454843
+ 3B2F26190A0039393939393959534E4840271E42455253483D2F261906013939
+ 3939393939362D2C282341454D59584B3B2B2314020439393939393948433E35
+ 2F1C24454A5353473B2A200F043939393939393959555048402719403D3B3535
+ 312719073939393939393939394F48443E25213D453D2A1C2A22103939393939
+ 39393939393939393939384B4C35260E22133939393939393939393939393939
+ 393937594831190B3939393939393939393939393939393939395159432A0E39
+ 39393939393939393939393939393939393759553D2307393939393939393939
+ 3939393939393939393759533D26070539393939393939393939393939393939
+ 39375252402F200E0939393939393939393939393939393939393747423B2B1C
+ 0C393939393939393939393939393939393939373D352B1F3939393939393939
+ 3939393939393939393939393939393939393939393939393939}
+ OnClick = SpeedButton1Click
+ end
+ object SpeedButton2: TSpeedButton
+ Left = 296
+ Top = 112
+ Width = 73
+ Height = 49
+ Flat = True
+ Glyph.Data = {
+ 76060000424D7606000000000000360400002800000018000000180000000100
+ 08000000000040020000230F0000230F00000001000000010000316B4A003173
+ 4A0029735A00397B5200317B5A00327E5900377E5B00424242005A6B52004A7B
+ 5A00637B5200427B63008C6363009A666600A7666600AD6B6300A76C6D00AF68
+ 6900B0666700B3666700B4676800B6696A00B86B6B00B96C6D00BB6E6F00AD70
+ 7000B3737300BD707000BE717200C6666700CD676800C0696A00CE696A00D06A
+ 6B00D16B6C00D26C6D00D36D6E00D46E6F00D56F7000C0737400C2757500C376
+ 7700C0797A00C5787800C77A7A00C87B7C00CA7D7D00CC7F7F00D6707100D872
+ 7300DA747500DB757600DC767700DD777800DE787900DF797A00E07A7B00E17B
+ 7C00E27C7D00E37D7E00E47E7F00EF7C790029845A0039845A001C9A74001E9D
+ 7700199E78001B9F7800298463002B8763002D866400298C630029896400218C
+ 6B00238F6C00298C6B00298D6B0035896B00368E6E0021946B00209370002194
+ 730020967200249672002E937100279A7500239C760017A37C0015A57D0016A4
+ 7D0015A57E0014A77F0018A17A0018A17B0018A27B0018A37B0018A37C0019A4
+ 7C0019A57D0042846B0094946B00B59C7300F6A46800FF00FF00C6848400CD80
+ 8000DF898A00E6808100E7818200E6878200E8828300EA848500EB858600EC86
+ 8700E7878800ED878800EE888900EF898A00F08A8B00F18B8C00F28C8D00F38D
+ 8E00F48E8F00F58F9000E49A9800F6909100F7919200F2939400F8929300F993
+ 9400FA949500FB959600FC969700FD979800FE989900FF999A00F7B58400F5BB
+ BC00F7C09800F2C4A700F7C6A500EFCEBD00F7CEBD00FCD4BC00F7D6CE00FFDE
+ CE00FADCDC00FFE7DE00FFFFFF00000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000676767676767
+ 6767670C07676767676767676767676767676767676767670C0D0F0E07676767
+ 676767676767676767676767670C0D0F121D1E13070C0C0C0C0C0C0C0C0C0C0C
+ 6767670C0D111F1E1E1E1E13072A686A7F7F7F7F7F7F7F0C6767670F1E1E1E20
+ 2122221407475B5A58595F6061627F0C6767670F222222232425241507475A59
+ 575C434156557F0C6767670F252526303030251607475E5E5D424053544E7F0C
+ 6767670F253132333332321707445052514F4A4C4D637F0C6767670F25343637
+ 373635180702494B474845464B0B7F0C6767670F31343B3B3A39381B074B443E
+ 0405063F0B087F0C6767670F346E6C6B723D3C1C070003030103090808647F0C
+ 6767670F3B71706F89923D27070808010A0A646588887F0C6767670F3B757473
+ 92947F28076465658888888888887F0C6767670F6D7877767592732907668888
+ 8888888888887F0C6767670F777D7B7A7978772B076688888888888888887F0C
+ 6767670F7781807E7D7B7A2C0766888C8D8D8D8C88887F0C6767670F77848382
+ 81807E2D078C8C939393918D8D887F0C6767670F778786858584832E078D8F93
+ 91908D938C887F0C6767670F778787878786862F07668A8E93908E8C88887F0C
+ 6767670F7787878787878769076688888B8B8B8888887F0C6767670F0F687C87
+ 87878769076688888888888888887F0C67676767670D0F10687C8769070C0F0F
+ 0F0F0F0F0F0F0F0F67676767676767670D0F191A076767676767676767676767
+ 67676767676767676767670F0767676767676767676767676767}
+ OnClick = SpeedButton2Click
+ end
+ object EditLogin: TEdit
+ Left = 248
+ Top = 40
+ Width = 121
+ Height = 21
+ TabOrder = 0
+ end
+ object EditSenha: TEdit
+ Left = 248
+ Top = 72
+ Width = 121
+ Height = 21
+ PasswordChar = '?'
+ TabOrder = 1
+ end
+ object UCXPStyle1: TUCXPStyle
+ Active = True
+ XPSettings.DimLevel = 30
+ XPSettings.GrayLevel = 10
+ XPSettings.Font.Charset = ANSI_CHARSET
+ XPSettings.Font.Color = clMenuText
+ XPSettings.Font.Height = -11
+ XPSettings.Font.Name = 'Tahoma'
+ XPSettings.Font.Style = []
+ XPSettings.Color = clBtnFace
+ XPSettings.DrawMenuBar = False
+ XPSettings.IconBackColor = clBtnFace
+ XPSettings.MenuBarColor = clBtnFace
+ XPSettings.SelectColor = clHighlight
+ XPSettings.SelectBorderColor = clHighlight
+ XPSettings.SelectFontColor = clMenuText
+ XPSettings.DisabledColor = clInactiveCaption
+ XPSettings.SeparatorColor = clBtnFace
+ XPSettings.CheckedColor = clHighlight
+ XPSettings.IconWidth = 24
+ XPSettings.DrawSelect = True
+ XPSettings.UseSystemColors = True
+ XPSettings.UseDimColor = False
+ XPSettings.OverrideOwnerDraw = False
+ XPSettings.Gradient = False
+ XPSettings.FlatMenu = False
+ XPSettings.AutoDetect = False
+ XPSettings.BitBtnColor = clBtnFace
+ XPSettings.ColorsChanged = True
+ Left = 184
+ Top = 8
+ end
+end
diff --git a/official/2.20/Demos/6 CustomLoginForm - ADO/Unit2.pas b/official/2.20/Demos/6 CustomLoginForm - ADO/Unit2.pas
new file mode 100644
index 0000000..fbba0e5
--- /dev/null
+++ b/official/2.20/Demos/6 CustomLoginForm - ADO/Unit2.pas
@@ -0,0 +1,53 @@
+unit Unit2;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, Buttons, StdCtrls, jpeg, ExtCtrls, UCXPStyle;
+
+type
+ TForm2 = class(TForm)
+ Image1: TImage;
+ Label1: TLabel;
+ Label2: TLabel;
+ EditLogin: TEdit;
+ EditSenha: TEdit;
+ SpeedButton1: TSpeedButton;
+ SpeedButton2: TSpeedButton;
+ UCXPStyle1: TUCXPStyle;
+ procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
+ procedure SpeedButton2Click(Sender: TObject);
+ procedure SpeedButton1Click(Sender: TObject);
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ Form2: TForm2;
+
+implementation
+
+uses uadodemo;
+
+{$R *.dfm}
+
+procedure TForm2.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
+begin
+ canclose := Form1.UserControl1.CurrentUser.UserID > 0;
+end;
+
+procedure TForm2.SpeedButton2Click(Sender: TObject);
+begin
+ Application.Terminate;
+end;
+
+procedure TForm2.SpeedButton1Click(Sender: TObject);
+begin
+ if not Form1.UserControl1.VerificaLogin(EditLogin.text, EditSenha.text) then Showmessage('Login inválido!!!!!')
+ else Close;
+end;
+
+end.
diff --git a/official/2.20/Demos/6 CustomLoginForm - ADO/uadodemo.ddp b/official/2.20/Demos/6 CustomLoginForm - ADO/uadodemo.ddp
new file mode 100644
index 0000000..4370276
Binary files /dev/null and b/official/2.20/Demos/6 CustomLoginForm - ADO/uadodemo.ddp differ
diff --git a/official/2.20/Demos/6 CustomLoginForm - ADO/uadodemo.dfm b/official/2.20/Demos/6 CustomLoginForm - ADO/uadodemo.dfm
new file mode 100644
index 0000000..43562d8
--- /dev/null
+++ b/official/2.20/Demos/6 CustomLoginForm - ADO/uadodemo.dfm
@@ -0,0 +1,579 @@
+object Form1: TForm1
+ Left = 208
+ Top = 104
+ Width = 469
+ Height = 464
+ Caption = 'UserControl - Custom Login '
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ Menu = MainMenu1
+ OldCreateOrder = False
+ Position = poDesktopCenter
+ OnCloseQuery = FormCloseQuery
+ OnCreate = FormCreate
+ PixelsPerInch = 96
+ TextHeight = 13
+ object Label2: TLabel
+ Left = 72
+ Top = 400
+ Width = 298
+ Height = 13
+ Caption = '<<= incluido para logar Exceptions. Veja o evento OnException'
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clBlue
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ ParentFont = False
+ Visible = False
+ end
+ object GroupBox4: TGroupBox
+ Left = 10
+ Top = 336
+ Width = 441
+ Height = 49
+ Caption = 'Gerar erro'
+ TabOrder = 1
+ object EditErro: TEdit
+ Left = 16
+ Top = 16
+ Width = 217
+ Height = 21
+ TabOrder = 0
+ Text = 'Erro gerado pelo demo'
+ end
+ object BitBtn2: TBitBtn
+ Left = 256
+ Top = 16
+ Width = 75
+ Height = 25
+ Caption = 'Except!'
+ TabOrder = 1
+ OnClick = BitBtn2Click
+ Glyph.Data = {
+ 36030000424D3603000000000000360000002800000010000000100000000100
+ 18000000000000030000420B0000420B00000000000000000000FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFCC6701CC6701CC6701CC6701CC6701CC6701CC
+ 6701CC6701CC6701CC6701CC6701CC6701CC6701CC6701CC6701FF00FFCC6701
+ FFFFFFFFFFFFFFFAF5FFF3E6FEEBD5FEE3C3FEDCB5FED7ABFED7ABFED7ABFED7
+ ABFED7ABFED7ABCC6701FF00FFCC6701FFFFFFFFFFFFFFFFFFFFFAF5FFF3E6FE
+ EBD5FEE3C4FEDCB500C0C000C0C000C0C000C0C0FED7ABCC6701FF00FFCC6701
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFAF5FFF3E6FFEBD5FEE3C4FFFFFFFFFFFFFFFF
+ FF00C0C0FED7ABCC6701FF00FFCC6701FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FAF5FFF3E6FFEBD5FEE3C4FEDCB5FED7ABFED7ABFED7ABCC6701FF00FFCC6701
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF5FFF3E6FFEBD5FEE3C4FEDC
+ B5FED7ABFED7ABCC6701FF00FFCC6701FFFFFFFFFFFFFFFFFF80808080808080
+ 8080FFFFFF808080FFF3E6808080808080808080FED7ABCC6701FF00FFCC6701
+ 8080FF0000FF8080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF5FFF3E6FFEB
+ D5FEE3C4FEDCB5CC6701FF00FFCC67010000FF0000FF0000FFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFAF5FFF3E6FFEBD5FEE3C4CC6701FF00FFCC6701
+ 8080FF0000FF8080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA
+ F5FFF3E6FFEBD5CC6701FF00FFCC6701FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF5FFF3E6CC6701FF00FFCC6701
+ CC6701CC6701CC6701CC6701CC6701CC6701CC6701CC6701CC6701CC6701CC67
+ 01CC6701CC6701CC6701FF00FFFF00FFCC6701CC6701CC6701CC6701CC6701CC
+ 6701CC6701CC6701CC6701CC6701CC6701CC6701CC6701FF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF}
+ end
+ end
+ object GroupBox5: TGroupBox
+ Left = 10
+ Top = 280
+ Width = 441
+ Height = 49
+ Caption = 'Incluir log'
+ TabOrder = 0
+ object EditLog: TEdit
+ Left = 16
+ Top = 16
+ Width = 121
+ Height = 21
+ TabOrder = 0
+ Text = 'Teste de log'
+ end
+ object cbNivel: TComboBox
+ Left = 144
+ Top = 16
+ Width = 97
+ Height = 21
+ Style = csDropDownList
+ ItemHeight = 13
+ TabOrder = 1
+ Items.Strings = (
+ 'N'#237'vel 0'
+ 'N'#237'vel 1'
+ 'N'#237'vel 2'
+ 'N'#237'vel 3')
+ end
+ object BitBtn1: TBitBtn
+ Left = 256
+ Top = 16
+ Width = 75
+ Height = 25
+ Caption = 'Logar'
+ TabOrder = 2
+ OnClick = BitBtn1Click
+ Glyph.Data = {
+ 36050000424D3605000000000000360400002800000010000000100000000100
+ 08000000000000010000420B0000420B00000001000000010000B5847300AD73
+ 8400B5848400B58C8400B5948C00D6BDB500C6C6C600EFD6C600CECECE00D6D6
+ D600DEDEDE00E7E7E700EFEFEF0042B5F7008CD6F700B5DEF700F7F7F700FF00
+ FF003184FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00111111111111
+ 1111111111111111111111111101020202020202020202020211111111011313
+ 1313131313131313021111111101131313131313131313130211111111011313
+ 1313131313131313021111111101131313131313131313130211111111011313
+ 1313131313131313021111111101131313131313131313130211111111011313
+ 13131313131313130211111112121210101010101010101002111111120D120C
+ 0C0C0C0C0C0C0C0C02111212120D1212120B0B0B0B0004030211120E0F0F0F0E
+ 120A0A0A0600131302111212120F1212120909090600130211111111120F1208
+ 0808080806000211111111111212120707070707050011111111}
+ end
+ end
+ object PageControl1: TPageControl
+ Left = 8
+ Top = 88
+ Width = 441
+ Height = 185
+ ActivePage = TabSheet1
+ TabOrder = 2
+ object TabSheet1: TTabSheet
+ Caption = 'Actions'
+ object GroupBox1: TGroupBox
+ Left = 10
+ Top = 12
+ Width = 103
+ Height = 121
+ Caption = 'GroupBox1'
+ TabOrder = 0
+ object Button1: TButton
+ Left = 15
+ Top = 24
+ Width = 75
+ Height = 25
+ Action = Action1
+ TabOrder = 0
+ end
+ object Button2: TButton
+ Left = 15
+ Top = 56
+ Width = 75
+ Height = 25
+ Action = Action2
+ TabOrder = 1
+ end
+ object Button3: TButton
+ Left = 15
+ Top = 88
+ Width = 75
+ Height = 25
+ Action = Action3
+ TabOrder = 2
+ end
+ end
+ object GroupBox2: TGroupBox
+ Left = 162
+ Top = 12
+ Width = 103
+ Height = 121
+ Caption = 'GroupBox2'
+ TabOrder = 1
+ object Button4: TButton
+ Left = 15
+ Top = 24
+ Width = 75
+ Height = 25
+ Action = Action4
+ TabOrder = 0
+ end
+ object Button5: TButton
+ Left = 15
+ Top = 56
+ Width = 75
+ Height = 25
+ Action = Action5
+ TabOrder = 1
+ end
+ object Button6: TButton
+ Left = 15
+ Top = 88
+ Width = 75
+ Height = 25
+ Action = Action6
+ TabOrder = 2
+ end
+ end
+ object GroupBox3: TGroupBox
+ Left = 314
+ Top = 12
+ Width = 103
+ Height = 121
+ Caption = 'GroupBox3'
+ TabOrder = 2
+ object Button7: TButton
+ Left = 15
+ Top = 24
+ Width = 75
+ Height = 25
+ Action = Action7
+ TabOrder = 0
+ end
+ object Button8: TButton
+ Left = 15
+ Top = 56
+ Width = 75
+ Height = 25
+ Action = Action8
+ TabOrder = 1
+ end
+ object Button9: TButton
+ Left = 15
+ Top = 88
+ Width = 75
+ Height = 25
+ Action = Action9
+ TabOrder = 2
+ end
+ end
+ end
+ end
+ object MainMenu1: TMainMenu
+ AutoHotkeys = maManual
+ OwnerDraw = True
+ Left = 8
+ Top = 8
+ object Arquivo1: TMenuItem
+ Caption = 'Arquivo'
+ object Abrir1: TMenuItem
+ Caption = 'Abrir'
+ end
+ object Salvar1: TMenuItem
+ Caption = '-'
+ end
+ object Salvar2: TMenuItem
+ Caption = 'Salvar'
+ end
+ object Salvarcomo1: TMenuItem
+ Caption = 'Salvar como...'
+ end
+ object Fechar1: TMenuItem
+ Caption = 'Fechar'
+ end
+ object N2: TMenuItem
+ Caption = '-'
+ end
+ object Dados1: TMenuItem
+ Caption = 'Dados'
+ object Importar1: TMenuItem
+ Caption = 'Importar'
+ end
+ object Exportar1: TMenuItem
+ Caption = 'Exportar'
+ end
+ object N4: TMenuItem
+ Caption = '-'
+ end
+ object Vincular1: TMenuItem
+ Caption = 'Vincular'
+ end
+ end
+ object N3: TMenuItem
+ Caption = '-'
+ end
+ object Sair2: TMenuItem
+ Caption = 'Sair'
+ end
+ end
+ object Editar1: TMenuItem
+ Caption = 'Editar'
+ object Copiar1: TMenuItem
+ Caption = 'Copiar'
+ end
+ object Colar1: TMenuItem
+ Caption = 'Colar'
+ end
+ object Recortar1: TMenuItem
+ Caption = 'Recortar'
+ end
+ object N1: TMenuItem
+ Caption = '-'
+ end
+ object Selecionartudo1: TMenuItem
+ Caption = 'Selecionar tudo'
+ end
+ object N5: TMenuItem
+ Caption = '-'
+ end
+ object AreadeTransferencia1: TMenuItem
+ Caption = 'Area de Transferencia'
+ object Exibir2: TMenuItem
+ Caption = 'Exibir'
+ end
+ object Esvaziar1: TMenuItem
+ Caption = 'Esvaziar'
+ end
+ end
+ end
+ object Exibir1: TMenuItem
+ Caption = 'Exibir'
+ object Zoom1: TMenuItem
+ Caption = 'Zoom...'
+ object Normal1: TMenuItem
+ Caption = 'Normal'
+ Checked = True
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object Grande1: TMenuItem
+ Caption = 'Grande'
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object Ajustarnajanela1: TMenuItem
+ Caption = 'Ajustar na janela'
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object N6: TMenuItem
+ Caption = '-'
+ GroupIndex = 1
+ end
+ object Personalizar1: TMenuItem
+ Caption = 'Personalizar'
+ GroupIndex = 1
+ end
+ end
+ object amanhonormal1: TMenuItem
+ Caption = 'Tamanho normal'
+ end
+ object elacheia1: TMenuItem
+ Caption = 'Tela cheia'
+ end
+ end
+ object Relatorios1: TMenuItem
+ Caption = 'Relatorios'
+ object Relatorio11: TMenuItem
+ Caption = 'Relatorio 1'
+ end
+ object Relatorio21: TMenuItem
+ Caption = 'Relatorio 2'
+ end
+ object Relatorio31: TMenuItem
+ Caption = 'Relatorio 3'
+ end
+ object Relatorio41: TMenuItem
+ Caption = 'Relatorio 4'
+ end
+ end
+ object Segurana1: TMenuItem
+ Caption = 'Seguran'#231'a'
+ object Cadastrodeusuarios1: TMenuItem
+ Caption = 'Cadastro de usuarios'
+ end
+ object Perfildeusurios1: TMenuItem
+ Caption = 'Perfil de usuarios'
+ end
+ object logdosistema: TMenuItem
+ Caption = 'Log do Sistema'
+ OnClick = Action1Execute
+ end
+ object N7: TMenuItem
+ Caption = '-'
+ end
+ object rocarsenha1: TMenuItem
+ Caption = 'Trocar senha'
+ end
+ object EfetuarLogoff1: TMenuItem
+ Caption = 'Efetuar Logoff'
+ OnClick = EfetuarLogoff1Click
+ end
+ end
+ end
+ object ActionList1: TActionList
+ Left = 40
+ Top = 8
+ object Action1: TAction
+ Category = 'Grupo1'
+ Caption = 'Action1'
+ OnExecute = Action1Execute
+ end
+ object Action2: TAction
+ Category = 'Grupo1'
+ Caption = 'Action2'
+ OnExecute = Action1Execute
+ end
+ object Action3: TAction
+ Category = 'Grupo1'
+ Caption = 'Action3'
+ OnExecute = Action1Execute
+ end
+ object Action4: TAction
+ Category = 'Grupo2'
+ Caption = 'Action4'
+ OnExecute = Action1Execute
+ end
+ object Action5: TAction
+ Category = 'Grupo2'
+ Caption = 'Action5'
+ OnExecute = Action1Execute
+ end
+ object Action6: TAction
+ Category = 'Grupo2'
+ Caption = 'Action6'
+ OnExecute = Action1Execute
+ end
+ object Action7: TAction
+ Category = 'Grupo3'
+ Caption = 'Action7'
+ OnExecute = Action1Execute
+ end
+ object Action8: TAction
+ Category = 'Grupo3'
+ Caption = 'Action8'
+ OnExecute = Action1Execute
+ end
+ object Action9: TAction
+ Category = 'Grupo3'
+ Caption = 'Action9'
+ OnExecute = Action1Execute
+ end
+ end
+ object ADOConnection1: TADOConnection
+ ConnectionString =
+ 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=..\BASE.MDB;Persist' +
+ ' Security Info=False'
+ LoginPrompt = False
+ Provider = 'Microsoft.Jet.OLEDB.4.0'
+ Left = 72
+ Top = 8
+ end
+ object ApplicationEvents1: TApplicationEvents
+ OnException = ApplicationEvents1Exception
+ Left = 32
+ Top = 392
+ end
+ object UCADOConn1: TUCADOConn
+ Connection = ADOConnection1
+ Left = 104
+ Top = 8
+ end
+ object UserControl1: TUserControl
+ AutoStart = True
+ ApplicationID = 'customlogin'
+ ControlRight.ActionList = ActionList1
+ ControlRight.MainMenu = MainMenu1
+ UsersForm.MenuItem = Cadastrodeusuarios1
+ UsersForm.UsePrivilegedField = False
+ UsersForm.ProtectAdmin = True
+ EncryptKey = 0
+ NotAllowedItems.MenuVisible = True
+ NotAllowedItems.ActionVisible = True
+ Login.AutoLogon.Active = False
+ Login.AutoLogon.MessageOnError = True
+ Login.InitialLogin.User = 'Admin'
+ Login.InitialLogin.Email = 'qmd@usercontrol.com.br'
+ Login.InitialLogin.Password = '#delphi'
+ Login.MaxLoginAttempts = 0
+ Login.GetLoginName = lnNone
+ LogControl.Active = True
+ LogControl.TableLog = 'UCCLLog'
+ LogControl.MenuItem = logdosistema
+ ExtraRight = <>
+ LoginMode = lmActive
+ UsersProfile.Active = True
+ UsersProfile.MenuItem = Perfildeusurios1
+ TableUsers.FieldUserID = 'UCIdUser'
+ TableUsers.FieldUserName = 'UCUserName'
+ TableUsers.FieldLogin = 'UCLogin'
+ TableUsers.FieldPassword = 'UCPassword'
+ TableUsers.FieldEmail = 'UCEmail'
+ TableUsers.FieldPrivileged = 'UCPrivileged'
+ TableUsers.FieldTypeRec = 'UCTypeRec'
+ TableUsers.FieldProfile = 'UCProfile'
+ TableUsers.FieldKey = 'UCKey'
+ TableUsers.TableName = 'UCCLTabUsers'
+ TableRights.FieldUserID = 'UCIdUser'
+ TableRights.FieldModule = 'UCModule'
+ TableRights.FieldComponentName = 'UCCompName'
+ TableRights.FieldFormName = 'UCFormName'
+ TableRights.FieldKey = 'UCKey'
+ TableRights.TableName = 'UCCLTabRights'
+ ChangePasswordForm.MenuItem = rocarsenha1
+ ChangePasswordForm.ForcePassword = False
+ ChangePasswordForm.MinPasswordLength = 0
+ OnLoginSucess = ADOUserControl1LoginSucess
+ OnLoginError = ADOUserControl1LoginError
+ OnCustomLoginForm = ADOUserControl1CustomLoginForm
+ DataConnector = UCADOConn1
+ CheckValidationKey = False
+ Left = 136
+ Top = 8
+ end
+ object UCXPStyle1: TUCXPStyle
+ Active = True
+ XPSettings.DimLevel = 30
+ XPSettings.GrayLevel = 10
+ XPSettings.Font.Charset = ANSI_CHARSET
+ XPSettings.Font.Color = clMenuText
+ XPSettings.Font.Height = -11
+ XPSettings.Font.Name = 'Tahoma'
+ XPSettings.Font.Style = []
+ XPSettings.Color = clBtnFace
+ XPSettings.DrawMenuBar = False
+ XPSettings.IconBackColor = clBtnFace
+ XPSettings.MenuBarColor = clBtnFace
+ XPSettings.SelectColor = clHighlight
+ XPSettings.SelectBorderColor = clHighlight
+ XPSettings.SelectFontColor = clMenuText
+ XPSettings.DisabledColor = clInactiveCaption
+ XPSettings.SeparatorColor = clBtnFace
+ XPSettings.CheckedColor = clHighlight
+ XPSettings.IconWidth = 24
+ XPSettings.DrawSelect = True
+ XPSettings.UseSystemColors = True
+ XPSettings.UseDimColor = False
+ XPSettings.OverrideOwnerDraw = False
+ XPSettings.Gradient = False
+ XPSettings.FlatMenu = False
+ XPSettings.AutoDetect = False
+ XPSettings.BitBtnColor = clBtnFace
+ XPSettings.ColorsChanged = False
+ Left = 168
+ Top = 8
+ end
+end
diff --git a/official/2.20/Demos/6 CustomLoginForm - ADO/uadodemo.pas b/official/2.20/Demos/6 CustomLoginForm - ADO/uadodemo.pas
new file mode 100644
index 0000000..206b1c5
--- /dev/null
+++ b/official/2.20/Demos/6 CustomLoginForm - ADO/uadodemo.pas
@@ -0,0 +1,200 @@
+unit uadodemo;
+
+interface
+
+uses
+{$IFDEF VER130}
+{$ELSE}
+ Variants, MidasLib,
+{$ENDIF}
+ Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
+ Dialogs, Menus, DB, ActnList, StdCtrls, ADODB,
+ AppEvnts, Buttons, ComCtrls, UCBase, UCADOConn, UCXPStyle;
+
+type
+ TForm1 = class(TForm)
+ MainMenu1: TMainMenu;
+ Arquivo1: TMenuItem;
+ Abrir1: TMenuItem;
+ Salvar1: TMenuItem;
+ Salvar2: TMenuItem;
+ Salvarcomo1: TMenuItem;
+ Fechar1: TMenuItem;
+ N2: TMenuItem;
+ Dados1: TMenuItem;
+ Importar1: TMenuItem;
+ Exportar1: TMenuItem;
+ N4: TMenuItem;
+ Vincular1: TMenuItem;
+ N3: TMenuItem;
+ Sair2: TMenuItem;
+ Editar1: TMenuItem;
+ Copiar1: TMenuItem;
+ Colar1: TMenuItem;
+ Recortar1: TMenuItem;
+ N1: TMenuItem;
+ Selecionartudo1: TMenuItem;
+ N5: TMenuItem;
+ AreadeTransferencia1: TMenuItem;
+ Exibir2: TMenuItem;
+ Esvaziar1: TMenuItem;
+ Exibir1: TMenuItem;
+ Zoom1: TMenuItem;
+ Normal1: TMenuItem;
+ Grande1: TMenuItem;
+ Ajustarnajanela1: TMenuItem;
+ N6: TMenuItem;
+ Personalizar1: TMenuItem;
+ amanhonormal1: TMenuItem;
+ elacheia1: TMenuItem;
+ Relatorios1: TMenuItem;
+ Relatorio11: TMenuItem;
+ Relatorio21: TMenuItem;
+ Relatorio31: TMenuItem;
+ Relatorio41: TMenuItem;
+ Segurana1: TMenuItem;
+ Cadastrodeusuarios1: TMenuItem;
+ rocarsenha1: TMenuItem;
+ ActionList1: TActionList;
+ Action1: TAction;
+ Action2: TAction;
+ Action3: TAction;
+ Action4: TAction;
+ Action5: TAction;
+ Action6: TAction;
+ Action7: TAction;
+ Action8: TAction;
+ Action9: TAction;
+ N7: TMenuItem;
+ EfetuarLogoff1: TMenuItem;
+ ADOConnection1: TADOConnection;
+ Perfildeusurios1: TMenuItem;
+ logdosistema: TMenuItem;
+ ApplicationEvents1: TApplicationEvents;
+ Label2: TLabel;
+ GroupBox4: TGroupBox;
+ EditErro: TEdit;
+ GroupBox5: TGroupBox;
+ EditLog: TEdit;
+ cbNivel: TComboBox;
+ BitBtn1: TBitBtn;
+ BitBtn2: TBitBtn;
+ PageControl1: TPageControl;
+ TabSheet1: TTabSheet;
+ GroupBox1: TGroupBox;
+ Button1: TButton;
+ Button2: TButton;
+ Button3: TButton;
+ GroupBox2: TGroupBox;
+ Button4: TButton;
+ Button5: TButton;
+ Button6: TButton;
+ GroupBox3: TGroupBox;
+ Button7: TButton;
+ Button8: TButton;
+ Button9: TButton;
+ UCADOConn1: TUCADOConn;
+ UserControl1: TUserControl;
+ UCXPStyle1: TUCXPStyle;
+ procedure Action1Execute(Sender: TObject);
+ procedure EfetuarLogoff1Click(Sender: TObject);
+ procedure ADOUserControl1LoginError(Sender: TObject; Usuario,
+ Senha: String);
+ procedure ADOUserControl1LoginSucess(Sender: TObject; IdUser: Integer;
+ Usuario, Nome, Senha, Email: String; Privilegiado: Boolean);
+ procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
+ procedure Button10Click(Sender: TObject);
+ procedure ApplicationEvents1Exception(Sender: TObject; E: Exception);
+ procedure BitBtn1Click(Sender: TObject);
+ procedure BitBtn2Click(Sender: TObject);
+ procedure FormCreate(Sender: TObject);
+ procedure ADOUserControl1Logoff(Sender: TObject; IDUser: Integer);
+ procedure ADOUserControl1CustomLoginForm(Sender: TObject;
+ var CustomForm: TCustomForm);
+
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ Form1: TForm1;
+
+implementation
+
+uses Unit2;
+
+{$R *.dfm}
+
+procedure TForm1.Action1Execute(Sender: TObject);
+begin
+ MessageDlg('Teste', mtInformation, [mbOK], 0);
+end;
+
+procedure TForm1.EfetuarLogoff1Click(Sender: TObject);
+begin
+ UserControl1.Logoff;
+end;
+
+
+procedure TForm1.ADOUserControl1LoginError(Sender: TObject; Usuario,
+ Senha: String);
+begin
+ Usercontrol1.Log(Format('Erro de login do usuário: "%s" senha: "%s"',[Usuario, Senha]),0);
+end;
+
+procedure TForm1.ADOUserControl1LoginSucess(Sender: TObject;
+ IdUser: Integer; Usuario, Nome, Senha, Email: String;
+ Privilegiado: Boolean);
+
+begin
+ Usercontrol1.Log(Format('Entrada no sistema usuário: "%s" nome: "%s"',[Usuario, Nome]),0);
+end;
+
+procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
+begin
+ UserControl1.Log('Sistema encerrado.',0);
+end;
+
+procedure TForm1.Button10Click(Sender: TObject);
+begin
+ raise Exception.Create('');
+end;
+
+procedure TForm1.ApplicationEvents1Exception(Sender: TObject;
+ E: Exception);
+begin
+ UserControl1.Log(E.Message,3);
+ beep;
+end;
+
+procedure TForm1.BitBtn1Click(Sender: TObject);
+begin
+ UserControl1.Log(EditLog.Text, cbNivel.ItemIndex);
+ MessageDlg('Log adicionado', mtInformation, [mbOK], 0);
+end;
+
+procedure TForm1.BitBtn2Click(Sender: TObject);
+begin
+ raise Exception.Create(EditErro.Text);
+end;
+
+procedure TForm1.FormCreate(Sender: TObject);
+begin
+ cbNivel.ItemIndex := 0;
+ ADOConnection1.Connected := True;
+end;
+
+procedure TForm1.ADOUserControl1Logoff(Sender: TObject; IDUser: Integer);
+begin
+ UserControl1.Log('Efetuou logoff');
+end;
+
+procedure TForm1.ADOUserControl1CustomLoginForm(Sender: TObject;
+ var CustomForm: TCustomForm);
+begin
+ CustomForm := TForm2.Create(Application);
+end;
+
+end.
diff --git a/official/2.20/Demos/7 Dont show mainform before login - ADO/Project2.dpr b/official/2.20/Demos/7 Dont show mainform before login - ADO/Project2.dpr
new file mode 100644
index 0000000..9204b5c
--- /dev/null
+++ b/official/2.20/Demos/7 Dont show mainform before login - ADO/Project2.dpr
@@ -0,0 +1,13 @@
+program Project2;
+
+uses
+ Forms,
+ Unit1 in 'Unit1.pas' {Form1};
+
+{$R *.res}
+
+begin
+ Application.Initialize;
+ Application.CreateForm(TForm1, Form1);
+ Application.Run;
+end.
diff --git a/official/2.20/Demos/7 Dont show mainform before login - ADO/Project2.res b/official/2.20/Demos/7 Dont show mainform before login - ADO/Project2.res
new file mode 100644
index 0000000..03109fc
Binary files /dev/null and b/official/2.20/Demos/7 Dont show mainform before login - ADO/Project2.res differ
diff --git a/official/2.20/Demos/7 Dont show mainform before login - ADO/Unit1.ddp b/official/2.20/Demos/7 Dont show mainform before login - ADO/Unit1.ddp
new file mode 100644
index 0000000..4370276
Binary files /dev/null and b/official/2.20/Demos/7 Dont show mainform before login - ADO/Unit1.ddp differ
diff --git a/official/2.20/Demos/7 Dont show mainform before login - ADO/Unit1.dfm b/official/2.20/Demos/7 Dont show mainform before login - ADO/Unit1.dfm
new file mode 100644
index 0000000..0118905
--- /dev/null
+++ b/official/2.20/Demos/7 Dont show mainform before login - ADO/Unit1.dfm
@@ -0,0 +1,1503 @@
+object Form1: TForm1
+ Left = 192
+ Top = 107
+ Width = 625
+ Height = 349
+ Caption = 'MainForm'
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ Menu = MainMenu1
+ OldCreateOrder = False
+ OnCreate = FormCreate
+ PixelsPerInch = 96
+ TextHeight = 13
+ object Memo1: TMemo
+ Left = 128
+ Top = 24
+ Width = 473
+ Height = 257
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = [fsBold]
+ Lines.Strings = (
+ 'UserControl1.AutoStart = False'
+ ''
+ ''
+ 'procedure TForm1.FormCreate(Sender: TObject);'
+ 'begin'
+ ' ADOConnection1.Connected := True;'
+ ' UserControl1.Execute;'
+ 'end;')
+ ParentFont = False
+ TabOrder = 0
+ end
+ object ADOConnection1: TADOConnection
+ ConnectionString =
+ 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=..\Base.mdb;Persist' +
+ ' Security Info=False'
+ LoginPrompt = False
+ Mode = cmShareDenyNone
+ Provider = 'Microsoft.Jet.OLEDB.4.0'
+ Left = 24
+ Top = 88
+ end
+ object UCADOConn1: TUCADOConn
+ Connection = ADOConnection1
+ Left = 56
+ Top = 88
+ end
+ object UserControl1: TUserControl
+ AutoStart = True
+ ApplicationID = 'ADOBasic'
+ ControlRight.MainMenu = MainMenu1
+ UsersForm.MenuItem = Cadastrodeusuarios1
+ UsersForm.UsePrivilegedField = False
+ UsersForm.ProtectAdmin = True
+ EncryptKey = 0
+ NotAllowedItems.MenuVisible = True
+ NotAllowedItems.ActionVisible = True
+ Login.AutoLogon.Active = False
+ Login.AutoLogon.MessageOnError = False
+ Login.InitialLogin.User = 'Admin'
+ Login.InitialLogin.Email = 'qmd@usercontrol.com.br'
+ Login.InitialLogin.Password = '#delphi'
+ Login.MaxLoginAttempts = 0
+ Login.GetLoginName = lnNone
+ LogControl.Active = True
+ LogControl.TableLog = 'UCLog'
+ LogControl.MenuItem = logdosistema
+ ExtraRight = <>
+ LoginMode = lmActive
+ UsersProfile.Active = True
+ UsersProfile.MenuItem = Perfildeusurios1
+ TableUsers.FieldUserID = 'UCIdUser'
+ TableUsers.FieldUserName = 'UCUserName'
+ TableUsers.FieldLogin = 'UCLogin'
+ TableUsers.FieldPassword = 'UCPassword'
+ TableUsers.FieldEmail = 'UCEmail'
+ TableUsers.FieldPrivileged = 'UCPrivileged'
+ TableUsers.FieldTypeRec = 'UCTypeRec'
+ TableUsers.FieldProfile = 'UCProfile'
+ TableUsers.FieldKey = 'UCKey'
+ TableUsers.TableName = 'ex1TabUsers'
+ TableRights.FieldUserID = 'UCIdUser'
+ TableRights.FieldModule = 'UCModule'
+ TableRights.FieldComponentName = 'UCCompName'
+ TableRights.FieldFormName = 'UCFormName'
+ TableRights.FieldKey = 'UCKey'
+ TableRights.TableName = 'ex1TabRights'
+ ChangePasswordForm.MenuItem = rocarsenha1
+ ChangePasswordForm.ForcePassword = False
+ ChangePasswordForm.MinPasswordLength = 0
+ DataConnector = UCADOConn1
+ CheckValidationKey = False
+ Left = 88
+ Top = 88
+ end
+ object MainMenu1: TMainMenu
+ AutoHotkeys = maManual
+ OwnerDraw = True
+ Left = 24
+ Top = 56
+ object Arquivo1: TMenuItem
+ Caption = 'Arquivo'
+ object Abrir1: TMenuItem
+ Caption = 'Abrir'
+ end
+ object Salvar1: TMenuItem
+ Caption = '-'
+ end
+ object Salvar2: TMenuItem
+ Caption = 'Salvar'
+ end
+ object Salvarcomo1: TMenuItem
+ Caption = 'Salvar como...'
+ end
+ object Fechar1: TMenuItem
+ Caption = 'Fechar'
+ end
+ object N2: TMenuItem
+ Caption = '-'
+ end
+ object Dados1: TMenuItem
+ Caption = 'Dados'
+ object Importar1: TMenuItem
+ Caption = 'Importar'
+ end
+ object Exportar1: TMenuItem
+ Caption = 'Exportar'
+ end
+ object N4: TMenuItem
+ Caption = '-'
+ end
+ object Vincular1: TMenuItem
+ Caption = 'Vincular'
+ end
+ end
+ object N3: TMenuItem
+ Caption = '-'
+ end
+ object Sair2: TMenuItem
+ Caption = 'Sair'
+ end
+ end
+ object Editar1: TMenuItem
+ Caption = 'Editar'
+ object Copiar1: TMenuItem
+ Caption = 'Copiar'
+ end
+ object Colar1: TMenuItem
+ Caption = 'Colar'
+ end
+ object Recortar1: TMenuItem
+ Caption = 'Recortar'
+ end
+ object N1: TMenuItem
+ Caption = '-'
+ end
+ object Selecionartudo1: TMenuItem
+ Caption = 'Selecionar tudo'
+ end
+ object N5: TMenuItem
+ Caption = '-'
+ end
+ object AreadeTransferencia1: TMenuItem
+ Caption = 'Area de Transferencia'
+ object Exibir2: TMenuItem
+ Caption = 'Exibir'
+ end
+ object Esvaziar1: TMenuItem
+ Caption = 'Esvaziar'
+ end
+ end
+ end
+ object Exibir1: TMenuItem
+ Caption = 'Exibir'
+ object Zoom1: TMenuItem
+ Caption = 'Zoom...'
+ object Normal1: TMenuItem
+ Caption = 'Normal'
+ Checked = True
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object Grande1: TMenuItem
+ Caption = 'Grande'
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object Ajustarnajanela1: TMenuItem
+ Caption = 'Ajustar na janela'
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object N6: TMenuItem
+ Caption = '-'
+ GroupIndex = 1
+ end
+ object Personalizar1: TMenuItem
+ Caption = 'Personalizar'
+ GroupIndex = 1
+ end
+ end
+ object amanhonormal1: TMenuItem
+ Caption = 'Tamanho normal'
+ end
+ object elacheia1: TMenuItem
+ Caption = 'Tela cheia'
+ end
+ end
+ object Relatorios1: TMenuItem
+ Caption = 'Relatorios'
+ object Relatorio11: TMenuItem
+ Caption = 'Relatorio 1'
+ end
+ object Relatorio21: TMenuItem
+ Caption = 'Relatorio 2'
+ end
+ object Relatorio31: TMenuItem
+ Caption = 'Relatorio 3'
+ end
+ object Relatorio41: TMenuItem
+ Caption = 'Relatorio 4'
+ end
+ end
+ object Segurana1: TMenuItem
+ Caption = 'Seguran'#231'a'
+ object Cadastrodeusuarios1: TMenuItem
+ Caption = 'Cadastro de usuarios'
+ end
+ object Perfildeusurios1: TMenuItem
+ Caption = 'Perfil de usuarios'
+ end
+ object logdosistema: TMenuItem
+ Caption = 'Log do Sistema'
+ end
+ object N7: TMenuItem
+ Caption = '-'
+ end
+ object rocarsenha1: TMenuItem
+ Caption = 'Trocar senha'
+ end
+ object EfetuarLogoff1: TMenuItem
+ Caption = 'Efetuar Logoff'
+ end
+ end
+ end
+ object UCSettings1: TUCSettings
+ AppMessages.MsgsForm_BtNew = '&Nova Mensagem'
+ AppMessages.MsgsForm_BtReplay = '&Responder'
+ AppMessages.MsgsForm_BtForward = 'E&ncaminhar'
+ AppMessages.MsgsForm_BtDelete = '&Excluir'
+ AppMessages.MsgsForm_BtClose = '&Close'
+ AppMessages.MsgsForm_WindowCaption = 'Mensagens do Sistema'
+ AppMessages.MsgsForm_ColFrom = 'Remetente'
+ AppMessages.MsgsForm_ColSubject = 'Assunto'
+ AppMessages.MsgsForm_ColDate = 'Data'
+ AppMessages.MsgsForm_PromptDelete = 'Confirma excluir as mensagens selecionadas ?'
+ AppMessages.MsgsForm_PromptDelete_WindowCaption = 'Delete messages'
+ AppMessages.MsgsForm_NoMessagesSelected = '!No Messages selected'#161
+ AppMessages.MsgsForm_NoMessagesSelected_WindowCaption = 'Information'
+ AppMessages.MsgRec_BtClose = '&Fechar'
+ AppMessages.MsgRec_WindowCaption = 'Mensagem'
+ AppMessages.MsgRec_Title = 'Mensagem Recebida'
+ AppMessages.MsgRec_LabelFrom = 'De :'
+ AppMessages.MsgRec_LabelDate = 'Date'
+ AppMessages.MsgRec_LabelSubject = 'Assunto'
+ AppMessages.MsgRec_LabelMessage = 'Mensagem'
+ AppMessages.MsgSend_BtSend = '&Enviar'
+ AppMessages.MsgSend_BtCancel = '&Cancelar'
+ AppMessages.MsgSend_WindowCaption = 'Mensagem'
+ AppMessages.MsgSend_Title = 'Enviar Nova Mensagem'
+ AppMessages.MsgSend_GroupTo = 'Para'
+ AppMessages.MsgSend_RadioUser = 'Usu'#225'rio :'
+ AppMessages.MsgSend_RadioAll = 'Todos'
+ AppMessages.MsgSend_GroupMessage = 'Mensagem'
+ AppMessages.MsgSend_LabelSubject = 'Subject'
+ AppMessages.MsgSend_LabelMessageText = 'Message text'
+ CommonMessages.AutoLogonError = 'Falha de Auto Logon!'#13#10'Informe um usu'#225'rio e senha v'#225'lidos.'
+ CommonMessages.ChangePasswordError.InvalidCurrentPassword = 'Senha Atual n'#227'o confere!'
+ CommonMessages.ChangePasswordError.NewPasswordError = 'Os campos: Nova Senha e Confirma'#231#227'o devem ser iguais.'
+ CommonMessages.ChangePasswordError.NewEqualCurrent = 'Nova senha igual a senha atual'
+ CommonMessages.ChangePasswordError.PasswordRequired = 'A Senha '#233' obrigat'#243'ria'
+ CommonMessages.ChangePasswordError.MinPasswordLength = 'A senha deve conter no m'#237'nimo %d caracteres'
+ CommonMessages.ChangePasswordError.InvalidNewPassword = 'Proibido utilizar senhas obvias!'
+ CommonMessages.InvalidLogin = 'Usu'#225'rio ou Senha inv'#225'lidos!'
+ CommonMessages.InitialMessage.Strings = (
+ 'ATEN'#199#195'O Login Inicial:'
+ ''
+ 'Usu'#225'rio : :user'
+ 'Senha : :password'
+ ''
+ 'Defina as permiss'#245'es para este usu'#225'rio.')
+ CommonMessages.MaxLoginAttemptsError =
+ '%d Tentativas de login inv'#225'lido. Por motivos de segun'#231'a o '#13#10'sist' +
+ 'ema ser'#225' fechado.'
+ CommonMessages.PasswordChanged = 'Senha alterada com sucesso!'
+ CommonMessages.BlankPassword = 'Retirada senha do Login %s'
+ Login.WindowCaption = 'Login'
+ Login.LabelUser = 'Usu'#225'rio '
+ Login.LabelPassword = 'Senha : '
+ Login.BtOk = 'OK'
+ Login.BtCancel = '&Cancelar'
+ Login.TopImage.Data = {
+ 07544269746D6170B6790000424DB67900000000000036040000280000007601
+ 0000500000000100080000000000807500000000000000000000000100000000
+ 00009BB5D8007493BA00ACC2E000BBBBBB00CBD9EB007D9BC20051719900F6F8
+ FB00F2F5FA0095B0D500FCFDFE00EDF2F800A7B6BC0055759D00F8FAFC00B1C5
+ E1005979A10089A8D200CDD5D9003E5E88004D7199003D5D8700FAFBFD008888
+ 8800E5ECF500DDE6F200DDDDDD00E2EAF400A5BDDD00405F880042628C0089A6
+ CC008297A0005D7DA500C5D4E900A1B9DA006685AD004569920045679000B4C8
+ E300EEEEEE00BDCEE60099B3D600A9C0DE008BA8CD009EA5B0006181A9006E8D
+ B400D0DCED006989B10099999900809DC40085A2C80044638C00C1D1E8004462
+ 8C008EAACF0091ACD100486890005579A100E7EEF6003E5F890040608A005D82
+ AB00C0CBCF008CAAD400D5E0EF00496C950042618A004A6A93008FACD500D8E3
+ F0004C6C9400D2DEEE007795BD0046668E004E6E960050709700B8CBE400BBCD
+ E500CCCCCC00C8D7EA00648BB2006D93BA0044648E00A2BADB004A6B94009BAC
+ B300708EB5004E6F980085A5CF00DAE4F10058789E0043638D0050759D00506E
+ 9600D6E1EF00F4F7FB00A7BEDE00829FC600FDFEFE0041608B0054749A007A98
+ BF0093AFD600BECFE60044628A00666666004060880086A6D0004C6B92004867
+ 8E00EAEFF700AAAAAA0049688E006C8AB1004D6E940053729A00476690006584
+ AB007290B8005C7CA300333333005F7EA60046648E005A7DA50056779E00E6EA
+ EC0046648C0044444400777777004869920044678E0080A0C900E0E8F3006D8C
+ B3005576A000AAAEB50090ADD5006080A7009EB7DA006486AF00486A93006185
+ AC00F9FAFD004C6A92003C5B85004C6E96006988AF0049699100C6CFDC0093AE
+ D20051729B00597AA30045648B004E6D94004A6992004A6C92004D6D96006786
+ AD00B6BCC40056769E003D5A82003F628B006383A900698DB500555555005A7F
+ A7005B7AA1003A5A8400527399005A7BA200426188004668900039577F007D9F
+ C70047668D00EBF1F8004C6B940087A3CA00405F8600486990004E6D96004C6D
+ 9400222222006287AF0083A3CC00FBFCFD00779BC2004A6A9100D1DDEE005473
+ 9C003C5C87006B8BB20092ADD200D3DFEF00E1E5E900426189006C8BB5008B8F
+ 940045658D005878A00042638B003F5C84005C7BA4001111110084A3CC006183
+ AB00CDD6E1006A8AB3006282AB00808285006787B0006483AC00A5BCDB004061
+ 8A004F5153003E40420043637000FEFEFE0091AED600FEFFFF00758D9600F2F5
+ F5008FA0A900D9E0E200506D7A00EFF4F9005C788300BFD0E700B5C1C60091AE
+ D500E3EBF50069828D00C3D3E900D2DDEE0097B2D700DFE7F300F7F9FC00A3BB
+ DC006F8FB7007B7E830094AFD3007998C1002F3032007396BE00909296008FAB
+ D000686C7100A4BBDA00D2D9E400D9DEE600FEFEFF0088A7D20000000000FFFF
+ FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCFCFCFCFCFCFC
+ FCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB6464640A0A0A0ABBBBBBBBBB16
+ 16160E0E0EEEEEEE07EE0707616161070761070707EEEEEEEEEE90161616BB16
+ BB0ABB0A0A0A0ADB64646464DBDB64FCFFFCDBDB64DBDB0A640A0A0A0ABBBBBB
+ 16160EEEEE07610808E30BB1703C18E886195B47424930045122EA36294F4E27
+ 0F0F0F022B621CEF55558C8C000000ECECECECEC68096868DCDCDC8A8A8A8A8A
+ 8A46464646464646464646464646464646464646464646464646464646464646
+ 4646464646464646464646464646464646464646464646464646464646464646
+ 4646464646464646464646464646464646464646464646EC0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFC
+ FCFCFCDBDBDBDBDBDBDBDBDB64DB640A0A0A0A0ABBBBBBBB16161616160E0EEE
+ EE07EEEEEEEE6107070707EEEEEEEE0E0E0E0E161616BBBBBB0A0A0ADB0A6464
+ DBDBFCDBDBFCFCFFFFDBFCDDDBFCDBDB64640A0A0A0A0ABBBB16900EEE076108
+ 08E30BB1703C181B86195B4742BE3004512236694F4E27270F022B2B1CEF238C
+ 8C0000ECECEC09688A8A46464646414141111111111111111111FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCDB
+ DBDBDBDBDBDBDB6464640A0A0A0ABBBBBBBBBB161616160E0EEE0E0EEEEEEEEE
+ EEEEEEEEEE0E0E16901616BB16BBBB0A0A0A0A0A64DBDBFCFCDBFCFCFCFCFCFF
+ FFFCFCFFDDFFFCFCFCFF0A640A0A0ABB0A1616900EEE07070808E30BB1703C18
+ 1B1B195B604230040422EAE5294F4E270F02022B1C1C558C8C0000ECEC6868DC
+ DCE78A464646414141414111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCDBDBDBDBDBDB
+ DBDB64640A640A0A0ABBBBBB161616160E0E160E0E0E0E90EE0E0E9090901616
+ 161616BBBBBB0A0A640A0A64FCFCFCFCFCFFFFFCFFDDFFFCFCFFFFFFFCFFFCFF
+ FCDBFCDBDB0A0A0A0ABBBB16160E0EEE616108E30BB1703CE81BED5B47604930
+ 04512236E54F4E270F0F022B621CEF238C8C00ECECEC6809DCDC8A4646464641
+ 4141114111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB640A0A
+ 0A0A0ABBBBBBBB1616161616160E0E169090161616161616BBBBBBBB0ABB0A0A
+ 640A64DBDBFCFCDBFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFCFCFCFCFFFCFC0A0A
+ 0A0ABB1616160EEE07610808E30BB13C3C1B86195B4742BE3004222236294E27
+ 270F0F022B1CEF558C8C8C00ECECEC68DCE7DC8A464641414141411111111111
+ FD11FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB64640A0A0A0ABBBBBB
+ BBBBBB1616161616161616161616BBBB0ABB0A0A0A0A0A64FC64DBFCFCFCDDFC
+ FFDDFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFDDFCFFFCDDDB64640ABBBBBB160E0E
+ EE076108E30BB1703C181BED194760493004512236E54F4E270F0F022B621C55
+ 238C8C00ECECEC096868E7464646414141414111111111111111FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FCFFFFFCFCFCFCFCFCFCDBDBDBDBDBDB64640A0A0A0A0ABBBBBBBBBBBBBBBB16
+ BBBBBBBBBBBB0ABB0A0A0A0A640ADBDB64FCFCDBFCDDDDFCFFDDFFDDFFFFFFFF
+ FFFFFFFFFFDDFFFFFFDDFFFCFFFCDBDB64640ABBBBBB16900EEE070808E30B70
+ 703CE81B195B4742BE300451EAE5294F27270F022B2B1CEF558C8C0000ECECEC
+ 68DC8A8A464646464141414111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFCFC
+ FCFCFCFCFCDBDBDBDBDBDB64640A0A0A0ABBBBBBBBBBBBBBBBBB0ABBBB0A0A0A
+ 0A0A0A0A646464DBFCFCDDDBDBFCDDFCFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDBDB640A0ABBBBBB16900E07070808E3B1703C181BED194760
+ 493004512236694F4E270F02022B1C1C55238C00ECECECEC6809DC8A8A464641
+ 414141411111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFFFCFCFCDBFCFCDB
+ DBDBDBDBDB64640A0A0A0A0A0ABBBBBBBB0A0A0A0A0A0A0A0A0A0A64DBDBDBDB
+ DBFFFFDDDDDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFC
+ FC64640A0ABBBB16160EEE070808E30BB1703CE81BED5B4742BE300422EAE529
+ 4E27270F022B621C55238C8C00ECECEC0909DCE78A4646414641414111111111
+ 1111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCDBDBDBDBDBDB6464
+ 640A0A0A0A0ABBBBBB6464640A0A0A6464DB0ADB64DBDBFCFFFFFFDDDDFFFFFF
+ DDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFFDDDBFC640ABBBB16
+ BB0E0EEE070808E30B703C181B86194760C33004512236694F4E270F02022B1C
+ 1C55238C0000ECEC0968E7E78A8A41464141414141111111111111FDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A
+ 0A0A6464640A0A6464DBDBDBFCDBDBFCFCFFFFDDDDFFDDFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFCFCFC64640ABB16160EEE076108E3
+ 0BB1703CE81B195B47423004042236E54F4E270F02022B621C55238C00000909
+ C239382C1FCE85AF3305F3F5015353F5AF8585BC53B93F3F3FA7993B885E5E98
+ 98981414438E599E434343145E5E98593F52B9A7251E3D3D653E3E3E3E3E3ED7
+ 1E1E1E5D545D5DCA3E1E1E3B3B5DD7C03ED7A38E434354A365D7D76565D7D765
+ 6513153E3EC092AE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A6464646464
+ FCFCFCFCFCDBDBFCFCFFFFFFFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFCFCFCDB0A0A0ABB16160EEE070808E3B1703C181BED19
+ 4760BE3004512236694E270F0F022B621C558C00EC0997381F1F346333670101
+ F02F318DCF2EA7A78F52A5B97D14934393438E258E568E8E8E8E254325251459
+ 1414143B3FB93FA75E5E5E5E93985943438E8E25252525252676767683838326
+ 6554267DA78E263E3E3D15A33DA33D3E3D3D3D3D3D3D3D3D3E133D1E1E1592AE
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCFCFCFCDBDBDBDBDBDBDBDBDB646464646464FCFC6464FC64FCFCFCFCFCFCDB
+ FCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFF
+ FFFFFCFC64640A0ABBBB160E0E07610808E3B1703CE81B195B60C3BE04512236
+ 694F4E270F022B62D6558C002AF297382CB3633367677858319FA42E7BA8A87B
+ 21C9660648B5B53A4B4B8035CA6A6AC5353E1D1D3E1D3E1ECA268E883B3B4325
+ 26262654542626262626262626252525562543255EA77D5E2525262626262626
+ 252626262654262554252525431443255D1E2606433DA9A90000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE11212FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFF1212E1FFFFFFFFFFFFFFFFFF1212E1FFFFFFFFFF
+ FFFFFFFFDF121212FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE11212
+ E1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBFCFC
+ DBDBDBDBDB64646464646464FCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFF
+ DDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFDDFCFCFCFC0A0A
+ BBBB16160EEE610808E30B703C181BED194742BE300422EAE54F4E270F0F022B
+ 1C5523002A09C2382CB36333674A0158879F9F2E7B5CA10D21A1064D48BDBD72
+ 809A3535C56C6C6C13131D44441D1D3E1D1ECA438E263D3D3D3D3D1313131313
+ 3D131313133D3D3D3D3DA3A3435E435DA33E3D3D3D3E3E3EA33EA3A3A3D7A354
+ 5426268E5E88592665D75D765D3D15A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE120DADADADADAE940FFFFFF12DADA0C
+ FFFFFFFFFFFF0CDADADADADADADADEFFFFDADA12FFFFFFFF0CDADADAFFFFFFFF
+ FFFFE0DADADADAE440FFFFFFFF40E9DADADADADA20E1FFFFFFFF12DEDADADADA
+ DADE12FFFFFFDADADEFFFF7FDADADEFFFFFFDFE0E2DADADADADEFF12DADADADA
+ DADADADAFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB
+ DBDBDBDBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFC64646464BBBB160EEEEE61
+ 08E30BB1703CE886194760493004512236294E270F0F022B62D6238C2A09F239
+ 381F6333054A0158879F772E7B5C5CA1210D4C9B91726F6FC8C83535CA6AC5C5
+ 1D6C6C1DB41D6C6C1D3E5D4354A33D1E653E3E1D3D3D3D3D1313131313131313
+ 15133D3D8E14263D3D1315C015151515C0C0151313133DD7151315A343935492
+ 133D3DC0C0133DA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFE6E2DADAE00C57E4DADAE0FFFF7FDADA0CFFFFFFFFFFFF0CDA
+ DAE9DEDEDEDE57FFFFDEDA12FFFFFF7FDADADADAFFFFFFFFFFFFDADE0C0CE4DA
+ DA7FFFFF57DADAE2570CE0E2DADAE6FFFF12DADADA200CE0DADADA40FFFFE4DA
+ DEFFFF0CDADAE1FFFFE1E2DADA200C0CE0E4FF12DADAE4DEDEDEDEDEFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFDDFCFFFCFC6464640A64BB16160EEE070808E3B1703C181B
+ ED5B47C33004512236694F4E270F022B62EF238C0009F239381FB36305674A58
+ 2F9F772E21A1100D21BF5F9B9B91BD6FC8C83535CA6A6AC56A35441D1D1D6C1D
+ 15C0359E5DD71D441D1D1D131313131313131515151515151313C01526595465
+ 653E131515151515C0C0C0C0C0C0C0159215C0151E5D3E13C015C0A9921515AE
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FE2
+ DAE97FFFFFFFFFE0DADA40FFFFDADA0CFFFFFFFFFFFF0CDADAE6FFFFFFFFFFFF
+ FFDEDA12FFFFFFDEDADADADAFFFFFFFFFFFFDFFFFFFFDFDADA0CFF40DADAE0DF
+ FFFFFFDFE9DAE27FFF20DADA0CFFFFFF12DADADEFFFFDEDADEFFFFE4DAE0FFFF
+ FFE9DAE2E1FFFFFFFFFFFF12DADAE0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFCFCFCFCFCFCFCFCDBFCDBDBFCDBFFFFFCFCFCFCFCFCFCFFFF
+ FFFFFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFCFCFCFCFC64640ABBBB160EEE076108E30B703C181B86194742BE300422
+ EAE54F4E270F0202621C558C8C2A099739382CB3343333674A78589477A85C75
+ CC754D4D0606065F4D4D4D4C4C4C4C4C9191919191913AC83792449E3E151D13
+ 1D1D1D1D1D1D1D1D1D1D1D13131313151D13C092764565653E13131513131313
+ 131315151515C092921315C03D651E5415C092C0151592AE0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0CDADA7FFFFFFFFFFFFF
+ DEDAE4FFFFDADA0CFFFFFFFFFFFF12DADA0CFFFFFFFFFFFFFFDEDA0CFFFF40DA
+ DA0CDADAFFFFFFFFFFFFFFFFFFFF40DADAE6FF20DAE4FFFFFFFFFFFFDFE2DAE0
+ FFDEDADADFFFFFFFFFE4DADAFFFFDEDADEFFE6DAE2DFFFFFE1DADAE6FFFFFFFF
+ FFFFFFFFDADADEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFCFCFCFCFFFCFCFCFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFFFFFCFC6464
+ 640A0ABB160E0EEE070808E3B1703C1B86195B6049300451EA36694E270F0202
+ 2B1C55238C2A09F2C2382CB3346305674A4A017873A4C975CCBF4D0D0D667506
+ 4C4C4C9B4C4C9B4C064D9B9B4C9B4C4C9B131E593E1D373735353535357C7C4B
+ 54545454543535353737543EB69C1D1D3E1D13133E6565653E3E3E3E3E653E1D
+ 131392C03D3E13133DC092151315C0A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFDEDAE9FFFFFFFFFFFFFF0CDADA7FFFDADA0C
+ E1127FFFFFFF12DADAE012121212DFFFFFE0DA0CFFDFE4DA20E1DADAFFFFFFFF
+ FFFFFFFFFFE6DADAE9FFFFDADA57FFFFFFFFFFFFFF20DAE4FFDEDADAFFFFFFFF
+ FFDEDADAFFFFDEDADEFFE4DA0CFFFFFF0CDADADFFFFFFFFFFFFFFFFFDADAE912
+ 1212127FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFC
+ FCFCFCFCFCFCFFFFFCFFFCFFFFFCFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCDDFCFCFC64640A0ABB1616EEEE
+ 076108E3B1703C181BED5B60423004512236294E4E270F022B62EF2300002AF2
+ 97382C1FB33405336767582F8794C9BF210D98A10D755F744D4D4C4C4D4C4D4D
+ 4C48489B48B5BD4C06131E593D1D767C353535359A8080C854547C7C7C545435
+ 3735833E984BCBCB1E1E65651E1E1E1E651E1E1E1E5D3765371E3D3D1E3E9292
+ 3E15C013131513A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFDEDADEFFFFFFFFFFFFFF12DADA12FFDADA0CE2DADAE4E1FF12DA
+ DADADADADADA12FFFF0CDA0CFF0CDAE27FFFDADAE1FFFFFFFFFFFFFF0CDADAE9
+ DFFFFFDADA0CFFFFFFFFFFFFFF0CDADAFFDEDADAFFFFFFFFFFDEDADAFFFF20DA
+ DEE6DADA2012FFFF0CDADAFFFFFFFFFFFFFFFFFFDADADADADADADA0CFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCFCFCFCFFFFFF
+ FFFFFFFCFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFDDFCFFFCFC640A0ABBBBBB16EE076108E30BB13C18
+ 1BED5B4742BE040422EA694F4E270F022B62EF238C002A09C2F7381F1F1F63B3
+ B33401785831C9A121A10DC97EAA4D4C4C4C4C4C4C4C4D4C9B5F7E21104C6E4C
+ 0D444BBF3E1D76809A35CACACACACA355454C8C8C8C85454C8C8483E0D541D13
+ 1E1E653E3E3E3E3D651E1E651E1E1E3E1D1E653D3E139213133E3E13131313A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20DA
+ E4FFFFFFFFFFFFFF12DADA12FFDEDA571240E9DAE2DF12DADADE0C0C0C0C7FFF
+ FF0CDA577FDADA0CFFFFDADA12FFFFFFFFFFFFE0DADAE0DFFFFFFFE2DAE0FFFF
+ FFFFFFFFFF0CDADAFFDEDADAFFFFFFFFFFDEDADAFFFF0CDADEE1120CE2DA57FF
+ 0CDADA7FFFFFFFFFFFFFFFFFDADAE40C0C0C0C12FFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFFFFFFFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFC
+ FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFF
+ FFFFFFDDFCDDFC6464640A0ABBBB160EEE070808E3B1703CE81B194760493004
+ 2236E54F4E270F02022BD6558C000009F239381F1F2C3333676778585873100D
+ 215C66A80D664D5F066E4D4D4D0674AA9B21F031AB484C06BF1E26BF3E133AB0
+ 6F446C9A541E5454353A76C6D1B6767C6F9545CAC9D713151E445D4465443D3E
+ 655D651E4BD5761DCACA351E3E15C0153E15C0133E1315A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6DADA12FFFFFFFFFFFF
+ 57DADADFFFDEDA0CFFFF7FDADAE612DADA0CFFFFFFFFFFFFFF0CDADEDEDAE4FF
+ FFFFDADA12FFFFFFFFFF12DADAE0FFFFFFFFFFE0DAE2DFFFFFFFFFFFFFE9DAE9
+ FF0CDADA12FFFFFFFF0CDADAFFFF0CDADEFFFFFFE6DADA7F7FDADA0CFFFFFFFF
+ FFFFFFFFDADADEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFCFC
+ FC640A0A0ABB160EEE076108E3B1703CE81BED5B60493004512236294E270F02
+ 022B1CEF2300000997C2382CB32CB33463334A7858C1C90D79C9AA1010A87E5C
+ 754C75064D4D744D0D242EB74D4C4C06754426BFD71D953A3AB54BCA543E3A76
+ 9CC875D4213A3A243A9145357ED7131D5D3E3E3E1D13543E1E1E1E3D9EC6BF54
+ 9A35351E3E1515136513C0C0151313A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFDFE2DAE9DFFFFFFFFFE1E2DAE0FFFFDEDA0C
+ FFFFDFDADA0C12DADA0CFFFFFFFFFFFFFF0CDAE2DADA12FFFFFFE4DA12FFFFFF
+ FFFF0CDADAFFFFFFFFFFFF12DADAE0FFFFFFFFFFE6DADAE6FF0CDADA12FFFFFF
+ FF0CDADA12FF0CDADEFFFFFF40DADA12FFDEDADA12FFFFFFFFFFFFFFDADADEFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFC64640A0ABB160E
+ EE076108E30B703C181BED5B47C33004512236294F27270F022B62EF23002A09
+ 09C2382C1F2C386363054A017887A8BF7B10065C5C0DAA66664D66754D064D06
+ AA2E24AA4C4D0D4D063E26BF3E3E9C9CC8B5CA6C76548335443A0DCC45542ED5
+ 95484584BFD7134454831E13761D5D1E5D9265452EC698544BC8351E1D15133E
+ 653E15C0153E3EA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFF12E2DAE40C121257E2DAE2DFFFFFDEDADE0C0CDEDADA4012DA
+ DADE0C0C0C0C0C7FFF40DADADA20FFFFFFFFDEDAE6FFFFFFFFFF40DADA201212
+ 0CE1FFFF0CDADADEE61240E0DADADEFFFF0CDADA12FFFFFFFF0CDADA12FF0CDA
+ E40C0C57E2DADADFFFDFE9DADAE040124057E1FFDADAE40C0C0C0C0C12FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFC640A640ABB1616EE076108080B7070
+ 181B861947423004512236694F27270F022B62D6230000EC0997F72C1FB33834
+ 056701787887CC0D79AB4DAB215C5CA16606AAAA4D4D4D060101F3C1A84C6606
+ 061DAD986C44959C9A95449A7676761E1E567D7D84B7F0069148953A063E1337
+ 5D1E5D13763E443E54C05488D12F983A6FC835441D151D1E3D3E3E133D653EA2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ E1DEDADADADADADADEDFFFFFFFDEDADADADADADAE0FF12DADADADADADADADA12
+ FF12DADADA7FFFFFFFFFDEDA0CFFFFFFFFFFFFE0DADADADADA7FFFFFFF40E4DA
+ DADADADADA57FFFFFF0CDADA12FFFFFFFF0CDADA12FF0CDADADADADADAE2E6FF
+ FFFFDFE0DADADADADADA12FFDADADADADADADADA0CFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ DDFFFFFFFFFFFFFCFCFC640A0ABB16160EEE070808E3B1703CE886194742BE30
+ 042236694F4E270F022B62EF238C00EC09C2F72C1FB3B36367670101782FCC0D
+ 10794D2121A15CAAAAAA4D4D064C4C064D7E797B945C9B4D061D9598131E763A
+ C83A449544541D54C8138806A3AD9826914895569E1D153576924B1E3E5D543E
+ 155D83982E4AD47B6FC81E3E13151D1E3D3E3D13133E3DA20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FE60C0CE67F
+ FFFFFFFFFFE112121212127FFFFFDF1212121212121212DFFFDF1212E1FFFFFF
+ FFFFE1127FFFFFFFFFFFFFFFE10C0C0CE1FFFFFFFFFFFFE10C0C0C40DFFFFFFF
+ FF7F1212DFFFFFFFFF7F1212DFFF7F121212121212FFFFFFFFFFFFFFDF400C0C
+ 0C40DFFF12121212121212127FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
+ FF64640A640ABB160EEE070808E3B1703CE88619476049300451EAE54F4E270F
+ 020262D6558C002A0997F7381FB3343305674A0178C121A15C794D7910667BAA
+ 75790D4DAA4C4C06AA064C6E0D7506AA981D45061335763A4844443A1EB21E76
+ 3A4B764B563A7648919B9593563D157C5D4B5D13441EC01E65541E5476983AC8
+ 6FC81E3E1315134465131515151513A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFCFFFCFC64640A0ABB16
+ 0EEE076108E3B1703CE81B195B4749300451EAE54F4E270F022B2B1C55238C2A
+ 09F239381FB3343305676701782F8BA1C9AB4D211021019F0D2FA4AA66064D06
+ AA4CA1AA4D74664CBF1D43981354769CC8C8D101F0D19E1D3EB2443A453A453A
+ 6E4C9506831D15763D8313831E44541E3D15135D3A761E3A4B8035441D151365
+ 6513131E1E1315CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCDDFFFCDB64640ABB1616EE076108E30B70
+ 3C181BED5B47C330045122E5294E270F02022B1C55238C00099738382CB33463
+ 05674A0178782EA199CC06215C210558A1F32FBF66AA4D4D4C75AA4D5C4D0610
+ BF1D4898134B3A913AC5940D7676C8837C7CA87B3A9C3A486E4C45983A1D1576
+ 3A1376D15DB2C6761E1E5D15765454354B80351E1D15133E3D151E833A65C0A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFDDDDFCFFFCFCFC640A0ABBBB16EEEE6108E30BB170181BED5B474230
+ 0451EA36294E272702022B62558C8C2AEC9739381FB3343305674A01782FD5C9
+ 79A866A8109F874A8DC6F30DA10D4D66AA666666AA06BFA1A11D9EBF549A9C3A
+ 83D7F578787BBDBD5648D4C90DD276833ABF76C94B441D761E769CC65978B67C
+ 54351E5D54545476763A1D761315374465153DD13E1365A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFF
+ FFFCFC64640ABB16160EEE610808E37070181BED5B4742300451EA36694E270F
+ 02022B62EF8C8C002AF239F71F1FB36333054A017858775CAB8B06791078A4C1
+ 0521587779A1A8A85C5C5C5C0DAA66A10D15C999A34B9C3A4B83F0BF5966486E
+ AA4CD198CC109E839C9EADD2C81E443A54139EF3C6785FB695764B4B4B5D5D5D
+ 763AC83A1E445D44156583D41E3E1EA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFFFCFC646464BBBB
+ 160EEE070808E3B1703CE886194742BE04042236694F27270F022B1CD6238C2A
+ 09F2C2381FB3B3633305674A01F024107B2FA1AB7901AB2E0599D42410107966
+ 5C5C5C5C7E0D0DA10DD78F2ECA95569148B6016701774D100D4CD24810065945
+ 595643A5AD54C8953E9EC9CC88C6CC83599EB2B2453A767654358335D7441E3E
+ 135D59995D76B26F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC64DB640ABBBB160EEE070808E3B1
+ 703CE886194742BE30512236694F27270F022B1CEF238C002AF297382C1F3463
+ 3305674A015824A8CF2F7BC9102E0D10C9BF107E66ABAB105C5C5CA8105C5C10
+ BF458F8BAD9D6E6E9E3A065906AA9D0D0DAA0D06BF9806599893143143C8C876
+ 48567DF0317B59594C9E489E48569C9C45959826C8C84B848399F57899454B6A
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFDDFFFFFC64646464BBBB160E0E076108E3B1703CE886194742BE
+ 04042236694F4E270F022B62EF23000009F239382CB3343305674A4A78879F8B
+ 249FCF7E7E0DAA664D754D064D4DB7664D4C4C4D06060606459E0D06B5843A3A
+ 959B48B03A984C934C4D954C9D4D9E4C4343933B43C85454CAD7CA3ACA845426
+ 3A6F6F3A833A3A3A4B26AA8444D7A3D7543D1E44545D37B40000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
+ FFFCFCFC640A0ABB160E0E076108E30B703C181BED5B604930042236694F4E27
+ 0F022B1CEF23002A0939382C1F3433054A0158879FA47B21CCA10DBFB7489195
+ 91726F4856987DC972B09AB06FB0B0B04445C835AD9A9A6FB0356A953A4B4C3B
+ 3A6F9AC84B9A4BC835268326434B544B54CAD7CACA985E43C89ACA9A9A353554
+ 4B9598B76FC89ACA3D5D76B6833E1D6A0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFC64640A0ABB
+ 1616EE070808E3E3B1703CE81B1947C3300422EA694F27270F022B1C5523002A
+ F2C2382C1F3433676701583194778B7BCC5C0D6606065F9B6E6EBD3AC8067B8E
+ 6EB5B0B0B0C880804435CAC5C89A6AB09AB09A80C53599A79572729A6F35C835
+ 1E35C8CA26C8354B6ACA4B1D440D7D8E6FC89A9A35CA1E35C580C83A35C5CA6C
+ 3D767610597613AE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFCFC640A0ABB160EEE0761610808
+ 08E3E3B17018ED4749045136694F4E270F022B1C5523002A0939381F1F343367
+ 677858739FA47BA85C5C0D4C5F9B9191726E72C826563B846E729A9A80356A6A
+ 801D4B356A80AC806A9A6AC8D73D3B8872726F806A806A6A35441E543E354435
+ B01D6FCACAAD7E95B56FC89A9ACACA353580CBC8AC6A4B353D7615BF76541ECB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDDFFFCDDFC0A0A0ABB160EEE07076107EE0E0E0EEE0708B11B
+ 473051EAE54F4E270F022B1C5523002A0939381FB33433674A015873772E8BCC
+ 5C66665F5F4C6F953A72B03ACAB73B546F3A1D806AB4C580B0B46AB46FB46AB4
+ 449A1D4435157D9880B09A8080C5C5C57C15443735351D351D441DCA1E4B0635
+ 6F6F44C8445D1D3E1D443E44541E1DC81E443E4BC81E54CB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
+ FCFFFC6464640ABB160EEE07077F71176B818181170316081B4204EA694F4E27
+ 0F022B1CD623002A0939381FB36333674A0158872F739F777B9F7BA81066A14D
+ 9B483AC815837ECAB43A3A6EC84C6F95484806486E4806483A953A6FC8152193
+ 6CB09A6ACBC5657C44351D5415C854547C541EC8D73A4844CA6FC515A95D3544
+ 1D3A35443E1E44C01E441D351E1D35CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFC6464640ABB
+ BB0EEE070781FEFEFEFEFEFEFEFEA60AE31904EAE54F4E270F022B621CEF8C00
+ EC97381F1F63333305676778788773739424A4249F79C9AB5C5CBF486C43AB84
+ 80064C4C9B5F664C485C065F5C0D6E5F4D4C75064C448F43B46A6F4B959C3AB2
+ 9CB2B29CB6B61D459C6F6F8ECA4C3A1DCACA6C9A4B4B1D1D1EC03A4B153A159C
+ 35441D4413C044A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC640A64BB160EEE0707CDFE7A
+ 82D36BCDFEFEFE17EE1B3022E5294F4E270F0F022BD655002A97381FB3343333
+ 33674A01015887947377247B7B2E218B10ABA806A34899CA954D489BAA48664C
+ 754D75BF064C75A10D454D9806CA8F26CA3548C8B2445D54C8543A359E35483A
+ 954B4593AD0D351D1DCAC56C1D134445761E1D833E3E3E1D351E1D3EC09244A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFCFC64640A0ABBBB160EEE07D312610808E3C4F4FEFEB8
+ 163C495136E5E56969294F4E270262232AF2381FB334333305670505782F8794
+ 942424014A947B7EA8A8CC98D75699A3B5484C0DAA774D669B7506664A78D1C6
+ 779E4C98BF3524841D3A6E541E3A75B676563A563A54F021BD4B45483AA1C51D
+ 6C4BC54410D5BF131D35BF4859D10D5D35353E3E15C044A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFF
+ FCDDFCDBDB64640ABBBB90EE07616161616108E3F6FEFEFEBB70425122220430
+ 604242490436271C0009F71F1F3433330505336301C1C1949F24335831059458
+ 79AB21A1CA437D844B0D0648D4A8F04C0D4CAABFF0F30188787E060DBF268DAD
+ A94CC85676D478884B3A3A8376450DF05F6E489DB598356A6CB0CA6CBF990676
+ 764483D1313A44445D5D3E3E131535A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5003030328FFFFFFFFFFFFFFFF
+ FF5003031AFFFFFFFFFFFFFFFFFF280303031AFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFF1A03030328FFFFFFFFFFFFFFFF28030350FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A030350FFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFF50030328FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A03031AFFFFFFFFFFFFFFFFFFFF
+ FF28030350FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF030303FCFC6464
+ FC0A16EE0761EE1A030316EE12FEFEFE50B1600404428670E68903890B1B0402
+ 23EC381F34343333336767670578873131948B01F301F52E215C990DD73A99CA
+ BD4C064C66F0AB0D740DBF9E8DF30501D20D4D9859842ECA6C5935B29C244A83
+ 45C83A7659C926F0064CB7959D4D9A6AC89ACA562E103A44C0440DD2249C354B
+ 5D351D1D15135DA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFF03A6FEFEFEFEFEFEB86B1AFFFFFFFF6BFEFEFEFEFEB871FF
+ FFFFFFFF17B8FEFEFEFEFEFE17FFFF03FEFEFE28FFFFFFFFFFFFFFFFFFFFFFFF
+ FFFF036BCDFEFEFEFEFECD32FFFFFFFF717AFEFEFEFECD6B28FFFFFFFFFEFEFE
+ 03FFFFFFFFFF81FEFE17FFFFFFFF6BFEFEFEFE82FF03FEFEFE28FFFFFFFFFFFF
+ 286BCDFEFEFEFE7A71FFFFFFFF03FEFEFEFFFFFFFFFFFFFFFFFF17FEFEFE03FF
+ FFFFFFFFFFFFFFFF71B8FEFEFEFE3217FEFE81FFFFFFFF037AFEFEFEFEFE17FF
+ FF03FEFEFEFFFFFFFF81FEFECD50286BFEFEFEFEB8FCCDFEFE03BB0E615081FE
+ FEFECD17BBFEFEFE03B147EB47A0A6FEFEFEFEFEFEB8D04E2309381F34343333
+ 336733673487942F24A424F0317B7B7D215CAB5CCA8399A33A0606AA31A49F06
+ 667445BFD4054A7B4D4D060D4D56CFCA3E453A3A76B2013A564BCA3A932E01D2
+ 484848B5B7486AB49AC844C8CCA13A3E1E35C8C9D54476765D1E1315C01D54CB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B
+ FEFEFEFEFEFEFEFEFEFEFE32FFFFFFB8FEFEFEFEFEFEFE71FFFFFF81FEFEFECD
+ 8181CDFE81FFFF03FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF286BFEFEFEFEFEFE
+ FEFEFE81FFFFFF6BFEFEFEFEFEFEFEFECD50FFFFFF7AFEFE03FFFFFFFFFF82FE
+ FE17FFFFFF71FEFEFEFEFE81FF03FEFEFEFFFFFFFFFFFF50CDFEFEFEFEFEFEFE
+ FE6BFFFFFF50FEFEFEFFFFFFFFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFFFFFF1A
+ CDFEFE8117173203FEFE81FFFFFF32FEFEFEFEFEFEFE81FFFF1AFEFEFEFFFFFF
+ 71FEFEFE32FF82FEFECD8217822881FEFE030A9050CDFEFEFEFEFEFE6BFEFEFE
+ 030B5B47E0CDFEFEFEF4D9F4FEFE2D272309381FB363333305674A67012FC194
+ 9F772E944AF02179795C10A1444B885DC8754D75BF7E4C064C4C9B06107821C9
+ 4D4D66665993ABC81D455654543A3A54B09A4B6F5624F00D5F48834806543E1D
+ 5D54351E1E351E1E3DD78399064B44765D5D139213653ECB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFEFE6B71033281
+ FEFEFEFE03FFFF827128FF1A7AFEFEA6FFFF17FEFECD17FFFFFFFF1A32FFFF03
+ FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF7AFEFEFECD82710303176B7AFFFF71FE
+ FEFE1728FF037AFEFEB828FFFF81FEFE71FFFFFFFFFF17FEFE82FFFFFF17FEFE
+ FE03FF71FF03FEFEFEFFFFFFFFFFFF7AFEFE7A03FF2817FEFEFE17FFFFFFFEFE
+ FEFFFFFFFFFFFFFFFFFF03FEFEFE03FFFFFFFFFFFFFFFF17FEFEB8FFFFFFFF1A
+ FEFE7AFFFF1ACDFEFE7A71FFFF1A32FFFFFFFEFEFEFFFF28B8FEFE6BFFFFCDFE
+ FE32DDDDDB646BFEFE710A1681FEFECD32EEC4D3FEFEFEFE030BEDFACDFEFE81
+ 9647305151E0E0028C09381F34B3330505674A0178878731249FA4A4247B108B
+ 10AB21BF35450D546EAA744859069E0606BD594C48C9064C4DAA75754D14211D
+ 54487676543A353A3A9A4BCA3A59453A95B25643BF541D929C3E441D761D5D35
+ D7541E35134B3A541E1E3DC01D4465CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF7AFEFEFE17FFFFFFFFFF6BFEFEFE6BFFFFFF
+ FFFFFFFF82FEFEA6FFFFB8FEFE17FFFFFFFFFFFFFFFFFF1AFEFEFEFFFFFFFFFF
+ FFFFFFFFFFFFFF17FEFEFE8128FFFFFFFFFFFFFFFFFFB8FEFE17FFFFFFFF28CD
+ FEFE17FFFF81FEFE17FFFFFFFFFF17FEFE81FFFFFF17FEFEB8FFFFFFFF1AFEFE
+ FEFFFFFFFFFF32FEFECD28FFFFFFFF17FEFECDFFFFFFFEFEFEFFFFFFFFFFFFFF
+ FFFF03FEFEFE03FFFFFFFFFFFFFFFF17FEFE7AFFFFFFFFFFFEFEFEFFFF17FEFE
+ CD28FFFFFFFFFFFFFFFFFEFEFEFFFF82FEFEB828FFFFFEFEFE71FFDD646417FE
+ FE170A7FFEFEFE3290E3703CD3FEFEFE03E31BC7FEFEB8C4190436294F4E0F2B
+ 8C2AC21F3434333305674A017887C19F9F9FA48B8B21797B5C797BBF35565E54
+ C84D664C750659590D6EBFAABF1010994D660666B798211D92483A4576453E3A
+ C86E4B9D459A4583B2594C83C9C81EC5441E4B5D5D131D3ED73ED74B3E441E54
+ 1D1E3E133E3E3DCB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFEFEFEFEFFFFFFFFFFFF28FEFEFEB8FFFFFFFFFFFF71CDFEFE71
+ FF50FEFEFE28FFFFFFFFFFFFFFFFFFFFFEFEFE03FFFFFFFFFFFFFFFFFFFFFFCD
+ FEFEB828FFFFFFFFFFFFFFFFFF1AFEFEFE1AFFFFFFFFFF82FEFE81FFFF17FEFE
+ 17FFFFFFFFFF17FEFE81FFFFFF71FEFE7AFFFFFFFFFFFEFEFE03FFFFFFFF6BFE
+ FE6BFFFFFFFFFF28FEFEFE03FFFFFEFEFE03FFFFFFFFFFFFFFFF03FEFEFE03FF
+ FFFFFFFFFFFFFF1AFEFEFEA61AFFFFFFFEFEFEFFFFA6FEFE6BFFFFFFFFFFFFFF
+ FFFFFEFEFEFF50FEFEFE50FFFFFF6BFEFECD32FFFCFC17FEFE170A03FEFEFE28
+ 070B18E818B8FEFE0308E8D8FEFE820B4704223636694F0FD600971FB3343333
+ 330501782F582F9494772E2E2E778BA8AB10107ECA8399264D4D4D0694F0774C
+ 4C0D4C749F78D5C6934D5F0D95AB999C765935C8CCD4BF4B4CACB5C8458BC976
+ 9C5643AD7D4B35353A5444C910CC834B26458821593E1576445D1E3E653E1DB4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFE
+ FE7AFFFFFFFFFFFFFF7AFEFEFEFFFFFFFFFF82FEFEFE17FFFF03FEFEFEFFFFFF
+ FFFFFFFFFFFFFFFFFEFEFE03FFFFFFFFFFFFFFFFFFFF03FEFEFE32FFFFFFFFFF
+ FFFFFFFFFF03FEFEFEFFFFFFFFFFFF03FEFEFEFFFF17FEFE82FFFFFFFFFF03FE
+ FE7AFFFFFF03FEFEFEFFFFFFFFFFFEFEFE03FFFFFFFF81FEFE17FFFFFFFFFFFF
+ 81FEFE17FFFFFEFEFE03FFFFFFFFFFFFFFFF03FEFEFE03FFFFFFFFFFFFFFFFFF
+ 32CDFEFEFE7A825081FEFE50FF81FEFE17FFFFFFFFFFFFFFFFFF81FEFE507AFE
+ FE17FFFFFFFF2881FEFEFECDA63271FEFEA60A03FEFEFE6407B1181B1BD8FEFE
+ 170818D9FEFE17613C86195B191947040F8C972CB33463050567014A4A582FC1
+ 87949F778B8B2E211010A15C3593A58E6F4C759B2EF0871010060D7B2105F32E
+ 934C5FA1B5A521B21E483A547BD51006BD7EA1BF4DAB24B23A839E06314C4B76
+ 1E443AD424CCB2984310D4993A1E3E3E5476541E5D5D5D9A0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE81FFFFFFFFFFFF
+ FF81FEFEFEFFFFFF2881FEFECD71FFFFFF03FEFEFEFEFEFEFEFEFEFEFEFEFFFF
+ FEFEFE03FFFFFFFFFFFFFFFFFFFF17FEFEFE1AFFFFFFFFFFFFFFFFFFFF03FEFE
+ FEFFFFFFFFFFFF03FEFEFEFFFF17FEFE81FFFFFFFFFF03FEFEFEFFFFFF03FEFE
+ FEFFFFFFFFFFFEFEFE03FFFFFFFF81FEFE17FFFFFFFFFFFF81FEFE17FFFF81FE
+ FE03FFFFFFFFFFFFFFFF03FEFEFE030317177128FFFFFFFFFF28177AFEFEFEFE
+ CDFEFE03FF81FEFE17FFFFFFFFFFFFFFFFFF81FEFE82FEFECDFFFFFFFFFFDDFC
+ 036BCDFEFEFECDFEFE810A1AFEFEFE1AEE0B18861BD3FEFE170818D9FEFEFEFE
+ FEFEFEFEFEFEFEF1E523F22C341F2C0505674A34344A2F582FC17394777777A4
+ A87910C94B99BC140666AA06A40178AB5C77A8AB8B01D421AA66BFBF8EF53F54
+ 4C5656592FD421985C105C06D578CC4C064C595E8D9326765D0D31D421B6590D
+ 06998DBF3A459C7654545D1E5D5D54B00000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF81FEFEFEFFFFFFFFFFFFFF82FEFEFE28FFFF
+ 81FEFE7A1AFFFFFFFFFFFEFEFE710303030317FEFEFEFFFFFEFEFE17FFFFFFFF
+ FFFFFFFFFFFF17FEFEFEFFFFFFFFFFFFFFFFFFFFFF28FEFEFE71FFFFFFFFFF32
+ FEFEB8FFFF17FEFEFE28FFFFFFFF71FEFEFEFFFFFF28FEFEFEFFFFFFFFFFFEFE
+ FE17FFFFFFFF82FEFE7AFFFFFFFFFFFFB8FEFE32FFFF81FEFE03FFFFFFFFFFFF
+ FFFF03FEFEFE03B8FEFEFEFE82FFFFFFFFFFFFFF280382B8FEFEFE32FF82FEFE
+ 7AFFFFFFFFFFFFFFFFFF81FEFE717AFEFE32FFFFFFDDDDFCFCDBDB5032A6FEFE
+ FEB80A16B8FEFE17BB0870E8E8D3FEFE17081BF1FEFEA60389892D89F4FEFED3
+ 22D6092CB3B31F0533674A05057858783131949F949F2E8BAB7921A15699A55E
+ B5060DA1BF7979A106A8BFBF0DAB0DBF66BFBF0693525243543A4C062106489E
+ 9DAA9D4C7910BF9E599E458E98C8CA1E4B98CC48454B3A13C8D74C4B5D1E1D3E
+ 1E1E3E3D653E3EC50000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF81FEFEFEFFFFFFFFFFFFFF17FEFEFE03FF50FEFEFE28FFFFFFFF
+ FFFFA6FEFE32FFFFFFFF32FEFEB8FFFFFEFEFECD50FFFFFFFFFFFFFFFFFF17FE
+ FEFEFFFFFFFFFFFFFFFFFFFFFFFFA6FEFEA6FFFFFFFFFF81FEFE6BFFFF71FEFE
+ FEA6FFFFFFFFA6FEFEFEFFFFFFFFFEFEFE28FFFFFFFFFEFEFECD50FFFFFF50FE
+ FEFE50FFFFFFFF03FEFEFE1AFFFF81FEFE03FFFFFFFFFFFFFFFF1AFEFEFE71FE
+ FEFEFEFEFE6BFFFFFFFFFFFFFFFFFF28B8FEFE17FF71FEFEFE03FFFFFFFFFFFF
+ FFFF81FEFE0350CDFEFE71FFFFDDFCFCDBDBDB64FC6417FEFEFE0A0ED3FEFECD
+ 500E08B1B1D3FEFEA6611BA0FEFEB8EE3C5B4786B8FEFEC7E5F9F21FB36363F3
+ 67670178F087879424A42E8B7B21A879795C2166B75E5E14B774B74DBD4C4856
+ 4C9D564D9E454C4C93489B59143B53A73A3A5435763AC8C8B0CA3AB54B3A3A4B
+ 4B5683AD434B26353E1D1D1E1E444435C813484B76351D445D1E1D3D3E1315CB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6FE
+ FEFEFFFFFFFFFFFFFF17FEFEFE03FF03FEFEFE17FFFF1A32FFFF03FEFECD03FF
+ FF287AFEFE17FFFFFEFEFEFECD821703FFFFFFFFFFFF71FEFEFE71FFFFFFFFFF
+ FFFFFFFFFFFF50FEFEFEA61AFF1A6BFEFEFE50FFFF03FEFEFEFEB882177AFEFE
+ FECDFFFF5003FEFEFE17030328FFFEFEFEFECD821703FFA6FEFECD32FFFF71CD
+ FEFEA6FFFFFF81FEFE71FFFFFFFFFFFFFFFFFFFEFEFE7128FF507AFEFEFE03FF
+ FF0328FFFFFFFFFFB8FEFE17FFFF7AFEFECD3228FF280303FFFF81FEFE03FF32
+ FEFECD50FFDDFC1A50DDFCFC64DB32FEFEFEBBEE617AFEFECD321AEEEE6BFEFE
+ 81611960D9FEFE6BC43C18F6FEFECDD02700392CB36333674A01F058D1C1872E
+ 8B79C90DBFBF754D4D4D56954556459E453B7D1480373E1E1E3544134435443E
+ 6C443E5D253FA7C945441D1E3E441E1D443E3E44443E44543BA13A8044921313
+ 13923E15153E153E1515351D1D54C0C09265A9A9C09213AE0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFE1AFFFFFFFFFF
+ FF03FEFEFE03FFFFB8FEFEFEFEFEFECDFFFFFF32FEFEFE7A81FEFEFE7A28FFFF
+ FEFEFE7AFEFEFE17FFFFFFFFFFFF28FEFEFE6BFFFFFFFFFFFFFFFFFFFFFFFF32
+ FEFEFEFEFEFEFEFEFE32FFFFFF03FEFEFE81FEFEFEFEFEFEFE82FFFF81FEFEFE
+ FEFEFEFE03FFFEFEFE7AFEFEFE17FF287AFEFEFEFEFEFEFEFE7A28FFFFFF81FE
+ FE17FFFFFFFFFFFFFFFFFFFEFEFE03FFFFFF28CDFEFE6BFFFF82FE7A6B17177A
+ FEFEFE50FFFF50CDFEFEFEFEFEFEFE17FFFFA6FEFE32FFFFA6FEFEB828FCDB28
+ FECD8117176BCDFEFEA6166108C47AFEFEFEFEFEFEFEFEFEB8E3473096F4FEFE
+ CD81B8FEFEFEC72262F2381F3433054A7858C17331319F7BC975B648B245956F
+ C84B35449A9ACACA543B3B841DAC1313921D13921D1D151D6C1D1D3D3D3B983A
+ 1E13131D1D131D1315C0C01313C015138E5615B4CB15151513C03E133D65C015
+ 131544C51D15A9C09265C013651365A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFF03FEFEFE17FFFF
+ 5081FEFEFEFEFE6BFFFFFFFF037AFEFEFEFECD6B28FFFFFFFEFEFE716BFEFE17
+ FFFFFFFFFFFFFF6BFEFEFE03FFFFFFFFFFFFFFFFFFFFFFFF1A6BFEFEFEFEFEA6
+ 03FFFFFFFF03FEFEFE2882CDFEFEFECD82FFFFFF81FEFEFEFEFEFEFE03FFFEFE
+ FE716BFEFE17FFFFFF32B8FEFEFEFEB81728FFFFFFFF6BFEFE17FFFFFFFFFFFF
+ FFFFFFFEFEFE03FFFFFFFF81FEFE81FFFF0381CDFEFEFEFEFEB871FFFFFFFF1A
+ 6BFEFEFEFEFECD50FFFF17FEFE17FFFF28CDFEFE7A28DBDB6B7AFEFEFEFEFEFE
+ 6B7F0708E30BE3F67AFEFEFEFEFEFEFEF418EB512296F8CDFEFEFEFEF432510F
+ 009738B33433674A015831D4319F8BA85C0DBF064D4D4C4856454B6F6FB044B4
+ 3D3B5E3DAC7C3554C83A3A83453A3A56953A9C76A37D986A133E441E35444435
+ 764B4B7676C8544B439D1D1DC53537445D1E545D4B3A5D545D5435763792135D
+ 3E1E651E1E3E1ECB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFF03FEFEFE17FFFFFFFF28030350FFFF
+ FFFFFFFFFFFF28030350FFFFFFFFFFFFFFFFFFFFFF1A031AFFFFFFFFFFFFFF1A
+ CDFEFECD71FFFFFFFFFFFFFFFFFFFFFFFFFFFF030303FFFFFFFFFFFFFFFFFFFF
+ FFFFFFFF500303FFFFFFFFFFFFFF81FEFE03FFFFFFFFFFFFFFFFFF1A031AFFFF
+ FFFFFF1A03031AFFFFFFFFFFFFFF17FEFE17FFFFFFFFFFFFFFFFFFFEFEFE03FF
+ FFFF28CDFEFE81FFFFFFFFFF2803030328FFFFFFFFFFFFFFFFFF0303031AFFFF
+ FFFF17FEFE17FFFFFFFFFFFFFFFCFC640A646450030350BB16EE61E30BB17070
+ 700B89898989FBE819C351E5693622300C2D2D9604690FF92AF2382CB3B33305
+ 4A01739FC131217B7B79CCA8C910C910AB10107EA10D4D3A3D995E3D3A914556
+ 484C5906064C9E064C480659A38F0DAC4476764B3A3A4B4556459C4545454545
+ 5E9D441D7C355D35C8545454544B4B4B544B6A7637A9655D4B5D1E5D443E1EB4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FE
+ FEFE03FFFFFFFFFFFF28FEFEFE17FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32FEFEFEFE7A1703
+ 0371177A03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFE32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFE17FFFFFFFFFFFFFFFFFFFEFEFE6B171717B8FEFEFE17FF
+ FFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFE17FFFF
+ FFDDFCFFFFDBDB640A0A0ABBBB1616EE0761080BB1703C18E81B86ED195B6049
+ 0451364F4E4E4E4E4E4E4E270F2B55000939F72CB3346305674A317731C18BD5
+ 8B7BCC79A810A8A8C90D0D66660D75B55D7D5EA39B919C564548489E064C484C
+ 7448065954B95E6C353A76C83A833A45953A3A3A3A4545457E3A44923A443554
+ 35C8C8C854355454543A3580C5921E651E13445D3E441ECB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03FEFEFE17FFFFFFFFFF
+ FFFFFEFEFE6BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03CDFEFEFEFEFEFEFEFEFE28FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A17
+ 8117FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FE
+ FE81FFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFE7A28FFFFFFFFFFFFFCFCFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEA6FFDDFFFFFFFCFCFCDB64
+ 0A0ABBBB900EEE076108E30B703C18E886195B4742EB30512236294E270F0F0F
+ 02022B62552300EC9739381FB3346333674A312431877B248B7979A8C9105C7E
+ A8A17EA10D107E9B1E7D5EA34D91484556B64848590659594D4C7598265206AC
+ 543A76544B833A7645459595569E9E483BADCACB9C351E541EC8547676C83A76
+ 263AC8356C151E5D1D137676445D54B40000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF03FEFEFE17FFFFFFFFFFFFFFFEFEFE81FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFF28177AFEFEFEFEFEFE7AFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFE81FFFFFFFFFFFF
+ FFFFFFFEFEFEFEFEFEFEFECD6B28FFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFF17FEFE81DDFFDDFCFFFFFCDB640A0ABB16160EEE0761
+ 0808E3B1703CE886195B4742BE04512236294F4E270F02022B1CEF232300ECF2
+ C2F7381FB3346305674AC1D49F877BD2A47B21A85C105C7E5C0D7E7EAA7E0D6E
+ 3E7D7EA34D9B064548065956484C4C4C4D4D060684B99DB4763A453A4B45B276
+ 3AB5B595489EB79D93C86C1D4BB21E35459544CA9A9A956F263580ACCB923E45
+ 45560DB63E5D54B40000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF03030350FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDDFFFCFCFC0AFC640A0ABB16160EEE076108E30B707018E886
+ 19476049300451EA36294E270F0F022B1C1C238C8CECEC09C2382C1FB3633305
+ 674A58D49F2F7B24A48BABA85C10A1667E667E7E665C5C481E8B99A34C9BBF26
+ 59A10D9EB24C5959AA7575982552BDAC3A45B6483A48593A6F3A95BD4874483A
+ CAC86CB03A10B2458BC93A9A9A9A569556353AB0C5C5C888CCCCD5BF1D4435B4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFC
+ FFDBFFDB640A0ABBBB161690EE07610808E3B1703C181BED5B4742BE30042236
+ E54F4E270F0F022B1CEF238C00EC0909C2382C1F3463330567675894242FD2D5
+ CF2F8B7B2F87BFA1A1060D5CA17EA19B843F3BCA759B2F569888C12659598359
+ 4D750D14145206AC3A83F00688F02E2626AD833A4C4559569845352644D47B99
+ 8B4DCACA4B4B4B3A9C9C06B2441E1ED5CC8B103A134435CB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFCFCFFFFFCFFFFFFFFFFFFFFFCFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDFCFCDB0A0A0A0A
+ BB16160EEE076108E30B703C3CE886195B60493004512236694F27270F02022B
+ 1C55238C002A090939F72C1F34630505674A5894C1D1D49FA44A9F2158F00D7E
+ ABA1A1A166A1A14D938F3F25069B012EA17B2EB74C4C7498064806433BF55E6A
+ 454CD5CC06310D3A9595957645455999D2481D9A3A9F217EC99EC8C8264BC84B
+ 35060D4544541D06764545C83554C8AC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFCFCFCFCFFFCFCFCFCFCFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFDDFCFC640A0A0A0ABB1690EE070761E3
+ E30B703C181B86194760BE3004513636294E27270F022B621C558C0000EC0909
+ C2382C1F34633305674A58942F53312E24672F2E2F2FA8A85C667566660D0D4D
+ 1453528E069B77D55C775C66749B74744DB5BF433FBC3B6E489BA87B4C214C9B
+ 56489B48484893B97B484B4BD79D4B5606B7BD95BDB54BC88EAB5992A96F9A4B
+ 56959556454B44CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFC
+ FCFCFCFFFFFFFCFCFFFFFFFFFCFFFFFCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFCFCFC640A0A0ABBBB16160E07076108E30BB1703CE81B195B
+ 47C3BE30042236E54F4E270F0F022B62D6558C8C002A09F239382C1F34630505
+ 67017824C1AFA52E8B77777777A48B79AB1010105C5C664D5EAF5384065F7510
+ 667BAAAB7E0D7E0D0D4CBFB7B9535E6A729AAA7E66667E5C7EA1A1759B488EA5
+ A49DCAC8BD4D744D4D4D4D4C74B79DB5A3B98F06CACAB06E3AC8C83A954BC8AC
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFCFF
+ FCFFFFFCFCFFFCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCDB0A0A0ABBBBBBBB90EE07610808E30B7070181B8619476049300451223669
+ 4F4E270F02022BD6EF558C002A09F2C2F7382C1FB3633305674A7894C111BCCF
+ 7B798B77A48BA4A42E2E7B79A85C064DB96DAF14B79B5F0D7EA87E7979A85C5C
+ 7E0648AAF5BCB9747472064D66747E66AA4D5F6EB59314BCAFA44C9AB0B5849A
+ 84B5BD3A3ABD48B7A75A5AF57B0659757E7E5C5CC99979790000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFFFCFFFFFCFCFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCDB64640A0ABBBBBB
+ 1690EE076108E30BB1703CE81BED194742493004222236294F270F0F022B62EF
+ EF238C00ECECF2C2F7382C1F3463330567012F2F5A1185A48B2EA421A47B218B
+ 7979A85C5C66665CAF5A6D53C94CAA06664DAAAAAA4D4D4D14064C79BCBAF577
+ 9DB572B5B5729DB574744D4D6610D45AFDAF01C1772E9FC1C12FF0014ABCAFBA
+ 5AFDFD6D5A5A5A5A5A5A5ACEBACE5A2C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFFFFFCFCFCFCFCFFFFFCFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFDDFFFFFFFFFFFFFFFFFFFFDDDBDBDB640A0A0ABBBBBB16EEEE616108E30B
+ 703C3C1B86ED4760C330040422EA69294E270F0F022B621C55238C002A09F2C2
+ F72C1FB334330505670178F31111110524D22E21D221AB10AB79AB1079792EF0
+ FD6DFD6D0587318F3131C12FA5F07801F0010185BA6D5AAF0101F5BC058585BA
+ BABACEBACEBA5A6DFDFDFDFDFDFD6D5A5A6D6DFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCDBDBDBDBDB
+ DBFCFFFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFCFCFCFCDB640A0ABBBBBBBB160EEE076108E3E30B703C181B865B4760
+ C33004512236294F4E270F02022B1CEF23238C00EC0909E78A39F738112C2C1F
+ CECE6D41111111FD5ACE5A6D6D6D6D5A5A5A5A5A5A5A6DFDFDFDFDFDFDFD6D6D
+ 5A6D5A6D5A5A5A5A5A5A5AFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFFFCFCFCFC
+ FCFCFFFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBFCFCDB
+ 640ABBBBBB16160EEE07616108E30B70703CE81B195B47C3BE040422EAE5294E
+ 27270F022B621CEF238C8C00ECECEC6868E78A8A464646414141411111111111
+ 1111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
+ FCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFCFCFCFCFCFCFCFCFCFFFCFCFFFF
+ FFFFDDFFDDDDFFFFFFFFFFFFDDFFFFFFFFFFFFFFFCDBDB64640A0ABBBB16160E
+ EE07610808E3B1703C181BED194760493004512236E54F4E270F0F022B1C1C55
+ 238C00ECECECEC09688A8A8A4646464141414111111111111111FD1111FDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBDBDBDB
+ DBDBDBDBDBDBDB6464FCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFDDFFFFFFFFFFFF
+ FFFFFFFFFCDDFFFFFCFFFFFCDB64640A0A0ABBBBBB160EEE07610808E30B7070
+ 3CE81B195B4742BE300451EAE5294F4E270F02022B1C1C558C8C0000ECEC6868
+ E78A8A46464646414141411111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB6464646464
+ 64FCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFDDDDFFFFDDFFFFFFDDFFFFFFFFFFFC
+ FFFFFCFCFCFC640A0A0ABB1616160EEE076108080B0B703CE81B86194760C3BE
+ 04512236E54F4E270F0F022B2B1CEF8C8C0000ECECEC0909DCE7464646464141
+ 4111411111111111FDFD11FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB646464646464FCFC64FCFCFCFCFC
+ FCFCFCFCFCFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBFCDBDBDB0A0A
+ 0ABB1616160E0E07616108E30B70703CE886195B474249305151223669294E27
+ 0F0F022B2B1CEF238C8C0000ECEC096868E7E78A8A4646414141414111411111
+ 1111111111111111111111111111111111111111111111111111111111111111
+ 1111111111111111111111111111111111111111111111111111111111111111
+ 11111111111111111111111111111111111111111111118A0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFCFCFCFCFCDB
+ DBDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A646464646464DBFCFCFCDBFCDBFFFFFF
+ DDDDFFDDFFFFFFFFFFFFFFFFFFFCFCFCFCFFFCDBDB0A0A0ABBBB160E16EEEE07
+ 070808E30BB13C3CE81B86194760C3BE3004512236E54F4E4E270F0F022B2B1C
+ 1C55558C8C8C0000002A2AECECEC09EC09096868686868686868DCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCEC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB
+ DBDBDBDBDBDB64DBDBDBDBDBDBDBDBFCFCDBFCDBFFFFFFFFFFFFFFDDDDFFFFFF
+ FFFFFFFFFFFCFCFCFCFCFCDBDBDBDB640A0ABBBBBB160EEEEE07616108E3E3B1
+ 703C18181BED195B4760C349303004515122EAEAE5E529294F4F4E4E27272727
+ 270F0F0F0F0F0F0F0F0202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 020202020202020F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDDFCFCFCFCFCFCFCFCFCDD
+ DDDDDDDDDDFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFC640A0A0A0A0ABB161616900EEE0707610808E3E30B0BB170
+ 3C3C3C18E81B1B86EDED19195B5B4747474760604242C3C3C3C3494949494949
+ EBEBEBBEBEBEBE30BEBE30303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303049
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFDDDDFCFCFCFCFCFCFCFCDBDBDBDBDDFCFCFCDDDDFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDDFCFC64
+ 640A0A0A0ABB161616900EEE070761080808E3E30BB17070703C3CE81B1B1B86
+ ED1919195B5B4747476060424242C3C3C3494949494949EBBEEBBEBEBEBE3030
+ BE30303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030490000FCFCFCFCFCFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB
+ DBDB6464646464640A0A0A0A0A0A6464646464DBDBDBDBDBDBDBDBFCFFFFDDDD
+ FFDDFFFFFFFFFCFFFFFFDDFFFFFCFCFCFCDBDBDBDB640A0ABBBBBBBB16EEEE07
+ 610808E3E3B170703C181B86ED195B4742C3BE300404512222EA36E529294F4F
+ 4E4E4E272727270F0F0F0F0F0F0F020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020F0000FCFCFCFCFCFCFCFCFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCDBDBDBDBDBDBDB64640A0A0A0A0ABBBBBB
+ BBBBBBBBBBBB0A0ABB0A0A0A0A0A0A0ADB64FCFCFCFFDDDBFFFFDDFFFFFFFFFF
+ FFFFFCFFFFFFFC64DBDBDB0A0A0ABB161690EEEE07070808E30BB1703C181B1B
+ 195B476049300451512236294F4E27270F0F022B2B1C1CEF558C8C0000000000
+ ECECECECECEC09090968686868686868DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCEC0000FCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFF
+ FCFCFCFCFCFCDBDBDBDBDBDBDB640A0A0A0A0ABBBBBBBBBBBBBBBBBBBBBBBBBB
+ BB0A0A0A0A0A640A6464DBFCFCDDFCFFDDFCFFFFFFFFFFFFFFFFFFFFFFFCDBFC
+ 640A0A0ABBBBBBBB900EEE07616108E3E30B703C18E81B191947604930040451
+ 223669294E27270F02022B2B621CEF55238C8C00000000ECECECEC0909096868
+ 68E7E768E7E78AE7E78A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
+ 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
+ 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8AEC
+ 0000}
+ Login.LeftImage.Data = {
+ 07544269746D617016090000424D160900000000000036040000280000003200
+ 0000180000000100080000000000E00400000000000000000000000100000000
+ 000000000000000080000080000000808000800000008000800080800000C0C0
+ C000C0DCC000F0CAA6000020400000206000002080000020A0000020C0000020
+ E00000400000004020000040400000406000004080000040A0000040C0000040
+ E00000600000006020000060400000606000006080000060A0000060C0000060
+ E00000800000008020000080400000806000008080000080A0000080C0000080
+ E00000A0000000A0200000A0400000A0600000A0800000A0A00000A0C00000A0
+ E00000C0000000C0200000C0400000C0600000C0800000C0A00000C0C00000C0
+ E00000E0000000E0200000E0400000E0600000E0800000E0A00000E0C00000E0
+ E00040000000400020004000400040006000400080004000A0004000C0004000
+ E00040200000402020004020400040206000402080004020A0004020C0004020
+ E00040400000404020004040400040406000404080004040A0004040C0004040
+ E00040600000406020004060400040606000406080004060A0004060C0004060
+ E00040800000408020004080400040806000408080004080A0004080C0004080
+ E00040A0000040A0200040A0400040A0600040A0800040A0A00040A0C00040A0
+ E00040C0000040C0200040C0400040C0600040C0800040C0A00040C0C00040C0
+ E00040E0000040E0200040E0400040E0600040E0800040E0A00040E0C00040E0
+ E00080000000800020008000400080006000800080008000A0008000C0008000
+ E00080200000802020008020400080206000802080008020A0008020C0008020
+ E00080400000804020008040400080406000804080008040A0008040C0008040
+ E00080600000806020008060400080606000806080008060A0008060C0008060
+ E00080800000808020008080400080806000808080008080A0008080C0008080
+ E00080A0000080A0200080A0400080A0600080A0800080A0A00080A0C00080A0
+ E00080C0000080C0200080C0400080C0600080C0800080C0A00080C0C00080C0
+ E00080E0000080E0200080E0400080E0600080E0800080E0A00080E0C00080E0
+ E000C0000000C0002000C0004000C0006000C0008000C000A000C000C000C000
+ E000C0200000C0202000C0204000C0206000C0208000C020A000C020C000C020
+ E000C0400000C0402000C0404000C0406000C0408000C040A000C040C000C040
+ E000C0600000C0602000C0604000C0606000C0608000C060A000C060C000C060
+ E000C0800000C0802000C0804000C0806000C0808000C080A000C080C000C080
+ E000C0A00000C0A02000C0A04000C0A06000C0A08000C0A0A000C0A0C000C0A0
+ E000C0C00000C0C02000C0C04000C0C06000C0C08000C0C0A000F0FBFF00A4A0
+ A000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFF
+ FF00FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD525252525252525252525252
+ 5252FDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDAFB75E5E5E66666767676F6F6F6FB752FDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBF
+ BFBFBFBFBFBFBFBFBFB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFB76F676F6FB7B7B7B7B7776F5EB752FD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBFBFB752FDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFB76F676F6F6FB7B7
+ B7B7776F5EB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBFBFBF52FDFDFDFDFD
+ 0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAF
+ B76767676F6F6FB7B7B7776F5EB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBF
+ BFBF52FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDAFB76767676F6F6F6FB7B7776F5EB752FDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBF
+ BFBFBFBFBFBFBFBFBFBF52FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBFB7AFAFB7B7B7B7BFBFBFBFB7B752FD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDAFB76F675E5E5E5E5E5E676FB7A5FDFDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F79BFDFDFDFD
+ FDFDA4F7A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDF7F79BFDFDFDFDFDFDA407A3FDFDFDFDFDFDFD
+ 0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDF7F79BFDFDFDFDFDFDA407A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F7A4FDFDFDFDFDFDF707
+ A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDF707A49AFDFDFDFDA30707A3FDFDFDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F6A4
+ A49B9A9AA3A407079AFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F6F7F7A4A4F70707A3FDFDFDFD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDF7F6F6F6F6F607A3FDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7A3A3A3
+ A3A3FDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ 0000}
+ Log.WindowCaption = 'Seguran'#231'a'
+ Log.LabelDescription = 'Log do Sistema'
+ Log.LabelUser = 'Usu'#225'rio :'
+ Log.LabelDate = 'Data :'
+ Log.LabelLevel = 'N'#237'vel m'#237'nimo : '
+ Log.ColLevel = 'N'#237'vel'
+ Log.ColMessage = 'Mensagem'
+ Log.ColUser = 'Usu'#225'rio'
+ Log.ColDate = 'Data'
+ Log.BtFilter = '&Aplicar Filtro'
+ Log.BtDelete = '&Excluir Log'
+ Log.BtClose = '&Fechar'
+ Log.PromptDelete = 'Confirma excluir todos os registros de log selecionados ?'
+ Log.PromptDelete_WindowCaption = 'Delete confirmation'
+ Log.OptionUserAll = 'All'
+ Log.OptionLevelLow = 'Baixo'
+ Log.OptionLevelNormal = 'Normal'
+ Log.OptionLevelHigh = 'Alto'
+ Log.OptionLevelCritic = 'Cr'#237'tico'
+ Log.DeletePerformed =
+ 'Deletion of system log done: User = "%s" | Date = %s a %s | Leve' +
+ 'l <= %s'
+ UsersForm.WindowCaption = 'Seguran'#231'a'
+ UsersForm.LabelDescription = 'Cadastro de Usu'#225'rios'
+ UsersForm.ColName = 'Nome'
+ UsersForm.ColLogin = 'Login'
+ UsersForm.ColEmail = 'Email'
+ UsersForm.BtAdd = '&Adicionar'
+ UsersForm.BtChange = 'A<erar'
+ UsersForm.BtDelete = '&Excluir'
+ UsersForm.PromptDelete = 'Confirma excluir o usu'#225'rio "%s" ?'
+ UsersForm.PromptDelete_WindowCaption = 'Delete user'
+ UsersForm.BtRights = 'A&cessos'
+ UsersForm.BtPassword = '&Senha'
+ UsersForm.BtClose = '&Fechar'
+ AddChangeUser.WindowCaption = 'Cadastro de Usu'#225'rios'
+ AddChangeUser.LabelAdd = 'Adicionar Usu'#225'rio'
+ AddChangeUser.LabelChange = 'Alterar Usu'#225'rio'
+ AddChangeUser.LabelName = 'Nome : '
+ AddChangeUser.LabelLogin = 'Login : '
+ AddChangeUser.LabelEmail = 'Email : '
+ AddChangeUser.CheckPrivileged = 'Usu'#225'rio privilegiado'
+ AddChangeUser.BtSave = '&Gravar'
+ AddChangeUser.BtCancel = 'Cancelar'
+ AddChangeProfile.WindowCaption = 'Perfil de Usu'#225'rios'
+ AddChangeProfile.LabelAdd = 'Adicionar Perfil'
+ AddChangeProfile.LabelChange = 'Alterar Perfil'
+ AddChangeProfile.LabelName = 'Descri'#231#227'o : '
+ AddChangeProfile.BtSave = '&Gravar'
+ AddChangeProfile.BtCancel = 'Cancelar'
+ UsersProfile.WindowCaption = 'Seguran'#231'a'
+ UsersProfile.LabelDescription = 'Perfil de Usu'#225'rios'
+ UsersProfile.ColProfile = 'Perfil'
+ UsersProfile.BtAdd = '&Adicionar'
+ UsersProfile.BtChange = 'A<erar'
+ UsersProfile.BtDelete = '&Excluir'
+ UsersProfile.BtRights = 'A&cessos'
+ UsersProfile.PromptDelete = 'Existem usu'#225'rios com o perfil "%s". Confirma excluir?'
+ UsersProfile.PromptDelete_WindowCaption = 'Delete profile'
+ UsersProfile.BtClose = '&Fechar'
+ Rights.WindowCaption = 'Seguran'#231'a'
+ Rights.LabelUser = 'Permiss'#245'es do Usu'#225'rio : '
+ Rights.LabelProfile = 'Permiss'#245'es do Perfil : '
+ Rights.PageMenu = 'Itens do Menu'
+ Rights.PageActions = 'A'#231#245'es'
+ Rights.BtUnlock = '&Liberar'
+ Rights.BtLock = '&Bloquear'
+ Rights.BtSave = '&Gravar'
+ Rights.BtCancel = '&Cancelar'
+ ChangePassword.WindowCaption = 'Seguran'#231'a'
+ ChangePassword.LabelDescription = 'Trocar Senha'
+ ChangePassword.LabelCurrentPassword = 'Senha Atual :'
+ ChangePassword.LabelNewPassword = 'Nova Senha : '
+ ChangePassword.LabelConfirm = 'Confirma'#231#227'o : '
+ ChangePassword.BtSave = '&Gravar'
+ ChangePassword.BtCancel = 'Cancelar'
+ ResetPassword.WindowCaption = 'Definir senha do usu'#225'rio : "%s"'
+ ResetPassword.LabelPassword = 'Senha : '
+ XPStyleSet.DimLevel = 30
+ XPStyleSet.GrayLevel = 10
+ XPStyleSet.Font.Charset = ANSI_CHARSET
+ XPStyleSet.Font.Color = clMenuText
+ XPStyleSet.Font.Height = -11
+ XPStyleSet.Font.Name = 'Tahoma'
+ XPStyleSet.Font.Style = []
+ XPStyleSet.Color = clBtnFace
+ XPStyleSet.DrawMenuBar = False
+ XPStyleSet.IconBackColor = clBtnFace
+ XPStyleSet.MenuBarColor = clBtnFace
+ XPStyleSet.SelectColor = clHighlight
+ XPStyleSet.SelectBorderColor = clHighlight
+ XPStyleSet.SelectFontColor = clMenuText
+ XPStyleSet.DisabledColor = clInactiveCaption
+ XPStyleSet.SeparatorColor = clBtnFace
+ XPStyleSet.CheckedColor = clHighlight
+ XPStyleSet.IconWidth = 24
+ XPStyleSet.DrawSelect = True
+ XPStyleSet.UseSystemColors = True
+ XPStyleSet.UseDimColor = False
+ XPStyleSet.OverrideOwnerDraw = False
+ XPStyleSet.Gradient = False
+ XPStyleSet.FlatMenu = False
+ XPStyleSet.AutoDetect = False
+ XPStyleSet.BitBtnColor = clBtnFace
+ XPStyleSet.ColorsChanged = True
+ XPStyle = True
+ WindowsPosition = poDesktopCenter
+ Left = 24
+ Top = 128
+ end
+ object UCXPStyle1: TUCXPStyle
+ Active = True
+ XPSettings.DimLevel = 30
+ XPSettings.GrayLevel = 10
+ XPSettings.Font.Charset = ANSI_CHARSET
+ XPSettings.Font.Color = clMenuText
+ XPSettings.Font.Height = -11
+ XPSettings.Font.Name = 'Tahoma'
+ XPSettings.Font.Style = []
+ XPSettings.Color = clBtnFace
+ XPSettings.DrawMenuBar = False
+ XPSettings.IconBackColor = clBtnFace
+ XPSettings.MenuBarColor = clBtnFace
+ XPSettings.SelectColor = clHighlight
+ XPSettings.SelectBorderColor = clHighlight
+ XPSettings.SelectFontColor = clMenuText
+ XPSettings.DisabledColor = clInactiveCaption
+ XPSettings.SeparatorColor = clBtnFace
+ XPSettings.CheckedColor = clHighlight
+ XPSettings.IconWidth = 24
+ XPSettings.DrawSelect = True
+ XPSettings.UseSystemColors = True
+ XPSettings.UseDimColor = False
+ XPSettings.OverrideOwnerDraw = False
+ XPSettings.Gradient = False
+ XPSettings.FlatMenu = False
+ XPSettings.AutoDetect = False
+ XPSettings.BitBtnColor = clBtnFace
+ XPSettings.ColorsChanged = False
+ UCSettings = UCSettings1
+ Left = 56
+ Top = 128
+ end
+end
diff --git a/official/2.20/Demos/7 Dont show mainform before login - ADO/Unit1.pas b/official/2.20/Demos/7 Dont show mainform before login - ADO/Unit1.pas
new file mode 100644
index 0000000..6093750
--- /dev/null
+++ b/official/2.20/Demos/7 Dont show mainform before login - ADO/Unit1.pas
@@ -0,0 +1,84 @@
+unit Unit1;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, StdCtrls, UCBase, Menus, UCADOConn, DB, ADODB,
+ UCXPStyle;
+
+type
+ TForm1 = class(TForm)
+ ADOConnection1: TADOConnection;
+ UCADOConn1: TUCADOConn;
+ UserControl1: TUserControl;
+ MainMenu1: TMainMenu;
+ Arquivo1: TMenuItem;
+ Abrir1: TMenuItem;
+ Salvar1: TMenuItem;
+ Salvar2: TMenuItem;
+ Salvarcomo1: TMenuItem;
+ Fechar1: TMenuItem;
+ N2: TMenuItem;
+ Dados1: TMenuItem;
+ Importar1: TMenuItem;
+ Exportar1: TMenuItem;
+ N4: TMenuItem;
+ Vincular1: TMenuItem;
+ N3: TMenuItem;
+ Sair2: TMenuItem;
+ Editar1: TMenuItem;
+ Copiar1: TMenuItem;
+ Colar1: TMenuItem;
+ Recortar1: TMenuItem;
+ N1: TMenuItem;
+ Selecionartudo1: TMenuItem;
+ N5: TMenuItem;
+ AreadeTransferencia1: TMenuItem;
+ Exibir2: TMenuItem;
+ Esvaziar1: TMenuItem;
+ Exibir1: TMenuItem;
+ Zoom1: TMenuItem;
+ Normal1: TMenuItem;
+ Grande1: TMenuItem;
+ Ajustarnajanela1: TMenuItem;
+ N6: TMenuItem;
+ Personalizar1: TMenuItem;
+ amanhonormal1: TMenuItem;
+ elacheia1: TMenuItem;
+ Relatorios1: TMenuItem;
+ Relatorio11: TMenuItem;
+ Relatorio21: TMenuItem;
+ Relatorio31: TMenuItem;
+ Relatorio41: TMenuItem;
+ Segurana1: TMenuItem;
+ Cadastrodeusuarios1: TMenuItem;
+ Perfildeusurios1: TMenuItem;
+ logdosistema: TMenuItem;
+ N7: TMenuItem;
+ rocarsenha1: TMenuItem;
+ EfetuarLogoff1: TMenuItem;
+ UCSettings1: TUCSettings;
+ UCXPStyle1: TUCXPStyle;
+ Memo1: TMemo;
+ procedure FormCreate(Sender: TObject);
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ Form1: TForm1;
+
+implementation
+
+{$R *.dfm}
+
+procedure TForm1.FormCreate(Sender: TObject);
+begin
+ ADOConnection1.Connected := True;
+ UserControl1.Execute;
+end;
+
+end.
diff --git a/official/2.20/Demos/8 UCControls Sample2 - ADO/Project1.dpr b/official/2.20/Demos/8 UCControls Sample2 - ADO/Project1.dpr
new file mode 100644
index 0000000..08b344c
--- /dev/null
+++ b/official/2.20/Demos/8 UCControls Sample2 - ADO/Project1.dpr
@@ -0,0 +1,13 @@
+program Project1;
+
+uses
+ Forms,
+ Unit1 in 'Unit1.pas' {Form1};
+
+{$R *.res}
+
+begin
+ Application.Initialize;
+ Application.CreateForm(TForm1, Form1);
+ Application.Run;
+end.
diff --git a/official/2.20/Demos/8 UCControls Sample2 - ADO/Project1.res b/official/2.20/Demos/8 UCControls Sample2 - ADO/Project1.res
new file mode 100644
index 0000000..03109fc
Binary files /dev/null and b/official/2.20/Demos/8 UCControls Sample2 - ADO/Project1.res differ
diff --git a/official/2.20/Demos/8 UCControls Sample2 - ADO/Unit1.ddp b/official/2.20/Demos/8 UCControls Sample2 - ADO/Unit1.ddp
new file mode 100644
index 0000000..4370276
Binary files /dev/null and b/official/2.20/Demos/8 UCControls Sample2 - ADO/Unit1.ddp differ
diff --git a/official/2.20/Demos/8 UCControls Sample2 - ADO/Unit1.dfm b/official/2.20/Demos/8 UCControls Sample2 - ADO/Unit1.dfm
new file mode 100644
index 0000000..76a42ad
--- /dev/null
+++ b/official/2.20/Demos/8 UCControls Sample2 - ADO/Unit1.dfm
@@ -0,0 +1,1709 @@
+object Form1: TForm1
+ Left = 192
+ Top = 107
+ BorderStyle = bsDialog
+ Caption = 'UCControls Teste (D7 + ADO + access2000)'
+ ClientHeight = 329
+ ClientWidth = 688
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ OldCreateOrder = False
+ Position = poDesktopCenter
+ OnCreate = FormCreate
+ PixelsPerInch = 96
+ TextHeight = 13
+ object Panel1: TPanel
+ Left = 0
+ Top = 0
+ Width = 81
+ Height = 329
+ Align = alLeft
+ BevelOuter = bvLowered
+ Color = 9737364
+ TabOrder = 0
+ object SpeedButton1: TSpeedButton
+ Left = 8
+ Top = 16
+ Width = 65
+ Height = 65
+ Caption = 'Usu'#225'rios'
+ Flat = True
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWhite
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ Glyph.Data = {
+ B6080000424DB608000000000000360400002800000030000000180000000100
+ 08000000000080040000D30E0000D30E00000001000000000000080808000810
+ 1800181818008C311800C642180021212100C6422100CE4A2100946321005A7B
+ 210021842100292929008C4A2900C64A2900CE4A2900D64A2900102131003131
+ 3100C65A3100C6633100B56B3100319C31000010390039393900E75A39003184
+ 39007B8C39001829420031314200424242008C524200EF5A4200A5634200D66B
+ 4200DE6B420042AD420042CE420008214A004A4A4A00A5524A00EF634A00F763
+ 4A00D66B4A00DE7B4A004AA54A0052525200B5735200527B5200E77B52005A9C
+ 520052B5520010215A0042215A0063525A005A5A5A005A735A0063735A00EF7B
+ 5A00DE8C5A00E78C5A005AA55A005AAD5A0063AD5A005AB55A005AD65A006363
+ 6300FF7B6300D68463007BAD630063BD63006B6B6B0084736B00FF8C6B004231
+ 73005A73730084BD730073D673008CDE7300426B7B00187B7B007B7B7B007BA5
+ 7B004A5A84005A638400DE9C8400EFB5840010318C00526B8C00737B8C00DEA5
+ 8C00FFBD8C009CDE8C00292994001031940010399400738494008CBD9400EFC6
+ 940010399C00106B9C0010739C009C9C9C00FFD69C00184AA5002173A5002973
+ A5006394A500A5A5A500A5CEA500FFD6A500B5E7A5001842AD00104AAD00FFDE
+ AD00187BB500318CB500428CB5004A8CB50094ADB500C6DEB5001852BD00185A
+ BD002184BD002984BD00318CBD001863C600216BC6003994C600529CC600D6E7
+ C6002163CE00216BCE00298CCE003194CE00429CCE004A9CCE00529CCE002184
+ D60052A5D6005AA5D60073B5D60084B5D6008CBDD600297BDE00218CDE003194
+ DE00429CDE0042A5DE0052ADDE006BB5DE0094C6DE009CC6DE00F7EFDE00297B
+ E7002984E700298CE70042A5E7004AA5E7007BBDE7008CC6E70094C6E700EFF7
+ E700FFF7E700428CEF002994EF00ADD6EF00298CF7003194F7004AADF7004AB5
+ F700FF00FF00399CFF00429CFF0039A5FF0042A5FF0052A5FF0042ADFF004AAD
+ FF005AADFF0052B5FF006BBDFF006BC6FF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00AAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAA2E0D0406070E0D0D0D1E47AAAAAAAAAAAAAAAAAAAA
+ AAAAAA6B65656565656565656565AAAAAAAAAAAAAAAAAAAAAAAAAA0D0F292942
+ 422813181F0D0C382F0A0A151515444437AAAA656B777777776C656B6B655065
+ 6550506565656B6B65AAAA07292942424821612148290F09230A155B5B404024
+ 3CAAAA6577777777816B816B81776B5065506581816B6B6B6BAAAA0729424248
+ 2255712B4848181A324B3E6E5B4D40403CAAAA65777777816B81A16B81816B5F
+ 6B6B6B8181776B6B6BAAAA43284248303A666D3A484818403277812C6E5B4D40
+ 3CAAAA6C6C77816C6C81986C81816B6B6B81A1658181776B6BAAAAAA2A393921
+ 54595A3B3948144C3DA1B66C3F6E5B5B3CAAAAAA6B77776B7781817777816577
+ 6BA1B6816B8181816BAAAAAAAA2003345C5C492712084C4C3CA2A298445B5B3C
+ AAAAAAAAAA65504150505065655077776BB6B6A16B81816BAAAAAAAA26110016
+ 5D5D5D5C35512C45317675746A193CAAAAAAAAAA4636021750505050506B656B
+ 65776B656B506BAAAAAAAA501100255E6F6F6F625CAAAA604F89909089644AAA
+ AAAAAA65360226505F5F5F5050AAAA7746656B6B655065AAAAAAAA2602016778
+ 797979785658AAAA9BA7A7A7A7A468AAAAAAAA46170B506565656565506BAAAA
+ 6B6B6B6B6B6B5FAAAAAAAA1105107983838383827053AA88ABAFAFADABABA44E
+ AAAAAA361D1D6565656565655065AA6B6C77776C6C6C6B50AAAAAA0B11057E8F
+ 999A998F7D52AA92AEB0B0B0AEAEAD69AAAAAA26361D656B6B6B6B6B6565AA6B
+ 7777777777776C65AAAAAA11170B79A6B2B2ACA68357AA9CB1B4B4B4B4B1AE80
+ AAAAAA364126656B7777776B6565AA6B778181818177776BAAAAAA111D261B79
+ 8FA3ACA77E5FAA9DB4B5B5B5B5B3B191AAAAAA3646462D656B6B776B656BAA6B
+ 818181818177776BAAAAAA262626362D1C335C5C26AAAA94B49393A9B4B4A87A
+ AAAAAA46464650504136505046AAAA6B816B6B7781817765AAAAAAAA17364665
+ 6B65261126AAAA80727F878685847B63AAAAAAAA4150656C776C463646AAAA6B
+ 656B6B6B6B656550AAAAAAAA501D505065653617AAAAAAAA7C8B95A0A58C7380
+ AAAAAAAA654665656C6C5041AAAAAAAA656B77818177656BAAAAAAAAAAAA4126
+ 1D2650AAAAAAAAAA8E8B9FA09E8A80AAAAAAAAAAAAAA5F46464665AAAAAAAAAA
+ 776B8181776B6BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA978E968D8EAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8177817777AAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA}
+ Layout = blGlyphTop
+ NumGlyphs = 2
+ ParentFont = False
+ OnClick = SpeedButton1Click
+ end
+ object SpeedButton2: TSpeedButton
+ Left = 8
+ Top = 88
+ Width = 65
+ Height = 65
+ Caption = 'Perfil'
+ Flat = True
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWhite
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ Glyph.Data = {
+ B6080000424DB608000000000000360400002800000030000000180000000100
+ 08000000000080040000D30E0000D30E0000000100000000000008080800107B
+ 1000108410001818180021731800292921002184210021A52100292929004A42
+ 2900298C290031942900299C290029AD2900398C3100319C310031AD31004242
+ 39004A6B390039943900399C390039B5390042424200524A42005A5242005263
+ 4200527342004A8C42004A9C42004AA5420042BD420042CE420042424A004A42
+ 4A00636B4A0018734A00528C4A0052A54A004ABD4A00313952004A4A5200296B
+ 5200637B520052B5520052C652005A5A5A00736B5A005AC65A007B7363004284
+ 63006B84630063A5630063BD630063CE6300315A6B0073B56B006BCE6B0073AD
+ 730073CE730094B57B0084BD7B008CBD7B007BCE7B007BD67B00316B8400948C
+ 840084B5840039738C009CB58C008CBD8C009CDE8C0039739400106B9C00216B
+ 9C005A849C0063849C00216BA5002173A500B5E7A500297BAD003984AD00428C
+ AD004A8CAD00107BB500217BB500428CB5004A94B500526BBD00217BBD004294
+ BD005294BD00529CBD006BA5BD00D6E7BD00187BC6002184C6002984C600298C
+ C600318CC600428CC6003994C6004294C6004A94C60063A5C6006BA5C600BDC6
+ C6004A63CE00298CCE00398CCE002994CE00E7DECE00D6E7CE006BADD6003194
+ DE005AADDE004A6BE700218CE700298CE7004A9CE700A5ADE70073BDE7008CBD
+ E7009CCEE7002994EF0042A5EF004AB5EF007BBDEF00F7FFEF002994F700319C
+ F700399CF70042A5F70063ADF70052B5F700FF00FF000831FF006B8CFF003194
+ FF00399CFF00849CFF0042A5FF004AADFF004AB5FF0052B5FF006BBDFF006BC6
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00868686868686
+ 8686868686868686868686868686868686868686868686868686868686868686
+ 8686868686868686868686868686868686868686868686868686868686868686
+ 8686868686868686868686868686868686868686868686868686868686321A0F
+ 0F0F0F0F0F192230418686868686868686868686864141414141414141304141
+ 44868686868686868686868639021F071E1E1E1E010F0B040F062E8686868686
+ 868686866930444144444444304141304130418686868686868686860A1F101E
+ 262C4E143D14461E1F1E098686868686868686864144414444446F4169416944
+ 44442D868686868686868686130D15262F462B375D1D4E2C1E1F068686868686
+ 8686868641414444696944696E416F44444430868686868686868686450C262F
+ 384E337F7F3C4E352C1E1286868686868686868669414469696F449292696F69
+ 444430868686868686868686860E26354E256F929242463A2F0F2A8686868686
+ 86868686864144696F446E929269696969414186868686868686868686860E2B
+ 1C4469696E3B3E3F2B18181818181886868686868686414441696F6F6E696969
+ 4430303030303086868686868686861B23505858513134142405868686861886
+ 868686868686864130414141444169414121868686863086868686868686864A
+ 5E74757574532986860386868757178686868686868686444144444444413086
+ 861186864444308686868686868686587B808989817B49868608868777872186
+ 86868686868686414469696969444186862886446F4430868686868686864F7B
+ 8A8A8A8A8A8A7548860387868673878686868686868641446969696969694441
+ 86114486866944868686868686865F8A8C8C8C8C8C8C8236861616161120876A
+ 86868686868641696969696969696930862E2E2E2E30444486868686864B828C
+ 8D8D90908D8D83408686868686868687876A8686864469696969696969696941
+ 8686868686868644444486868668838D8E908F908F908D478686868686868686
+ 88878686866969696969696969696941868686868686868669448686865A7C8F
+ 919191857D858543861818181818188686868686864469696969696969696941
+ 8630303030303086868686868667546B71715F6162606D488600868686861686
+ 868686868669414444444144444444418603868686862E8686868686864B4D63
+ 66707E84766C4C868603868687572D8686868686864441444469696969444186
+ 86118686444441868686868686864D627079797872644886860886878B872886
+ 86868686868641446969696969444186862886446F4430868686868686868655
+ 65707A79594886868603878686738786868686868686864444696F6944418686
+ 861144868669448686868686868686865C565B524B868686860816161627876A
+ 8686868686868686694444444486868686282E2E2E2E44448686868686868686
+ 86868686868686868686868686868687876A8686868686868686868686868686
+ 8686868686868644444486868686868686868686868686868686868686868686
+ 8887868686868686868686868686868686868686868686866944}
+ Layout = blGlyphTop
+ NumGlyphs = 2
+ ParentFont = False
+ OnClick = SpeedButton2Click
+ end
+ object SpeedButton3: TSpeedButton
+ Left = 8
+ Top = 160
+ Width = 65
+ Height = 65
+ Caption = 'Trocar '#13#10'Senha'
+ Flat = True
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWhite
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ Glyph.Data = {
+ B6080000424DB608000000000000360400002800000030000000180000000100
+ 08000000000080040000C30E0000C30E00000001000000000000636363006B6B
+ 6B006B737300737373007B7B730073737B007B7B7B00527384005A738400637B
+ 8400848484005A738C0094848C008C8C8C00A58C8C008C949400949494009C94
+ 9400AD949400C6AD94005A7B9C005A849C008C949C009C9C9C00B59C9C00BD9C
+ 9C00A5A59C00DEBD9C00528CA5007B8CA5008C94A5008C9CA500A5A5A500BDA5
+ A500BDADA500CEBDA5006B94AD00A5ADAD00ADADAD00B5ADAD003984B5004A9C
+ B5006BA5B500B5B5B5005294BD006B94BD004A9CBD008CA5BD006BADBD00A5AD
+ BD00BDBDBD00CEC6BD005294C6004A9CC600639CC600739CC6005AA5C6006BA5
+ C600CEC6C6001884CE002184CE003184CE00298CCE004AA5CE0063ADCE006BAD
+ CE00CECECE001884D6004A94D600429CD60042A5D600D6D6D600319CDE00399C
+ DE00429CDE008CBDDE00A5C6DE0073CEDE00D6D6DE00D6DEDE00DEDEDE003194
+ E700429CE70039A5E70042A5E70042ADE70052ADE7006BBDE7007BC6E7006BCE
+ E70094CEE700A5CEE700ADCEE700E7E7E7003194EF0042A5EF004AADEF0052B5
+ EF0052BDEF005ABDEF0063C6EF006BC6EF0063CEEF007BCEEF006BD6EF0094EF
+ EF00EFEFEF003194F700319CF70039A5F7004AADF7004AB5F70052BDF70063BD
+ F70063C6F7006BC6F7008CC6F70094C6F70073CEF7009CCEF70073D6F700CEDE
+ F700ADEFF700DEEFF700F7F7F700FF00FF00319CFF00399CFF0039A5FF0042A5
+ FF0042ADFF004AADFF0052ADFF004AB5FF0052B5FF0052BDFF005AC6FF0063CE
+ FF006BCEFF0073D6FF007BD6FF0084D6FF009CD6FF0094DEFF007BE7FF00A5E7
+ FF00BDE7FF0084EFFF00ADEFFF00C6EFFF008CF7FF0094F7FF00CEF7FF00E7F7
+ FF00C6FFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF007D7D7D7D7D7D
+ 7D7D3A2B06067D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D422B06067D7D
+ 7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D063A5D067D7D7D7D7D7D7D7D7D7D
+ 7D7D7D7D7D7D7D7D7D7D06425D067D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D
+ 7D7D3A3A2B0A7D7D7D7D7D7D3244447D7D7D7D7D7D7D7D7D7D7D42422B0A7D7D
+ 7D7D7D7D3210107D7D7D7D7D7D7D7D7D7D7D06422B0A7D7D7D7D7D5741592944
+ 7D7D7D7D7D7D7D7D7D7D06422B0A7D7D7D7D7D26172606107D7D7D7D7D7D7D7D
+ 7D7D3A472B0A7D7D7D7D7D4C5B8C68447D7D7D7D7D7D7D7D7D7D42472B0A7D7D
+ 7D7D7D3A3A3226107D7D7D7D7D7D7D7D7D7D063A260A7D7D7D7D5739676E5944
+ 7D7D7D7D7D7D7D7D7D7D0642260A7D7D7D7D26172B2026107D7D7D7D7D7D7D7D
+ 7D7D3A32260D7D7D7D7D4C5A71702E7D7D7D7D7D7D7D7D7D7D7D4232260D7D7D
+ 7D7D3A3226200A7D7D7D7D7D7D7D7D7D7D7D062B260A7D7D7D5738575464447D
+ 7D7D7D7D7D7D7D7D7D7D062B260A7D7D7D2610261026107D7D7D7D7D7D7D7D7D
+ 7D262010200A7D7D7D4C5871543F7D7D7D7D7D7D7D7D7D7D7D262010200A7D7D
+ 7D3A2B26100D7D7D7D7D7D7D7D7D7D7D7D2B260D20027D7D4C35564962447D7D
+ 7D7D7D7D7D7D7D7D7D2B260D20017D7D3A0D170D20107D7D7D7D7D7D7D7D1706
+ 0320262456490725578A6C48467D7D7D7D7D7D7D7D7D17060320260D170D0126
+ 262B100A0D7D7D7D7D7D7D7D7D172B47472631638987642878833C55447D7D7D
+ 7D7D7D7D7D172B4747262B202B2626032B200310107D7D7D7D7D7D7D1747263A
+ 6A5D4B8B868693938A5F3C4A7D7D7D7D7D7D7D7D174726426A5D2B3226263A3A
+ 2B1703107D7D7D7D7D7D7D7D1750202B507B738B808793968A3E482C7D7D7D7D
+ 7D7D7D7D1750202B506A2B3217263A3A2B060A0A7D7D7D7D7D7D7D7D17502020
+ 063790887F544D978A815E087D7D7D7D7D7D7D7D175020200617322617102642
+ 2B2010017D7D7D7D7D7D7D7D175D2010257690816C1409308F83814A087D7D7D
+ 7D7D7D7D175D2010262B32201006031042202010017D7D7D7D7D7D7D175D2617
+ 2D94917F6B15180C1C7783882C7D7D7D7D7D7D7D175D2617104747171006260D
+ 064220260A7D7D7D7D7D7D7D177C472B2F74999284862A12053C816F447D7D7D
+ 7D7D7D7D177C472B203A7C502626102003032020107D7D7D7D7D7D7D1A26476A
+ 5D4E7592988D930F0E3D8145447D7D7D7D7D7D7D2026476A5D503A505D3A3A10
+ 1706200D107D7D7D7D7D7D7D1A13062B2632475B8E9A7A100E5281367D7D7D7D
+ 7D7D7D7D2026062B2632473A425D4710171020107D7D7D7D7D7D7D7D1A1B0017
+ 7D7D26201E391F191D815E447D7D7D7D7D7D7D7D203200177D7D262017171726
+ 102010107D7D7D7D7D7D7D7D7D1A230400010303031121166988447D7D7D7D7D
+ 7D7D7D7D7D2032030001030303172B103A26107D7D7D7D7D7D7D7D7D7D7D1A22
+ 3347473327112B7977447D7D7D7D7D7D7D7D7D7D7D7D202B3A47473A2B172B5D
+ 42107D7D7D7D7D7D7D7D7D7D7D7D7D7D1A1A1A1A177D7D7D7D7D7D7D7D7D7D7D
+ 7D7D7D7D7D7D7D7D20202020177D7D7D7D7D7D7D7D7D7D7D7D7D}
+ Layout = blGlyphTop
+ NumGlyphs = 2
+ ParentFont = False
+ OnClick = SpeedButton3Click
+ end
+ object SpeedButton4: TSpeedButton
+ Left = 8
+ Top = 256
+ Width = 65
+ Height = 65
+ Caption = 'Efetuar '#13#10'Logoff'
+ Flat = True
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWhite
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ Glyph.Data = {
+ B6080000424DB608000000000000360400002800000030000000180000000100
+ 08000000000080040000D30E0000D30E00000001000000000000393142007B63
+ 42007B634A00846B4A007B63520084735A008C735A00736B63007B6B63008473
+ 63008C7363008C7B630094846B00737373007B7373009484730084847B008C84
+ 7B009C8C7B008C8484008C8C8400A59484008C8C8C00948C8C00949494009C9C
+ 94009C9C9C00ADA59C00B5A59C006B8CA500ADA5A500ADADA500B5ADA500ADAD
+ AD00B5B5AD00B5B5B500BDBDBD00C6C6C600CECEC6002963CE003163CE00316B
+ CE003973CE00CECECE00D6CECE003173D600317BD600397BD6007BADD600D6D6
+ D6003173DE003984DE004284DE00398CDE003984E700428CE7004294E7004A94
+ E7004A9CE700529CE7008CADE70084BDE700E7E7E700398CEF003194EF003994
+ EF004A94EF00429CEF004A9CEF0052A5EF005AADEF0073B5EF0094B5EF0073BD
+ EF0094BDEF009CC6EF00EFEFEF004AA5F7005AB5F70063B5F70063BDF7007BBD
+ F7006BC6F7007BCEF7009CCEF700A5CEF700F7F7F700FF00FF00299CFF004AA5
+ FF0052ADFF005AC6FF0063C6FF0084CEFF0094CEFF0063D6FF0073D6FF0084D6
+ FF008CD6FF009CD6FF00A5D6FF008CDEFF0094DEFF00A5DEFF0094E7FF009CE7
+ FF00A5E7FF00ADE7FF00A5EFFF00B5EFFF00ADF7FF00B5F7FF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00575757575757
+ 5757575757575757575757575757575757575757575757575757575757575757
+ 5757575757575757575757575757570000000000000000000000000000575757
+ 575757575757570707070707070707070707070707575757575757575757303D
+ 2928292A2A2F33343838414049005757575757575757252B1E1E1E1E1E1E2121
+ 2323232125075757575757575757306D385F6062626262626A6D6D665D005757
+ 575757575757253E23252B31313131313E3E3E3131075757575757575757305D
+ 443F44464F525350525B58285D00575757575757575725312423242425252B25
+ 2525231E31075757575757575757306D445F606262626262626562665D005757
+ 575757575757253E24252B31313131313131313131075757575757575757305D
+ 39333845464F5250525B58285300575757575757575725312321232424252525
+ 2525231E2B075757575757575757306D4D5F606262626262686A6A6162005757
+ 575757575757253E24252B3131313131313E3E3131075757575757575757305D
+ 372F34393B464F50525B5828490057575757575757572531231E212324242525
+ 2525231E25075757575757575757306D4D5F606262626262626D6D6665005757
+ 575757575757253E24252B3131313131313E3E3131075757575757575757305D
+ 372D34393B454650525B5828470057575757575757572531231E212324242425
+ 2525231E25075757575757575757306D4D5F6062626262626A6D6D6662005757
+ 575757575757253E24252B31313131313E3E3E3131075757575757575757306D
+ 4A3C3C4A4B4B54646767635E55005757575757575757253E312B2B313131313E
+ 3E3E31313107575757575757575757305C3A2E2727272727272E3A5C1D575757
+ 575757575757572525231E1A1A1A1A1A1A1E2325215757575757575757575757
+ 151A075757575757571021065757575757575757575757572324185757575757
+ 571E251A57575757575757575757575715180757575757575713230657575757
+ 5757575757575757232318575757575757212B1A575757575757575757575757
+ 1518085757575757571424065757575757575757575757572323185757575757
+ 57212B1A575757575757575757575757151A0E57575757575719240657575757
+ 575757575757575723241A575757575757232B1A575757575757575757575757
+ 15240D025757575709232406575757575757575757575757232B1A1657575757
+ 1A2B2B1A575757575757575757575757153E1610040101091625250357575757
+ 5757575757575757234C211E1613131A21313116575757575757575757575757
+ 57154C211816161A252B06575757575757575757575757575723562523212124
+ 31311A575757575757575757575757575757153E564C4C3E2606575757575757
+ 57575757575757575757234C5656564C311A5757575757575757575757575757
+ 575757150A0C0C0606575757575757575757575757575757575757231A1E1E1A
+ 1A57575757575757575757575757575757575757575757575757575757575757
+ 5757575757575757575757575757575757575757575757575757}
+ Layout = blGlyphTop
+ NumGlyphs = 2
+ ParentFont = False
+ OnClick = SpeedButton4Click
+ end
+ end
+ object Memo1: TMemo
+ Left = 232
+ Top = 8
+ Width = 449
+ Height = 313
+ Lines.Strings = (
+ 'UCControls Sample 2'
+ ''
+ 'Observa'#231#245'es:'
+
+ '- Foi necess'#225'rio incluir os nomes dos bot'#245'es manualmente na prop' +
+ 'riedade '
+ ' Login.InitialLogin.InitialRights'
+ '')
+ ReadOnly = True
+ ScrollBars = ssBoth
+ TabOrder = 1
+ end
+ object ADOConnection1: TADOConnection
+ ConnectionString =
+ 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=..\base.mdb;Persist' +
+ ' Security Info=False'
+ LoginPrompt = False
+ Provider = 'Microsoft.Jet.OLEDB.4.0'
+ Left = 88
+ Top = 8
+ end
+ object UCControls1: TUCControls
+ GroupName = 'Barra de Ferramentas'
+ UserControl = UserControl1
+ NotAllowed = naDisabled
+ Left = 88
+ Top = 96
+ end
+ object UCSettings1: TUCSettings
+ AppMessages.MsgsForm_BtNew = '&Nova Mensagem'
+ AppMessages.MsgsForm_BtReplay = '&Responder'
+ AppMessages.MsgsForm_BtForward = 'E&ncaminhar'
+ AppMessages.MsgsForm_BtDelete = '&Excluir'
+ AppMessages.MsgsForm_BtClose = '&Close'
+ AppMessages.MsgsForm_WindowCaption = 'Mensagens do Sistema'
+ AppMessages.MsgsForm_ColFrom = 'Remetente'
+ AppMessages.MsgsForm_ColSubject = 'Assunto'
+ AppMessages.MsgsForm_ColDate = 'Data'
+ AppMessages.MsgsForm_PromptDelete = 'Confirma excluir as mensagens selecionadas ?'
+ AppMessages.MsgsForm_PromptDelete_WindowCaption = 'Delete messages'
+ AppMessages.MsgsForm_NoMessagesSelected = '!No Messages selected'#161
+ AppMessages.MsgsForm_NoMessagesSelected_WindowCaption = 'Information'
+ AppMessages.MsgRec_BtClose = '&Fechar'
+ AppMessages.MsgRec_WindowCaption = 'Mensagem'
+ AppMessages.MsgRec_Title = 'Mensagem Recebida'
+ AppMessages.MsgRec_LabelFrom = 'De :'
+ AppMessages.MsgRec_LabelDate = 'Date'
+ AppMessages.MsgRec_LabelSubject = 'Assunto'
+ AppMessages.MsgRec_LabelMessage = 'Mensagem'
+ AppMessages.MsgSend_BtSend = '&Enviar'
+ AppMessages.MsgSend_BtCancel = '&Cancelar'
+ AppMessages.MsgSend_WindowCaption = 'Mensagem'
+ AppMessages.MsgSend_Title = 'Enviar Nova Mensagem'
+ AppMessages.MsgSend_GroupTo = 'Para'
+ AppMessages.MsgSend_RadioUser = 'Usu'#225'rio :'
+ AppMessages.MsgSend_RadioAll = 'Todos'
+ AppMessages.MsgSend_GroupMessage = 'Mensagem'
+ AppMessages.MsgSend_LabelSubject = 'Subject'
+ AppMessages.MsgSend_LabelMessageText = 'Message text'
+ CommonMessages.AutoLogonError = 'Falha de Auto Logon!'#13#10'Informe um usu'#225'rio e senha v'#225'lidos.'
+ CommonMessages.ChangePasswordError.InvalidCurrentPassword = 'Senha Atual n'#227'o confere!'
+ CommonMessages.ChangePasswordError.NewPasswordError = 'Os campos: Nova Senha e Confirma'#231#227'o devem ser iguais.'
+ CommonMessages.ChangePasswordError.NewEqualCurrent = 'Nova senha igual a senha atual'
+ CommonMessages.ChangePasswordError.PasswordRequired = 'A Senha '#233' obrigat'#243'ria'
+ CommonMessages.ChangePasswordError.MinPasswordLength = 'A senha deve conter no m'#237'nimo %d caracteres'
+ CommonMessages.ChangePasswordError.InvalidNewPassword = 'Proibido utilizar senhas obvias!'
+ CommonMessages.InvalidLogin = 'Usu'#225'rio ou Senha inv'#225'lidos!'
+ CommonMessages.InitialMessage.Strings = (
+ 'ATEN'#199#195'O Login Inicial:'
+ ''
+ 'Usu'#225'rio : :user'
+ 'Senha : :password'
+ ''
+ 'Defina as permiss'#245'es para este usu'#225'rio.')
+ CommonMessages.MaxLoginAttemptsError =
+ '%d Tentativas de login inv'#225'lido. Por motivos de segun'#231'a o '#13#10'sist' +
+ 'ema ser'#225' fechado.'
+ CommonMessages.PasswordChanged = 'Senha alterada com sucesso!'
+ CommonMessages.BlankPassword = 'Retirada senha do Login %s'
+ Login.WindowCaption = 'Login'
+ Login.LabelUser = 'Usu'#225'rio '
+ Login.LabelPassword = 'Senha : '
+ Login.BtOk = 'OK'
+ Login.BtCancel = '&Cancelar'
+ Login.TopImage.Data = {
+ 07544269746D6170B6790000424DB67900000000000036040000280000007601
+ 0000500000000100080000000000807500000000000000000000000100000000
+ 00009BB5D8007493BA00ACC2E000BBBBBB00CBD9EB007D9BC20051719900F6F8
+ FB00F2F5FA0095B0D500FCFDFE00EDF2F800A7B6BC0055759D00F8FAFC00B1C5
+ E1005979A10089A8D200CDD5D9003E5E88004D7199003D5D8700FAFBFD008888
+ 8800E5ECF500DDE6F200DDDDDD00E2EAF400A5BDDD00405F880042628C0089A6
+ CC008297A0005D7DA500C5D4E900A1B9DA006685AD004569920045679000B4C8
+ E300EEEEEE00BDCEE60099B3D600A9C0DE008BA8CD009EA5B0006181A9006E8D
+ B400D0DCED006989B10099999900809DC40085A2C80044638C00C1D1E8004462
+ 8C008EAACF0091ACD100486890005579A100E7EEF6003E5F890040608A005D82
+ AB00C0CBCF008CAAD400D5E0EF00496C950042618A004A6A93008FACD500D8E3
+ F0004C6C9400D2DEEE007795BD0046668E004E6E960050709700B8CBE400BBCD
+ E500CCCCCC00C8D7EA00648BB2006D93BA0044648E00A2BADB004A6B94009BAC
+ B300708EB5004E6F980085A5CF00DAE4F10058789E0043638D0050759D00506E
+ 9600D6E1EF00F4F7FB00A7BEDE00829FC600FDFEFE0041608B0054749A007A98
+ BF0093AFD600BECFE60044628A00666666004060880086A6D0004C6B92004867
+ 8E00EAEFF700AAAAAA0049688E006C8AB1004D6E940053729A00476690006584
+ AB007290B8005C7CA300333333005F7EA60046648E005A7DA50056779E00E6EA
+ EC0046648C0044444400777777004869920044678E0080A0C900E0E8F3006D8C
+ B3005576A000AAAEB50090ADD5006080A7009EB7DA006486AF00486A93006185
+ AC00F9FAFD004C6A92003C5B85004C6E96006988AF0049699100C6CFDC0093AE
+ D20051729B00597AA30045648B004E6D94004A6992004A6C92004D6D96006786
+ AD00B6BCC40056769E003D5A82003F628B006383A900698DB500555555005A7F
+ A7005B7AA1003A5A8400527399005A7BA200426188004668900039577F007D9F
+ C70047668D00EBF1F8004C6B940087A3CA00405F8600486990004E6D96004C6D
+ 9400222222006287AF0083A3CC00FBFCFD00779BC2004A6A9100D1DDEE005473
+ 9C003C5C87006B8BB20092ADD200D3DFEF00E1E5E900426189006C8BB5008B8F
+ 940045658D005878A00042638B003F5C84005C7BA4001111110084A3CC006183
+ AB00CDD6E1006A8AB3006282AB00808285006787B0006483AC00A5BCDB004061
+ 8A004F5153003E40420043637000FEFEFE0091AED600FEFFFF00758D9600F2F5
+ F5008FA0A900D9E0E200506D7A00EFF4F9005C788300BFD0E700B5C1C60091AE
+ D500E3EBF50069828D00C3D3E900D2DDEE0097B2D700DFE7F300F7F9FC00A3BB
+ DC006F8FB7007B7E830094AFD3007998C1002F3032007396BE00909296008FAB
+ D000686C7100A4BBDA00D2D9E400D9DEE600FEFEFF0088A7D20000000000FFFF
+ FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCFCFCFCFCFCFC
+ FCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB6464640A0A0A0ABBBBBBBBBB16
+ 16160E0E0EEEEEEE07EE0707616161070761070707EEEEEEEEEE90161616BB16
+ BB0ABB0A0A0A0ADB64646464DBDB64FCFFFCDBDB64DBDB0A640A0A0A0ABBBBBB
+ 16160EEEEE07610808E30BB1703C18E886195B47424930045122EA36294F4E27
+ 0F0F0F022B621CEF55558C8C000000ECECECECEC68096868DCDCDC8A8A8A8A8A
+ 8A46464646464646464646464646464646464646464646464646464646464646
+ 4646464646464646464646464646464646464646464646464646464646464646
+ 4646464646464646464646464646464646464646464646EC0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFC
+ FCFCFCDBDBDBDBDBDBDBDBDB64DB640A0A0A0A0ABBBBBBBB16161616160E0EEE
+ EE07EEEEEEEE6107070707EEEEEEEE0E0E0E0E161616BBBBBB0A0A0ADB0A6464
+ DBDBFCDBDBFCFCFFFFDBFCDDDBFCDBDB64640A0A0A0A0ABBBB16900EEE076108
+ 08E30BB1703C181B86195B4742BE3004512236694F4E27270F022B2B1CEF238C
+ 8C0000ECECEC09688A8A46464646414141111111111111111111FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCDB
+ DBDBDBDBDBDBDB6464640A0A0A0ABBBBBBBBBB161616160E0EEE0E0EEEEEEEEE
+ EEEEEEEEEE0E0E16901616BB16BBBB0A0A0A0A0A64DBDBFCFCDBFCFCFCFCFCFF
+ FFFCFCFFDDFFFCFCFCFF0A640A0A0ABB0A1616900EEE07070808E30BB1703C18
+ 1B1B195B604230040422EAE5294F4E270F02022B1C1C558C8C0000ECEC6868DC
+ DCE78A464646414141414111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCDBDBDBDBDBDB
+ DBDB64640A640A0A0ABBBBBB161616160E0E160E0E0E0E90EE0E0E9090901616
+ 161616BBBBBB0A0A640A0A64FCFCFCFCFCFFFFFCFFDDFFFCFCFFFFFFFCFFFCFF
+ FCDBFCDBDB0A0A0A0ABBBB16160E0EEE616108E30BB1703CE81BED5B47604930
+ 04512236E54F4E270F0F022B621CEF238C8C00ECECEC6809DCDC8A4646464641
+ 4141114111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB640A0A
+ 0A0A0ABBBBBBBB1616161616160E0E169090161616161616BBBBBBBB0ABB0A0A
+ 640A64DBDBFCFCDBFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFCFCFCFCFFFCFC0A0A
+ 0A0ABB1616160EEE07610808E30BB13C3C1B86195B4742BE3004222236294E27
+ 270F0F022B1CEF558C8C8C00ECECEC68DCE7DC8A464641414141411111111111
+ FD11FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB64640A0A0A0ABBBBBB
+ BBBBBB1616161616161616161616BBBB0ABB0A0A0A0A0A64FC64DBFCFCFCDDFC
+ FFDDFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFDDFCFFFCDDDB64640ABBBBBB160E0E
+ EE076108E30BB1703C181BED194760493004512236E54F4E270F0F022B621C55
+ 238C8C00ECECEC096868E7464646414141414111111111111111FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FCFFFFFCFCFCFCFCFCFCDBDBDBDBDBDB64640A0A0A0A0ABBBBBBBBBBBBBBBB16
+ BBBBBBBBBBBB0ABB0A0A0A0A640ADBDB64FCFCDBFCDDDDFCFFDDFFDDFFFFFFFF
+ FFFFFFFFFFDDFFFFFFDDFFFCFFFCDBDB64640ABBBBBB16900EEE070808E30B70
+ 703CE81B195B4742BE300451EAE5294F27270F022B2B1CEF558C8C0000ECECEC
+ 68DC8A8A464646464141414111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFCFC
+ FCFCFCFCFCDBDBDBDBDBDB64640A0A0A0ABBBBBBBBBBBBBBBBBB0ABBBB0A0A0A
+ 0A0A0A0A646464DBFCFCDDDBDBFCDDFCFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDBDB640A0ABBBBBB16900E07070808E3B1703C181BED194760
+ 493004512236694F4E270F02022B1C1C55238C00ECECECEC6809DC8A8A464641
+ 414141411111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFFFCFCFCDBFCFCDB
+ DBDBDBDBDB64640A0A0A0A0A0ABBBBBBBB0A0A0A0A0A0A0A0A0A0A64DBDBDBDB
+ DBFFFFDDDDDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFC
+ FC64640A0ABBBB16160EEE070808E30BB1703CE81BED5B4742BE300422EAE529
+ 4E27270F022B621C55238C8C00ECECEC0909DCE78A4646414641414111111111
+ 1111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCDBDBDBDBDBDB6464
+ 640A0A0A0A0ABBBBBB6464640A0A0A6464DB0ADB64DBDBFCFFFFFFDDDDFFFFFF
+ DDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFFDDDBFC640ABBBB16
+ BB0E0EEE070808E30B703C181B86194760C33004512236694F4E270F02022B1C
+ 1C55238C0000ECEC0968E7E78A8A41464141414141111111111111FDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A
+ 0A0A6464640A0A6464DBDBDBFCDBDBFCFCFFFFDDDDFFDDFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFCFCFC64640ABB16160EEE076108E3
+ 0BB1703CE81B195B47423004042236E54F4E270F02022B621C55238C00000909
+ C239382C1FCE85AF3305F3F5015353F5AF8585BC53B93F3F3FA7993B885E5E98
+ 98981414438E599E434343145E5E98593F52B9A7251E3D3D653E3E3E3E3E3ED7
+ 1E1E1E5D545D5DCA3E1E1E3B3B5DD7C03ED7A38E434354A365D7D76565D7D765
+ 6513153E3EC092AE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A6464646464
+ FCFCFCFCFCDBDBFCFCFFFFFFFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFCFCFCDB0A0A0ABB16160EEE070808E3B1703C181BED19
+ 4760BE3004512236694E270F0F022B621C558C00EC0997381F1F346333670101
+ F02F318DCF2EA7A78F52A5B97D14934393438E258E568E8E8E8E254325251459
+ 1414143B3FB93FA75E5E5E5E93985943438E8E25252525252676767683838326
+ 6554267DA78E263E3E3D15A33DA33D3E3D3D3D3D3D3D3D3D3E133D1E1E1592AE
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCFCFCFCDBDBDBDBDBDBDBDBDB646464646464FCFC6464FC64FCFCFCFCFCFCDB
+ FCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFF
+ FFFFFCFC64640A0ABBBB160E0E07610808E3B1703CE81B195B60C3BE04512236
+ 694F4E270F022B62D6558C002AF297382CB3633367677858319FA42E7BA8A87B
+ 21C9660648B5B53A4B4B8035CA6A6AC5353E1D1D3E1D3E1ECA268E883B3B4325
+ 26262654542626262626262626252525562543255EA77D5E2525262626262626
+ 252626262654262554252525431443255D1E2606433DA9A90000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE11212FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFF1212E1FFFFFFFFFFFFFFFFFF1212E1FFFFFFFFFF
+ FFFFFFFFDF121212FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE11212
+ E1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBFCFC
+ DBDBDBDBDB64646464646464FCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFF
+ DDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFDDFCFCFCFC0A0A
+ BBBB16160EEE610808E30B703C181BED194742BE300422EAE54F4E270F0F022B
+ 1C5523002A09C2382CB36333674A0158879F9F2E7B5CA10D21A1064D48BDBD72
+ 809A3535C56C6C6C13131D44441D1D3E1D1ECA438E263D3D3D3D3D1313131313
+ 3D131313133D3D3D3D3DA3A3435E435DA33E3D3D3D3E3E3EA33EA3A3A3D7A354
+ 5426268E5E88592665D75D765D3D15A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE120DADADADADAE940FFFFFF12DADA0C
+ FFFFFFFFFFFF0CDADADADADADADADEFFFFDADA12FFFFFFFF0CDADADAFFFFFFFF
+ FFFFE0DADADADAE440FFFFFFFF40E9DADADADADA20E1FFFFFFFF12DEDADADADA
+ DADE12FFFFFFDADADEFFFF7FDADADEFFFFFFDFE0E2DADADADADEFF12DADADADA
+ DADADADAFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB
+ DBDBDBDBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFC64646464BBBB160EEEEE61
+ 08E30BB1703CE886194760493004512236294E270F0F022B62D6238C2A09F239
+ 381F6333054A0158879F772E7B5C5CA1210D4C9B91726F6FC8C83535CA6AC5C5
+ 1D6C6C1DB41D6C6C1D3E5D4354A33D1E653E3E1D3D3D3D3D1313131313131313
+ 15133D3D8E14263D3D1315C015151515C0C0151313133DD7151315A343935492
+ 133D3DC0C0133DA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFE6E2DADAE00C57E4DADAE0FFFF7FDADA0CFFFFFFFFFFFF0CDA
+ DAE9DEDEDEDE57FFFFDEDA12FFFFFF7FDADADADAFFFFFFFFFFFFDADE0C0CE4DA
+ DA7FFFFF57DADAE2570CE0E2DADAE6FFFF12DADADA200CE0DADADA40FFFFE4DA
+ DEFFFF0CDADAE1FFFFE1E2DADA200C0CE0E4FF12DADAE4DEDEDEDEDEFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFDDFCFFFCFC6464640A64BB16160EEE070808E3B1703C181B
+ ED5B47C33004512236694F4E270F022B62EF238C0009F239381FB36305674A58
+ 2F9F772E21A1100D21BF5F9B9B91BD6FC8C83535CA6A6AC56A35441D1D1D6C1D
+ 15C0359E5DD71D441D1D1D131313131313131515151515151313C01526595465
+ 653E131515151515C0C0C0C0C0C0C0159215C0151E5D3E13C015C0A9921515AE
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FE2
+ DAE97FFFFFFFFFE0DADA40FFFFDADA0CFFFFFFFFFFFF0CDADAE6FFFFFFFFFFFF
+ FFDEDA12FFFFFFDEDADADADAFFFFFFFFFFFFDFFFFFFFDFDADA0CFF40DADAE0DF
+ FFFFFFDFE9DAE27FFF20DADA0CFFFFFF12DADADEFFFFDEDADEFFFFE4DAE0FFFF
+ FFE9DAE2E1FFFFFFFFFFFF12DADAE0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFCFCFCFCFCFCFCFCDBFCDBDBFCDBFFFFFCFCFCFCFCFCFCFFFF
+ FFFFFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFCFCFCFCFC64640ABBBB160EEE076108E30B703C181B86194742BE300422
+ EAE54F4E270F0202621C558C8C2A099739382CB3343333674A78589477A85C75
+ CC754D4D0606065F4D4D4D4C4C4C4C4C9191919191913AC83792449E3E151D13
+ 1D1D1D1D1D1D1D1D1D1D1D13131313151D13C092764565653E13131513131313
+ 131315151515C092921315C03D651E5415C092C0151592AE0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0CDADA7FFFFFFFFFFFFF
+ DEDAE4FFFFDADA0CFFFFFFFFFFFF12DADA0CFFFFFFFFFFFFFFDEDA0CFFFF40DA
+ DA0CDADAFFFFFFFFFFFFFFFFFFFF40DADAE6FF20DAE4FFFFFFFFFFFFDFE2DAE0
+ FFDEDADADFFFFFFFFFE4DADAFFFFDEDADEFFE6DAE2DFFFFFE1DADAE6FFFFFFFF
+ FFFFFFFFDADADEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFCFCFCFCFFFCFCFCFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFFFFFCFC6464
+ 640A0ABB160E0EEE070808E3B1703C1B86195B6049300451EA36694E270F0202
+ 2B1C55238C2A09F2C2382CB3346305674A4A017873A4C975CCBF4D0D0D667506
+ 4C4C4C9B4C4C9B4C064D9B9B4C9B4C4C9B131E593E1D373735353535357C7C4B
+ 54545454543535353737543EB69C1D1D3E1D13133E6565653E3E3E3E3E653E1D
+ 131392C03D3E13133DC092151315C0A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFDEDAE9FFFFFFFFFFFFFF0CDADA7FFFDADA0C
+ E1127FFFFFFF12DADAE012121212DFFFFFE0DA0CFFDFE4DA20E1DADAFFFFFFFF
+ FFFFFFFFFFE6DADAE9FFFFDADA57FFFFFFFFFFFFFF20DAE4FFDEDADAFFFFFFFF
+ FFDEDADAFFFFDEDADEFFE4DA0CFFFFFF0CDADADFFFFFFFFFFFFFFFFFDADAE912
+ 1212127FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFC
+ FCFCFCFCFCFCFFFFFCFFFCFFFFFCFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCDDFCFCFC64640A0ABB1616EEEE
+ 076108E3B1703C181BED5B60423004512236294E4E270F022B62EF2300002AF2
+ 97382C1FB33405336767582F8794C9BF210D98A10D755F744D4D4C4C4D4C4D4D
+ 4C48489B48B5BD4C06131E593D1D767C353535359A8080C854547C7C7C545435
+ 3735833E984BCBCB1E1E65651E1E1E1E651E1E1E1E5D3765371E3D3D1E3E9292
+ 3E15C013131513A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFDEDADEFFFFFFFFFFFFFF12DADA12FFDADA0CE2DADAE4E1FF12DA
+ DADADADADADA12FFFF0CDA0CFF0CDAE27FFFDADAE1FFFFFFFFFFFFFF0CDADAE9
+ DFFFFFDADA0CFFFFFFFFFFFFFF0CDADAFFDEDADAFFFFFFFFFFDEDADAFFFF20DA
+ DEE6DADA2012FFFF0CDADAFFFFFFFFFFFFFFFFFFDADADADADADADA0CFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCFCFCFCFFFFFF
+ FFFFFFFCFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFDDFCFFFCFC640A0ABBBBBB16EE076108E30BB13C18
+ 1BED5B4742BE040422EA694F4E270F022B62EF238C002A09C2F7381F1F1F63B3
+ B33401785831C9A121A10DC97EAA4D4C4C4C4C4C4C4C4D4C9B5F7E21104C6E4C
+ 0D444BBF3E1D76809A35CACACACACA355454C8C8C8C85454C8C8483E0D541D13
+ 1E1E653E3E3E3E3D651E1E651E1E1E3E1D1E653D3E139213133E3E13131313A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20DA
+ E4FFFFFFFFFFFFFF12DADA12FFDEDA571240E9DAE2DF12DADADE0C0C0C0C7FFF
+ FF0CDA577FDADA0CFFFFDADA12FFFFFFFFFFFFE0DADAE0DFFFFFFFE2DAE0FFFF
+ FFFFFFFFFF0CDADAFFDEDADAFFFFFFFFFFDEDADAFFFF0CDADEE1120CE2DA57FF
+ 0CDADA7FFFFFFFFFFFFFFFFFDADAE40C0C0C0C12FFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFFFFFFFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFC
+ FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFF
+ FFFFFFDDFCDDFC6464640A0ABBBB160EEE070808E3B1703CE81B194760493004
+ 2236E54F4E270F02022BD6558C000009F239381F1F2C3333676778585873100D
+ 215C66A80D664D5F066E4D4D4D0674AA9B21F031AB484C06BF1E26BF3E133AB0
+ 6F446C9A541E5454353A76C6D1B6767C6F9545CAC9D713151E445D4465443D3E
+ 655D651E4BD5761DCACA351E3E15C0153E15C0133E1315A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6DADA12FFFFFFFFFFFF
+ 57DADADFFFDEDA0CFFFF7FDADAE612DADA0CFFFFFFFFFFFFFF0CDADEDEDAE4FF
+ FFFFDADA12FFFFFFFFFF12DADAE0FFFFFFFFFFE0DAE2DFFFFFFFFFFFFFE9DAE9
+ FF0CDADA12FFFFFFFF0CDADAFFFF0CDADEFFFFFFE6DADA7F7FDADA0CFFFFFFFF
+ FFFFFFFFDADADEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFCFC
+ FC640A0A0ABB160EEE076108E3B1703CE81BED5B60493004512236294E270F02
+ 022B1CEF2300000997C2382CB32CB33463334A7858C1C90D79C9AA1010A87E5C
+ 754C75064D4D744D0D242EB74D4C4C06754426BFD71D953A3AB54BCA543E3A76
+ 9CC875D4213A3A243A9145357ED7131D5D3E3E3E1D13543E1E1E1E3D9EC6BF54
+ 9A35351E3E1515136513C0C0151313A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFDFE2DAE9DFFFFFFFFFE1E2DAE0FFFFDEDA0C
+ FFFFDFDADA0C12DADA0CFFFFFFFFFFFFFF0CDAE2DADA12FFFFFFE4DA12FFFFFF
+ FFFF0CDADAFFFFFFFFFFFF12DADAE0FFFFFFFFFFE6DADAE6FF0CDADA12FFFFFF
+ FF0CDADA12FF0CDADEFFFFFF40DADA12FFDEDADA12FFFFFFFFFFFFFFDADADEFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFC64640A0ABB160E
+ EE076108E30B703C181BED5B47C33004512236294F27270F022B62EF23002A09
+ 09C2382C1F2C386363054A017887A8BF7B10065C5C0DAA66664D66754D064D06
+ AA2E24AA4C4D0D4D063E26BF3E3E9C9CC8B5CA6C76548335443A0DCC45542ED5
+ 95484584BFD7134454831E13761D5D1E5D9265452EC698544BC8351E1D15133E
+ 653E15C0153E3EA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFF12E2DAE40C121257E2DAE2DFFFFFDEDADE0C0CDEDADA4012DA
+ DADE0C0C0C0C0C7FFF40DADADA20FFFFFFFFDEDAE6FFFFFFFFFF40DADA201212
+ 0CE1FFFF0CDADADEE61240E0DADADEFFFF0CDADA12FFFFFFFF0CDADA12FF0CDA
+ E40C0C57E2DADADFFFDFE9DADAE040124057E1FFDADAE40C0C0C0C0C12FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFC640A640ABB1616EE076108080B7070
+ 181B861947423004512236694F27270F022B62D6230000EC0997F72C1FB33834
+ 056701787887CC0D79AB4DAB215C5CA16606AAAA4D4D4D060101F3C1A84C6606
+ 061DAD986C44959C9A95449A7676761E1E567D7D84B7F0069148953A063E1337
+ 5D1E5D13763E443E54C05488D12F983A6FC835441D151D1E3D3E3E133D653EA2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ E1DEDADADADADADADEDFFFFFFFDEDADADADADADAE0FF12DADADADADADADADA12
+ FF12DADADA7FFFFFFFFFDEDA0CFFFFFFFFFFFFE0DADADADADA7FFFFFFF40E4DA
+ DADADADADA57FFFFFF0CDADA12FFFFFFFF0CDADA12FF0CDADADADADADAE2E6FF
+ FFFFDFE0DADADADADADA12FFDADADADADADADADA0CFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ DDFFFFFFFFFFFFFCFCFC640A0ABB16160EEE070808E3B1703CE886194742BE30
+ 042236694F4E270F022B62EF238C00EC09C2F72C1FB3B36367670101782FCC0D
+ 10794D2121A15CAAAAAA4D4D064C4C064D7E797B945C9B4D061D9598131E763A
+ C83A449544541D54C8138806A3AD9826914895569E1D153576924B1E3E5D543E
+ 155D83982E4AD47B6FC81E3E13151D1E3D3E3D13133E3DA20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FE60C0CE67F
+ FFFFFFFFFFE112121212127FFFFFDF1212121212121212DFFFDF1212E1FFFFFF
+ FFFFE1127FFFFFFFFFFFFFFFE10C0C0CE1FFFFFFFFFFFFE10C0C0C40DFFFFFFF
+ FF7F1212DFFFFFFFFF7F1212DFFF7F121212121212FFFFFFFFFFFFFFDF400C0C
+ 0C40DFFF12121212121212127FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
+ FF64640A640ABB160EEE070808E3B1703CE88619476049300451EAE54F4E270F
+ 020262D6558C002A0997F7381FB3343305674A0178C121A15C794D7910667BAA
+ 75790D4DAA4C4C06AA064C6E0D7506AA981D45061335763A4844443A1EB21E76
+ 3A4B764B563A7648919B9593563D157C5D4B5D13441EC01E65541E5476983AC8
+ 6FC81E3E1315134465131515151513A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFCFFFCFC64640A0ABB16
+ 0EEE076108E3B1703CE81B195B4749300451EAE54F4E270F022B2B1C55238C2A
+ 09F239381FB3343305676701782F8BA1C9AB4D211021019F0D2FA4AA66064D06
+ AA4CA1AA4D74664CBF1D43981354769CC8C8D101F0D19E1D3EB2443A453A453A
+ 6E4C9506831D15763D8313831E44541E3D15135D3A761E3A4B8035441D151365
+ 6513131E1E1315CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCDDFFFCDB64640ABB1616EE076108E30B70
+ 3C181BED5B47C330045122E5294E270F02022B1C55238C00099738382CB33463
+ 05674A0178782EA199CC06215C210558A1F32FBF66AA4D4D4C75AA4D5C4D0610
+ BF1D4898134B3A913AC5940D7676C8837C7CA87B3A9C3A486E4C45983A1D1576
+ 3A1376D15DB2C6761E1E5D15765454354B80351E1D15133E3D151E833A65C0A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFDDDDFCFFFCFCFC640A0ABBBB16EEEE6108E30BB170181BED5B474230
+ 0451EA36294E272702022B62558C8C2AEC9739381FB3343305674A01782FD5C9
+ 79A866A8109F874A8DC6F30DA10D4D66AA666666AA06BFA1A11D9EBF549A9C3A
+ 83D7F578787BBDBD5648D4C90DD276833ABF76C94B441D761E769CC65978B67C
+ 54351E5D54545476763A1D761315374465153DD13E1365A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFF
+ FFFCFC64640ABB16160EEE610808E37070181BED5B4742300451EA36694E270F
+ 02022B62EF8C8C002AF239F71F1FB36333054A017858775CAB8B06791078A4C1
+ 0521587779A1A8A85C5C5C5C0DAA66A10D15C999A34B9C3A4B83F0BF5966486E
+ AA4CD198CC109E839C9EADD2C81E443A54139EF3C6785FB695764B4B4B5D5D5D
+ 763AC83A1E445D44156583D41E3E1EA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFFFCFC646464BBBB
+ 160EEE070808E3B1703CE886194742BE04042236694F27270F022B1CD6238C2A
+ 09F2C2381FB3B3633305674A01F024107B2FA1AB7901AB2E0599D42410107966
+ 5C5C5C5C7E0D0DA10DD78F2ECA95569148B6016701774D100D4CD24810065945
+ 595643A5AD54C8953E9EC9CC88C6CC83599EB2B2453A767654358335D7441E3E
+ 135D59995D76B26F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC64DB640ABBBB160EEE070808E3B1
+ 703CE886194742BE30512236694F27270F022B1CEF238C002AF297382C1F3463
+ 3305674A015824A8CF2F7BC9102E0D10C9BF107E66ABAB105C5C5CA8105C5C10
+ BF458F8BAD9D6E6E9E3A065906AA9D0D0DAA0D06BF9806599893143143C8C876
+ 48567DF0317B59594C9E489E48569C9C45959826C8C84B848399F57899454B6A
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFDDFFFFFC64646464BBBB160E0E076108E3B1703CE886194742BE
+ 04042236694F4E270F022B62EF23000009F239382CB3343305674A4A78879F8B
+ 249FCF7E7E0DAA664D754D064D4DB7664D4C4C4D06060606459E0D06B5843A3A
+ 959B48B03A984C934C4D954C9D4D9E4C4343933B43C85454CAD7CA3ACA845426
+ 3A6F6F3A833A3A3A4B26AA8444D7A3D7543D1E44545D37B40000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
+ FFFCFCFC640A0ABB160E0E076108E30B703C181BED5B604930042236694F4E27
+ 0F022B1CEF23002A0939382C1F3433054A0158879FA47B21CCA10DBFB7489195
+ 91726F4856987DC972B09AB06FB0B0B04445C835AD9A9A6FB0356A953A4B4C3B
+ 3A6F9AC84B9A4BC835268326434B544B54CAD7CACA985E43C89ACA9A9A353554
+ 4B9598B76FC89ACA3D5D76B6833E1D6A0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFC64640A0ABB
+ 1616EE070808E3E3B1703CE81B1947C3300422EA694F27270F022B1C5523002A
+ F2C2382C1F3433676701583194778B7BCC5C0D6606065F9B6E6EBD3AC8067B8E
+ 6EB5B0B0B0C880804435CAC5C89A6AB09AB09A80C53599A79572729A6F35C835
+ 1E35C8CA26C8354B6ACA4B1D440D7D8E6FC89A9A35CA1E35C580C83A35C5CA6C
+ 3D767610597613AE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFCFC640A0ABB160EEE0761610808
+ 08E3E3B17018ED4749045136694F4E270F022B1C5523002A0939381F1F343367
+ 677858739FA47BA85C5C0D4C5F9B9191726E72C826563B846E729A9A80356A6A
+ 801D4B356A80AC806A9A6AC8D73D3B8872726F806A806A6A35441E543E354435
+ B01D6FCACAAD7E95B56FC89A9ACACA353580CBC8AC6A4B353D7615BF76541ECB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDDFFFCDDFC0A0A0ABB160EEE07076107EE0E0E0EEE0708B11B
+ 473051EAE54F4E270F022B1C5523002A0939381FB33433674A015873772E8BCC
+ 5C66665F5F4C6F953A72B03ACAB73B546F3A1D806AB4C580B0B46AB46FB46AB4
+ 449A1D4435157D9880B09A8080C5C5C57C15443735351D351D441DCA1E4B0635
+ 6F6F44C8445D1D3E1D443E44541E1DC81E443E4BC81E54CB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
+ FCFFFC6464640ABB160EEE07077F71176B818181170316081B4204EA694F4E27
+ 0F022B1CD623002A0939381FB36333674A0158872F739F777B9F7BA81066A14D
+ 9B483AC815837ECAB43A3A6EC84C6F95484806486E4806483A953A6FC8152193
+ 6CB09A6ACBC5657C44351D5415C854547C541EC8D73A4844CA6FC515A95D3544
+ 1D3A35443E1E44C01E441D351E1D35CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFC6464640ABB
+ BB0EEE070781FEFEFEFEFEFEFEFEA60AE31904EAE54F4E270F022B621CEF8C00
+ EC97381F1F63333305676778788773739424A4249F79C9AB5C5CBF486C43AB84
+ 80064C4C9B5F664C485C065F5C0D6E5F4D4C75064C448F43B46A6F4B959C3AB2
+ 9CB2B29CB6B61D459C6F6F8ECA4C3A1DCACA6C9A4B4B1D1D1EC03A4B153A159C
+ 35441D4413C044A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC640A64BB160EEE0707CDFE7A
+ 82D36BCDFEFEFE17EE1B3022E5294F4E270F0F022BD655002A97381FB3343333
+ 33674A01015887947377247B7B2E218B10ABA806A34899CA954D489BAA48664C
+ 754D75BF064C75A10D454D9806CA8F26CA3548C8B2445D54C8543A359E35483A
+ 954B4593AD0D351D1DCAC56C1D134445761E1D833E3E3E1D351E1D3EC09244A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFCFC64640A0ABBBB160EEE07D312610808E3C4F4FEFEB8
+ 163C495136E5E56969294F4E270262232AF2381FB334333305670505782F8794
+ 942424014A947B7EA8A8CC98D75699A3B5484C0DAA774D669B7506664A78D1C6
+ 779E4C98BF3524841D3A6E541E3A75B676563A563A54F021BD4B45483AA1C51D
+ 6C4BC54410D5BF131D35BF4859D10D5D35353E3E15C044A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFF
+ FCDDFCDBDB64640ABBBB90EE07616161616108E3F6FEFEFEBB70425122220430
+ 604242490436271C0009F71F1F3433330505336301C1C1949F24335831059458
+ 79AB21A1CA437D844B0D0648D4A8F04C0D4CAABFF0F30188787E060DBF268DAD
+ A94CC85676D478884B3A3A8376450DF05F6E489DB598356A6CB0CA6CBF990676
+ 764483D1313A44445D5D3E3E131535A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5003030328FFFFFFFFFFFFFFFF
+ FF5003031AFFFFFFFFFFFFFFFFFF280303031AFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFF1A03030328FFFFFFFFFFFFFFFF28030350FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A030350FFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFF50030328FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A03031AFFFFFFFFFFFFFFFFFFFF
+ FF28030350FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF030303FCFC6464
+ FC0A16EE0761EE1A030316EE12FEFEFE50B1600404428670E68903890B1B0402
+ 23EC381F34343333336767670578873131948B01F301F52E215C990DD73A99CA
+ BD4C064C66F0AB0D740DBF9E8DF30501D20D4D9859842ECA6C5935B29C244A83
+ 45C83A7659C926F0064CB7959D4D9A6AC89ACA562E103A44C0440DD2249C354B
+ 5D351D1D15135DA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFF03A6FEFEFEFEFEFEB86B1AFFFFFFFF6BFEFEFEFEFEB871FF
+ FFFFFFFF17B8FEFEFEFEFEFE17FFFF03FEFEFE28FFFFFFFFFFFFFFFFFFFFFFFF
+ FFFF036BCDFEFEFEFEFECD32FFFFFFFF717AFEFEFEFECD6B28FFFFFFFFFEFEFE
+ 03FFFFFFFFFF81FEFE17FFFFFFFF6BFEFEFEFE82FF03FEFEFE28FFFFFFFFFFFF
+ 286BCDFEFEFEFE7A71FFFFFFFF03FEFEFEFFFFFFFFFFFFFFFFFF17FEFEFE03FF
+ FFFFFFFFFFFFFFFF71B8FEFEFEFE3217FEFE81FFFFFFFF037AFEFEFEFEFE17FF
+ FF03FEFEFEFFFFFFFF81FEFECD50286BFEFEFEFEB8FCCDFEFE03BB0E615081FE
+ FEFECD17BBFEFEFE03B147EB47A0A6FEFEFEFEFEFEB8D04E2309381F34343333
+ 336733673487942F24A424F0317B7B7D215CAB5CCA8399A33A0606AA31A49F06
+ 667445BFD4054A7B4D4D060D4D56CFCA3E453A3A76B2013A564BCA3A932E01D2
+ 484848B5B7486AB49AC844C8CCA13A3E1E35C8C9D54476765D1E1315C01D54CB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B
+ FEFEFEFEFEFEFEFEFEFEFE32FFFFFFB8FEFEFEFEFEFEFE71FFFFFF81FEFEFECD
+ 8181CDFE81FFFF03FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF286BFEFEFEFEFEFE
+ FEFEFE81FFFFFF6BFEFEFEFEFEFEFEFECD50FFFFFF7AFEFE03FFFFFFFFFF82FE
+ FE17FFFFFF71FEFEFEFEFE81FF03FEFEFEFFFFFFFFFFFF50CDFEFEFEFEFEFEFE
+ FE6BFFFFFF50FEFEFEFFFFFFFFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFFFFFF1A
+ CDFEFE8117173203FEFE81FFFFFF32FEFEFEFEFEFEFE81FFFF1AFEFEFEFFFFFF
+ 71FEFEFE32FF82FEFECD8217822881FEFE030A9050CDFEFEFEFEFEFE6BFEFEFE
+ 030B5B47E0CDFEFEFEF4D9F4FEFE2D272309381FB363333305674A67012FC194
+ 9F772E944AF02179795C10A1444B885DC8754D75BF7E4C064C4C9B06107821C9
+ 4D4D66665993ABC81D455654543A3A54B09A4B6F5624F00D5F48834806543E1D
+ 5D54351E1E351E1E3DD78399064B44765D5D139213653ECB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFEFE6B71033281
+ FEFEFEFE03FFFF827128FF1A7AFEFEA6FFFF17FEFECD17FFFFFFFF1A32FFFF03
+ FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF7AFEFEFECD82710303176B7AFFFF71FE
+ FEFE1728FF037AFEFEB828FFFF81FEFE71FFFFFFFFFF17FEFE82FFFFFF17FEFE
+ FE03FF71FF03FEFEFEFFFFFFFFFFFF7AFEFE7A03FF2817FEFEFE17FFFFFFFEFE
+ FEFFFFFFFFFFFFFFFFFF03FEFEFE03FFFFFFFFFFFFFFFF17FEFEB8FFFFFFFF1A
+ FEFE7AFFFF1ACDFEFE7A71FFFF1A32FFFFFFFEFEFEFFFF28B8FEFE6BFFFFCDFE
+ FE32DDDDDB646BFEFE710A1681FEFECD32EEC4D3FEFEFEFE030BEDFACDFEFE81
+ 9647305151E0E0028C09381F34B3330505674A0178878731249FA4A4247B108B
+ 10AB21BF35450D546EAA744859069E0606BD594C48C9064C4DAA75754D14211D
+ 54487676543A353A3A9A4BCA3A59453A95B25643BF541D929C3E441D761D5D35
+ D7541E35134B3A541E1E3DC01D4465CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF7AFEFEFE17FFFFFFFFFF6BFEFEFE6BFFFFFF
+ FFFFFFFF82FEFEA6FFFFB8FEFE17FFFFFFFFFFFFFFFFFF1AFEFEFEFFFFFFFFFF
+ FFFFFFFFFFFFFF17FEFEFE8128FFFFFFFFFFFFFFFFFFB8FEFE17FFFFFFFF28CD
+ FEFE17FFFF81FEFE17FFFFFFFFFF17FEFE81FFFFFF17FEFEB8FFFFFFFF1AFEFE
+ FEFFFFFFFFFF32FEFECD28FFFFFFFF17FEFECDFFFFFFFEFEFEFFFFFFFFFFFFFF
+ FFFF03FEFEFE03FFFFFFFFFFFFFFFF17FEFE7AFFFFFFFFFFFEFEFEFFFF17FEFE
+ CD28FFFFFFFFFFFFFFFFFEFEFEFFFF82FEFEB828FFFFFEFEFE71FFDD646417FE
+ FE170A7FFEFEFE3290E3703CD3FEFEFE03E31BC7FEFEB8C4190436294F4E0F2B
+ 8C2AC21F3434333305674A017887C19F9F9FA48B8B21797B5C797BBF35565E54
+ C84D664C750659590D6EBFAABF1010994D660666B798211D92483A4576453E3A
+ C86E4B9D459A4583B2594C83C9C81EC5441E4B5D5D131D3ED73ED74B3E441E54
+ 1D1E3E133E3E3DCB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFEFEFEFEFFFFFFFFFFFF28FEFEFEB8FFFFFFFFFFFF71CDFEFE71
+ FF50FEFEFE28FFFFFFFFFFFFFFFFFFFFFEFEFE03FFFFFFFFFFFFFFFFFFFFFFCD
+ FEFEB828FFFFFFFFFFFFFFFFFF1AFEFEFE1AFFFFFFFFFF82FEFE81FFFF17FEFE
+ 17FFFFFFFFFF17FEFE81FFFFFF71FEFE7AFFFFFFFFFFFEFEFE03FFFFFFFF6BFE
+ FE6BFFFFFFFFFF28FEFEFE03FFFFFEFEFE03FFFFFFFFFFFFFFFF03FEFEFE03FF
+ FFFFFFFFFFFFFF1AFEFEFEA61AFFFFFFFEFEFEFFFFA6FEFE6BFFFFFFFFFFFFFF
+ FFFFFEFEFEFF50FEFEFE50FFFFFF6BFEFECD32FFFCFC17FEFE170A03FEFEFE28
+ 070B18E818B8FEFE0308E8D8FEFE820B4704223636694F0FD600971FB3343333
+ 330501782F582F9494772E2E2E778BA8AB10107ECA8399264D4D4D0694F0774C
+ 4C0D4C749F78D5C6934D5F0D95AB999C765935C8CCD4BF4B4CACB5C8458BC976
+ 9C5643AD7D4B35353A5444C910CC834B26458821593E1576445D1E3E653E1DB4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFE
+ FE7AFFFFFFFFFFFFFF7AFEFEFEFFFFFFFFFF82FEFEFE17FFFF03FEFEFEFFFFFF
+ FFFFFFFFFFFFFFFFFEFEFE03FFFFFFFFFFFFFFFFFFFF03FEFEFE32FFFFFFFFFF
+ FFFFFFFFFF03FEFEFEFFFFFFFFFFFF03FEFEFEFFFF17FEFE82FFFFFFFFFF03FE
+ FE7AFFFFFF03FEFEFEFFFFFFFFFFFEFEFE03FFFFFFFF81FEFE17FFFFFFFFFFFF
+ 81FEFE17FFFFFEFEFE03FFFFFFFFFFFFFFFF03FEFEFE03FFFFFFFFFFFFFFFFFF
+ 32CDFEFEFE7A825081FEFE50FF81FEFE17FFFFFFFFFFFFFFFFFF81FEFE507AFE
+ FE17FFFFFFFF2881FEFEFECDA63271FEFEA60A03FEFEFE6407B1181B1BD8FEFE
+ 170818D9FEFE17613C86195B191947040F8C972CB33463050567014A4A582FC1
+ 87949F778B8B2E211010A15C3593A58E6F4C759B2EF0871010060D7B2105F32E
+ 934C5FA1B5A521B21E483A547BD51006BD7EA1BF4DAB24B23A839E06314C4B76
+ 1E443AD424CCB2984310D4993A1E3E3E5476541E5D5D5D9A0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE81FFFFFFFFFFFF
+ FF81FEFEFEFFFFFF2881FEFECD71FFFFFF03FEFEFEFEFEFEFEFEFEFEFEFEFFFF
+ FEFEFE03FFFFFFFFFFFFFFFFFFFF17FEFEFE1AFFFFFFFFFFFFFFFFFFFF03FEFE
+ FEFFFFFFFFFFFF03FEFEFEFFFF17FEFE81FFFFFFFFFF03FEFEFEFFFFFF03FEFE
+ FEFFFFFFFFFFFEFEFE03FFFFFFFF81FEFE17FFFFFFFFFFFF81FEFE17FFFF81FE
+ FE03FFFFFFFFFFFFFFFF03FEFEFE030317177128FFFFFFFFFF28177AFEFEFEFE
+ CDFEFE03FF81FEFE17FFFFFFFFFFFFFFFFFF81FEFE82FEFECDFFFFFFFFFFDDFC
+ 036BCDFEFEFECDFEFE810A1AFEFEFE1AEE0B18861BD3FEFE170818D9FEFEFEFE
+ FEFEFEFEFEFEFEF1E523F22C341F2C0505674A34344A2F582FC17394777777A4
+ A87910C94B99BC140666AA06A40178AB5C77A8AB8B01D421AA66BFBF8EF53F54
+ 4C5656592FD421985C105C06D578CC4C064C595E8D9326765D0D31D421B6590D
+ 06998DBF3A459C7654545D1E5D5D54B00000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF81FEFEFEFFFFFFFFFFFFFF82FEFEFE28FFFF
+ 81FEFE7A1AFFFFFFFFFFFEFEFE710303030317FEFEFEFFFFFEFEFE17FFFFFFFF
+ FFFFFFFFFFFF17FEFEFEFFFFFFFFFFFFFFFFFFFFFF28FEFEFE71FFFFFFFFFF32
+ FEFEB8FFFF17FEFEFE28FFFFFFFF71FEFEFEFFFFFF28FEFEFEFFFFFFFFFFFEFE
+ FE17FFFFFFFF82FEFE7AFFFFFFFFFFFFB8FEFE32FFFF81FEFE03FFFFFFFFFFFF
+ FFFF03FEFEFE03B8FEFEFEFE82FFFFFFFFFFFFFF280382B8FEFEFE32FF82FEFE
+ 7AFFFFFFFFFFFFFFFFFF81FEFE717AFEFE32FFFFFFDDDDFCFCDBDB5032A6FEFE
+ FEB80A16B8FEFE17BB0870E8E8D3FEFE17081BF1FEFEA60389892D89F4FEFED3
+ 22D6092CB3B31F0533674A05057858783131949F949F2E8BAB7921A15699A55E
+ B5060DA1BF7979A106A8BFBF0DAB0DBF66BFBF0693525243543A4C062106489E
+ 9DAA9D4C7910BF9E599E458E98C8CA1E4B98CC48454B3A13C8D74C4B5D1E1D3E
+ 1E1E3E3D653E3EC50000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF81FEFEFEFFFFFFFFFFFFFF17FEFEFE03FF50FEFEFE28FFFFFFFF
+ FFFFA6FEFE32FFFFFFFF32FEFEB8FFFFFEFEFECD50FFFFFFFFFFFFFFFFFF17FE
+ FEFEFFFFFFFFFFFFFFFFFFFFFFFFA6FEFEA6FFFFFFFFFF81FEFE6BFFFF71FEFE
+ FEA6FFFFFFFFA6FEFEFEFFFFFFFFFEFEFE28FFFFFFFFFEFEFECD50FFFFFF50FE
+ FEFE50FFFFFFFF03FEFEFE1AFFFF81FEFE03FFFFFFFFFFFFFFFF1AFEFEFE71FE
+ FEFEFEFEFE6BFFFFFFFFFFFFFFFFFF28B8FEFE17FF71FEFEFE03FFFFFFFFFFFF
+ FFFF81FEFE0350CDFEFE71FFFFDDFCFCDBDBDB64FC6417FEFEFE0A0ED3FEFECD
+ 500E08B1B1D3FEFEA6611BA0FEFEB8EE3C5B4786B8FEFEC7E5F9F21FB36363F3
+ 67670178F087879424A42E8B7B21A879795C2166B75E5E14B774B74DBD4C4856
+ 4C9D564D9E454C4C93489B59143B53A73A3A5435763AC8C8B0CA3AB54B3A3A4B
+ 4B5683AD434B26353E1D1D1E1E444435C813484B76351D445D1E1D3D3E1315CB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6FE
+ FEFEFFFFFFFFFFFFFF17FEFEFE03FF03FEFEFE17FFFF1A32FFFF03FEFECD03FF
+ FF287AFEFE17FFFFFEFEFEFECD821703FFFFFFFFFFFF71FEFEFE71FFFFFFFFFF
+ FFFFFFFFFFFF50FEFEFEA61AFF1A6BFEFEFE50FFFF03FEFEFEFEB882177AFEFE
+ FECDFFFF5003FEFEFE17030328FFFEFEFEFECD821703FFA6FEFECD32FFFF71CD
+ FEFEA6FFFFFF81FEFE71FFFFFFFFFFFFFFFFFFFEFEFE7128FF507AFEFEFE03FF
+ FF0328FFFFFFFFFFB8FEFE17FFFF7AFEFECD3228FF280303FFFF81FEFE03FF32
+ FEFECD50FFDDFC1A50DDFCFC64DB32FEFEFEBBEE617AFEFECD321AEEEE6BFEFE
+ 81611960D9FEFE6BC43C18F6FEFECDD02700392CB36333674A01F058D1C1872E
+ 8B79C90DBFBF754D4D4D56954556459E453B7D1480373E1E1E3544134435443E
+ 6C443E5D253FA7C945441D1E3E441E1D443E3E44443E44543BA13A8044921313
+ 13923E15153E153E1515351D1D54C0C09265A9A9C09213AE0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFE1AFFFFFFFFFF
+ FF03FEFEFE03FFFFB8FEFEFEFEFEFECDFFFFFF32FEFEFE7A81FEFEFE7A28FFFF
+ FEFEFE7AFEFEFE17FFFFFFFFFFFF28FEFEFE6BFFFFFFFFFFFFFFFFFFFFFFFF32
+ FEFEFEFEFEFEFEFEFE32FFFFFF03FEFEFE81FEFEFEFEFEFEFE82FFFF81FEFEFE
+ FEFEFEFE03FFFEFEFE7AFEFEFE17FF287AFEFEFEFEFEFEFEFE7A28FFFFFF81FE
+ FE17FFFFFFFFFFFFFFFFFFFEFEFE03FFFFFF28CDFEFE6BFFFF82FE7A6B17177A
+ FEFEFE50FFFF50CDFEFEFEFEFEFEFE17FFFFA6FEFE32FFFFA6FEFEB828FCDB28
+ FECD8117176BCDFEFEA6166108C47AFEFEFEFEFEFEFEFEFEB8E3473096F4FEFE
+ CD81B8FEFEFEC72262F2381F3433054A7858C17331319F7BC975B648B245956F
+ C84B35449A9ACACA543B3B841DAC1313921D13921D1D151D6C1D1D3D3D3B983A
+ 1E13131D1D131D1315C0C01313C015138E5615B4CB15151513C03E133D65C015
+ 131544C51D15A9C09265C013651365A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFF03FEFEFE17FFFF
+ 5081FEFEFEFEFE6BFFFFFFFF037AFEFEFEFECD6B28FFFFFFFEFEFE716BFEFE17
+ FFFFFFFFFFFFFF6BFEFEFE03FFFFFFFFFFFFFFFFFFFFFFFF1A6BFEFEFEFEFEA6
+ 03FFFFFFFF03FEFEFE2882CDFEFEFECD82FFFFFF81FEFEFEFEFEFEFE03FFFEFE
+ FE716BFEFE17FFFFFF32B8FEFEFEFEB81728FFFFFFFF6BFEFE17FFFFFFFFFFFF
+ FFFFFFFEFEFE03FFFFFFFF81FEFE81FFFF0381CDFEFEFEFEFEB871FFFFFFFF1A
+ 6BFEFEFEFEFECD50FFFF17FEFE17FFFF28CDFEFE7A28DBDB6B7AFEFEFEFEFEFE
+ 6B7F0708E30BE3F67AFEFEFEFEFEFEFEF418EB512296F8CDFEFEFEFEF432510F
+ 009738B33433674A015831D4319F8BA85C0DBF064D4D4C4856454B6F6FB044B4
+ 3D3B5E3DAC7C3554C83A3A83453A3A56953A9C76A37D986A133E441E35444435
+ 764B4B7676C8544B439D1D1DC53537445D1E545D4B3A5D545D5435763792135D
+ 3E1E651E1E3E1ECB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFF03FEFEFE17FFFFFFFF28030350FFFF
+ FFFFFFFFFFFF28030350FFFFFFFFFFFFFFFFFFFFFF1A031AFFFFFFFFFFFFFF1A
+ CDFEFECD71FFFFFFFFFFFFFFFFFFFFFFFFFFFF030303FFFFFFFFFFFFFFFFFFFF
+ FFFFFFFF500303FFFFFFFFFFFFFF81FEFE03FFFFFFFFFFFFFFFFFF1A031AFFFF
+ FFFFFF1A03031AFFFFFFFFFFFFFF17FEFE17FFFFFFFFFFFFFFFFFFFEFEFE03FF
+ FFFF28CDFEFE81FFFFFFFFFF2803030328FFFFFFFFFFFFFFFFFF0303031AFFFF
+ FFFF17FEFE17FFFFFFFFFFFFFFFCFC640A646450030350BB16EE61E30BB17070
+ 700B89898989FBE819C351E5693622300C2D2D9604690FF92AF2382CB3B33305
+ 4A01739FC131217B7B79CCA8C910C910AB10107EA10D4D3A3D995E3D3A914556
+ 484C5906064C9E064C480659A38F0DAC4476764B3A3A4B4556459C4545454545
+ 5E9D441D7C355D35C8545454544B4B4B544B6A7637A9655D4B5D1E5D443E1EB4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FE
+ FEFE03FFFFFFFFFFFF28FEFEFE17FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32FEFEFEFE7A1703
+ 0371177A03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFE32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFE17FFFFFFFFFFFFFFFFFFFEFEFE6B171717B8FEFEFE17FF
+ FFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFE17FFFF
+ FFDDFCFFFFDBDB640A0A0ABBBB1616EE0761080BB1703C18E81B86ED195B6049
+ 0451364F4E4E4E4E4E4E4E270F2B55000939F72CB3346305674A317731C18BD5
+ 8B7BCC79A810A8A8C90D0D66660D75B55D7D5EA39B919C564548489E064C484C
+ 7448065954B95E6C353A76C83A833A45953A3A3A3A4545457E3A44923A443554
+ 35C8C8C854355454543A3580C5921E651E13445D3E441ECB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03FEFEFE17FFFFFFFFFF
+ FFFFFEFEFE6BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03CDFEFEFEFEFEFEFEFEFE28FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A17
+ 8117FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FE
+ FE81FFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFE7A28FFFFFFFFFFFFFCFCFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEA6FFDDFFFFFFFCFCFCDB64
+ 0A0ABBBB900EEE076108E30B703C18E886195B4742EB30512236294E270F0F0F
+ 02022B62552300EC9739381FB3346333674A312431877B248B7979A8C9105C7E
+ A8A17EA10D107E9B1E7D5EA34D91484556B64848590659594D4C7598265206AC
+ 543A76544B833A7645459595569E9E483BADCACB9C351E541EC8547676C83A76
+ 263AC8356C151E5D1D137676445D54B40000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF03FEFEFE17FFFFFFFFFFFFFFFEFEFE81FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFF28177AFEFEFEFEFEFE7AFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFE81FFFFFFFFFFFF
+ FFFFFFFEFEFEFEFEFEFEFECD6B28FFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFF17FEFE81DDFFDDFCFFFFFCDB640A0ABB16160EEE0761
+ 0808E3B1703CE886195B4742BE04512236294F4E270F02022B1CEF232300ECF2
+ C2F7381FB3346305674AC1D49F877BD2A47B21A85C105C7E5C0D7E7EAA7E0D6E
+ 3E7D7EA34D9B064548065956484C4C4C4D4D060684B99DB4763A453A4B45B276
+ 3AB5B595489EB79D93C86C1D4BB21E35459544CA9A9A956F263580ACCB923E45
+ 45560DB63E5D54B40000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF03030350FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDDFFFCFCFC0AFC640A0ABB16160EEE076108E30B707018E886
+ 19476049300451EA36294E270F0F022B1C1C238C8CECEC09C2382C1FB3633305
+ 674A58D49F2F7B24A48BABA85C10A1667E667E7E665C5C481E8B99A34C9BBF26
+ 59A10D9EB24C5959AA7575982552BDAC3A45B6483A48593A6F3A95BD4874483A
+ CAC86CB03A10B2458BC93A9A9A9A569556353AB0C5C5C888CCCCD5BF1D4435B4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFC
+ FFDBFFDB640A0ABBBB161690EE07610808E3B1703C181BED5B4742BE30042236
+ E54F4E270F0F022B1CEF238C00EC0909C2382C1F3463330567675894242FD2D5
+ CF2F8B7B2F87BFA1A1060D5CA17EA19B843F3BCA759B2F569888C12659598359
+ 4D750D14145206AC3A83F00688F02E2626AD833A4C4559569845352644D47B99
+ 8B4DCACA4B4B4B3A9C9C06B2441E1ED5CC8B103A134435CB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFCFCFFFFFCFFFFFFFFFFFFFFFCFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDFCFCDB0A0A0A0A
+ BB16160EEE076108E30B703C3CE886195B60493004512236694F27270F02022B
+ 1C55238C002A090939F72C1F34630505674A5894C1D1D49FA44A9F2158F00D7E
+ ABA1A1A166A1A14D938F3F25069B012EA17B2EB74C4C7498064806433BF55E6A
+ 454CD5CC06310D3A9595957645455999D2481D9A3A9F217EC99EC8C8264BC84B
+ 35060D4544541D06764545C83554C8AC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFCFCFCFCFFFCFCFCFCFCFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFDDFCFC640A0A0A0ABB1690EE070761E3
+ E30B703C181B86194760BE3004513636294E27270F022B621C558C0000EC0909
+ C2382C1F34633305674A58942F53312E24672F2E2F2FA8A85C667566660D0D4D
+ 1453528E069B77D55C775C66749B74744DB5BF433FBC3B6E489BA87B4C214C9B
+ 56489B48484893B97B484B4BD79D4B5606B7BD95BDB54BC88EAB5992A96F9A4B
+ 56959556454B44CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFC
+ FCFCFCFFFFFFFCFCFFFFFFFFFCFFFFFCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFCFCFC640A0A0ABBBB16160E07076108E30BB1703CE81B195B
+ 47C3BE30042236E54F4E270F0F022B62D6558C8C002A09F239382C1F34630505
+ 67017824C1AFA52E8B77777777A48B79AB1010105C5C664D5EAF5384065F7510
+ 667BAAAB7E0D7E0D0D4CBFB7B9535E6A729AAA7E66667E5C7EA1A1759B488EA5
+ A49DCAC8BD4D744D4D4D4D4C74B79DB5A3B98F06CACAB06E3AC8C83A954BC8AC
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFCFF
+ FCFFFFFCFCFFFCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCDB0A0A0ABBBBBBBB90EE07610808E30B7070181B8619476049300451223669
+ 4F4E270F02022BD6EF558C002A09F2C2F7382C1FB3633305674A7894C111BCCF
+ 7B798B77A48BA4A42E2E7B79A85C064DB96DAF14B79B5F0D7EA87E7979A85C5C
+ 7E0648AAF5BCB9747472064D66747E66AA4D5F6EB59314BCAFA44C9AB0B5849A
+ 84B5BD3A3ABD48B7A75A5AF57B0659757E7E5C5CC99979790000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFFFCFFFFFCFCFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCDB64640A0ABBBBBB
+ 1690EE076108E30BB1703CE81BED194742493004222236294F270F0F022B62EF
+ EF238C00ECECF2C2F7382C1F3463330567012F2F5A1185A48B2EA421A47B218B
+ 7979A85C5C66665CAF5A6D53C94CAA06664DAAAAAA4D4D4D14064C79BCBAF577
+ 9DB572B5B5729DB574744D4D6610D45AFDAF01C1772E9FC1C12FF0014ABCAFBA
+ 5AFDFD6D5A5A5A5A5A5A5ACEBACE5A2C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFFFFFCFCFCFCFCFFFFFCFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFDDFFFFFFFFFFFFFFFFFFFFDDDBDBDB640A0A0ABBBBBB16EEEE616108E30B
+ 703C3C1B86ED4760C330040422EA69294E270F0F022B621C55238C002A09F2C2
+ F72C1FB334330505670178F31111110524D22E21D221AB10AB79AB1079792EF0
+ FD6DFD6D0587318F3131C12FA5F07801F0010185BA6D5AAF0101F5BC058585BA
+ BABACEBACEBA5A6DFDFDFDFDFDFD6D5A5A6D6DFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCDBDBDBDBDB
+ DBFCFFFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFCFCFCFCDB640A0ABBBBBBBB160EEE076108E3E30B703C181B865B4760
+ C33004512236294F4E270F02022B1CEF23238C00EC0909E78A39F738112C2C1F
+ CECE6D41111111FD5ACE5A6D6D6D6D5A5A5A5A5A5A5A6DFDFDFDFDFDFDFD6D6D
+ 5A6D5A6D5A5A5A5A5A5A5AFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFFFCFCFCFC
+ FCFCFFFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBFCFCDB
+ 640ABBBBBB16160EEE07616108E30B70703CE81B195B47C3BE040422EAE5294E
+ 27270F022B621CEF238C8C00ECECEC6868E78A8A464646414141411111111111
+ 1111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
+ FCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFCFCFCFCFCFCFCFCFCFFFCFCFFFF
+ FFFFDDFFDDDDFFFFFFFFFFFFDDFFFFFFFFFFFFFFFCDBDB64640A0ABBBB16160E
+ EE07610808E3B1703C181BED194760493004512236E54F4E270F0F022B1C1C55
+ 238C00ECECECEC09688A8A8A4646464141414111111111111111FD1111FDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBDBDBDB
+ DBDBDBDBDBDBDB6464FCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFDDFFFFFFFFFFFF
+ FFFFFFFFFCDDFFFFFCFFFFFCDB64640A0A0ABBBBBB160EEE07610808E30B7070
+ 3CE81B195B4742BE300451EAE5294F4E270F02022B1C1C558C8C0000ECEC6868
+ E78A8A46464646414141411111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB6464646464
+ 64FCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFDDDDFFFFDDFFFFFFDDFFFFFFFFFFFC
+ FFFFFCFCFCFC640A0A0ABB1616160EEE076108080B0B703CE81B86194760C3BE
+ 04512236E54F4E270F0F022B2B1CEF8C8C0000ECECEC0909DCE7464646464141
+ 4111411111111111FDFD11FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB646464646464FCFC64FCFCFCFCFC
+ FCFCFCFCFCFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBFCDBDBDB0A0A
+ 0ABB1616160E0E07616108E30B70703CE886195B474249305151223669294E27
+ 0F0F022B2B1CEF238C8C0000ECEC096868E7E78A8A4646414141414111411111
+ 1111111111111111111111111111111111111111111111111111111111111111
+ 1111111111111111111111111111111111111111111111111111111111111111
+ 11111111111111111111111111111111111111111111118A0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFCFCFCFCFCDB
+ DBDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A646464646464DBFCFCFCDBFCDBFFFFFF
+ DDDDFFDDFFFFFFFFFFFFFFFFFFFCFCFCFCFFFCDBDB0A0A0ABBBB160E16EEEE07
+ 070808E30BB13C3CE81B86194760C3BE3004512236E54F4E4E270F0F022B2B1C
+ 1C55558C8C8C0000002A2AECECEC09EC09096868686868686868DCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCEC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB
+ DBDBDBDBDBDB64DBDBDBDBDBDBDBDBFCFCDBFCDBFFFFFFFFFFFFFFDDDDFFFFFF
+ FFFFFFFFFFFCFCFCFCFCFCDBDBDBDB640A0ABBBBBB160EEEEE07616108E3E3B1
+ 703C18181BED195B4760C349303004515122EAEAE5E529294F4F4E4E27272727
+ 270F0F0F0F0F0F0F0F0202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 020202020202020F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDDFCFCFCFCFCFCFCFCFCDD
+ DDDDDDDDDDFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFC640A0A0A0A0ABB161616900EEE0707610808E3E30B0BB170
+ 3C3C3C18E81B1B86EDED19195B5B4747474760604242C3C3C3C3494949494949
+ EBEBEBBEBEBEBE30BEBE30303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303049
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFDDDDFCFCFCFCFCFCFCFCDBDBDBDBDDFCFCFCDDDDFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDDFCFC64
+ 640A0A0A0ABB161616900EEE070761080808E3E30BB17070703C3CE81B1B1B86
+ ED1919195B5B4747476060424242C3C3C3494949494949EBBEEBBEBEBEBE3030
+ BE30303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030490000FCFCFCFCFCFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB
+ DBDB6464646464640A0A0A0A0A0A6464646464DBDBDBDBDBDBDBDBFCFFFFDDDD
+ FFDDFFFFFFFFFCFFFFFFDDFFFFFCFCFCFCDBDBDBDB640A0ABBBBBBBB16EEEE07
+ 610808E3E3B170703C181B86ED195B4742C3BE300404512222EA36E529294F4F
+ 4E4E4E272727270F0F0F0F0F0F0F020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020F0000FCFCFCFCFCFCFCFCFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCDBDBDBDBDBDBDB64640A0A0A0A0ABBBBBB
+ BBBBBBBBBBBB0A0ABB0A0A0A0A0A0A0ADB64FCFCFCFFDDDBFFFFDDFFFFFFFFFF
+ FFFFFCFFFFFFFC64DBDBDB0A0A0ABB161690EEEE07070808E30BB1703C181B1B
+ 195B476049300451512236294F4E27270F0F022B2B1C1CEF558C8C0000000000
+ ECECECECECEC09090968686868686868DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCEC0000FCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFF
+ FCFCFCFCFCFCDBDBDBDBDBDBDB640A0A0A0A0ABBBBBBBBBBBBBBBBBBBBBBBBBB
+ BB0A0A0A0A0A640A6464DBFCFCDDFCFFDDFCFFFFFFFFFFFFFFFFFFFFFFFCDBFC
+ 640A0A0ABBBBBBBB900EEE07616108E3E30B703C18E81B191947604930040451
+ 223669294E27270F02022B2B621CEF55238C8C00000000ECECECEC0909096868
+ 68E7E768E7E78AE7E78A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
+ 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
+ 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8AEC
+ 0000}
+ Login.LeftImage.Data = {
+ 07544269746D617016090000424D160900000000000036040000280000003200
+ 0000180000000100080000000000E00400000000000000000000000100000000
+ 000000000000000080000080000000808000800000008000800080800000C0C0
+ C000C0DCC000F0CAA6000020400000206000002080000020A0000020C0000020
+ E00000400000004020000040400000406000004080000040A0000040C0000040
+ E00000600000006020000060400000606000006080000060A0000060C0000060
+ E00000800000008020000080400000806000008080000080A0000080C0000080
+ E00000A0000000A0200000A0400000A0600000A0800000A0A00000A0C00000A0
+ E00000C0000000C0200000C0400000C0600000C0800000C0A00000C0C00000C0
+ E00000E0000000E0200000E0400000E0600000E0800000E0A00000E0C00000E0
+ E00040000000400020004000400040006000400080004000A0004000C0004000
+ E00040200000402020004020400040206000402080004020A0004020C0004020
+ E00040400000404020004040400040406000404080004040A0004040C0004040
+ E00040600000406020004060400040606000406080004060A0004060C0004060
+ E00040800000408020004080400040806000408080004080A0004080C0004080
+ E00040A0000040A0200040A0400040A0600040A0800040A0A00040A0C00040A0
+ E00040C0000040C0200040C0400040C0600040C0800040C0A00040C0C00040C0
+ E00040E0000040E0200040E0400040E0600040E0800040E0A00040E0C00040E0
+ E00080000000800020008000400080006000800080008000A0008000C0008000
+ E00080200000802020008020400080206000802080008020A0008020C0008020
+ E00080400000804020008040400080406000804080008040A0008040C0008040
+ E00080600000806020008060400080606000806080008060A0008060C0008060
+ E00080800000808020008080400080806000808080008080A0008080C0008080
+ E00080A0000080A0200080A0400080A0600080A0800080A0A00080A0C00080A0
+ E00080C0000080C0200080C0400080C0600080C0800080C0A00080C0C00080C0
+ E00080E0000080E0200080E0400080E0600080E0800080E0A00080E0C00080E0
+ E000C0000000C0002000C0004000C0006000C0008000C000A000C000C000C000
+ E000C0200000C0202000C0204000C0206000C0208000C020A000C020C000C020
+ E000C0400000C0402000C0404000C0406000C0408000C040A000C040C000C040
+ E000C0600000C0602000C0604000C0606000C0608000C060A000C060C000C060
+ E000C0800000C0802000C0804000C0806000C0808000C080A000C080C000C080
+ E000C0A00000C0A02000C0A04000C0A06000C0A08000C0A0A000C0A0C000C0A0
+ E000C0C00000C0C02000C0C04000C0C06000C0C08000C0C0A000F0FBFF00A4A0
+ A000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFF
+ FF00FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD525252525252525252525252
+ 5252FDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDAFB75E5E5E66666767676F6F6F6FB752FDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBF
+ BFBFBFBFBFBFBFBFBFB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFB76F676F6FB7B7B7B7B7776F5EB752FD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBFBFB752FDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFB76F676F6F6FB7B7
+ B7B7776F5EB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBFBFBF52FDFDFDFDFD
+ 0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAF
+ B76767676F6F6FB7B7B7776F5EB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBF
+ BFBF52FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDAFB76767676F6F6F6FB7B7776F5EB752FDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBF
+ BFBFBFBFBFBFBFBFBFBF52FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBFB7AFAFB7B7B7B7BFBFBFBFB7B752FD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDAFB76F675E5E5E5E5E5E676FB7A5FDFDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F79BFDFDFDFD
+ FDFDA4F7A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDF7F79BFDFDFDFDFDFDA407A3FDFDFDFDFDFDFD
+ 0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDF7F79BFDFDFDFDFDFDA407A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F7A4FDFDFDFDFDFDF707
+ A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDF707A49AFDFDFDFDA30707A3FDFDFDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F6A4
+ A49B9A9AA3A407079AFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F6F7F7A4A4F70707A3FDFDFDFD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDF7F6F6F6F6F607A3FDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7A3A3A3
+ A3A3FDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ 0000}
+ Log.WindowCaption = 'Seguran'#231'a'
+ Log.LabelDescription = 'Log do Sistema'
+ Log.LabelUser = 'Usu'#225'rio :'
+ Log.LabelDate = 'Data :'
+ Log.LabelLevel = 'N'#237'vel m'#237'nimo : '
+ Log.ColLevel = 'N'#237'vel'
+ Log.ColMessage = 'Mensagem'
+ Log.ColUser = 'Usu'#225'rio'
+ Log.ColDate = 'Data'
+ Log.BtFilter = '&Aplicar Filtro'
+ Log.BtDelete = '&Excluir Log'
+ Log.BtClose = '&Fechar'
+ Log.PromptDelete = 'Confirma excluir todos os registros de log selecionados ?'
+ Log.PromptDelete_WindowCaption = 'Delete confirmation'
+ Log.OptionUserAll = 'All'
+ Log.OptionLevelLow = 'Baixo'
+ Log.OptionLevelNormal = 'Normal'
+ Log.OptionLevelHigh = 'Alto'
+ Log.OptionLevelCritic = 'Cr'#237'tico'
+ Log.DeletePerformed =
+ 'Deletion of system log done: User = "%s" | Date = %s a %s | Leve' +
+ 'l <= %s'
+ UsersForm.WindowCaption = 'Seguran'#231'a'
+ UsersForm.LabelDescription = 'Cadastro de Usu'#225'rios'
+ UsersForm.ColName = 'Nome'
+ UsersForm.ColLogin = 'Login'
+ UsersForm.ColEmail = 'Email'
+ UsersForm.BtAdd = '&Adicionar'
+ UsersForm.BtChange = 'A<erar'
+ UsersForm.BtDelete = '&Excluir'
+ UsersForm.PromptDelete = 'Confirma excluir o usu'#225'rio "%s" ?'
+ UsersForm.PromptDelete_WindowCaption = 'Delete user'
+ UsersForm.BtRights = 'A&cessos'
+ UsersForm.BtPassword = '&Senha'
+ UsersForm.BtClose = '&Fechar'
+ AddChangeUser.WindowCaption = 'Cadastro de Usu'#225'rios'
+ AddChangeUser.LabelAdd = 'Adicionar Usu'#225'rio'
+ AddChangeUser.LabelChange = 'Alterar Usu'#225'rio'
+ AddChangeUser.LabelName = 'Nome : '
+ AddChangeUser.LabelLogin = 'Login : '
+ AddChangeUser.LabelEmail = 'Email : '
+ AddChangeUser.CheckPrivileged = 'Usu'#225'rio privilegiado'
+ AddChangeUser.BtSave = '&Gravar'
+ AddChangeUser.BtCancel = 'Cancelar'
+ AddChangeProfile.WindowCaption = 'Perfil de Usu'#225'rios'
+ AddChangeProfile.LabelAdd = 'Adicionar Perfil'
+ AddChangeProfile.LabelChange = 'Alterar Perfil'
+ AddChangeProfile.LabelName = 'Descri'#231#227'o : '
+ AddChangeProfile.BtSave = '&Gravar'
+ AddChangeProfile.BtCancel = 'Cancelar'
+ UsersProfile.WindowCaption = 'Seguran'#231'a'
+ UsersProfile.LabelDescription = 'Perfil de Usu'#225'rios'
+ UsersProfile.ColProfile = 'Perfil'
+ UsersProfile.BtAdd = '&Adicionar'
+ UsersProfile.BtChange = 'A<erar'
+ UsersProfile.BtDelete = '&Excluir'
+ UsersProfile.BtRights = 'A&cessos'
+ UsersProfile.PromptDelete = 'Existem usu'#225'rios com o perfil "%s". Confirma excluir?'
+ UsersProfile.PromptDelete_WindowCaption = 'Delete profile'
+ UsersProfile.BtClose = '&Fechar'
+ Rights.WindowCaption = 'Seguran'#231'a'
+ Rights.LabelUser = 'Permiss'#245'es do Usu'#225'rio : '
+ Rights.LabelProfile = 'Permiss'#245'es do Perfil : '
+ Rights.PageMenu = 'Itens do Menu'
+ Rights.PageActions = 'A'#231#245'es'
+ Rights.BtUnlock = '&Liberar'
+ Rights.BtLock = '&Bloquear'
+ Rights.BtSave = '&Gravar'
+ Rights.BtCancel = '&Cancelar'
+ ChangePassword.WindowCaption = 'Seguran'#231'a'
+ ChangePassword.LabelDescription = 'Trocar Senha'
+ ChangePassword.LabelCurrentPassword = 'Senha Atual :'
+ ChangePassword.LabelNewPassword = 'Nova Senha : '
+ ChangePassword.LabelConfirm = 'Confirma'#231#227'o : '
+ ChangePassword.BtSave = '&Gravar'
+ ChangePassword.BtCancel = 'Cancelar'
+ ResetPassword.WindowCaption = 'Definir senha do usu'#225'rio : "%s"'
+ ResetPassword.LabelPassword = 'Senha : '
+ XPStyleSet.DimLevel = 30
+ XPStyleSet.GrayLevel = 10
+ XPStyleSet.Font.Charset = DEFAULT_CHARSET
+ XPStyleSet.Font.Color = clMenuText
+ XPStyleSet.Font.Height = -11
+ XPStyleSet.Font.Name = 'Tahoma'
+ XPStyleSet.Font.Style = []
+ XPStyleSet.Color = clBtnFace
+ XPStyleSet.DrawMenuBar = False
+ XPStyleSet.IconBackColor = clBtnFace
+ XPStyleSet.MenuBarColor = clBtnFace
+ XPStyleSet.SelectColor = clHighlight
+ XPStyleSet.SelectBorderColor = clHighlight
+ XPStyleSet.SelectFontColor = clMenuText
+ XPStyleSet.DisabledColor = clInactiveCaption
+ XPStyleSet.SeparatorColor = clBtnFace
+ XPStyleSet.CheckedColor = clHighlight
+ XPStyleSet.IconWidth = 24
+ XPStyleSet.DrawSelect = True
+ XPStyleSet.UseSystemColors = True
+ XPStyleSet.UseDimColor = False
+ XPStyleSet.OverrideOwnerDraw = False
+ XPStyleSet.Gradient = False
+ XPStyleSet.FlatMenu = False
+ XPStyleSet.AutoDetect = False
+ XPStyleSet.BitBtnColor = clBtnFace
+ XPStyleSet.ColorsChanged = True
+ XPStyle = False
+ WindowsPosition = poDesktopCenter
+ Left = 88
+ Top = 136
+ end
+ object UCADOConn1: TUCADOConn
+ Connection = ADOConnection1
+ Left = 120
+ Top = 8
+ end
+ object UserControl1: TUserControl
+ AutoStart = False
+ ApplicationID = 'UCCT2'
+ UsersForm.UsePrivilegedField = False
+ UsersForm.ProtectAdmin = True
+ EncryptKey = 0
+ NotAllowedItems.MenuVisible = True
+ NotAllowedItems.ActionVisible = True
+ Login.AutoLogon.Active = False
+ Login.AutoLogon.MessageOnError = True
+ Login.InitialLogin.User = 'Admin'
+ Login.InitialLogin.Email = 'qmd@usercontrol.com.br'
+ Login.InitialLogin.Password = '#delphi'
+ Login.InitialLogin.InitialRights.Strings = (
+ 'SpeedButton1'
+ 'SpeedButton2'
+ 'SpeedButton3'
+ 'SpeedButton4')
+ Login.MaxLoginAttempts = 0
+ Login.GetLoginName = lnNone
+ LogControl.Active = False
+ LogControl.TableLog = 'UCLog'
+ ExtraRight = <
+ item
+ FormName = 'Form1'
+ CompName = 'SpeedButton1'
+ Caption = 'Cadastro de Usu'#225'rios'
+ GroupName = 'Barra de Ferramentas'
+ end
+ item
+ FormName = 'Form1'
+ CompName = 'SpeedButton2'
+ Caption = 'Cadastro de Perfil'
+ GroupName = 'Barra de Ferramentas'
+ end
+ item
+ FormName = 'Form1'
+ CompName = 'SpeedButton3'
+ Caption = 'Trocar Senha'
+ GroupName = 'Barra de Ferramentas'
+ end
+ item
+ FormName = 'Form1'
+ CompName = 'SpeedButton4'
+ Caption = 'Efetuar Logoff'
+ GroupName = 'Barra de Ferramentas'
+ end>
+ LoginMode = lmActive
+ UsersProfile.Active = True
+ TableUsers.FieldUserID = 'UCIdUser'
+ TableUsers.FieldUserName = 'UCUserName'
+ TableUsers.FieldLogin = 'UCLogin'
+ TableUsers.FieldPassword = 'UCPassword'
+ TableUsers.FieldEmail = 'UCEmail'
+ TableUsers.FieldPrivileged = 'UCPrivileged'
+ TableUsers.FieldTypeRec = 'UCTypeRec'
+ TableUsers.FieldProfile = 'UCProfile'
+ TableUsers.FieldKey = 'UCKey'
+ TableUsers.TableName = 'UCOT2TabUsers'
+ TableRights.FieldUserID = 'UCIdUser'
+ TableRights.FieldModule = 'UCModule'
+ TableRights.FieldComponentName = 'UCCompName'
+ TableRights.FieldFormName = 'UCFormName'
+ TableRights.FieldKey = 'UCKey'
+ TableRights.TableName = 'UCOT2TabRights'
+ ChangePasswordForm.ForcePassword = False
+ ChangePasswordForm.MinPasswordLength = 0
+ DataConnector = UCADOConn1
+ CheckValidationKey = False
+ Left = 88
+ Top = 56
+ end
+end
diff --git a/official/2.20/Demos/8 UCControls Sample2 - ADO/Unit1.pas b/official/2.20/Demos/8 UCControls Sample2 - ADO/Unit1.pas
new file mode 100644
index 0000000..17b2687
--- /dev/null
+++ b/official/2.20/Demos/8 UCControls Sample2 - ADO/Unit1.pas
@@ -0,0 +1,67 @@
+unit Unit1;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, Buttons, ExtCtrls, DB, ADODB, StdCtrls,
+ UCBase, UCADOConn;
+
+type
+ TForm1 = class(TForm)
+ Panel1: TPanel;
+ SpeedButton1: TSpeedButton;
+ SpeedButton2: TSpeedButton;
+ SpeedButton3: TSpeedButton;
+ SpeedButton4: TSpeedButton;
+ ADOConnection1: TADOConnection;
+ UCControls1: TUCControls;
+ Memo1: TMemo;
+ UCSettings1: TUCSettings;
+ UCADOConn1: TUCADOConn;
+ UserControl1: TUserControl;
+ procedure FormCreate(Sender: TObject);
+ procedure SpeedButton4Click(Sender: TObject);
+ procedure SpeedButton3Click(Sender: TObject);
+ procedure SpeedButton2Click(Sender: TObject);
+ procedure SpeedButton1Click(Sender: TObject);
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ Form1: TForm1;
+
+implementation
+
+{$R *.dfm}
+
+procedure TForm1.FormCreate(Sender: TObject);
+begin
+ ADOConnection1.Connected := True;
+ UserControl1.Execute;
+end;
+
+procedure TForm1.SpeedButton4Click(Sender: TObject);
+begin
+ UserControl1.Logoff;
+end;
+
+procedure TForm1.SpeedButton3Click(Sender: TObject);
+begin
+ UserControl1.ShowChangePassword;
+end;
+
+procedure TForm1.SpeedButton2Click(Sender: TObject);
+begin
+ UserControl1.ShowProfileManager;
+end;
+
+procedure TForm1.SpeedButton1Click(Sender: TObject);
+begin
+ UserControl1.ShowUserManager;
+end;
+
+end.
diff --git a/official/2.20/Demos/9 English Demo/ADO/Project1.dpr b/official/2.20/Demos/9 English Demo/ADO/Project1.dpr
new file mode 100644
index 0000000..08b344c
--- /dev/null
+++ b/official/2.20/Demos/9 English Demo/ADO/Project1.dpr
@@ -0,0 +1,13 @@
+program Project1;
+
+uses
+ Forms,
+ Unit1 in 'Unit1.pas' {Form1};
+
+{$R *.res}
+
+begin
+ Application.Initialize;
+ Application.CreateForm(TForm1, Form1);
+ Application.Run;
+end.
diff --git a/official/2.20/Demos/9 English Demo/ADO/Project1.res b/official/2.20/Demos/9 English Demo/ADO/Project1.res
new file mode 100644
index 0000000..03109fc
Binary files /dev/null and b/official/2.20/Demos/9 English Demo/ADO/Project1.res differ
diff --git a/official/2.20/Demos/9 English Demo/ADO/Unit1.ddp b/official/2.20/Demos/9 English Demo/ADO/Unit1.ddp
new file mode 100644
index 0000000..4370276
Binary files /dev/null and b/official/2.20/Demos/9 English Demo/ADO/Unit1.ddp differ
diff --git a/official/2.20/Demos/9 English Demo/ADO/Unit1.dfm b/official/2.20/Demos/9 English Demo/ADO/Unit1.dfm
new file mode 100644
index 0000000..0697928
--- /dev/null
+++ b/official/2.20/Demos/9 English Demo/ADO/Unit1.dfm
@@ -0,0 +1,1478 @@
+object Form1: TForm1
+ Left = 290
+ Top = 172
+ Width = 610
+ Height = 350
+ Caption = 'User Control - ADO Basic Demo - English'
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ Menu = MainMenu1
+ OldCreateOrder = False
+ OnCreate = FormCreate
+ PixelsPerInch = 96
+ TextHeight = 13
+ object ADOConnection1: TADOConnection
+ ConnectionString =
+ 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=..\..\Base.mdb;Pers' +
+ 'ist Security Info=False'
+ LoginPrompt = False
+ Provider = 'Microsoft.Jet.OLEDB.4.0'
+ Left = 56
+ Top = 88
+ end
+ object UCADOConn1: TUCADOConn
+ Connection = ADOConnection1
+ Left = 88
+ Top = 88
+ end
+ object UserControl1: TUserControl
+ AutoStart = True
+ ApplicationID = 'ADOBasicEN'
+ ControlRight.MainMenu = MainMenu1
+ UsersForm.MenuItem = Cadastrodeusuarios1
+ UsersForm.UsePrivilegedField = False
+ UsersForm.ProtectAdmin = True
+ EncryptKey = 0
+ NotAllowedItems.MenuVisible = True
+ NotAllowedItems.ActionVisible = True
+ Login.AutoLogon.Active = False
+ Login.AutoLogon.MessageOnError = False
+ Login.InitialLogin.User = 'Admin'
+ Login.InitialLogin.Email = 'qmd@usercontrol.com.br'
+ Login.InitialLogin.Password = '#delphi'
+ Login.MaxLoginAttempts = 0
+ Login.GetLoginName = lnNone
+ LogControl.Active = True
+ LogControl.TableLog = 'UCLogEN'
+ LogControl.MenuItem = logdosistema
+ ExtraRight = <>
+ LoginMode = lmActive
+ UsersProfile.Active = True
+ UsersProfile.MenuItem = Perfildeusurios1
+ TableUsers.FieldUserID = 'UCIdUser'
+ TableUsers.FieldUserName = 'UCUserName'
+ TableUsers.FieldLogin = 'UCLogin'
+ TableUsers.FieldPassword = 'UCPassword'
+ TableUsers.FieldEmail = 'UCEmail'
+ TableUsers.FieldPrivileged = 'UCPrivileged'
+ TableUsers.FieldTypeRec = 'UCTypeRec'
+ TableUsers.FieldProfile = 'UCProfile'
+ TableUsers.FieldKey = 'UCKey'
+ TableUsers.TableName = 'UCTabUsersEN'
+ TableRights.FieldUserID = 'UCIdUser'
+ TableRights.FieldModule = 'UCModule'
+ TableRights.FieldComponentName = 'UCCompName'
+ TableRights.FieldFormName = 'UCFormName'
+ TableRights.FieldKey = 'UCKey'
+ TableRights.TableName = 'UCTabRightsEN'
+ ChangePasswordForm.MenuItem = rocarsenha1
+ ChangePasswordForm.ForcePassword = False
+ ChangePasswordForm.MinPasswordLength = 0
+ DataConnector = UCADOConn1
+ CheckValidationKey = False
+ Left = 120
+ Top = 88
+ end
+ object MainMenu1: TMainMenu
+ AutoHotkeys = maManual
+ OwnerDraw = True
+ Left = 56
+ Top = 56
+ object Arquivo1: TMenuItem
+ Caption = 'File'
+ object Abrir1: TMenuItem
+ Caption = 'Open'
+ end
+ object Salvar1: TMenuItem
+ Caption = '-'
+ end
+ object Salvar2: TMenuItem
+ Caption = 'Save'
+ end
+ object Salvarcomo1: TMenuItem
+ Caption = 'Save as...'
+ end
+ object Fechar1: TMenuItem
+ Caption = 'Close'
+ end
+ object N2: TMenuItem
+ Caption = '-'
+ end
+ object Dados1: TMenuItem
+ Caption = 'Data'
+ object Importar1: TMenuItem
+ Caption = 'Import'
+ end
+ object Exportar1: TMenuItem
+ Caption = 'Export'
+ end
+ object N4: TMenuItem
+ Caption = '-'
+ end
+ object Vincular1: TMenuItem
+ Caption = 'Link'
+ end
+ end
+ object N3: TMenuItem
+ Caption = '-'
+ end
+ object Sair2: TMenuItem
+ Caption = 'Exit'
+ end
+ end
+ object Editar1: TMenuItem
+ Caption = 'Edit'
+ object Copiar1: TMenuItem
+ Caption = 'Copy'
+ end
+ object Colar1: TMenuItem
+ Caption = 'Paste'
+ end
+ object Recortar1: TMenuItem
+ Caption = 'Cut'
+ end
+ object N1: TMenuItem
+ Caption = '-'
+ end
+ object Selecionartudo1: TMenuItem
+ Caption = 'Select all'
+ end
+ object N5: TMenuItem
+ Caption = '-'
+ end
+ object AreadeTransferencia1: TMenuItem
+ Caption = 'Clipboard'
+ object Exibir2: TMenuItem
+ Caption = 'View'
+ end
+ object Esvaziar1: TMenuItem
+ Caption = 'Empty'
+ end
+ end
+ end
+ object Exibir1: TMenuItem
+ Caption = 'View'
+ object Zoom1: TMenuItem
+ Caption = 'Zoom...'
+ object Normal1: TMenuItem
+ Caption = 'Normal'
+ Checked = True
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object Grande1: TMenuItem
+ Caption = 'Large'
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object Ajustarnajanela1: TMenuItem
+ Caption = 'Zoom to fit'
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object N6: TMenuItem
+ Caption = '-'
+ GroupIndex = 1
+ end
+ object Personalizar1: TMenuItem
+ Caption = 'Custom'
+ GroupIndex = 1
+ end
+ end
+ object amanhonormal1: TMenuItem
+ Caption = 'Normal Size'
+ end
+ object elacheia1: TMenuItem
+ Caption = 'Full Screen'
+ end
+ end
+ object Relatorios1: TMenuItem
+ Caption = 'Reports'
+ object Relatorio11: TMenuItem
+ Caption = 'Report 1'
+ end
+ object Relatorio21: TMenuItem
+ Caption = 'Report 2'
+ end
+ object Relatorio31: TMenuItem
+ Caption = 'Report 3'
+ end
+ object Relatorio41: TMenuItem
+ Caption = 'Report 4'
+ end
+ end
+ object Segurana1: TMenuItem
+ Caption = 'Security'
+ object Cadastrodeusuarios1: TMenuItem
+ Caption = 'User Manager'
+ end
+ object Perfildeusurios1: TMenuItem
+ Caption = 'Profile Manager'
+ end
+ object logdosistema: TMenuItem
+ Caption = 'Log System'
+ end
+ object N7: TMenuItem
+ Caption = '-'
+ end
+ object rocarsenha1: TMenuItem
+ Caption = 'Change Password'
+ end
+ object EfetuarLogoff1: TMenuItem
+ Caption = 'Logoff'
+ OnClick = EfetuarLogoff1Click
+ end
+ end
+ end
+ object UCXPStyle1: TUCXPStyle
+ Active = True
+ XPSettings.DimLevel = 30
+ XPSettings.GrayLevel = 10
+ XPSettings.Font.Charset = ANSI_CHARSET
+ XPSettings.Font.Color = clMenuText
+ XPSettings.Font.Height = -11
+ XPSettings.Font.Name = 'Tahoma'
+ XPSettings.Font.Style = []
+ XPSettings.Color = clBtnFace
+ XPSettings.DrawMenuBar = False
+ XPSettings.IconBackColor = clBtnFace
+ XPSettings.MenuBarColor = clBtnFace
+ XPSettings.SelectColor = clHighlight
+ XPSettings.SelectBorderColor = clHighlight
+ XPSettings.SelectFontColor = clMenuText
+ XPSettings.DisabledColor = clInactiveCaption
+ XPSettings.SeparatorColor = clBtnFace
+ XPSettings.CheckedColor = clHighlight
+ XPSettings.IconWidth = 24
+ XPSettings.DrawSelect = True
+ XPSettings.UseSystemColors = True
+ XPSettings.UseDimColor = False
+ XPSettings.OverrideOwnerDraw = False
+ XPSettings.Gradient = False
+ XPSettings.FlatMenu = False
+ XPSettings.AutoDetect = False
+ XPSettings.BitBtnColor = clBtnFace
+ XPSettings.ColorsChanged = False
+ Left = 88
+ Top = 128
+ end
+ object UCSettings1: TUCSettings
+ AppMessages.MsgsForm_BtNew = '&New Message'
+ AppMessages.MsgsForm_BtReplay = '&Replay'
+ AppMessages.MsgsForm_BtForward = '&Forward'
+ AppMessages.MsgsForm_BtDelete = '&Delete'
+ AppMessages.MsgsForm_BtClose = '&Close'
+ AppMessages.MsgsForm_WindowCaption = 'System Messages'
+ AppMessages.MsgsForm_ColFrom = 'Sender'
+ AppMessages.MsgsForm_ColSubject = 'Subject'
+ AppMessages.MsgsForm_ColDate = 'Date'
+ AppMessages.MsgsForm_PromptDelete = 'Confirm deletion of selected messages ?'
+ AppMessages.MsgsForm_PromptDelete_WindowCaption = 'Delete messages'
+ AppMessages.MsgsForm_NoMessagesSelected = '!No Messages selected'#161
+ AppMessages.MsgsForm_NoMessagesSelected_WindowCaption = 'Information'
+ AppMessages.MsgRec_BtClose = '&Close'
+ AppMessages.MsgRec_WindowCaption = 'Message'
+ AppMessages.MsgRec_Title = 'Message Received'
+ AppMessages.MsgRec_LabelFrom = 'From :'
+ AppMessages.MsgRec_LabelDate = 'Date'
+ AppMessages.MsgRec_LabelSubject = 'Subject'
+ AppMessages.MsgRec_LabelMessage = 'Message'
+ AppMessages.MsgSend_BtSend = '&Send'
+ AppMessages.MsgSend_BtCancel = '&Cancel'
+ AppMessages.MsgSend_WindowCaption = 'Message'
+ AppMessages.MsgSend_Title = 'Send new message'
+ AppMessages.MsgSend_GroupTo = 'To :'
+ AppMessages.MsgSend_RadioUser = 'User :'
+ AppMessages.MsgSend_RadioAll = 'All'
+ AppMessages.MsgSend_GroupMessage = 'Message'
+ AppMessages.MsgSend_LabelSubject = 'Subject'
+ AppMessages.MsgSend_LabelMessageText = 'Message text'
+ CommonMessages.AutoLogonError = 'Auto Logon error!'#13#10'Inform a valid User and password.'
+ CommonMessages.ChangePasswordError.InvalidCurrentPassword = 'Current password is Invalid !'
+ CommonMessages.ChangePasswordError.NewPasswordError = 'New Password and Confirm fields must be equal'
+ CommonMessages.ChangePasswordError.NewEqualCurrent = 'New password and current password must be different'
+ CommonMessages.ChangePasswordError.PasswordRequired = 'Password required!'
+ CommonMessages.ChangePasswordError.MinPasswordLength = 'Minimal Password length %d'
+ CommonMessages.ChangePasswordError.InvalidNewPassword = 'Invalid password type!'
+ CommonMessages.InvalidLogin = 'Invalid user or password!'
+ CommonMessages.InitialMessage.Strings = (
+ 'Initial Login:'
+ ''
+ 'User : :user'
+ 'Password : :password'
+ ''
+ 'Define user rights')
+ CommonMessages.MaxLoginAttemptsError = '%d Invalid login attempt !'
+ CommonMessages.PasswordChanged = 'Password modified successfully !'
+ CommonMessages.BlankPassword = 'Empty password to Login %s'
+ Login.WindowCaption = 'Login'
+ Login.LabelUser = 'User : '
+ Login.LabelPassword = 'Password :'
+ Login.BtOk = 'OK'
+ Login.BtCancel = '&Cancel'
+ Login.TopImage.Data = {
+ 07544269746D6170B6790000424DB67900000000000036040000280000007601
+ 0000500000000100080000000000807500000000000000000000000100000000
+ 00009BB5D8007493BA00ACC2E000BBBBBB00CBD9EB007D9BC20051719900F6F8
+ FB00F2F5FA0095B0D500FCFDFE00EDF2F800A7B6BC0055759D00F8FAFC00B1C5
+ E1005979A10089A8D200CDD5D9003E5E88004D7199003D5D8700FAFBFD008888
+ 8800E5ECF500DDE6F200DDDDDD00E2EAF400A5BDDD00405F880042628C0089A6
+ CC008297A0005D7DA500C5D4E900A1B9DA006685AD004569920045679000B4C8
+ E300EEEEEE00BDCEE60099B3D600A9C0DE008BA8CD009EA5B0006181A9006E8D
+ B400D0DCED006989B10099999900809DC40085A2C80044638C00C1D1E8004462
+ 8C008EAACF0091ACD100486890005579A100E7EEF6003E5F890040608A005D82
+ AB00C0CBCF008CAAD400D5E0EF00496C950042618A004A6A93008FACD500D8E3
+ F0004C6C9400D2DEEE007795BD0046668E004E6E960050709700B8CBE400BBCD
+ E500CCCCCC00C8D7EA00648BB2006D93BA0044648E00A2BADB004A6B94009BAC
+ B300708EB5004E6F980085A5CF00DAE4F10058789E0043638D0050759D00506E
+ 9600D6E1EF00F4F7FB00A7BEDE00829FC600FDFEFE0041608B0054749A007A98
+ BF0093AFD600BECFE60044628A00666666004060880086A6D0004C6B92004867
+ 8E00EAEFF700AAAAAA0049688E006C8AB1004D6E940053729A00476690006584
+ AB007290B8005C7CA300333333005F7EA60046648E005A7DA50056779E00E6EA
+ EC0046648C0044444400777777004869920044678E0080A0C900E0E8F3006D8C
+ B3005576A000AAAEB50090ADD5006080A7009EB7DA006486AF00486A93006185
+ AC00F9FAFD004C6A92003C5B85004C6E96006988AF0049699100C6CFDC0093AE
+ D20051729B00597AA30045648B004E6D94004A6992004A6C92004D6D96006786
+ AD00B6BCC40056769E003D5A82003F628B006383A900698DB500555555005A7F
+ A7005B7AA1003A5A8400527399005A7BA200426188004668900039577F007D9F
+ C70047668D00EBF1F8004C6B940087A3CA00405F8600486990004E6D96004C6D
+ 9400222222006287AF0083A3CC00FBFCFD00779BC2004A6A9100D1DDEE005473
+ 9C003C5C87006B8BB20092ADD200D3DFEF00E1E5E900426189006C8BB5008B8F
+ 940045658D005878A00042638B003F5C84005C7BA4001111110084A3CC006183
+ AB00CDD6E1006A8AB3006282AB00808285006787B0006483AC00A5BCDB004061
+ 8A004F5153003E40420043637000FEFEFE0091AED600FEFFFF00758D9600F2F5
+ F5008FA0A900D9E0E200506D7A00EFF4F9005C788300BFD0E700B5C1C60091AE
+ D500E3EBF50069828D00C3D3E900D2DDEE0097B2D700DFE7F300F7F9FC00A3BB
+ DC006F8FB7007B7E830094AFD3007998C1002F3032007396BE00909296008FAB
+ D000686C7100A4BBDA00D2D9E400D9DEE600FEFEFF0088A7D20000000000FFFF
+ FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCFCFCFCFCFCFC
+ FCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB6464640A0A0A0ABBBBBBBBBB16
+ 16160E0E0EEEEEEE07EE0707616161070761070707EEEEEEEEEE90161616BB16
+ BB0ABB0A0A0A0ADB64646464DBDB64FCFFFCDBDB64DBDB0A640A0A0A0ABBBBBB
+ 16160EEEEE07610808E30BB1703C18E886195B47424930045122EA36294F4E27
+ 0F0F0F022B621CEF55558C8C000000ECECECECEC68096868DCDCDC8A8A8A8A8A
+ 8A46464646464646464646464646464646464646464646464646464646464646
+ 4646464646464646464646464646464646464646464646464646464646464646
+ 4646464646464646464646464646464646464646464646EC0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFC
+ FCFCFCDBDBDBDBDBDBDBDBDB64DB640A0A0A0A0ABBBBBBBB16161616160E0EEE
+ EE07EEEEEEEE6107070707EEEEEEEE0E0E0E0E161616BBBBBB0A0A0ADB0A6464
+ DBDBFCDBDBFCFCFFFFDBFCDDDBFCDBDB64640A0A0A0A0ABBBB16900EEE076108
+ 08E30BB1703C181B86195B4742BE3004512236694F4E27270F022B2B1CEF238C
+ 8C0000ECECEC09688A8A46464646414141111111111111111111FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCDB
+ DBDBDBDBDBDBDB6464640A0A0A0ABBBBBBBBBB161616160E0EEE0E0EEEEEEEEE
+ EEEEEEEEEE0E0E16901616BB16BBBB0A0A0A0A0A64DBDBFCFCDBFCFCFCFCFCFF
+ FFFCFCFFDDFFFCFCFCFF0A640A0A0ABB0A1616900EEE07070808E30BB1703C18
+ 1B1B195B604230040422EAE5294F4E270F02022B1C1C558C8C0000ECEC6868DC
+ DCE78A464646414141414111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCDBDBDBDBDBDB
+ DBDB64640A640A0A0ABBBBBB161616160E0E160E0E0E0E90EE0E0E9090901616
+ 161616BBBBBB0A0A640A0A64FCFCFCFCFCFFFFFCFFDDFFFCFCFFFFFFFCFFFCFF
+ FCDBFCDBDB0A0A0A0ABBBB16160E0EEE616108E30BB1703CE81BED5B47604930
+ 04512236E54F4E270F0F022B621CEF238C8C00ECECEC6809DCDC8A4646464641
+ 4141114111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB640A0A
+ 0A0A0ABBBBBBBB1616161616160E0E169090161616161616BBBBBBBB0ABB0A0A
+ 640A64DBDBFCFCDBFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFCFCFCFCFFFCFC0A0A
+ 0A0ABB1616160EEE07610808E30BB13C3C1B86195B4742BE3004222236294E27
+ 270F0F022B1CEF558C8C8C00ECECEC68DCE7DC8A464641414141411111111111
+ FD11FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB64640A0A0A0ABBBBBB
+ BBBBBB1616161616161616161616BBBB0ABB0A0A0A0A0A64FC64DBFCFCFCDDFC
+ FFDDFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFDDFCFFFCDDDB64640ABBBBBB160E0E
+ EE076108E30BB1703C181BED194760493004512236E54F4E270F0F022B621C55
+ 238C8C00ECECEC096868E7464646414141414111111111111111FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FCFFFFFCFCFCFCFCFCFCDBDBDBDBDBDB64640A0A0A0A0ABBBBBBBBBBBBBBBB16
+ BBBBBBBBBBBB0ABB0A0A0A0A640ADBDB64FCFCDBFCDDDDFCFFDDFFDDFFFFFFFF
+ FFFFFFFFFFDDFFFFFFDDFFFCFFFCDBDB64640ABBBBBB16900EEE070808E30B70
+ 703CE81B195B4742BE300451EAE5294F27270F022B2B1CEF558C8C0000ECECEC
+ 68DC8A8A464646464141414111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFCFC
+ FCFCFCFCFCDBDBDBDBDBDB64640A0A0A0ABBBBBBBBBBBBBBBBBB0ABBBB0A0A0A
+ 0A0A0A0A646464DBFCFCDDDBDBFCDDFCFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDBDB640A0ABBBBBB16900E07070808E3B1703C181BED194760
+ 493004512236694F4E270F02022B1C1C55238C00ECECECEC6809DC8A8A464641
+ 414141411111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFFFCFCFCDBFCFCDB
+ DBDBDBDBDB64640A0A0A0A0A0ABBBBBBBB0A0A0A0A0A0A0A0A0A0A64DBDBDBDB
+ DBFFFFDDDDDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFC
+ FC64640A0ABBBB16160EEE070808E30BB1703CE81BED5B4742BE300422EAE529
+ 4E27270F022B621C55238C8C00ECECEC0909DCE78A4646414641414111111111
+ 1111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCDBDBDBDBDBDB6464
+ 640A0A0A0A0ABBBBBB6464640A0A0A6464DB0ADB64DBDBFCFFFFFFDDDDFFFFFF
+ DDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFFDDDBFC640ABBBB16
+ BB0E0EEE070808E30B703C181B86194760C33004512236694F4E270F02022B1C
+ 1C55238C0000ECEC0968E7E78A8A41464141414141111111111111FDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A
+ 0A0A6464640A0A6464DBDBDBFCDBDBFCFCFFFFDDDDFFDDFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFCFCFC64640ABB16160EEE076108E3
+ 0BB1703CE81B195B47423004042236E54F4E270F02022B621C55238C00000909
+ C239382C1FCE85AF3305F3F5015353F5AF8585BC53B93F3F3FA7993B885E5E98
+ 98981414438E599E434343145E5E98593F52B9A7251E3D3D653E3E3E3E3E3ED7
+ 1E1E1E5D545D5DCA3E1E1E3B3B5DD7C03ED7A38E434354A365D7D76565D7D765
+ 6513153E3EC092AE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A6464646464
+ FCFCFCFCFCDBDBFCFCFFFFFFFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFCFCFCDB0A0A0ABB16160EEE070808E3B1703C181BED19
+ 4760BE3004512236694E270F0F022B621C558C00EC0997381F1F346333670101
+ F02F318DCF2EA7A78F52A5B97D14934393438E258E568E8E8E8E254325251459
+ 1414143B3FB93FA75E5E5E5E93985943438E8E25252525252676767683838326
+ 6554267DA78E263E3E3D15A33DA33D3E3D3D3D3D3D3D3D3D3E133D1E1E1592AE
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCFCFCFCDBDBDBDBDBDBDBDBDB646464646464FCFC6464FC64FCFCFCFCFCFCDB
+ FCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFF
+ FFFFFCFC64640A0ABBBB160E0E07610808E3B1703CE81B195B60C3BE04512236
+ 694F4E270F022B62D6558C002AF297382CB3633367677858319FA42E7BA8A87B
+ 21C9660648B5B53A4B4B8035CA6A6AC5353E1D1D3E1D3E1ECA268E883B3B4325
+ 26262654542626262626262626252525562543255EA77D5E2525262626262626
+ 252626262654262554252525431443255D1E2606433DA9A90000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE11212FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFF1212E1FFFFFFFFFFFFFFFFFF1212E1FFFFFFFFFF
+ FFFFFFFFDF121212FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE11212
+ E1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBFCFC
+ DBDBDBDBDB64646464646464FCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFF
+ DDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFDDFCFCFCFC0A0A
+ BBBB16160EEE610808E30B703C181BED194742BE300422EAE54F4E270F0F022B
+ 1C5523002A09C2382CB36333674A0158879F9F2E7B5CA10D21A1064D48BDBD72
+ 809A3535C56C6C6C13131D44441D1D3E1D1ECA438E263D3D3D3D3D1313131313
+ 3D131313133D3D3D3D3DA3A3435E435DA33E3D3D3D3E3E3EA33EA3A3A3D7A354
+ 5426268E5E88592665D75D765D3D15A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE120DADADADADAE940FFFFFF12DADA0C
+ FFFFFFFFFFFF0CDADADADADADADADEFFFFDADA12FFFFFFFF0CDADADAFFFFFFFF
+ FFFFE0DADADADAE440FFFFFFFF40E9DADADADADA20E1FFFFFFFF12DEDADADADA
+ DADE12FFFFFFDADADEFFFF7FDADADEFFFFFFDFE0E2DADADADADEFF12DADADADA
+ DADADADAFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB
+ DBDBDBDBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFC64646464BBBB160EEEEE61
+ 08E30BB1703CE886194760493004512236294E270F0F022B62D6238C2A09F239
+ 381F6333054A0158879F772E7B5C5CA1210D4C9B91726F6FC8C83535CA6AC5C5
+ 1D6C6C1DB41D6C6C1D3E5D4354A33D1E653E3E1D3D3D3D3D1313131313131313
+ 15133D3D8E14263D3D1315C015151515C0C0151313133DD7151315A343935492
+ 133D3DC0C0133DA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFE6E2DADAE00C57E4DADAE0FFFF7FDADA0CFFFFFFFFFFFF0CDA
+ DAE9DEDEDEDE57FFFFDEDA12FFFFFF7FDADADADAFFFFFFFFFFFFDADE0C0CE4DA
+ DA7FFFFF57DADAE2570CE0E2DADAE6FFFF12DADADA200CE0DADADA40FFFFE4DA
+ DEFFFF0CDADAE1FFFFE1E2DADA200C0CE0E4FF12DADAE4DEDEDEDEDEFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFDDFCFFFCFC6464640A64BB16160EEE070808E3B1703C181B
+ ED5B47C33004512236694F4E270F022B62EF238C0009F239381FB36305674A58
+ 2F9F772E21A1100D21BF5F9B9B91BD6FC8C83535CA6A6AC56A35441D1D1D6C1D
+ 15C0359E5DD71D441D1D1D131313131313131515151515151313C01526595465
+ 653E131515151515C0C0C0C0C0C0C0159215C0151E5D3E13C015C0A9921515AE
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FE2
+ DAE97FFFFFFFFFE0DADA40FFFFDADA0CFFFFFFFFFFFF0CDADAE6FFFFFFFFFFFF
+ FFDEDA12FFFFFFDEDADADADAFFFFFFFFFFFFDFFFFFFFDFDADA0CFF40DADAE0DF
+ FFFFFFDFE9DAE27FFF20DADA0CFFFFFF12DADADEFFFFDEDADEFFFFE4DAE0FFFF
+ FFE9DAE2E1FFFFFFFFFFFF12DADAE0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFCFCFCFCFCFCFCFCDBFCDBDBFCDBFFFFFCFCFCFCFCFCFCFFFF
+ FFFFFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFCFCFCFCFC64640ABBBB160EEE076108E30B703C181B86194742BE300422
+ EAE54F4E270F0202621C558C8C2A099739382CB3343333674A78589477A85C75
+ CC754D4D0606065F4D4D4D4C4C4C4C4C9191919191913AC83792449E3E151D13
+ 1D1D1D1D1D1D1D1D1D1D1D13131313151D13C092764565653E13131513131313
+ 131315151515C092921315C03D651E5415C092C0151592AE0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0CDADA7FFFFFFFFFFFFF
+ DEDAE4FFFFDADA0CFFFFFFFFFFFF12DADA0CFFFFFFFFFFFFFFDEDA0CFFFF40DA
+ DA0CDADAFFFFFFFFFFFFFFFFFFFF40DADAE6FF20DAE4FFFFFFFFFFFFDFE2DAE0
+ FFDEDADADFFFFFFFFFE4DADAFFFFDEDADEFFE6DAE2DFFFFFE1DADAE6FFFFFFFF
+ FFFFFFFFDADADEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFCFCFCFCFFFCFCFCFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFFFFFCFC6464
+ 640A0ABB160E0EEE070808E3B1703C1B86195B6049300451EA36694E270F0202
+ 2B1C55238C2A09F2C2382CB3346305674A4A017873A4C975CCBF4D0D0D667506
+ 4C4C4C9B4C4C9B4C064D9B9B4C9B4C4C9B131E593E1D373735353535357C7C4B
+ 54545454543535353737543EB69C1D1D3E1D13133E6565653E3E3E3E3E653E1D
+ 131392C03D3E13133DC092151315C0A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFDEDAE9FFFFFFFFFFFFFF0CDADA7FFFDADA0C
+ E1127FFFFFFF12DADAE012121212DFFFFFE0DA0CFFDFE4DA20E1DADAFFFFFFFF
+ FFFFFFFFFFE6DADAE9FFFFDADA57FFFFFFFFFFFFFF20DAE4FFDEDADAFFFFFFFF
+ FFDEDADAFFFFDEDADEFFE4DA0CFFFFFF0CDADADFFFFFFFFFFFFFFFFFDADAE912
+ 1212127FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFC
+ FCFCFCFCFCFCFFFFFCFFFCFFFFFCFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCDDFCFCFC64640A0ABB1616EEEE
+ 076108E3B1703C181BED5B60423004512236294E4E270F022B62EF2300002AF2
+ 97382C1FB33405336767582F8794C9BF210D98A10D755F744D4D4C4C4D4C4D4D
+ 4C48489B48B5BD4C06131E593D1D767C353535359A8080C854547C7C7C545435
+ 3735833E984BCBCB1E1E65651E1E1E1E651E1E1E1E5D3765371E3D3D1E3E9292
+ 3E15C013131513A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFDEDADEFFFFFFFFFFFFFF12DADA12FFDADA0CE2DADAE4E1FF12DA
+ DADADADADADA12FFFF0CDA0CFF0CDAE27FFFDADAE1FFFFFFFFFFFFFF0CDADAE9
+ DFFFFFDADA0CFFFFFFFFFFFFFF0CDADAFFDEDADAFFFFFFFFFFDEDADAFFFF20DA
+ DEE6DADA2012FFFF0CDADAFFFFFFFFFFFFFFFFFFDADADADADADADA0CFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCFCFCFCFFFFFF
+ FFFFFFFCFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFDDFCFFFCFC640A0ABBBBBB16EE076108E30BB13C18
+ 1BED5B4742BE040422EA694F4E270F022B62EF238C002A09C2F7381F1F1F63B3
+ B33401785831C9A121A10DC97EAA4D4C4C4C4C4C4C4C4D4C9B5F7E21104C6E4C
+ 0D444BBF3E1D76809A35CACACACACA355454C8C8C8C85454C8C8483E0D541D13
+ 1E1E653E3E3E3E3D651E1E651E1E1E3E1D1E653D3E139213133E3E13131313A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20DA
+ E4FFFFFFFFFFFFFF12DADA12FFDEDA571240E9DAE2DF12DADADE0C0C0C0C7FFF
+ FF0CDA577FDADA0CFFFFDADA12FFFFFFFFFFFFE0DADAE0DFFFFFFFE2DAE0FFFF
+ FFFFFFFFFF0CDADAFFDEDADAFFFFFFFFFFDEDADAFFFF0CDADEE1120CE2DA57FF
+ 0CDADA7FFFFFFFFFFFFFFFFFDADAE40C0C0C0C12FFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFFFFFFFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFC
+ FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFF
+ FFFFFFDDFCDDFC6464640A0ABBBB160EEE070808E3B1703CE81B194760493004
+ 2236E54F4E270F02022BD6558C000009F239381F1F2C3333676778585873100D
+ 215C66A80D664D5F066E4D4D4D0674AA9B21F031AB484C06BF1E26BF3E133AB0
+ 6F446C9A541E5454353A76C6D1B6767C6F9545CAC9D713151E445D4465443D3E
+ 655D651E4BD5761DCACA351E3E15C0153E15C0133E1315A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6DADA12FFFFFFFFFFFF
+ 57DADADFFFDEDA0CFFFF7FDADAE612DADA0CFFFFFFFFFFFFFF0CDADEDEDAE4FF
+ FFFFDADA12FFFFFFFFFF12DADAE0FFFFFFFFFFE0DAE2DFFFFFFFFFFFFFE9DAE9
+ FF0CDADA12FFFFFFFF0CDADAFFFF0CDADEFFFFFFE6DADA7F7FDADA0CFFFFFFFF
+ FFFFFFFFDADADEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFCFC
+ FC640A0A0ABB160EEE076108E3B1703CE81BED5B60493004512236294E270F02
+ 022B1CEF2300000997C2382CB32CB33463334A7858C1C90D79C9AA1010A87E5C
+ 754C75064D4D744D0D242EB74D4C4C06754426BFD71D953A3AB54BCA543E3A76
+ 9CC875D4213A3A243A9145357ED7131D5D3E3E3E1D13543E1E1E1E3D9EC6BF54
+ 9A35351E3E1515136513C0C0151313A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFDFE2DAE9DFFFFFFFFFE1E2DAE0FFFFDEDA0C
+ FFFFDFDADA0C12DADA0CFFFFFFFFFFFFFF0CDAE2DADA12FFFFFFE4DA12FFFFFF
+ FFFF0CDADAFFFFFFFFFFFF12DADAE0FFFFFFFFFFE6DADAE6FF0CDADA12FFFFFF
+ FF0CDADA12FF0CDADEFFFFFF40DADA12FFDEDADA12FFFFFFFFFFFFFFDADADEFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFC64640A0ABB160E
+ EE076108E30B703C181BED5B47C33004512236294F27270F022B62EF23002A09
+ 09C2382C1F2C386363054A017887A8BF7B10065C5C0DAA66664D66754D064D06
+ AA2E24AA4C4D0D4D063E26BF3E3E9C9CC8B5CA6C76548335443A0DCC45542ED5
+ 95484584BFD7134454831E13761D5D1E5D9265452EC698544BC8351E1D15133E
+ 653E15C0153E3EA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFF12E2DAE40C121257E2DAE2DFFFFFDEDADE0C0CDEDADA4012DA
+ DADE0C0C0C0C0C7FFF40DADADA20FFFFFFFFDEDAE6FFFFFFFFFF40DADA201212
+ 0CE1FFFF0CDADADEE61240E0DADADEFFFF0CDADA12FFFFFFFF0CDADA12FF0CDA
+ E40C0C57E2DADADFFFDFE9DADAE040124057E1FFDADAE40C0C0C0C0C12FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFC640A640ABB1616EE076108080B7070
+ 181B861947423004512236694F27270F022B62D6230000EC0997F72C1FB33834
+ 056701787887CC0D79AB4DAB215C5CA16606AAAA4D4D4D060101F3C1A84C6606
+ 061DAD986C44959C9A95449A7676761E1E567D7D84B7F0069148953A063E1337
+ 5D1E5D13763E443E54C05488D12F983A6FC835441D151D1E3D3E3E133D653EA2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ E1DEDADADADADADADEDFFFFFFFDEDADADADADADAE0FF12DADADADADADADADA12
+ FF12DADADA7FFFFFFFFFDEDA0CFFFFFFFFFFFFE0DADADADADA7FFFFFFF40E4DA
+ DADADADADA57FFFFFF0CDADA12FFFFFFFF0CDADA12FF0CDADADADADADAE2E6FF
+ FFFFDFE0DADADADADADA12FFDADADADADADADADA0CFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ DDFFFFFFFFFFFFFCFCFC640A0ABB16160EEE070808E3B1703CE886194742BE30
+ 042236694F4E270F022B62EF238C00EC09C2F72C1FB3B36367670101782FCC0D
+ 10794D2121A15CAAAAAA4D4D064C4C064D7E797B945C9B4D061D9598131E763A
+ C83A449544541D54C8138806A3AD9826914895569E1D153576924B1E3E5D543E
+ 155D83982E4AD47B6FC81E3E13151D1E3D3E3D13133E3DA20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FE60C0CE67F
+ FFFFFFFFFFE112121212127FFFFFDF1212121212121212DFFFDF1212E1FFFFFF
+ FFFFE1127FFFFFFFFFFFFFFFE10C0C0CE1FFFFFFFFFFFFE10C0C0C40DFFFFFFF
+ FF7F1212DFFFFFFFFF7F1212DFFF7F121212121212FFFFFFFFFFFFFFDF400C0C
+ 0C40DFFF12121212121212127FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
+ FF64640A640ABB160EEE070808E3B1703CE88619476049300451EAE54F4E270F
+ 020262D6558C002A0997F7381FB3343305674A0178C121A15C794D7910667BAA
+ 75790D4DAA4C4C06AA064C6E0D7506AA981D45061335763A4844443A1EB21E76
+ 3A4B764B563A7648919B9593563D157C5D4B5D13441EC01E65541E5476983AC8
+ 6FC81E3E1315134465131515151513A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFCFFFCFC64640A0ABB16
+ 0EEE076108E3B1703CE81B195B4749300451EAE54F4E270F022B2B1C55238C2A
+ 09F239381FB3343305676701782F8BA1C9AB4D211021019F0D2FA4AA66064D06
+ AA4CA1AA4D74664CBF1D43981354769CC8C8D101F0D19E1D3EB2443A453A453A
+ 6E4C9506831D15763D8313831E44541E3D15135D3A761E3A4B8035441D151365
+ 6513131E1E1315CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCDDFFFCDB64640ABB1616EE076108E30B70
+ 3C181BED5B47C330045122E5294E270F02022B1C55238C00099738382CB33463
+ 05674A0178782EA199CC06215C210558A1F32FBF66AA4D4D4C75AA4D5C4D0610
+ BF1D4898134B3A913AC5940D7676C8837C7CA87B3A9C3A486E4C45983A1D1576
+ 3A1376D15DB2C6761E1E5D15765454354B80351E1D15133E3D151E833A65C0A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFDDDDFCFFFCFCFC640A0ABBBB16EEEE6108E30BB170181BED5B474230
+ 0451EA36294E272702022B62558C8C2AEC9739381FB3343305674A01782FD5C9
+ 79A866A8109F874A8DC6F30DA10D4D66AA666666AA06BFA1A11D9EBF549A9C3A
+ 83D7F578787BBDBD5648D4C90DD276833ABF76C94B441D761E769CC65978B67C
+ 54351E5D54545476763A1D761315374465153DD13E1365A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFF
+ FFFCFC64640ABB16160EEE610808E37070181BED5B4742300451EA36694E270F
+ 02022B62EF8C8C002AF239F71F1FB36333054A017858775CAB8B06791078A4C1
+ 0521587779A1A8A85C5C5C5C0DAA66A10D15C999A34B9C3A4B83F0BF5966486E
+ AA4CD198CC109E839C9EADD2C81E443A54139EF3C6785FB695764B4B4B5D5D5D
+ 763AC83A1E445D44156583D41E3E1EA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFFFCFC646464BBBB
+ 160EEE070808E3B1703CE886194742BE04042236694F27270F022B1CD6238C2A
+ 09F2C2381FB3B3633305674A01F024107B2FA1AB7901AB2E0599D42410107966
+ 5C5C5C5C7E0D0DA10DD78F2ECA95569148B6016701774D100D4CD24810065945
+ 595643A5AD54C8953E9EC9CC88C6CC83599EB2B2453A767654358335D7441E3E
+ 135D59995D76B26F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC64DB640ABBBB160EEE070808E3B1
+ 703CE886194742BE30512236694F27270F022B1CEF238C002AF297382C1F3463
+ 3305674A015824A8CF2F7BC9102E0D10C9BF107E66ABAB105C5C5CA8105C5C10
+ BF458F8BAD9D6E6E9E3A065906AA9D0D0DAA0D06BF9806599893143143C8C876
+ 48567DF0317B59594C9E489E48569C9C45959826C8C84B848399F57899454B6A
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFDDFFFFFC64646464BBBB160E0E076108E3B1703CE886194742BE
+ 04042236694F4E270F022B62EF23000009F239382CB3343305674A4A78879F8B
+ 249FCF7E7E0DAA664D754D064D4DB7664D4C4C4D06060606459E0D06B5843A3A
+ 959B48B03A984C934C4D954C9D4D9E4C4343933B43C85454CAD7CA3ACA845426
+ 3A6F6F3A833A3A3A4B26AA8444D7A3D7543D1E44545D37B40000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
+ FFFCFCFC640A0ABB160E0E076108E30B703C181BED5B604930042236694F4E27
+ 0F022B1CEF23002A0939382C1F3433054A0158879FA47B21CCA10DBFB7489195
+ 91726F4856987DC972B09AB06FB0B0B04445C835AD9A9A6FB0356A953A4B4C3B
+ 3A6F9AC84B9A4BC835268326434B544B54CAD7CACA985E43C89ACA9A9A353554
+ 4B9598B76FC89ACA3D5D76B6833E1D6A0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFC64640A0ABB
+ 1616EE070808E3E3B1703CE81B1947C3300422EA694F27270F022B1C5523002A
+ F2C2382C1F3433676701583194778B7BCC5C0D6606065F9B6E6EBD3AC8067B8E
+ 6EB5B0B0B0C880804435CAC5C89A6AB09AB09A80C53599A79572729A6F35C835
+ 1E35C8CA26C8354B6ACA4B1D440D7D8E6FC89A9A35CA1E35C580C83A35C5CA6C
+ 3D767610597613AE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFCFC640A0ABB160EEE0761610808
+ 08E3E3B17018ED4749045136694F4E270F022B1C5523002A0939381F1F343367
+ 677858739FA47BA85C5C0D4C5F9B9191726E72C826563B846E729A9A80356A6A
+ 801D4B356A80AC806A9A6AC8D73D3B8872726F806A806A6A35441E543E354435
+ B01D6FCACAAD7E95B56FC89A9ACACA353580CBC8AC6A4B353D7615BF76541ECB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDDFFFCDDFC0A0A0ABB160EEE07076107EE0E0E0EEE0708B11B
+ 473051EAE54F4E270F022B1C5523002A0939381FB33433674A015873772E8BCC
+ 5C66665F5F4C6F953A72B03ACAB73B546F3A1D806AB4C580B0B46AB46FB46AB4
+ 449A1D4435157D9880B09A8080C5C5C57C15443735351D351D441DCA1E4B0635
+ 6F6F44C8445D1D3E1D443E44541E1DC81E443E4BC81E54CB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
+ FCFFFC6464640ABB160EEE07077F71176B818181170316081B4204EA694F4E27
+ 0F022B1CD623002A0939381FB36333674A0158872F739F777B9F7BA81066A14D
+ 9B483AC815837ECAB43A3A6EC84C6F95484806486E4806483A953A6FC8152193
+ 6CB09A6ACBC5657C44351D5415C854547C541EC8D73A4844CA6FC515A95D3544
+ 1D3A35443E1E44C01E441D351E1D35CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFC6464640ABB
+ BB0EEE070781FEFEFEFEFEFEFEFEA60AE31904EAE54F4E270F022B621CEF8C00
+ EC97381F1F63333305676778788773739424A4249F79C9AB5C5CBF486C43AB84
+ 80064C4C9B5F664C485C065F5C0D6E5F4D4C75064C448F43B46A6F4B959C3AB2
+ 9CB2B29CB6B61D459C6F6F8ECA4C3A1DCACA6C9A4B4B1D1D1EC03A4B153A159C
+ 35441D4413C044A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC640A64BB160EEE0707CDFE7A
+ 82D36BCDFEFEFE17EE1B3022E5294F4E270F0F022BD655002A97381FB3343333
+ 33674A01015887947377247B7B2E218B10ABA806A34899CA954D489BAA48664C
+ 754D75BF064C75A10D454D9806CA8F26CA3548C8B2445D54C8543A359E35483A
+ 954B4593AD0D351D1DCAC56C1D134445761E1D833E3E3E1D351E1D3EC09244A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFCFC64640A0ABBBB160EEE07D312610808E3C4F4FEFEB8
+ 163C495136E5E56969294F4E270262232AF2381FB334333305670505782F8794
+ 942424014A947B7EA8A8CC98D75699A3B5484C0DAA774D669B7506664A78D1C6
+ 779E4C98BF3524841D3A6E541E3A75B676563A563A54F021BD4B45483AA1C51D
+ 6C4BC54410D5BF131D35BF4859D10D5D35353E3E15C044A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFF
+ FCDDFCDBDB64640ABBBB90EE07616161616108E3F6FEFEFEBB70425122220430
+ 604242490436271C0009F71F1F3433330505336301C1C1949F24335831059458
+ 79AB21A1CA437D844B0D0648D4A8F04C0D4CAABFF0F30188787E060DBF268DAD
+ A94CC85676D478884B3A3A8376450DF05F6E489DB598356A6CB0CA6CBF990676
+ 764483D1313A44445D5D3E3E131535A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5003030328FFFFFFFFFFFFFFFF
+ FF5003031AFFFFFFFFFFFFFFFFFF280303031AFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFF1A03030328FFFFFFFFFFFFFFFF28030350FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A030350FFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFF50030328FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A03031AFFFFFFFFFFFFFFFFFFFF
+ FF28030350FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF030303FCFC6464
+ FC0A16EE0761EE1A030316EE12FEFEFE50B1600404428670E68903890B1B0402
+ 23EC381F34343333336767670578873131948B01F301F52E215C990DD73A99CA
+ BD4C064C66F0AB0D740DBF9E8DF30501D20D4D9859842ECA6C5935B29C244A83
+ 45C83A7659C926F0064CB7959D4D9A6AC89ACA562E103A44C0440DD2249C354B
+ 5D351D1D15135DA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFF03A6FEFEFEFEFEFEB86B1AFFFFFFFF6BFEFEFEFEFEB871FF
+ FFFFFFFF17B8FEFEFEFEFEFE17FFFF03FEFEFE28FFFFFFFFFFFFFFFFFFFFFFFF
+ FFFF036BCDFEFEFEFEFECD32FFFFFFFF717AFEFEFEFECD6B28FFFFFFFFFEFEFE
+ 03FFFFFFFFFF81FEFE17FFFFFFFF6BFEFEFEFE82FF03FEFEFE28FFFFFFFFFFFF
+ 286BCDFEFEFEFE7A71FFFFFFFF03FEFEFEFFFFFFFFFFFFFFFFFF17FEFEFE03FF
+ FFFFFFFFFFFFFFFF71B8FEFEFEFE3217FEFE81FFFFFFFF037AFEFEFEFEFE17FF
+ FF03FEFEFEFFFFFFFF81FEFECD50286BFEFEFEFEB8FCCDFEFE03BB0E615081FE
+ FEFECD17BBFEFEFE03B147EB47A0A6FEFEFEFEFEFEB8D04E2309381F34343333
+ 336733673487942F24A424F0317B7B7D215CAB5CCA8399A33A0606AA31A49F06
+ 667445BFD4054A7B4D4D060D4D56CFCA3E453A3A76B2013A564BCA3A932E01D2
+ 484848B5B7486AB49AC844C8CCA13A3E1E35C8C9D54476765D1E1315C01D54CB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B
+ FEFEFEFEFEFEFEFEFEFEFE32FFFFFFB8FEFEFEFEFEFEFE71FFFFFF81FEFEFECD
+ 8181CDFE81FFFF03FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF286BFEFEFEFEFEFE
+ FEFEFE81FFFFFF6BFEFEFEFEFEFEFEFECD50FFFFFF7AFEFE03FFFFFFFFFF82FE
+ FE17FFFFFF71FEFEFEFEFE81FF03FEFEFEFFFFFFFFFFFF50CDFEFEFEFEFEFEFE
+ FE6BFFFFFF50FEFEFEFFFFFFFFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFFFFFF1A
+ CDFEFE8117173203FEFE81FFFFFF32FEFEFEFEFEFEFE81FFFF1AFEFEFEFFFFFF
+ 71FEFEFE32FF82FEFECD8217822881FEFE030A9050CDFEFEFEFEFEFE6BFEFEFE
+ 030B5B47E0CDFEFEFEF4D9F4FEFE2D272309381FB363333305674A67012FC194
+ 9F772E944AF02179795C10A1444B885DC8754D75BF7E4C064C4C9B06107821C9
+ 4D4D66665993ABC81D455654543A3A54B09A4B6F5624F00D5F48834806543E1D
+ 5D54351E1E351E1E3DD78399064B44765D5D139213653ECB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFEFE6B71033281
+ FEFEFEFE03FFFF827128FF1A7AFEFEA6FFFF17FEFECD17FFFFFFFF1A32FFFF03
+ FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF7AFEFEFECD82710303176B7AFFFF71FE
+ FEFE1728FF037AFEFEB828FFFF81FEFE71FFFFFFFFFF17FEFE82FFFFFF17FEFE
+ FE03FF71FF03FEFEFEFFFFFFFFFFFF7AFEFE7A03FF2817FEFEFE17FFFFFFFEFE
+ FEFFFFFFFFFFFFFFFFFF03FEFEFE03FFFFFFFFFFFFFFFF17FEFEB8FFFFFFFF1A
+ FEFE7AFFFF1ACDFEFE7A71FFFF1A32FFFFFFFEFEFEFFFF28B8FEFE6BFFFFCDFE
+ FE32DDDDDB646BFEFE710A1681FEFECD32EEC4D3FEFEFEFE030BEDFACDFEFE81
+ 9647305151E0E0028C09381F34B3330505674A0178878731249FA4A4247B108B
+ 10AB21BF35450D546EAA744859069E0606BD594C48C9064C4DAA75754D14211D
+ 54487676543A353A3A9A4BCA3A59453A95B25643BF541D929C3E441D761D5D35
+ D7541E35134B3A541E1E3DC01D4465CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF7AFEFEFE17FFFFFFFFFF6BFEFEFE6BFFFFFF
+ FFFFFFFF82FEFEA6FFFFB8FEFE17FFFFFFFFFFFFFFFFFF1AFEFEFEFFFFFFFFFF
+ FFFFFFFFFFFFFF17FEFEFE8128FFFFFFFFFFFFFFFFFFB8FEFE17FFFFFFFF28CD
+ FEFE17FFFF81FEFE17FFFFFFFFFF17FEFE81FFFFFF17FEFEB8FFFFFFFF1AFEFE
+ FEFFFFFFFFFF32FEFECD28FFFFFFFF17FEFECDFFFFFFFEFEFEFFFFFFFFFFFFFF
+ FFFF03FEFEFE03FFFFFFFFFFFFFFFF17FEFE7AFFFFFFFFFFFEFEFEFFFF17FEFE
+ CD28FFFFFFFFFFFFFFFFFEFEFEFFFF82FEFEB828FFFFFEFEFE71FFDD646417FE
+ FE170A7FFEFEFE3290E3703CD3FEFEFE03E31BC7FEFEB8C4190436294F4E0F2B
+ 8C2AC21F3434333305674A017887C19F9F9FA48B8B21797B5C797BBF35565E54
+ C84D664C750659590D6EBFAABF1010994D660666B798211D92483A4576453E3A
+ C86E4B9D459A4583B2594C83C9C81EC5441E4B5D5D131D3ED73ED74B3E441E54
+ 1D1E3E133E3E3DCB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFEFEFEFEFFFFFFFFFFFF28FEFEFEB8FFFFFFFFFFFF71CDFEFE71
+ FF50FEFEFE28FFFFFFFFFFFFFFFFFFFFFEFEFE03FFFFFFFFFFFFFFFFFFFFFFCD
+ FEFEB828FFFFFFFFFFFFFFFFFF1AFEFEFE1AFFFFFFFFFF82FEFE81FFFF17FEFE
+ 17FFFFFFFFFF17FEFE81FFFFFF71FEFE7AFFFFFFFFFFFEFEFE03FFFFFFFF6BFE
+ FE6BFFFFFFFFFF28FEFEFE03FFFFFEFEFE03FFFFFFFFFFFFFFFF03FEFEFE03FF
+ FFFFFFFFFFFFFF1AFEFEFEA61AFFFFFFFEFEFEFFFFA6FEFE6BFFFFFFFFFFFFFF
+ FFFFFEFEFEFF50FEFEFE50FFFFFF6BFEFECD32FFFCFC17FEFE170A03FEFEFE28
+ 070B18E818B8FEFE0308E8D8FEFE820B4704223636694F0FD600971FB3343333
+ 330501782F582F9494772E2E2E778BA8AB10107ECA8399264D4D4D0694F0774C
+ 4C0D4C749F78D5C6934D5F0D95AB999C765935C8CCD4BF4B4CACB5C8458BC976
+ 9C5643AD7D4B35353A5444C910CC834B26458821593E1576445D1E3E653E1DB4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFE
+ FE7AFFFFFFFFFFFFFF7AFEFEFEFFFFFFFFFF82FEFEFE17FFFF03FEFEFEFFFFFF
+ FFFFFFFFFFFFFFFFFEFEFE03FFFFFFFFFFFFFFFFFFFF03FEFEFE32FFFFFFFFFF
+ FFFFFFFFFF03FEFEFEFFFFFFFFFFFF03FEFEFEFFFF17FEFE82FFFFFFFFFF03FE
+ FE7AFFFFFF03FEFEFEFFFFFFFFFFFEFEFE03FFFFFFFF81FEFE17FFFFFFFFFFFF
+ 81FEFE17FFFFFEFEFE03FFFFFFFFFFFFFFFF03FEFEFE03FFFFFFFFFFFFFFFFFF
+ 32CDFEFEFE7A825081FEFE50FF81FEFE17FFFFFFFFFFFFFFFFFF81FEFE507AFE
+ FE17FFFFFFFF2881FEFEFECDA63271FEFEA60A03FEFEFE6407B1181B1BD8FEFE
+ 170818D9FEFE17613C86195B191947040F8C972CB33463050567014A4A582FC1
+ 87949F778B8B2E211010A15C3593A58E6F4C759B2EF0871010060D7B2105F32E
+ 934C5FA1B5A521B21E483A547BD51006BD7EA1BF4DAB24B23A839E06314C4B76
+ 1E443AD424CCB2984310D4993A1E3E3E5476541E5D5D5D9A0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE81FFFFFFFFFFFF
+ FF81FEFEFEFFFFFF2881FEFECD71FFFFFF03FEFEFEFEFEFEFEFEFEFEFEFEFFFF
+ FEFEFE03FFFFFFFFFFFFFFFFFFFF17FEFEFE1AFFFFFFFFFFFFFFFFFFFF03FEFE
+ FEFFFFFFFFFFFF03FEFEFEFFFF17FEFE81FFFFFFFFFF03FEFEFEFFFFFF03FEFE
+ FEFFFFFFFFFFFEFEFE03FFFFFFFF81FEFE17FFFFFFFFFFFF81FEFE17FFFF81FE
+ FE03FFFFFFFFFFFFFFFF03FEFEFE030317177128FFFFFFFFFF28177AFEFEFEFE
+ CDFEFE03FF81FEFE17FFFFFFFFFFFFFFFFFF81FEFE82FEFECDFFFFFFFFFFDDFC
+ 036BCDFEFEFECDFEFE810A1AFEFEFE1AEE0B18861BD3FEFE170818D9FEFEFEFE
+ FEFEFEFEFEFEFEF1E523F22C341F2C0505674A34344A2F582FC17394777777A4
+ A87910C94B99BC140666AA06A40178AB5C77A8AB8B01D421AA66BFBF8EF53F54
+ 4C5656592FD421985C105C06D578CC4C064C595E8D9326765D0D31D421B6590D
+ 06998DBF3A459C7654545D1E5D5D54B00000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF81FEFEFEFFFFFFFFFFFFFF82FEFEFE28FFFF
+ 81FEFE7A1AFFFFFFFFFFFEFEFE710303030317FEFEFEFFFFFEFEFE17FFFFFFFF
+ FFFFFFFFFFFF17FEFEFEFFFFFFFFFFFFFFFFFFFFFF28FEFEFE71FFFFFFFFFF32
+ FEFEB8FFFF17FEFEFE28FFFFFFFF71FEFEFEFFFFFF28FEFEFEFFFFFFFFFFFEFE
+ FE17FFFFFFFF82FEFE7AFFFFFFFFFFFFB8FEFE32FFFF81FEFE03FFFFFFFFFFFF
+ FFFF03FEFEFE03B8FEFEFEFE82FFFFFFFFFFFFFF280382B8FEFEFE32FF82FEFE
+ 7AFFFFFFFFFFFFFFFFFF81FEFE717AFEFE32FFFFFFDDDDFCFCDBDB5032A6FEFE
+ FEB80A16B8FEFE17BB0870E8E8D3FEFE17081BF1FEFEA60389892D89F4FEFED3
+ 22D6092CB3B31F0533674A05057858783131949F949F2E8BAB7921A15699A55E
+ B5060DA1BF7979A106A8BFBF0DAB0DBF66BFBF0693525243543A4C062106489E
+ 9DAA9D4C7910BF9E599E458E98C8CA1E4B98CC48454B3A13C8D74C4B5D1E1D3E
+ 1E1E3E3D653E3EC50000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF81FEFEFEFFFFFFFFFFFFFF17FEFEFE03FF50FEFEFE28FFFFFFFF
+ FFFFA6FEFE32FFFFFFFF32FEFEB8FFFFFEFEFECD50FFFFFFFFFFFFFFFFFF17FE
+ FEFEFFFFFFFFFFFFFFFFFFFFFFFFA6FEFEA6FFFFFFFFFF81FEFE6BFFFF71FEFE
+ FEA6FFFFFFFFA6FEFEFEFFFFFFFFFEFEFE28FFFFFFFFFEFEFECD50FFFFFF50FE
+ FEFE50FFFFFFFF03FEFEFE1AFFFF81FEFE03FFFFFFFFFFFFFFFF1AFEFEFE71FE
+ FEFEFEFEFE6BFFFFFFFFFFFFFFFFFF28B8FEFE17FF71FEFEFE03FFFFFFFFFFFF
+ FFFF81FEFE0350CDFEFE71FFFFDDFCFCDBDBDB64FC6417FEFEFE0A0ED3FEFECD
+ 500E08B1B1D3FEFEA6611BA0FEFEB8EE3C5B4786B8FEFEC7E5F9F21FB36363F3
+ 67670178F087879424A42E8B7B21A879795C2166B75E5E14B774B74DBD4C4856
+ 4C9D564D9E454C4C93489B59143B53A73A3A5435763AC8C8B0CA3AB54B3A3A4B
+ 4B5683AD434B26353E1D1D1E1E444435C813484B76351D445D1E1D3D3E1315CB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6FE
+ FEFEFFFFFFFFFFFFFF17FEFEFE03FF03FEFEFE17FFFF1A32FFFF03FEFECD03FF
+ FF287AFEFE17FFFFFEFEFEFECD821703FFFFFFFFFFFF71FEFEFE71FFFFFFFFFF
+ FFFFFFFFFFFF50FEFEFEA61AFF1A6BFEFEFE50FFFF03FEFEFEFEB882177AFEFE
+ FECDFFFF5003FEFEFE17030328FFFEFEFEFECD821703FFA6FEFECD32FFFF71CD
+ FEFEA6FFFFFF81FEFE71FFFFFFFFFFFFFFFFFFFEFEFE7128FF507AFEFEFE03FF
+ FF0328FFFFFFFFFFB8FEFE17FFFF7AFEFECD3228FF280303FFFF81FEFE03FF32
+ FEFECD50FFDDFC1A50DDFCFC64DB32FEFEFEBBEE617AFEFECD321AEEEE6BFEFE
+ 81611960D9FEFE6BC43C18F6FEFECDD02700392CB36333674A01F058D1C1872E
+ 8B79C90DBFBF754D4D4D56954556459E453B7D1480373E1E1E3544134435443E
+ 6C443E5D253FA7C945441D1E3E441E1D443E3E44443E44543BA13A8044921313
+ 13923E15153E153E1515351D1D54C0C09265A9A9C09213AE0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFE1AFFFFFFFFFF
+ FF03FEFEFE03FFFFB8FEFEFEFEFEFECDFFFFFF32FEFEFE7A81FEFEFE7A28FFFF
+ FEFEFE7AFEFEFE17FFFFFFFFFFFF28FEFEFE6BFFFFFFFFFFFFFFFFFFFFFFFF32
+ FEFEFEFEFEFEFEFEFE32FFFFFF03FEFEFE81FEFEFEFEFEFEFE82FFFF81FEFEFE
+ FEFEFEFE03FFFEFEFE7AFEFEFE17FF287AFEFEFEFEFEFEFEFE7A28FFFFFF81FE
+ FE17FFFFFFFFFFFFFFFFFFFEFEFE03FFFFFF28CDFEFE6BFFFF82FE7A6B17177A
+ FEFEFE50FFFF50CDFEFEFEFEFEFEFE17FFFFA6FEFE32FFFFA6FEFEB828FCDB28
+ FECD8117176BCDFEFEA6166108C47AFEFEFEFEFEFEFEFEFEB8E3473096F4FEFE
+ CD81B8FEFEFEC72262F2381F3433054A7858C17331319F7BC975B648B245956F
+ C84B35449A9ACACA543B3B841DAC1313921D13921D1D151D6C1D1D3D3D3B983A
+ 1E13131D1D131D1315C0C01313C015138E5615B4CB15151513C03E133D65C015
+ 131544C51D15A9C09265C013651365A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFF03FEFEFE17FFFF
+ 5081FEFEFEFEFE6BFFFFFFFF037AFEFEFEFECD6B28FFFFFFFEFEFE716BFEFE17
+ FFFFFFFFFFFFFF6BFEFEFE03FFFFFFFFFFFFFFFFFFFFFFFF1A6BFEFEFEFEFEA6
+ 03FFFFFFFF03FEFEFE2882CDFEFEFECD82FFFFFF81FEFEFEFEFEFEFE03FFFEFE
+ FE716BFEFE17FFFFFF32B8FEFEFEFEB81728FFFFFFFF6BFEFE17FFFFFFFFFFFF
+ FFFFFFFEFEFE03FFFFFFFF81FEFE81FFFF0381CDFEFEFEFEFEB871FFFFFFFF1A
+ 6BFEFEFEFEFECD50FFFF17FEFE17FFFF28CDFEFE7A28DBDB6B7AFEFEFEFEFEFE
+ 6B7F0708E30BE3F67AFEFEFEFEFEFEFEF418EB512296F8CDFEFEFEFEF432510F
+ 009738B33433674A015831D4319F8BA85C0DBF064D4D4C4856454B6F6FB044B4
+ 3D3B5E3DAC7C3554C83A3A83453A3A56953A9C76A37D986A133E441E35444435
+ 764B4B7676C8544B439D1D1DC53537445D1E545D4B3A5D545D5435763792135D
+ 3E1E651E1E3E1ECB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFF03FEFEFE17FFFFFFFF28030350FFFF
+ FFFFFFFFFFFF28030350FFFFFFFFFFFFFFFFFFFFFF1A031AFFFFFFFFFFFFFF1A
+ CDFEFECD71FFFFFFFFFFFFFFFFFFFFFFFFFFFF030303FFFFFFFFFFFFFFFFFFFF
+ FFFFFFFF500303FFFFFFFFFFFFFF81FEFE03FFFFFFFFFFFFFFFFFF1A031AFFFF
+ FFFFFF1A03031AFFFFFFFFFFFFFF17FEFE17FFFFFFFFFFFFFFFFFFFEFEFE03FF
+ FFFF28CDFEFE81FFFFFFFFFF2803030328FFFFFFFFFFFFFFFFFF0303031AFFFF
+ FFFF17FEFE17FFFFFFFFFFFFFFFCFC640A646450030350BB16EE61E30BB17070
+ 700B89898989FBE819C351E5693622300C2D2D9604690FF92AF2382CB3B33305
+ 4A01739FC131217B7B79CCA8C910C910AB10107EA10D4D3A3D995E3D3A914556
+ 484C5906064C9E064C480659A38F0DAC4476764B3A3A4B4556459C4545454545
+ 5E9D441D7C355D35C8545454544B4B4B544B6A7637A9655D4B5D1E5D443E1EB4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FE
+ FEFE03FFFFFFFFFFFF28FEFEFE17FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32FEFEFEFE7A1703
+ 0371177A03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFE32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFE17FFFFFFFFFFFFFFFFFFFEFEFE6B171717B8FEFEFE17FF
+ FFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFE17FFFF
+ FFDDFCFFFFDBDB640A0A0ABBBB1616EE0761080BB1703C18E81B86ED195B6049
+ 0451364F4E4E4E4E4E4E4E270F2B55000939F72CB3346305674A317731C18BD5
+ 8B7BCC79A810A8A8C90D0D66660D75B55D7D5EA39B919C564548489E064C484C
+ 7448065954B95E6C353A76C83A833A45953A3A3A3A4545457E3A44923A443554
+ 35C8C8C854355454543A3580C5921E651E13445D3E441ECB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03FEFEFE17FFFFFFFFFF
+ FFFFFEFEFE6BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03CDFEFEFEFEFEFEFEFEFE28FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A17
+ 8117FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FE
+ FE81FFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFE7A28FFFFFFFFFFFFFCFCFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEA6FFDDFFFFFFFCFCFCDB64
+ 0A0ABBBB900EEE076108E30B703C18E886195B4742EB30512236294E270F0F0F
+ 02022B62552300EC9739381FB3346333674A312431877B248B7979A8C9105C7E
+ A8A17EA10D107E9B1E7D5EA34D91484556B64848590659594D4C7598265206AC
+ 543A76544B833A7645459595569E9E483BADCACB9C351E541EC8547676C83A76
+ 263AC8356C151E5D1D137676445D54B40000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF03FEFEFE17FFFFFFFFFFFFFFFEFEFE81FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFF28177AFEFEFEFEFEFE7AFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFE81FFFFFFFFFFFF
+ FFFFFFFEFEFEFEFEFEFEFECD6B28FFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFF17FEFE81DDFFDDFCFFFFFCDB640A0ABB16160EEE0761
+ 0808E3B1703CE886195B4742BE04512236294F4E270F02022B1CEF232300ECF2
+ C2F7381FB3346305674AC1D49F877BD2A47B21A85C105C7E5C0D7E7EAA7E0D6E
+ 3E7D7EA34D9B064548065956484C4C4C4D4D060684B99DB4763A453A4B45B276
+ 3AB5B595489EB79D93C86C1D4BB21E35459544CA9A9A956F263580ACCB923E45
+ 45560DB63E5D54B40000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF03030350FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDDFFFCFCFC0AFC640A0ABB16160EEE076108E30B707018E886
+ 19476049300451EA36294E270F0F022B1C1C238C8CECEC09C2382C1FB3633305
+ 674A58D49F2F7B24A48BABA85C10A1667E667E7E665C5C481E8B99A34C9BBF26
+ 59A10D9EB24C5959AA7575982552BDAC3A45B6483A48593A6F3A95BD4874483A
+ CAC86CB03A10B2458BC93A9A9A9A569556353AB0C5C5C888CCCCD5BF1D4435B4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFC
+ FFDBFFDB640A0ABBBB161690EE07610808E3B1703C181BED5B4742BE30042236
+ E54F4E270F0F022B1CEF238C00EC0909C2382C1F3463330567675894242FD2D5
+ CF2F8B7B2F87BFA1A1060D5CA17EA19B843F3BCA759B2F569888C12659598359
+ 4D750D14145206AC3A83F00688F02E2626AD833A4C4559569845352644D47B99
+ 8B4DCACA4B4B4B3A9C9C06B2441E1ED5CC8B103A134435CB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFCFCFFFFFCFFFFFFFFFFFFFFFCFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDFCFCDB0A0A0A0A
+ BB16160EEE076108E30B703C3CE886195B60493004512236694F27270F02022B
+ 1C55238C002A090939F72C1F34630505674A5894C1D1D49FA44A9F2158F00D7E
+ ABA1A1A166A1A14D938F3F25069B012EA17B2EB74C4C7498064806433BF55E6A
+ 454CD5CC06310D3A9595957645455999D2481D9A3A9F217EC99EC8C8264BC84B
+ 35060D4544541D06764545C83554C8AC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFCFCFCFCFFFCFCFCFCFCFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFDDFCFC640A0A0A0ABB1690EE070761E3
+ E30B703C181B86194760BE3004513636294E27270F022B621C558C0000EC0909
+ C2382C1F34633305674A58942F53312E24672F2E2F2FA8A85C667566660D0D4D
+ 1453528E069B77D55C775C66749B74744DB5BF433FBC3B6E489BA87B4C214C9B
+ 56489B48484893B97B484B4BD79D4B5606B7BD95BDB54BC88EAB5992A96F9A4B
+ 56959556454B44CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFC
+ FCFCFCFFFFFFFCFCFFFFFFFFFCFFFFFCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFCFCFC640A0A0ABBBB16160E07076108E30BB1703CE81B195B
+ 47C3BE30042236E54F4E270F0F022B62D6558C8C002A09F239382C1F34630505
+ 67017824C1AFA52E8B77777777A48B79AB1010105C5C664D5EAF5384065F7510
+ 667BAAAB7E0D7E0D0D4CBFB7B9535E6A729AAA7E66667E5C7EA1A1759B488EA5
+ A49DCAC8BD4D744D4D4D4D4C74B79DB5A3B98F06CACAB06E3AC8C83A954BC8AC
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFCFF
+ FCFFFFFCFCFFFCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCDB0A0A0ABBBBBBBB90EE07610808E30B7070181B8619476049300451223669
+ 4F4E270F02022BD6EF558C002A09F2C2F7382C1FB3633305674A7894C111BCCF
+ 7B798B77A48BA4A42E2E7B79A85C064DB96DAF14B79B5F0D7EA87E7979A85C5C
+ 7E0648AAF5BCB9747472064D66747E66AA4D5F6EB59314BCAFA44C9AB0B5849A
+ 84B5BD3A3ABD48B7A75A5AF57B0659757E7E5C5CC99979790000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFFFCFFFFFCFCFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCDB64640A0ABBBBBB
+ 1690EE076108E30BB1703CE81BED194742493004222236294F270F0F022B62EF
+ EF238C00ECECF2C2F7382C1F3463330567012F2F5A1185A48B2EA421A47B218B
+ 7979A85C5C66665CAF5A6D53C94CAA06664DAAAAAA4D4D4D14064C79BCBAF577
+ 9DB572B5B5729DB574744D4D6610D45AFDAF01C1772E9FC1C12FF0014ABCAFBA
+ 5AFDFD6D5A5A5A5A5A5A5ACEBACE5A2C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFFFFFCFCFCFCFCFFFFFCFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFDDFFFFFFFFFFFFFFFFFFFFDDDBDBDB640A0A0ABBBBBB16EEEE616108E30B
+ 703C3C1B86ED4760C330040422EA69294E270F0F022B621C55238C002A09F2C2
+ F72C1FB334330505670178F31111110524D22E21D221AB10AB79AB1079792EF0
+ FD6DFD6D0587318F3131C12FA5F07801F0010185BA6D5AAF0101F5BC058585BA
+ BABACEBACEBA5A6DFDFDFDFDFDFD6D5A5A6D6DFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCDBDBDBDBDB
+ DBFCFFFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFCFCFCFCDB640A0ABBBBBBBB160EEE076108E3E30B703C181B865B4760
+ C33004512236294F4E270F02022B1CEF23238C00EC0909E78A39F738112C2C1F
+ CECE6D41111111FD5ACE5A6D6D6D6D5A5A5A5A5A5A5A6DFDFDFDFDFDFDFD6D6D
+ 5A6D5A6D5A5A5A5A5A5A5AFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFFFCFCFCFC
+ FCFCFFFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBFCFCDB
+ 640ABBBBBB16160EEE07616108E30B70703CE81B195B47C3BE040422EAE5294E
+ 27270F022B621CEF238C8C00ECECEC6868E78A8A464646414141411111111111
+ 1111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
+ FCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFCFCFCFCFCFCFCFCFCFFFCFCFFFF
+ FFFFDDFFDDDDFFFFFFFFFFFFDDFFFFFFFFFFFFFFFCDBDB64640A0ABBBB16160E
+ EE07610808E3B1703C181BED194760493004512236E54F4E270F0F022B1C1C55
+ 238C00ECECECEC09688A8A8A4646464141414111111111111111FD1111FDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBDBDBDB
+ DBDBDBDBDBDBDB6464FCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFDDFFFFFFFFFFFF
+ FFFFFFFFFCDDFFFFFCFFFFFCDB64640A0A0ABBBBBB160EEE07610808E30B7070
+ 3CE81B195B4742BE300451EAE5294F4E270F02022B1C1C558C8C0000ECEC6868
+ E78A8A46464646414141411111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB6464646464
+ 64FCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFDDDDFFFFDDFFFFFFDDFFFFFFFFFFFC
+ FFFFFCFCFCFC640A0A0ABB1616160EEE076108080B0B703CE81B86194760C3BE
+ 04512236E54F4E270F0F022B2B1CEF8C8C0000ECECEC0909DCE7464646464141
+ 4111411111111111FDFD11FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB646464646464FCFC64FCFCFCFCFC
+ FCFCFCFCFCFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBFCDBDBDB0A0A
+ 0ABB1616160E0E07616108E30B70703CE886195B474249305151223669294E27
+ 0F0F022B2B1CEF238C8C0000ECEC096868E7E78A8A4646414141414111411111
+ 1111111111111111111111111111111111111111111111111111111111111111
+ 1111111111111111111111111111111111111111111111111111111111111111
+ 11111111111111111111111111111111111111111111118A0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFCFCFCFCFCDB
+ DBDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A646464646464DBFCFCFCDBFCDBFFFFFF
+ DDDDFFDDFFFFFFFFFFFFFFFFFFFCFCFCFCFFFCDBDB0A0A0ABBBB160E16EEEE07
+ 070808E30BB13C3CE81B86194760C3BE3004512236E54F4E4E270F0F022B2B1C
+ 1C55558C8C8C0000002A2AECECEC09EC09096868686868686868DCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCEC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB
+ DBDBDBDBDBDB64DBDBDBDBDBDBDBDBFCFCDBFCDBFFFFFFFFFFFFFFDDDDFFFFFF
+ FFFFFFFFFFFCFCFCFCFCFCDBDBDBDB640A0ABBBBBB160EEEEE07616108E3E3B1
+ 703C18181BED195B4760C349303004515122EAEAE5E529294F4F4E4E27272727
+ 270F0F0F0F0F0F0F0F0202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 020202020202020F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDDFCFCFCFCFCFCFCFCFCDD
+ DDDDDDDDDDFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFC640A0A0A0A0ABB161616900EEE0707610808E3E30B0BB170
+ 3C3C3C18E81B1B86EDED19195B5B4747474760604242C3C3C3C3494949494949
+ EBEBEBBEBEBEBE30BEBE30303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303049
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFDDDDFCFCFCFCFCFCFCFCDBDBDBDBDDFCFCFCDDDDFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDDFCFC64
+ 640A0A0A0ABB161616900EEE070761080808E3E30BB17070703C3CE81B1B1B86
+ ED1919195B5B4747476060424242C3C3C3494949494949EBBEEBBEBEBEBE3030
+ BE30303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030490000FCFCFCFCFCFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB
+ DBDB6464646464640A0A0A0A0A0A6464646464DBDBDBDBDBDBDBDBFCFFFFDDDD
+ FFDDFFFFFFFFFCFFFFFFDDFFFFFCFCFCFCDBDBDBDB640A0ABBBBBBBB16EEEE07
+ 610808E3E3B170703C181B86ED195B4742C3BE300404512222EA36E529294F4F
+ 4E4E4E272727270F0F0F0F0F0F0F020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020F0000FCFCFCFCFCFCFCFCFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCDBDBDBDBDBDBDB64640A0A0A0A0ABBBBBB
+ BBBBBBBBBBBB0A0ABB0A0A0A0A0A0A0ADB64FCFCFCFFDDDBFFFFDDFFFFFFFFFF
+ FFFFFCFFFFFFFC64DBDBDB0A0A0ABB161690EEEE07070808E30BB1703C181B1B
+ 195B476049300451512236294F4E27270F0F022B2B1C1CEF558C8C0000000000
+ ECECECECECEC09090968686868686868DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCEC0000FCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFF
+ FCFCFCFCFCFCDBDBDBDBDBDBDB640A0A0A0A0ABBBBBBBBBBBBBBBBBBBBBBBBBB
+ BB0A0A0A0A0A640A6464DBFCFCDDFCFFDDFCFFFFFFFFFFFFFFFFFFFFFFFCDBFC
+ 640A0A0ABBBBBBBB900EEE07616108E3E30B703C18E81B191947604930040451
+ 223669294E27270F02022B2B621CEF55238C8C00000000ECECECEC0909096868
+ 68E7E768E7E78AE7E78A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
+ 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
+ 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8AEC
+ 0000}
+ Login.LeftImage.Data = {
+ 07544269746D617016090000424D160900000000000036040000280000003200
+ 0000180000000100080000000000E00400000000000000000000000100000000
+ 000000000000000080000080000000808000800000008000800080800000C0C0
+ C000C0DCC000F0CAA6000020400000206000002080000020A0000020C0000020
+ E00000400000004020000040400000406000004080000040A0000040C0000040
+ E00000600000006020000060400000606000006080000060A0000060C0000060
+ E00000800000008020000080400000806000008080000080A0000080C0000080
+ E00000A0000000A0200000A0400000A0600000A0800000A0A00000A0C00000A0
+ E00000C0000000C0200000C0400000C0600000C0800000C0A00000C0C00000C0
+ E00000E0000000E0200000E0400000E0600000E0800000E0A00000E0C00000E0
+ E00040000000400020004000400040006000400080004000A0004000C0004000
+ E00040200000402020004020400040206000402080004020A0004020C0004020
+ E00040400000404020004040400040406000404080004040A0004040C0004040
+ E00040600000406020004060400040606000406080004060A0004060C0004060
+ E00040800000408020004080400040806000408080004080A0004080C0004080
+ E00040A0000040A0200040A0400040A0600040A0800040A0A00040A0C00040A0
+ E00040C0000040C0200040C0400040C0600040C0800040C0A00040C0C00040C0
+ E00040E0000040E0200040E0400040E0600040E0800040E0A00040E0C00040E0
+ E00080000000800020008000400080006000800080008000A0008000C0008000
+ E00080200000802020008020400080206000802080008020A0008020C0008020
+ E00080400000804020008040400080406000804080008040A0008040C0008040
+ E00080600000806020008060400080606000806080008060A0008060C0008060
+ E00080800000808020008080400080806000808080008080A0008080C0008080
+ E00080A0000080A0200080A0400080A0600080A0800080A0A00080A0C00080A0
+ E00080C0000080C0200080C0400080C0600080C0800080C0A00080C0C00080C0
+ E00080E0000080E0200080E0400080E0600080E0800080E0A00080E0C00080E0
+ E000C0000000C0002000C0004000C0006000C0008000C000A000C000C000C000
+ E000C0200000C0202000C0204000C0206000C0208000C020A000C020C000C020
+ E000C0400000C0402000C0404000C0406000C0408000C040A000C040C000C040
+ E000C0600000C0602000C0604000C0606000C0608000C060A000C060C000C060
+ E000C0800000C0802000C0804000C0806000C0808000C080A000C080C000C080
+ E000C0A00000C0A02000C0A04000C0A06000C0A08000C0A0A000C0A0C000C0A0
+ E000C0C00000C0C02000C0C04000C0C06000C0C08000C0C0A000F0FBFF00A4A0
+ A000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFF
+ FF00FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD525252525252525252525252
+ 5252FDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDAFB75E5E5E66666767676F6F6F6FB752FDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBF
+ BFBFBFBFBFBFBFBFBFB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFB76F676F6FB7B7B7B7B7776F5EB752FD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBFBFB752FDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFB76F676F6F6FB7B7
+ B7B7776F5EB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBFBFBF52FDFDFDFDFD
+ 0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAF
+ B76767676F6F6FB7B7B7776F5EB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBF
+ BFBF52FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDAFB76767676F6F6F6FB7B7776F5EB752FDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBF
+ BFBFBFBFBFBFBFBFBFBF52FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBFB7AFAFB7B7B7B7BFBFBFBFB7B752FD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDAFB76F675E5E5E5E5E5E676FB7A5FDFDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F79BFDFDFDFD
+ FDFDA4F7A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDF7F79BFDFDFDFDFDFDA407A3FDFDFDFDFDFDFD
+ 0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDF7F79BFDFDFDFDFDFDA407A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F7A4FDFDFDFDFDFDF707
+ A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDF707A49AFDFDFDFDA30707A3FDFDFDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F6A4
+ A49B9A9AA3A407079AFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F6F7F7A4A4F70707A3FDFDFDFD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDF7F6F6F6F6F607A3FDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7A3A3A3
+ A3A3FDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ 0000}
+ Log.WindowCaption = 'Security'
+ Log.LabelDescription = 'Event Viewer'
+ Log.LabelUser = 'User :'
+ Log.LabelDate = 'Date :'
+ Log.LabelLevel = 'Min. Level : '
+ Log.ColLevel = 'Level'
+ Log.ColMessage = 'Message'
+ Log.ColUser = 'User'
+ Log.ColDate = 'Date'
+ Log.BtFilter = '&Apply filter'
+ Log.BtDelete = '&Delete Log'
+ Log.BtClose = '&Close'
+ Log.PromptDelete = 'Confirm deletion of all selected log records ?'
+ Log.PromptDelete_WindowCaption = 'Delete confirmation'
+ Log.OptionUserAll = 'All'
+ Log.OptionLevelLow = 'Baixo'
+ Log.OptionLevelNormal = 'Normal'
+ Log.OptionLevelHigh = 'Alto'
+ Log.OptionLevelCritic = 'Cr'#237'tico'
+ Log.DeletePerformed =
+ 'Deletion of system log done: User = "%s" | Date = %s a %s | Leve' +
+ 'l <= %s'
+ UsersForm.WindowCaption = 'Security'
+ UsersForm.LabelDescription = 'User Manager'
+ UsersForm.ColName = 'Name'
+ UsersForm.ColLogin = 'Login'
+ UsersForm.ColEmail = 'Mail'
+ UsersForm.BtAdd = '&Add'
+ UsersForm.BtChange = 'C&hange'
+ UsersForm.BtDelete = '&Delete'
+ UsersForm.PromptDelete = 'Delete user "%s" ?'
+ UsersForm.PromptDelete_WindowCaption = 'Delete user'
+ UsersForm.BtRights = '&Rights'
+ UsersForm.BtPassword = '&Password'
+ UsersForm.BtClose = '&Close'
+ AddChangeUser.WindowCaption = 'User Manager'
+ AddChangeUser.LabelAdd = 'Add User'
+ AddChangeUser.LabelChange = 'Change User'
+ AddChangeUser.LabelName = 'Name :'
+ AddChangeUser.LabelLogin = 'Login : '
+ AddChangeUser.LabelEmail = 'Mail : '
+ AddChangeUser.CheckPrivileged = 'Privileged user'
+ AddChangeUser.BtSave = '&Save'
+ AddChangeUser.BtCancel = 'Cancel'
+ AddChangeProfile.WindowCaption = 'User Profile'
+ AddChangeProfile.LabelAdd = 'Add Profile'
+ AddChangeProfile.LabelChange = 'Change Profile'
+ AddChangeProfile.LabelName = 'Profile : '
+ AddChangeProfile.BtSave = '&Save'
+ AddChangeProfile.BtCancel = 'Cancel'
+ UsersProfile.WindowCaption = 'Security'
+ UsersProfile.LabelDescription = 'User profile'
+ UsersProfile.ColProfile = 'Profile'
+ UsersProfile.BtAdd = '&Add'
+ UsersProfile.BtChange = '&Change'
+ UsersProfile.BtDelete = '&Delete'
+ UsersProfile.BtRights = '&Rights'
+ UsersProfile.PromptDelete = 'Found user with the "%s" profile. Confirm deletion ?'
+ UsersProfile.PromptDelete_WindowCaption = 'Delete profile'
+ UsersProfile.BtClose = '&Close'
+ Rights.WindowCaption = 'Security'
+ Rights.LabelUser = 'User Rights : '
+ Rights.LabelProfile = 'Profile Rights : '
+ Rights.PageMenu = 'Menu Items'
+ Rights.PageActions = 'Actions'
+ Rights.BtUnlock = '&Unlock'
+ Rights.BtLock = '&Lock'
+ Rights.BtSave = '&Save'
+ Rights.BtCancel = '&Cancel'
+ ChangePassword.WindowCaption = 'Security'
+ ChangePassword.LabelDescription = 'Change Password'
+ ChangePassword.LabelCurrentPassword = 'Current Password :'
+ ChangePassword.LabelNewPassword = 'New Password :'
+ ChangePassword.LabelConfirm = 'Confirm :'
+ ChangePassword.BtSave = '&Save'
+ ChangePassword.BtCancel = 'Cancel'
+ ResetPassword.WindowCaption = 'Set user password : "%s"'
+ ResetPassword.LabelPassword = 'Password : '
+ XPStyleSet.DimLevel = 30
+ XPStyleSet.GrayLevel = 10
+ XPStyleSet.Font.Charset = ANSI_CHARSET
+ XPStyleSet.Font.Color = clMenuText
+ XPStyleSet.Font.Height = -11
+ XPStyleSet.Font.Name = 'Tahoma'
+ XPStyleSet.Font.Style = []
+ XPStyleSet.Color = clBtnFace
+ XPStyleSet.DrawMenuBar = False
+ XPStyleSet.IconBackColor = clBtnFace
+ XPStyleSet.MenuBarColor = clBtnFace
+ XPStyleSet.SelectColor = clHighlight
+ XPStyleSet.SelectBorderColor = clHighlight
+ XPStyleSet.SelectFontColor = clMenuText
+ XPStyleSet.DisabledColor = clInactiveCaption
+ XPStyleSet.SeparatorColor = clBtnFace
+ XPStyleSet.CheckedColor = clHighlight
+ XPStyleSet.IconWidth = 24
+ XPStyleSet.DrawSelect = True
+ XPStyleSet.UseSystemColors = True
+ XPStyleSet.UseDimColor = False
+ XPStyleSet.OverrideOwnerDraw = False
+ XPStyleSet.Gradient = False
+ XPStyleSet.FlatMenu = False
+ XPStyleSet.AutoDetect = False
+ XPStyleSet.BitBtnColor = clBtnFace
+ XPStyleSet.ColorsChanged = True
+ XPStyle = True
+ WindowsPosition = poDesktopCenter
+ Left = 56
+ Top = 128
+ end
+end
diff --git a/official/2.20/Demos/9 English Demo/ADO/Unit1.pas b/official/2.20/Demos/9 English Demo/ADO/Unit1.pas
new file mode 100644
index 0000000..1f20312
--- /dev/null
+++ b/official/2.20/Demos/9 English Demo/ADO/Unit1.pas
@@ -0,0 +1,88 @@
+unit Unit1;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, DB, ADODB, Menus, UCBase, UCADOConn, StdCtrls, Buttons,
+ UCXPStyle;
+
+type
+ TForm1 = class(TForm)
+ ADOConnection1: TADOConnection;
+ UCADOConn1: TUCADOConn;
+ UserControl1: TUserControl;
+ MainMenu1: TMainMenu;
+ Arquivo1: TMenuItem;
+ Abrir1: TMenuItem;
+ Salvar1: TMenuItem;
+ Salvar2: TMenuItem;
+ Salvarcomo1: TMenuItem;
+ Fechar1: TMenuItem;
+ N2: TMenuItem;
+ Dados1: TMenuItem;
+ Importar1: TMenuItem;
+ Exportar1: TMenuItem;
+ N4: TMenuItem;
+ Vincular1: TMenuItem;
+ N3: TMenuItem;
+ Sair2: TMenuItem;
+ Editar1: TMenuItem;
+ Copiar1: TMenuItem;
+ Colar1: TMenuItem;
+ Recortar1: TMenuItem;
+ N1: TMenuItem;
+ Selecionartudo1: TMenuItem;
+ N5: TMenuItem;
+ AreadeTransferencia1: TMenuItem;
+ Exibir2: TMenuItem;
+ Esvaziar1: TMenuItem;
+ Exibir1: TMenuItem;
+ Zoom1: TMenuItem;
+ Normal1: TMenuItem;
+ Grande1: TMenuItem;
+ Ajustarnajanela1: TMenuItem;
+ N6: TMenuItem;
+ Personalizar1: TMenuItem;
+ amanhonormal1: TMenuItem;
+ elacheia1: TMenuItem;
+ Relatorios1: TMenuItem;
+ Relatorio11: TMenuItem;
+ Relatorio21: TMenuItem;
+ Relatorio31: TMenuItem;
+ Relatorio41: TMenuItem;
+ Segurana1: TMenuItem;
+ Cadastrodeusuarios1: TMenuItem;
+ Perfildeusurios1: TMenuItem;
+ logdosistema: TMenuItem;
+ N7: TMenuItem;
+ rocarsenha1: TMenuItem;
+ EfetuarLogoff1: TMenuItem;
+ UCXPStyle1: TUCXPStyle;
+ UCSettings1: TUCSettings;
+ procedure FormCreate(Sender: TObject);
+ procedure EfetuarLogoff1Click(Sender: TObject);
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ Form1: TForm1;
+
+implementation
+
+{$R *.dfm}
+
+procedure TForm1.FormCreate(Sender: TObject);
+begin
+ ADOConnection1.Connected := True;
+end;
+
+procedure TForm1.EfetuarLogoff1Click(Sender: TObject);
+begin
+ UserControl1.Logoff;
+end;
+
+end.
diff --git a/official/2.20/Demos/BASE.GDB b/official/2.20/Demos/BASE.GDB
new file mode 100644
index 0000000..91bc0c2
Binary files /dev/null and b/official/2.20/Demos/BASE.GDB differ
diff --git a/official/2.20/Demos/Base.mdb b/official/2.20/Demos/Base.mdb
new file mode 100644
index 0000000..b6577eb
Binary files /dev/null and b/official/2.20/Demos/Base.mdb differ
diff --git a/official/2.20/Demos/testes qmd/Project1.bdsproj b/official/2.20/Demos/testes qmd/Project1.bdsproj
new file mode 100644
index 0000000..3134f81
--- /dev/null
+++ b/official/2.20/Demos/testes qmd/Project1.bdsproj
@@ -0,0 +1,165 @@
+
+
+
+
+
+
+
+
+
+
+
+ Project1.dpr
+
+
+ 7.0
+
+
+ 8
+ 0
+ 1
+ 1
+ 0
+ 0
+ 1
+ 1
+ 1
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ True
+ True
+ WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+
+ False
+
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ False
+ False
+ False
+ True
+ True
+ True
+
+
+ 0
+ 0
+ 1
+ False
+ False
+ False
+ 16384
+ 1048576
+ 4194304
+
+
+
+
+
+
+
+
+ rtl;vcl;dbrtl;vcldb;vclx;adortl;dbxcds;dbexpress;vclib;ibxpress;IntrawebDB_72_90;Intraweb_72_90;xmlrtl;vclie;inet;inetdbbde;inetdbxpress;IndySystem;IndyCore;dclOffice2k;VclSmp;dsnap;soaprtl;IndyProtocols;inetdb;bdertl;vcldbx;webdsnap;websnap;vclactnband;vclshlctrls;teeui;teedb;tee;dsnapcon
+
+
+ False
+
+
+
+
+
+ False
+
+
+
+
+
+ False
+
+
+
+ $00000000
+
+
+
+ False
+ False
+ 1
+ 0
+ 0
+ 0
+ False
+ False
+ False
+ False
+ False
+ 1046
+ 1252
+
+
+ 1.0.0.0
+ 1.0.0.0
+
+
+
diff --git a/official/2.20/Demos/testes qmd/Project1.dpr b/official/2.20/Demos/testes qmd/Project1.dpr
new file mode 100644
index 0000000..08b344c
--- /dev/null
+++ b/official/2.20/Demos/testes qmd/Project1.dpr
@@ -0,0 +1,13 @@
+program Project1;
+
+uses
+ Forms,
+ Unit1 in 'Unit1.pas' {Form1};
+
+{$R *.res}
+
+begin
+ Application.Initialize;
+ Application.CreateForm(TForm1, Form1);
+ Application.Run;
+end.
diff --git a/official/2.20/Demos/testes qmd/Project1.res b/official/2.20/Demos/testes qmd/Project1.res
new file mode 100644
index 0000000..d5a5944
Binary files /dev/null and b/official/2.20/Demos/testes qmd/Project1.res differ
diff --git a/official/2.20/Demos/testes qmd/Unit1.ddp b/official/2.20/Demos/testes qmd/Unit1.ddp
new file mode 100644
index 0000000..4370276
Binary files /dev/null and b/official/2.20/Demos/testes qmd/Unit1.ddp differ
diff --git a/official/2.20/Demos/testes qmd/Unit1.dfm b/official/2.20/Demos/testes qmd/Unit1.dfm
new file mode 100644
index 0000000..5f441f7
--- /dev/null
+++ b/official/2.20/Demos/testes qmd/Unit1.dfm
@@ -0,0 +1,1643 @@
+object Form1: TForm1
+ Left = 170
+ Top = 180
+ Width = 610
+ Height = 350
+ Caption = 'TESTES - User Control - ADO Basic Demo'
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ Menu = MainMenu1
+ OldCreateOrder = False
+ OnCreate = FormCreate
+ PixelsPerInch = 96
+ TextHeight = 13
+ object Edit1: TEdit
+ Left = 16
+ Top = 264
+ Width = 121
+ Height = 21
+ TabOrder = 0
+ Text = 'teste de log'
+ end
+ object Button1: TButton
+ Left = 144
+ Top = 264
+ Width = 75
+ Height = 25
+ Caption = 'log'
+ TabOrder = 1
+ OnClick = Button1Click
+ end
+ object Button2: TButton
+ Left = 296
+ Top = 56
+ Width = 75
+ Height = 25
+ Caption = 'bt1'
+ TabOrder = 2
+ OnClick = Action1Execute
+ end
+ object Button3: TButton
+ Left = 296
+ Top = 88
+ Width = 75
+ Height = 25
+ Caption = 'bt2'
+ TabOrder = 3
+ OnClick = Action1Execute
+ end
+ object Button4: TButton
+ Left = 296
+ Top = 120
+ Width = 75
+ Height = 25
+ Caption = 'bt3'
+ TabOrder = 4
+ OnClick = Action1Execute
+ end
+ object Button5: TButton
+ Left = 384
+ Top = 56
+ Width = 75
+ Height = 25
+ Caption = 'usuarios'
+ TabOrder = 5
+ end
+ object Button6: TButton
+ Left = 384
+ Top = 88
+ Width = 75
+ Height = 25
+ Caption = 'perfil'
+ TabOrder = 6
+ end
+ object Button7: TButton
+ Left = 384
+ Top = 120
+ Width = 75
+ Height = 25
+ Caption = 'log do sistema'
+ TabOrder = 7
+ end
+ object Button8: TButton
+ Left = 384
+ Top = 152
+ Width = 75
+ Height = 25
+ Caption = 'troca senha'
+ TabOrder = 8
+ end
+ object Button9: TButton
+ Left = 384
+ Top = 184
+ Width = 75
+ Height = 25
+ Caption = 'logout'
+ TabOrder = 9
+ OnClick = Action8Execute
+ end
+ object ADOConnection1: TADOConnection
+ ConnectionString =
+ 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=..\Base.mdb;Persist' +
+ ' Security Info=False'
+ LoginPrompt = False
+ Provider = 'Microsoft.Jet.OLEDB.4.0'
+ Left = 56
+ Top = 88
+ end
+ object UCADOConn1: TUCADOConn
+ Connection = ADOConnection1
+ Left = 88
+ Top = 88
+ end
+ object UserControl1: TUserControl
+ AutoStart = False
+ ApplicationID = 'ADOBasic'
+ ControlRight.MainMenu = MainMenu1
+ UsersForm.MenuItem = Cadastrodeusuarios1
+ UsersForm.UsePrivilegedField = False
+ UsersForm.ProtectAdmin = True
+ EncryptKey = 0
+ NotAllowedItems.MenuVisible = True
+ NotAllowedItems.ActionVisible = True
+ Login.AutoLogon.Active = False
+ Login.AutoLogon.User = 'admin'
+ Login.AutoLogon.Password = '#delphi'
+ Login.AutoLogon.MessageOnError = False
+ Login.InitialLogin.User = 'Admin'
+ Login.InitialLogin.Email = 'qmd@usercontrol.com.br'
+ Login.InitialLogin.Password = '#delphi'
+ Login.MaxLoginAttempts = 0
+ Login.GetLoginName = lnNone
+ LogControl.Active = True
+ LogControl.TableLog = 'TesteUCLog'
+ LogControl.MenuItem = logdosistema
+ ExtraRight = <
+ item
+ FormName = 'Form1'
+ CompName = 'Button1'
+ Caption = 'log'
+ GroupName = 'Bot'#245'es Form Inicial'
+ end
+ item
+ FormName = 'Form1'
+ CompName = 'Button2'
+ Caption = 'bt1'
+ GroupName = 'Bot'#245'es Form Inicial'
+ end
+ item
+ FormName = 'Form1'
+ CompName = 'Button3'
+ Caption = 'bt2'
+ GroupName = 'Bot'#245'es Form Inicial'
+ end
+ item
+ FormName = 'Form1'
+ CompName = 'Button4'
+ Caption = 'bt3'
+ GroupName = 'Bot'#245'es Form Inicial'
+ end
+ item
+ FormName = 'Form1'
+ CompName = 'Button5'
+ Caption = 'usuarios'
+ GroupName = 'Bot'#245'es Form Inicial'
+ end
+ item
+ FormName = 'Form1'
+ CompName = 'Button6'
+ Caption = 'perfil'
+ GroupName = 'Bot'#245'es Form Inicial'
+ end
+ item
+ FormName = 'Form1'
+ CompName = 'Button7'
+ Caption = 'log do sistema'
+ GroupName = 'Bot'#245'es Form Inicial'
+ end
+ item
+ FormName = 'Form1'
+ CompName = 'Button8'
+ Caption = 'troca senha'
+ GroupName = 'Bot'#245'es Form Inicial'
+ end
+ item
+ FormName = 'Form1'
+ CompName = 'Button9'
+ Caption = 'logout'
+ GroupName = 'Bot'#245'es Form Inicial'
+ end>
+ LoginMode = lmActive
+ UsersProfile.Active = True
+ UsersProfile.MenuItem = Perfildeusurios1
+ TableUsers.FieldUserID = 'UCIdUser'
+ TableUsers.FieldUserName = 'UCUserName'
+ TableUsers.FieldLogin = 'UCLogin'
+ TableUsers.FieldPassword = 'UCPassword'
+ TableUsers.FieldEmail = 'UCEmail'
+ TableUsers.FieldPrivileged = 'UCPrivileged'
+ TableUsers.FieldTypeRec = 'UCTypeRec'
+ TableUsers.FieldProfile = 'UCProfile'
+ TableUsers.FieldKey = 'UCKey2'
+ TableUsers.TableName = 'testeobjTabUsers'
+ TableRights.FieldUserID = 'UCIdUser'
+ TableRights.FieldModule = 'UCModule'
+ TableRights.FieldComponentName = 'UCCompName'
+ TableRights.FieldFormName = 'UCFormName'
+ TableRights.FieldKey = 'UCKey'
+ TableRights.TableName = 'testeobjTabRights'
+ ChangePasswordForm.MenuItem = rocarsenha1
+ ChangePasswordForm.ForcePassword = False
+ ChangePasswordForm.MinPasswordLength = 0
+ DataConnector = UCADOConn1
+ CheckValidationKey = False
+ Left = 120
+ Top = 88
+ end
+ object MainMenu1: TMainMenu
+ AutoHotkeys = maManual
+ OwnerDraw = True
+ Left = 56
+ Top = 56
+ object Arquivo1: TMenuItem
+ Caption = 'Arquivo'
+ object Abrir1: TMenuItem
+ Caption = 'bt3'
+ OnClick = Action1Execute
+ end
+ object Salvar1: TMenuItem
+ Caption = '-'
+ end
+ object Salvar2: TMenuItem
+ Caption = 'bt3'
+ OnClick = Action1Execute
+ end
+ object Salvarcomo1: TMenuItem
+ Caption = 'bt3'
+ OnClick = Action1Execute
+ end
+ object Fechar1: TMenuItem
+ Caption = 'bt3'
+ OnClick = Action1Execute
+ end
+ object N2: TMenuItem
+ Caption = '-'
+ end
+ object Dados1: TMenuItem
+ Caption = 'Dados'
+ object Importar1: TMenuItem
+ Caption = 'Importar'
+ end
+ object Exportar1: TMenuItem
+ Caption = 'Exportar'
+ end
+ object N4: TMenuItem
+ Caption = '-'
+ end
+ object Vincular1: TMenuItem
+ Caption = 'Vincular'
+ end
+ end
+ object N3: TMenuItem
+ Caption = '-'
+ end
+ object Sair2: TMenuItem
+ Caption = 'Sair'
+ end
+ end
+ object Editar1: TMenuItem
+ Caption = 'Editar'
+ object Copiar1: TMenuItem
+ Caption = 'bt3'
+ OnClick = Action1Execute
+ end
+ object Colar1: TMenuItem
+ Caption = 'bt3'
+ OnClick = Action1Execute
+ end
+ object Recortar1: TMenuItem
+ Caption = 'bt3'
+ OnClick = Action1Execute
+ end
+ object N1: TMenuItem
+ Caption = '-'
+ end
+ object Selecionartudo1: TMenuItem
+ Caption = 'bt3'
+ OnClick = Action1Execute
+ end
+ object N5: TMenuItem
+ Caption = '-'
+ end
+ object AreadeTransferencia1: TMenuItem
+ Caption = 'Area de Transferencia'
+ object Exibir2: TMenuItem
+ Caption = 'Exibir'
+ end
+ object Esvaziar1: TMenuItem
+ Caption = 'Esvaziar'
+ end
+ end
+ end
+ object Exibir1: TMenuItem
+ Caption = 'Exibir'
+ object Zoom1: TMenuItem
+ Caption = 'Zoom...'
+ object Normal1: TMenuItem
+ Caption = 'Normal'
+ Checked = True
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object Grande1: TMenuItem
+ Caption = 'Grande'
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object Ajustarnajanela1: TMenuItem
+ Caption = 'Ajustar na janela'
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object N6: TMenuItem
+ Caption = '-'
+ GroupIndex = 1
+ end
+ object Personalizar1: TMenuItem
+ Caption = 'Personalizar'
+ GroupIndex = 1
+ end
+ end
+ object amanhonormal1: TMenuItem
+ Caption = 'bt2'
+ OnClick = Action1Execute
+ end
+ object elacheia1: TMenuItem
+ Caption = 'bt2'
+ OnClick = Action1Execute
+ end
+ end
+ object Relatorios1: TMenuItem
+ Caption = 'Relatorios'
+ object Relatorio11: TMenuItem
+ Caption = 'bt1'
+ OnClick = Action1Execute
+ end
+ object Relatorio21: TMenuItem
+ Caption = 'bt1'
+ OnClick = Action1Execute
+ end
+ object Relatorio31: TMenuItem
+ Caption = 'bt1'
+ OnClick = Action1Execute
+ end
+ object Relatorio41: TMenuItem
+ Caption = 'bt1'
+ OnClick = Action1Execute
+ end
+ end
+ object Segurana1: TMenuItem
+ Caption = 'Seguran'#231'a'
+ object Cadastrodeusuarios1: TMenuItem
+ Caption = 'usuarios'
+ end
+ object Perfildeusurios1: TMenuItem
+ Caption = 'perfil'
+ end
+ object logdosistema: TMenuItem
+ Caption = 'log do sistema'
+ end
+ object N7: TMenuItem
+ Caption = '-'
+ end
+ object rocarsenha1: TMenuItem
+ Caption = 'troca senha'
+ end
+ object EfetuarLogoff1: TMenuItem
+ Caption = 'logout'
+ OnClick = Action8Execute
+ end
+ end
+ end
+ object UCSettings1: TUCSettings
+ AppMessages.MsgsForm_BtNew = '&Nova Mensagem'
+ AppMessages.MsgsForm_BtReplay = '&Responder'
+ AppMessages.MsgsForm_BtForward = 'E&ncaminhar'
+ AppMessages.MsgsForm_BtDelete = '&Excluir'
+ AppMessages.MsgsForm_BtClose = '&Close'
+ AppMessages.MsgsForm_WindowCaption = 'Mensagens do Sistema'
+ AppMessages.MsgsForm_ColFrom = 'Remetente'
+ AppMessages.MsgsForm_ColSubject = 'Assunto'
+ AppMessages.MsgsForm_ColDate = 'Data'
+ AppMessages.MsgsForm_PromptDelete = 'Confirma excluir as mensagens selecionadas ?'
+ AppMessages.MsgsForm_PromptDelete_WindowCaption = 'Delete messages'
+ AppMessages.MsgsForm_NoMessagesSelected = '!No Messages selected'#161
+ AppMessages.MsgsForm_NoMessagesSelected_WindowCaption = 'Information'
+ AppMessages.MsgRec_BtClose = '&Fechar'
+ AppMessages.MsgRec_WindowCaption = 'Mensagem'
+ AppMessages.MsgRec_Title = 'Mensagem Recebida'
+ AppMessages.MsgRec_LabelFrom = 'De :'
+ AppMessages.MsgRec_LabelDate = 'Date'
+ AppMessages.MsgRec_LabelSubject = 'Assunto'
+ AppMessages.MsgRec_LabelMessage = 'Mensagem'
+ AppMessages.MsgSend_BtSend = '&Enviar'
+ AppMessages.MsgSend_BtCancel = '&Cancelar'
+ AppMessages.MsgSend_WindowCaption = 'Mensagem'
+ AppMessages.MsgSend_Title = 'Enviar Nova Mensagem'
+ AppMessages.MsgSend_GroupTo = 'Para'
+ AppMessages.MsgSend_RadioUser = 'Usu'#225'rio :'
+ AppMessages.MsgSend_RadioAll = 'Todos'
+ AppMessages.MsgSend_GroupMessage = 'Mensagem'
+ AppMessages.MsgSend_LabelSubject = 'Subject'
+ AppMessages.MsgSend_LabelMessageText = 'Message text'
+ CommonMessages.AutoLogonError = 'Falha de Auto Logon!'#13#10'Informe um usu'#225'rio e senha v'#225'lidos.'
+ CommonMessages.ChangePasswordError.InvalidCurrentPassword = 'Senha Atual n'#227'o confere!'
+ CommonMessages.ChangePasswordError.NewPasswordError = 'Os campos: Nova Senha e Confirma'#231#227'o devem ser iguais.'
+ CommonMessages.ChangePasswordError.NewEqualCurrent = 'Nova senha igual a senha atual'
+ CommonMessages.ChangePasswordError.PasswordRequired = 'A Senha '#233' obrigat'#243'ria'
+ CommonMessages.ChangePasswordError.MinPasswordLength = 'A senha deve conter no m'#237'nimo %d caracteres'
+ CommonMessages.ChangePasswordError.InvalidNewPassword = 'Proibido utilizar senhas obvias!'
+ CommonMessages.InvalidLogin = 'Usu'#225'rio ou Senha inv'#225'lidos!'
+ CommonMessages.InitialMessage.Strings = (
+ 'ATEN'#199#195'O Login Inicial:'
+ ''
+ 'Usu'#225'rio : :user'
+ 'Senha : :password'
+ ''
+ 'Defina as permiss'#245'es para este usu'#225'rio.')
+ CommonMessages.MaxLoginAttemptsError =
+ '%d Tentativas de login inv'#225'lido. Por motivos de segun'#231'a o '#13#10'sist' +
+ 'ema ser'#225' fechado.'
+ CommonMessages.PasswordChanged = 'Senha alterada com sucesso!'
+ CommonMessages.BlankPassword = 'Retirada senha do Login %s'
+ Login.WindowCaption = 'Login'
+ Login.LabelUser = 'Usu'#225'rio '
+ Login.LabelPassword = 'Senha : '
+ Login.BtOk = 'OK'
+ Login.BtCancel = '&Cancelar'
+ Login.TopImage.Data = {
+ 07544269746D6170B6790000424DB67900000000000036040000280000007601
+ 0000500000000100080000000000807500000000000000000000000100000000
+ 00009BB5D8007493BA00ACC2E000BBBBBB00CBD9EB007D9BC20051719900F6F8
+ FB00F2F5FA0095B0D500FCFDFE00EDF2F800A7B6BC0055759D00F8FAFC00B1C5
+ E1005979A10089A8D200CDD5D9003E5E88004D7199003D5D8700FAFBFD008888
+ 8800E5ECF500DDE6F200DDDDDD00E2EAF400A5BDDD00405F880042628C0089A6
+ CC008297A0005D7DA500C5D4E900A1B9DA006685AD004569920045679000B4C8
+ E300EEEEEE00BDCEE60099B3D600A9C0DE008BA8CD009EA5B0006181A9006E8D
+ B400D0DCED006989B10099999900809DC40085A2C80044638C00C1D1E8004462
+ 8C008EAACF0091ACD100486890005579A100E7EEF6003E5F890040608A005D82
+ AB00C0CBCF008CAAD400D5E0EF00496C950042618A004A6A93008FACD500D8E3
+ F0004C6C9400D2DEEE007795BD0046668E004E6E960050709700B8CBE400BBCD
+ E500CCCCCC00C8D7EA00648BB2006D93BA0044648E00A2BADB004A6B94009BAC
+ B300708EB5004E6F980085A5CF00DAE4F10058789E0043638D0050759D00506E
+ 9600D6E1EF00F4F7FB00A7BEDE00829FC600FDFEFE0041608B0054749A007A98
+ BF0093AFD600BECFE60044628A00666666004060880086A6D0004C6B92004867
+ 8E00EAEFF700AAAAAA0049688E006C8AB1004D6E940053729A00476690006584
+ AB007290B8005C7CA300333333005F7EA60046648E005A7DA50056779E00E6EA
+ EC0046648C0044444400777777004869920044678E0080A0C900E0E8F3006D8C
+ B3005576A000AAAEB50090ADD5006080A7009EB7DA006486AF00486A93006185
+ AC00F9FAFD004C6A92003C5B85004C6E96006988AF0049699100C6CFDC0093AE
+ D20051729B00597AA30045648B004E6D94004A6992004A6C92004D6D96006786
+ AD00B6BCC40056769E003D5A82003F628B006383A900698DB500555555005A7F
+ A7005B7AA1003A5A8400527399005A7BA200426188004668900039577F007D9F
+ C70047668D00EBF1F8004C6B940087A3CA00405F8600486990004E6D96004C6D
+ 9400222222006287AF0083A3CC00FBFCFD00779BC2004A6A9100D1DDEE005473
+ 9C003C5C87006B8BB20092ADD200D3DFEF00E1E5E900426189006C8BB5008B8F
+ 940045658D005878A00042638B003F5C84005C7BA4001111110084A3CC006183
+ AB00CDD6E1006A8AB3006282AB00808285006787B0006483AC00A5BCDB004061
+ 8A004F5153003E40420043637000FEFEFE0091AED600FEFFFF00758D9600F2F5
+ F5008FA0A900D9E0E200506D7A00EFF4F9005C788300BFD0E700B5C1C60091AE
+ D500E3EBF50069828D00C3D3E900D2DDEE0097B2D700DFE7F300F7F9FC00A3BB
+ DC006F8FB7007B7E830094AFD3007998C1002F3032007396BE00909296008FAB
+ D000686C7100A4BBDA00D2D9E400D9DEE600FEFEFF0088A7D20000000000FFFF
+ FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCFCFCFCFCFCFC
+ FCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB6464640A0A0A0ABBBBBBBBBB16
+ 16160E0E0EEEEEEE07EE0707616161070761070707EEEEEEEEEE90161616BB16
+ BB0ABB0A0A0A0ADB64646464DBDB64FCFFFCDBDB64DBDB0A640A0A0A0ABBBBBB
+ 16160EEEEE07610808E30BB1703C18E886195B47424930045122EA36294F4E27
+ 0F0F0F022B621CEF55558C8C000000ECECECECEC68096868DCDCDC8A8A8A8A8A
+ 8A46464646464646464646464646464646464646464646464646464646464646
+ 4646464646464646464646464646464646464646464646464646464646464646
+ 4646464646464646464646464646464646464646464646EC0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFC
+ FCFCFCDBDBDBDBDBDBDBDBDB64DB640A0A0A0A0ABBBBBBBB16161616160E0EEE
+ EE07EEEEEEEE6107070707EEEEEEEE0E0E0E0E161616BBBBBB0A0A0ADB0A6464
+ DBDBFCDBDBFCFCFFFFDBFCDDDBFCDBDB64640A0A0A0A0ABBBB16900EEE076108
+ 08E30BB1703C181B86195B4742BE3004512236694F4E27270F022B2B1CEF238C
+ 8C0000ECECEC09688A8A46464646414141111111111111111111FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCDB
+ DBDBDBDBDBDBDB6464640A0A0A0ABBBBBBBBBB161616160E0EEE0E0EEEEEEEEE
+ EEEEEEEEEE0E0E16901616BB16BBBB0A0A0A0A0A64DBDBFCFCDBFCFCFCFCFCFF
+ FFFCFCFFDDFFFCFCFCFF0A640A0A0ABB0A1616900EEE07070808E30BB1703C18
+ 1B1B195B604230040422EAE5294F4E270F02022B1C1C558C8C0000ECEC6868DC
+ DCE78A464646414141414111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCDBDBDBDBDBDB
+ DBDB64640A640A0A0ABBBBBB161616160E0E160E0E0E0E90EE0E0E9090901616
+ 161616BBBBBB0A0A640A0A64FCFCFCFCFCFFFFFCFFDDFFFCFCFFFFFFFCFFFCFF
+ FCDBFCDBDB0A0A0A0ABBBB16160E0EEE616108E30BB1703CE81BED5B47604930
+ 04512236E54F4E270F0F022B621CEF238C8C00ECECEC6809DCDC8A4646464641
+ 4141114111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB640A0A
+ 0A0A0ABBBBBBBB1616161616160E0E169090161616161616BBBBBBBB0ABB0A0A
+ 640A64DBDBFCFCDBFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFCFCFCFCFFFCFC0A0A
+ 0A0ABB1616160EEE07610808E30BB13C3C1B86195B4742BE3004222236294E27
+ 270F0F022B1CEF558C8C8C00ECECEC68DCE7DC8A464641414141411111111111
+ FD11FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB64640A0A0A0ABBBBBB
+ BBBBBB1616161616161616161616BBBB0ABB0A0A0A0A0A64FC64DBFCFCFCDDFC
+ FFDDFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFDDFCFFFCDDDB64640ABBBBBB160E0E
+ EE076108E30BB1703C181BED194760493004512236E54F4E270F0F022B621C55
+ 238C8C00ECECEC096868E7464646414141414111111111111111FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FCFFFFFCFCFCFCFCFCFCDBDBDBDBDBDB64640A0A0A0A0ABBBBBBBBBBBBBBBB16
+ BBBBBBBBBBBB0ABB0A0A0A0A640ADBDB64FCFCDBFCDDDDFCFFDDFFDDFFFFFFFF
+ FFFFFFFFFFDDFFFFFFDDFFFCFFFCDBDB64640ABBBBBB16900EEE070808E30B70
+ 703CE81B195B4742BE300451EAE5294F27270F022B2B1CEF558C8C0000ECECEC
+ 68DC8A8A464646464141414111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFCFC
+ FCFCFCFCFCDBDBDBDBDBDB64640A0A0A0ABBBBBBBBBBBBBBBBBB0ABBBB0A0A0A
+ 0A0A0A0A646464DBFCFCDDDBDBFCDDFCFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDBDB640A0ABBBBBB16900E07070808E3B1703C181BED194760
+ 493004512236694F4E270F02022B1C1C55238C00ECECECEC6809DC8A8A464641
+ 414141411111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFFFCFCFCDBFCFCDB
+ DBDBDBDBDB64640A0A0A0A0A0ABBBBBBBB0A0A0A0A0A0A0A0A0A0A64DBDBDBDB
+ DBFFFFDDDDDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFC
+ FC64640A0ABBBB16160EEE070808E30BB1703CE81BED5B4742BE300422EAE529
+ 4E27270F022B621C55238C8C00ECECEC0909DCE78A4646414641414111111111
+ 1111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCDBDBDBDBDBDB6464
+ 640A0A0A0A0ABBBBBB6464640A0A0A6464DB0ADB64DBDBFCFFFFFFDDDDFFFFFF
+ DDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFFDDDBFC640ABBBB16
+ BB0E0EEE070808E30B703C181B86194760C33004512236694F4E270F02022B1C
+ 1C55238C0000ECEC0968E7E78A8A41464141414141111111111111FDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A
+ 0A0A6464640A0A6464DBDBDBFCDBDBFCFCFFFFDDDDFFDDFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFCFCFC64640ABB16160EEE076108E3
+ 0BB1703CE81B195B47423004042236E54F4E270F02022B621C55238C00000909
+ C239382C1FCE85AF3305F3F5015353F5AF8585BC53B93F3F3FA7993B885E5E98
+ 98981414438E599E434343145E5E98593F52B9A7251E3D3D653E3E3E3E3E3ED7
+ 1E1E1E5D545D5DCA3E1E1E3B3B5DD7C03ED7A38E434354A365D7D76565D7D765
+ 6513153E3EC092AE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A6464646464
+ FCFCFCFCFCDBDBFCFCFFFFFFFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFCFCFCDB0A0A0ABB16160EEE070808E3B1703C181BED19
+ 4760BE3004512236694E270F0F022B621C558C00EC0997381F1F346333670101
+ F02F318DCF2EA7A78F52A5B97D14934393438E258E568E8E8E8E254325251459
+ 1414143B3FB93FA75E5E5E5E93985943438E8E25252525252676767683838326
+ 6554267DA78E263E3E3D15A33DA33D3E3D3D3D3D3D3D3D3D3E133D1E1E1592AE
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCFCFCFCDBDBDBDBDBDBDBDBDB646464646464FCFC6464FC64FCFCFCFCFCFCDB
+ FCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFF
+ FFFFFCFC64640A0ABBBB160E0E07610808E3B1703CE81B195B60C3BE04512236
+ 694F4E270F022B62D6558C002AF297382CB3633367677858319FA42E7BA8A87B
+ 21C9660648B5B53A4B4B8035CA6A6AC5353E1D1D3E1D3E1ECA268E883B3B4325
+ 26262654542626262626262626252525562543255EA77D5E2525262626262626
+ 252626262654262554252525431443255D1E2606433DA9A90000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE11212FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFF1212E1FFFFFFFFFFFFFFFFFF1212E1FFFFFFFFFF
+ FFFFFFFFDF121212FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE11212
+ E1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBFCFC
+ DBDBDBDBDB64646464646464FCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFF
+ DDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFDDFCFCFCFC0A0A
+ BBBB16160EEE610808E30B703C181BED194742BE300422EAE54F4E270F0F022B
+ 1C5523002A09C2382CB36333674A0158879F9F2E7B5CA10D21A1064D48BDBD72
+ 809A3535C56C6C6C13131D44441D1D3E1D1ECA438E263D3D3D3D3D1313131313
+ 3D131313133D3D3D3D3DA3A3435E435DA33E3D3D3D3E3E3EA33EA3A3A3D7A354
+ 5426268E5E88592665D75D765D3D15A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE120DADADADADAE940FFFFFF12DADA0C
+ FFFFFFFFFFFF0CDADADADADADADADEFFFFDADA12FFFFFFFF0CDADADAFFFFFFFF
+ FFFFE0DADADADAE440FFFFFFFF40E9DADADADADA20E1FFFFFFFF12DEDADADADA
+ DADE12FFFFFFDADADEFFFF7FDADADEFFFFFFDFE0E2DADADADADEFF12DADADADA
+ DADADADAFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB
+ DBDBDBDBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFC64646464BBBB160EEEEE61
+ 08E30BB1703CE886194760493004512236294E270F0F022B62D6238C2A09F239
+ 381F6333054A0158879F772E7B5C5CA1210D4C9B91726F6FC8C83535CA6AC5C5
+ 1D6C6C1DB41D6C6C1D3E5D4354A33D1E653E3E1D3D3D3D3D1313131313131313
+ 15133D3D8E14263D3D1315C015151515C0C0151313133DD7151315A343935492
+ 133D3DC0C0133DA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFE6E2DADAE00C57E4DADAE0FFFF7FDADA0CFFFFFFFFFFFF0CDA
+ DAE9DEDEDEDE57FFFFDEDA12FFFFFF7FDADADADAFFFFFFFFFFFFDADE0C0CE4DA
+ DA7FFFFF57DADAE2570CE0E2DADAE6FFFF12DADADA200CE0DADADA40FFFFE4DA
+ DEFFFF0CDADAE1FFFFE1E2DADA200C0CE0E4FF12DADAE4DEDEDEDEDEFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFDDFCFFFCFC6464640A64BB16160EEE070808E3B1703C181B
+ ED5B47C33004512236694F4E270F022B62EF238C0009F239381FB36305674A58
+ 2F9F772E21A1100D21BF5F9B9B91BD6FC8C83535CA6A6AC56A35441D1D1D6C1D
+ 15C0359E5DD71D441D1D1D131313131313131515151515151313C01526595465
+ 653E131515151515C0C0C0C0C0C0C0159215C0151E5D3E13C015C0A9921515AE
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FE2
+ DAE97FFFFFFFFFE0DADA40FFFFDADA0CFFFFFFFFFFFF0CDADAE6FFFFFFFFFFFF
+ FFDEDA12FFFFFFDEDADADADAFFFFFFFFFFFFDFFFFFFFDFDADA0CFF40DADAE0DF
+ FFFFFFDFE9DAE27FFF20DADA0CFFFFFF12DADADEFFFFDEDADEFFFFE4DAE0FFFF
+ FFE9DAE2E1FFFFFFFFFFFF12DADAE0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFCFCFCFCFCFCFCFCDBFCDBDBFCDBFFFFFCFCFCFCFCFCFCFFFF
+ FFFFFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFCFCFCFCFC64640ABBBB160EEE076108E30B703C181B86194742BE300422
+ EAE54F4E270F0202621C558C8C2A099739382CB3343333674A78589477A85C75
+ CC754D4D0606065F4D4D4D4C4C4C4C4C9191919191913AC83792449E3E151D13
+ 1D1D1D1D1D1D1D1D1D1D1D13131313151D13C092764565653E13131513131313
+ 131315151515C092921315C03D651E5415C092C0151592AE0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0CDADA7FFFFFFFFFFFFF
+ DEDAE4FFFFDADA0CFFFFFFFFFFFF12DADA0CFFFFFFFFFFFFFFDEDA0CFFFF40DA
+ DA0CDADAFFFFFFFFFFFFFFFFFFFF40DADAE6FF20DAE4FFFFFFFFFFFFDFE2DAE0
+ FFDEDADADFFFFFFFFFE4DADAFFFFDEDADEFFE6DAE2DFFFFFE1DADAE6FFFFFFFF
+ FFFFFFFFDADADEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFCFCFCFCFFFCFCFCFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFFFFFCFC6464
+ 640A0ABB160E0EEE070808E3B1703C1B86195B6049300451EA36694E270F0202
+ 2B1C55238C2A09F2C2382CB3346305674A4A017873A4C975CCBF4D0D0D667506
+ 4C4C4C9B4C4C9B4C064D9B9B4C9B4C4C9B131E593E1D373735353535357C7C4B
+ 54545454543535353737543EB69C1D1D3E1D13133E6565653E3E3E3E3E653E1D
+ 131392C03D3E13133DC092151315C0A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFDEDAE9FFFFFFFFFFFFFF0CDADA7FFFDADA0C
+ E1127FFFFFFF12DADAE012121212DFFFFFE0DA0CFFDFE4DA20E1DADAFFFFFFFF
+ FFFFFFFFFFE6DADAE9FFFFDADA57FFFFFFFFFFFFFF20DAE4FFDEDADAFFFFFFFF
+ FFDEDADAFFFFDEDADEFFE4DA0CFFFFFF0CDADADFFFFFFFFFFFFFFFFFDADAE912
+ 1212127FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFC
+ FCFCFCFCFCFCFFFFFCFFFCFFFFFCFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCDDFCFCFC64640A0ABB1616EEEE
+ 076108E3B1703C181BED5B60423004512236294E4E270F022B62EF2300002AF2
+ 97382C1FB33405336767582F8794C9BF210D98A10D755F744D4D4C4C4D4C4D4D
+ 4C48489B48B5BD4C06131E593D1D767C353535359A8080C854547C7C7C545435
+ 3735833E984BCBCB1E1E65651E1E1E1E651E1E1E1E5D3765371E3D3D1E3E9292
+ 3E15C013131513A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFDEDADEFFFFFFFFFFFFFF12DADA12FFDADA0CE2DADAE4E1FF12DA
+ DADADADADADA12FFFF0CDA0CFF0CDAE27FFFDADAE1FFFFFFFFFFFFFF0CDADAE9
+ DFFFFFDADA0CFFFFFFFFFFFFFF0CDADAFFDEDADAFFFFFFFFFFDEDADAFFFF20DA
+ DEE6DADA2012FFFF0CDADAFFFFFFFFFFFFFFFFFFDADADADADADADA0CFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCFCFCFCFFFFFF
+ FFFFFFFCFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFDDFCFFFCFC640A0ABBBBBB16EE076108E30BB13C18
+ 1BED5B4742BE040422EA694F4E270F022B62EF238C002A09C2F7381F1F1F63B3
+ B33401785831C9A121A10DC97EAA4D4C4C4C4C4C4C4C4D4C9B5F7E21104C6E4C
+ 0D444BBF3E1D76809A35CACACACACA355454C8C8C8C85454C8C8483E0D541D13
+ 1E1E653E3E3E3E3D651E1E651E1E1E3E1D1E653D3E139213133E3E13131313A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20DA
+ E4FFFFFFFFFFFFFF12DADA12FFDEDA571240E9DAE2DF12DADADE0C0C0C0C7FFF
+ FF0CDA577FDADA0CFFFFDADA12FFFFFFFFFFFFE0DADAE0DFFFFFFFE2DAE0FFFF
+ FFFFFFFFFF0CDADAFFDEDADAFFFFFFFFFFDEDADAFFFF0CDADEE1120CE2DA57FF
+ 0CDADA7FFFFFFFFFFFFFFFFFDADAE40C0C0C0C12FFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFFFFFFFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFC
+ FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFF
+ FFFFFFDDFCDDFC6464640A0ABBBB160EEE070808E3B1703CE81B194760493004
+ 2236E54F4E270F02022BD6558C000009F239381F1F2C3333676778585873100D
+ 215C66A80D664D5F066E4D4D4D0674AA9B21F031AB484C06BF1E26BF3E133AB0
+ 6F446C9A541E5454353A76C6D1B6767C6F9545CAC9D713151E445D4465443D3E
+ 655D651E4BD5761DCACA351E3E15C0153E15C0133E1315A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6DADA12FFFFFFFFFFFF
+ 57DADADFFFDEDA0CFFFF7FDADAE612DADA0CFFFFFFFFFFFFFF0CDADEDEDAE4FF
+ FFFFDADA12FFFFFFFFFF12DADAE0FFFFFFFFFFE0DAE2DFFFFFFFFFFFFFE9DAE9
+ FF0CDADA12FFFFFFFF0CDADAFFFF0CDADEFFFFFFE6DADA7F7FDADA0CFFFFFFFF
+ FFFFFFFFDADADEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFCFC
+ FC640A0A0ABB160EEE076108E3B1703CE81BED5B60493004512236294E270F02
+ 022B1CEF2300000997C2382CB32CB33463334A7858C1C90D79C9AA1010A87E5C
+ 754C75064D4D744D0D242EB74D4C4C06754426BFD71D953A3AB54BCA543E3A76
+ 9CC875D4213A3A243A9145357ED7131D5D3E3E3E1D13543E1E1E1E3D9EC6BF54
+ 9A35351E3E1515136513C0C0151313A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFDFE2DAE9DFFFFFFFFFE1E2DAE0FFFFDEDA0C
+ FFFFDFDADA0C12DADA0CFFFFFFFFFFFFFF0CDAE2DADA12FFFFFFE4DA12FFFFFF
+ FFFF0CDADAFFFFFFFFFFFF12DADAE0FFFFFFFFFFE6DADAE6FF0CDADA12FFFFFF
+ FF0CDADA12FF0CDADEFFFFFF40DADA12FFDEDADA12FFFFFFFFFFFFFFDADADEFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFC64640A0ABB160E
+ EE076108E30B703C181BED5B47C33004512236294F27270F022B62EF23002A09
+ 09C2382C1F2C386363054A017887A8BF7B10065C5C0DAA66664D66754D064D06
+ AA2E24AA4C4D0D4D063E26BF3E3E9C9CC8B5CA6C76548335443A0DCC45542ED5
+ 95484584BFD7134454831E13761D5D1E5D9265452EC698544BC8351E1D15133E
+ 653E15C0153E3EA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFF12E2DAE40C121257E2DAE2DFFFFFDEDADE0C0CDEDADA4012DA
+ DADE0C0C0C0C0C7FFF40DADADA20FFFFFFFFDEDAE6FFFFFFFFFF40DADA201212
+ 0CE1FFFF0CDADADEE61240E0DADADEFFFF0CDADA12FFFFFFFF0CDADA12FF0CDA
+ E40C0C57E2DADADFFFDFE9DADAE040124057E1FFDADAE40C0C0C0C0C12FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFC640A640ABB1616EE076108080B7070
+ 181B861947423004512236694F27270F022B62D6230000EC0997F72C1FB33834
+ 056701787887CC0D79AB4DAB215C5CA16606AAAA4D4D4D060101F3C1A84C6606
+ 061DAD986C44959C9A95449A7676761E1E567D7D84B7F0069148953A063E1337
+ 5D1E5D13763E443E54C05488D12F983A6FC835441D151D1E3D3E3E133D653EA2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ E1DEDADADADADADADEDFFFFFFFDEDADADADADADAE0FF12DADADADADADADADA12
+ FF12DADADA7FFFFFFFFFDEDA0CFFFFFFFFFFFFE0DADADADADA7FFFFFFF40E4DA
+ DADADADADA57FFFFFF0CDADA12FFFFFFFF0CDADA12FF0CDADADADADADAE2E6FF
+ FFFFDFE0DADADADADADA12FFDADADADADADADADA0CFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ DDFFFFFFFFFFFFFCFCFC640A0ABB16160EEE070808E3B1703CE886194742BE30
+ 042236694F4E270F022B62EF238C00EC09C2F72C1FB3B36367670101782FCC0D
+ 10794D2121A15CAAAAAA4D4D064C4C064D7E797B945C9B4D061D9598131E763A
+ C83A449544541D54C8138806A3AD9826914895569E1D153576924B1E3E5D543E
+ 155D83982E4AD47B6FC81E3E13151D1E3D3E3D13133E3DA20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FE60C0CE67F
+ FFFFFFFFFFE112121212127FFFFFDF1212121212121212DFFFDF1212E1FFFFFF
+ FFFFE1127FFFFFFFFFFFFFFFE10C0C0CE1FFFFFFFFFFFFE10C0C0C40DFFFFFFF
+ FF7F1212DFFFFFFFFF7F1212DFFF7F121212121212FFFFFFFFFFFFFFDF400C0C
+ 0C40DFFF12121212121212127FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
+ FF64640A640ABB160EEE070808E3B1703CE88619476049300451EAE54F4E270F
+ 020262D6558C002A0997F7381FB3343305674A0178C121A15C794D7910667BAA
+ 75790D4DAA4C4C06AA064C6E0D7506AA981D45061335763A4844443A1EB21E76
+ 3A4B764B563A7648919B9593563D157C5D4B5D13441EC01E65541E5476983AC8
+ 6FC81E3E1315134465131515151513A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFCFFFCFC64640A0ABB16
+ 0EEE076108E3B1703CE81B195B4749300451EAE54F4E270F022B2B1C55238C2A
+ 09F239381FB3343305676701782F8BA1C9AB4D211021019F0D2FA4AA66064D06
+ AA4CA1AA4D74664CBF1D43981354769CC8C8D101F0D19E1D3EB2443A453A453A
+ 6E4C9506831D15763D8313831E44541E3D15135D3A761E3A4B8035441D151365
+ 6513131E1E1315CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCDDFFFCDB64640ABB1616EE076108E30B70
+ 3C181BED5B47C330045122E5294E270F02022B1C55238C00099738382CB33463
+ 05674A0178782EA199CC06215C210558A1F32FBF66AA4D4D4C75AA4D5C4D0610
+ BF1D4898134B3A913AC5940D7676C8837C7CA87B3A9C3A486E4C45983A1D1576
+ 3A1376D15DB2C6761E1E5D15765454354B80351E1D15133E3D151E833A65C0A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFDDDDFCFFFCFCFC640A0ABBBB16EEEE6108E30BB170181BED5B474230
+ 0451EA36294E272702022B62558C8C2AEC9739381FB3343305674A01782FD5C9
+ 79A866A8109F874A8DC6F30DA10D4D66AA666666AA06BFA1A11D9EBF549A9C3A
+ 83D7F578787BBDBD5648D4C90DD276833ABF76C94B441D761E769CC65978B67C
+ 54351E5D54545476763A1D761315374465153DD13E1365A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFF
+ FFFCFC64640ABB16160EEE610808E37070181BED5B4742300451EA36694E270F
+ 02022B62EF8C8C002AF239F71F1FB36333054A017858775CAB8B06791078A4C1
+ 0521587779A1A8A85C5C5C5C0DAA66A10D15C999A34B9C3A4B83F0BF5966486E
+ AA4CD198CC109E839C9EADD2C81E443A54139EF3C6785FB695764B4B4B5D5D5D
+ 763AC83A1E445D44156583D41E3E1EA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFFFCFC646464BBBB
+ 160EEE070808E3B1703CE886194742BE04042236694F27270F022B1CD6238C2A
+ 09F2C2381FB3B3633305674A01F024107B2FA1AB7901AB2E0599D42410107966
+ 5C5C5C5C7E0D0DA10DD78F2ECA95569148B6016701774D100D4CD24810065945
+ 595643A5AD54C8953E9EC9CC88C6CC83599EB2B2453A767654358335D7441E3E
+ 135D59995D76B26F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC64DB640ABBBB160EEE070808E3B1
+ 703CE886194742BE30512236694F27270F022B1CEF238C002AF297382C1F3463
+ 3305674A015824A8CF2F7BC9102E0D10C9BF107E66ABAB105C5C5CA8105C5C10
+ BF458F8BAD9D6E6E9E3A065906AA9D0D0DAA0D06BF9806599893143143C8C876
+ 48567DF0317B59594C9E489E48569C9C45959826C8C84B848399F57899454B6A
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFDDFFFFFC64646464BBBB160E0E076108E3B1703CE886194742BE
+ 04042236694F4E270F022B62EF23000009F239382CB3343305674A4A78879F8B
+ 249FCF7E7E0DAA664D754D064D4DB7664D4C4C4D06060606459E0D06B5843A3A
+ 959B48B03A984C934C4D954C9D4D9E4C4343933B43C85454CAD7CA3ACA845426
+ 3A6F6F3A833A3A3A4B26AA8444D7A3D7543D1E44545D37B40000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
+ FFFCFCFC640A0ABB160E0E076108E30B703C181BED5B604930042236694F4E27
+ 0F022B1CEF23002A0939382C1F3433054A0158879FA47B21CCA10DBFB7489195
+ 91726F4856987DC972B09AB06FB0B0B04445C835AD9A9A6FB0356A953A4B4C3B
+ 3A6F9AC84B9A4BC835268326434B544B54CAD7CACA985E43C89ACA9A9A353554
+ 4B9598B76FC89ACA3D5D76B6833E1D6A0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFC64640A0ABB
+ 1616EE070808E3E3B1703CE81B1947C3300422EA694F27270F022B1C5523002A
+ F2C2382C1F3433676701583194778B7BCC5C0D6606065F9B6E6EBD3AC8067B8E
+ 6EB5B0B0B0C880804435CAC5C89A6AB09AB09A80C53599A79572729A6F35C835
+ 1E35C8CA26C8354B6ACA4B1D440D7D8E6FC89A9A35CA1E35C580C83A35C5CA6C
+ 3D767610597613AE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFCFC640A0ABB160EEE0761610808
+ 08E3E3B17018ED4749045136694F4E270F022B1C5523002A0939381F1F343367
+ 677858739FA47BA85C5C0D4C5F9B9191726E72C826563B846E729A9A80356A6A
+ 801D4B356A80AC806A9A6AC8D73D3B8872726F806A806A6A35441E543E354435
+ B01D6FCACAAD7E95B56FC89A9ACACA353580CBC8AC6A4B353D7615BF76541ECB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDDFFFCDDFC0A0A0ABB160EEE07076107EE0E0E0EEE0708B11B
+ 473051EAE54F4E270F022B1C5523002A0939381FB33433674A015873772E8BCC
+ 5C66665F5F4C6F953A72B03ACAB73B546F3A1D806AB4C580B0B46AB46FB46AB4
+ 449A1D4435157D9880B09A8080C5C5C57C15443735351D351D441DCA1E4B0635
+ 6F6F44C8445D1D3E1D443E44541E1DC81E443E4BC81E54CB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
+ FCFFFC6464640ABB160EEE07077F71176B818181170316081B4204EA694F4E27
+ 0F022B1CD623002A0939381FB36333674A0158872F739F777B9F7BA81066A14D
+ 9B483AC815837ECAB43A3A6EC84C6F95484806486E4806483A953A6FC8152193
+ 6CB09A6ACBC5657C44351D5415C854547C541EC8D73A4844CA6FC515A95D3544
+ 1D3A35443E1E44C01E441D351E1D35CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFC6464640ABB
+ BB0EEE070781FEFEFEFEFEFEFEFEA60AE31904EAE54F4E270F022B621CEF8C00
+ EC97381F1F63333305676778788773739424A4249F79C9AB5C5CBF486C43AB84
+ 80064C4C9B5F664C485C065F5C0D6E5F4D4C75064C448F43B46A6F4B959C3AB2
+ 9CB2B29CB6B61D459C6F6F8ECA4C3A1DCACA6C9A4B4B1D1D1EC03A4B153A159C
+ 35441D4413C044A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC640A64BB160EEE0707CDFE7A
+ 82D36BCDFEFEFE17EE1B3022E5294F4E270F0F022BD655002A97381FB3343333
+ 33674A01015887947377247B7B2E218B10ABA806A34899CA954D489BAA48664C
+ 754D75BF064C75A10D454D9806CA8F26CA3548C8B2445D54C8543A359E35483A
+ 954B4593AD0D351D1DCAC56C1D134445761E1D833E3E3E1D351E1D3EC09244A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFCFC64640A0ABBBB160EEE07D312610808E3C4F4FEFEB8
+ 163C495136E5E56969294F4E270262232AF2381FB334333305670505782F8794
+ 942424014A947B7EA8A8CC98D75699A3B5484C0DAA774D669B7506664A78D1C6
+ 779E4C98BF3524841D3A6E541E3A75B676563A563A54F021BD4B45483AA1C51D
+ 6C4BC54410D5BF131D35BF4859D10D5D35353E3E15C044A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFF
+ FCDDFCDBDB64640ABBBB90EE07616161616108E3F6FEFEFEBB70425122220430
+ 604242490436271C0009F71F1F3433330505336301C1C1949F24335831059458
+ 79AB21A1CA437D844B0D0648D4A8F04C0D4CAABFF0F30188787E060DBF268DAD
+ A94CC85676D478884B3A3A8376450DF05F6E489DB598356A6CB0CA6CBF990676
+ 764483D1313A44445D5D3E3E131535A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5003030328FFFFFFFFFFFFFFFF
+ FF5003031AFFFFFFFFFFFFFFFFFF280303031AFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFF1A03030328FFFFFFFFFFFFFFFF28030350FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A030350FFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFF50030328FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A03031AFFFFFFFFFFFFFFFFFFFF
+ FF28030350FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF030303FCFC6464
+ FC0A16EE0761EE1A030316EE12FEFEFE50B1600404428670E68903890B1B0402
+ 23EC381F34343333336767670578873131948B01F301F52E215C990DD73A99CA
+ BD4C064C66F0AB0D740DBF9E8DF30501D20D4D9859842ECA6C5935B29C244A83
+ 45C83A7659C926F0064CB7959D4D9A6AC89ACA562E103A44C0440DD2249C354B
+ 5D351D1D15135DA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFF03A6FEFEFEFEFEFEB86B1AFFFFFFFF6BFEFEFEFEFEB871FF
+ FFFFFFFF17B8FEFEFEFEFEFE17FFFF03FEFEFE28FFFFFFFFFFFFFFFFFFFFFFFF
+ FFFF036BCDFEFEFEFEFECD32FFFFFFFF717AFEFEFEFECD6B28FFFFFFFFFEFEFE
+ 03FFFFFFFFFF81FEFE17FFFFFFFF6BFEFEFEFE82FF03FEFEFE28FFFFFFFFFFFF
+ 286BCDFEFEFEFE7A71FFFFFFFF03FEFEFEFFFFFFFFFFFFFFFFFF17FEFEFE03FF
+ FFFFFFFFFFFFFFFF71B8FEFEFEFE3217FEFE81FFFFFFFF037AFEFEFEFEFE17FF
+ FF03FEFEFEFFFFFFFF81FEFECD50286BFEFEFEFEB8FCCDFEFE03BB0E615081FE
+ FEFECD17BBFEFEFE03B147EB47A0A6FEFEFEFEFEFEB8D04E2309381F34343333
+ 336733673487942F24A424F0317B7B7D215CAB5CCA8399A33A0606AA31A49F06
+ 667445BFD4054A7B4D4D060D4D56CFCA3E453A3A76B2013A564BCA3A932E01D2
+ 484848B5B7486AB49AC844C8CCA13A3E1E35C8C9D54476765D1E1315C01D54CB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B
+ FEFEFEFEFEFEFEFEFEFEFE32FFFFFFB8FEFEFEFEFEFEFE71FFFFFF81FEFEFECD
+ 8181CDFE81FFFF03FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF286BFEFEFEFEFEFE
+ FEFEFE81FFFFFF6BFEFEFEFEFEFEFEFECD50FFFFFF7AFEFE03FFFFFFFFFF82FE
+ FE17FFFFFF71FEFEFEFEFE81FF03FEFEFEFFFFFFFFFFFF50CDFEFEFEFEFEFEFE
+ FE6BFFFFFF50FEFEFEFFFFFFFFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFFFFFF1A
+ CDFEFE8117173203FEFE81FFFFFF32FEFEFEFEFEFEFE81FFFF1AFEFEFEFFFFFF
+ 71FEFEFE32FF82FEFECD8217822881FEFE030A9050CDFEFEFEFEFEFE6BFEFEFE
+ 030B5B47E0CDFEFEFEF4D9F4FEFE2D272309381FB363333305674A67012FC194
+ 9F772E944AF02179795C10A1444B885DC8754D75BF7E4C064C4C9B06107821C9
+ 4D4D66665993ABC81D455654543A3A54B09A4B6F5624F00D5F48834806543E1D
+ 5D54351E1E351E1E3DD78399064B44765D5D139213653ECB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFEFE6B71033281
+ FEFEFEFE03FFFF827128FF1A7AFEFEA6FFFF17FEFECD17FFFFFFFF1A32FFFF03
+ FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF7AFEFEFECD82710303176B7AFFFF71FE
+ FEFE1728FF037AFEFEB828FFFF81FEFE71FFFFFFFFFF17FEFE82FFFFFF17FEFE
+ FE03FF71FF03FEFEFEFFFFFFFFFFFF7AFEFE7A03FF2817FEFEFE17FFFFFFFEFE
+ FEFFFFFFFFFFFFFFFFFF03FEFEFE03FFFFFFFFFFFFFFFF17FEFEB8FFFFFFFF1A
+ FEFE7AFFFF1ACDFEFE7A71FFFF1A32FFFFFFFEFEFEFFFF28B8FEFE6BFFFFCDFE
+ FE32DDDDDB646BFEFE710A1681FEFECD32EEC4D3FEFEFEFE030BEDFACDFEFE81
+ 9647305151E0E0028C09381F34B3330505674A0178878731249FA4A4247B108B
+ 10AB21BF35450D546EAA744859069E0606BD594C48C9064C4DAA75754D14211D
+ 54487676543A353A3A9A4BCA3A59453A95B25643BF541D929C3E441D761D5D35
+ D7541E35134B3A541E1E3DC01D4465CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF7AFEFEFE17FFFFFFFFFF6BFEFEFE6BFFFFFF
+ FFFFFFFF82FEFEA6FFFFB8FEFE17FFFFFFFFFFFFFFFFFF1AFEFEFEFFFFFFFFFF
+ FFFFFFFFFFFFFF17FEFEFE8128FFFFFFFFFFFFFFFFFFB8FEFE17FFFFFFFF28CD
+ FEFE17FFFF81FEFE17FFFFFFFFFF17FEFE81FFFFFF17FEFEB8FFFFFFFF1AFEFE
+ FEFFFFFFFFFF32FEFECD28FFFFFFFF17FEFECDFFFFFFFEFEFEFFFFFFFFFFFFFF
+ FFFF03FEFEFE03FFFFFFFFFFFFFFFF17FEFE7AFFFFFFFFFFFEFEFEFFFF17FEFE
+ CD28FFFFFFFFFFFFFFFFFEFEFEFFFF82FEFEB828FFFFFEFEFE71FFDD646417FE
+ FE170A7FFEFEFE3290E3703CD3FEFEFE03E31BC7FEFEB8C4190436294F4E0F2B
+ 8C2AC21F3434333305674A017887C19F9F9FA48B8B21797B5C797BBF35565E54
+ C84D664C750659590D6EBFAABF1010994D660666B798211D92483A4576453E3A
+ C86E4B9D459A4583B2594C83C9C81EC5441E4B5D5D131D3ED73ED74B3E441E54
+ 1D1E3E133E3E3DCB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFEFEFEFEFFFFFFFFFFFF28FEFEFEB8FFFFFFFFFFFF71CDFEFE71
+ FF50FEFEFE28FFFFFFFFFFFFFFFFFFFFFEFEFE03FFFFFFFFFFFFFFFFFFFFFFCD
+ FEFEB828FFFFFFFFFFFFFFFFFF1AFEFEFE1AFFFFFFFFFF82FEFE81FFFF17FEFE
+ 17FFFFFFFFFF17FEFE81FFFFFF71FEFE7AFFFFFFFFFFFEFEFE03FFFFFFFF6BFE
+ FE6BFFFFFFFFFF28FEFEFE03FFFFFEFEFE03FFFFFFFFFFFFFFFF03FEFEFE03FF
+ FFFFFFFFFFFFFF1AFEFEFEA61AFFFFFFFEFEFEFFFFA6FEFE6BFFFFFFFFFFFFFF
+ FFFFFEFEFEFF50FEFEFE50FFFFFF6BFEFECD32FFFCFC17FEFE170A03FEFEFE28
+ 070B18E818B8FEFE0308E8D8FEFE820B4704223636694F0FD600971FB3343333
+ 330501782F582F9494772E2E2E778BA8AB10107ECA8399264D4D4D0694F0774C
+ 4C0D4C749F78D5C6934D5F0D95AB999C765935C8CCD4BF4B4CACB5C8458BC976
+ 9C5643AD7D4B35353A5444C910CC834B26458821593E1576445D1E3E653E1DB4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFE
+ FE7AFFFFFFFFFFFFFF7AFEFEFEFFFFFFFFFF82FEFEFE17FFFF03FEFEFEFFFFFF
+ FFFFFFFFFFFFFFFFFEFEFE03FFFFFFFFFFFFFFFFFFFF03FEFEFE32FFFFFFFFFF
+ FFFFFFFFFF03FEFEFEFFFFFFFFFFFF03FEFEFEFFFF17FEFE82FFFFFFFFFF03FE
+ FE7AFFFFFF03FEFEFEFFFFFFFFFFFEFEFE03FFFFFFFF81FEFE17FFFFFFFFFFFF
+ 81FEFE17FFFFFEFEFE03FFFFFFFFFFFFFFFF03FEFEFE03FFFFFFFFFFFFFFFFFF
+ 32CDFEFEFE7A825081FEFE50FF81FEFE17FFFFFFFFFFFFFFFFFF81FEFE507AFE
+ FE17FFFFFFFF2881FEFEFECDA63271FEFEA60A03FEFEFE6407B1181B1BD8FEFE
+ 170818D9FEFE17613C86195B191947040F8C972CB33463050567014A4A582FC1
+ 87949F778B8B2E211010A15C3593A58E6F4C759B2EF0871010060D7B2105F32E
+ 934C5FA1B5A521B21E483A547BD51006BD7EA1BF4DAB24B23A839E06314C4B76
+ 1E443AD424CCB2984310D4993A1E3E3E5476541E5D5D5D9A0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE81FFFFFFFFFFFF
+ FF81FEFEFEFFFFFF2881FEFECD71FFFFFF03FEFEFEFEFEFEFEFEFEFEFEFEFFFF
+ FEFEFE03FFFFFFFFFFFFFFFFFFFF17FEFEFE1AFFFFFFFFFFFFFFFFFFFF03FEFE
+ FEFFFFFFFFFFFF03FEFEFEFFFF17FEFE81FFFFFFFFFF03FEFEFEFFFFFF03FEFE
+ FEFFFFFFFFFFFEFEFE03FFFFFFFF81FEFE17FFFFFFFFFFFF81FEFE17FFFF81FE
+ FE03FFFFFFFFFFFFFFFF03FEFEFE030317177128FFFFFFFFFF28177AFEFEFEFE
+ CDFEFE03FF81FEFE17FFFFFFFFFFFFFFFFFF81FEFE82FEFECDFFFFFFFFFFDDFC
+ 036BCDFEFEFECDFEFE810A1AFEFEFE1AEE0B18861BD3FEFE170818D9FEFEFEFE
+ FEFEFEFEFEFEFEF1E523F22C341F2C0505674A34344A2F582FC17394777777A4
+ A87910C94B99BC140666AA06A40178AB5C77A8AB8B01D421AA66BFBF8EF53F54
+ 4C5656592FD421985C105C06D578CC4C064C595E8D9326765D0D31D421B6590D
+ 06998DBF3A459C7654545D1E5D5D54B00000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF81FEFEFEFFFFFFFFFFFFFF82FEFEFE28FFFF
+ 81FEFE7A1AFFFFFFFFFFFEFEFE710303030317FEFEFEFFFFFEFEFE17FFFFFFFF
+ FFFFFFFFFFFF17FEFEFEFFFFFFFFFFFFFFFFFFFFFF28FEFEFE71FFFFFFFFFF32
+ FEFEB8FFFF17FEFEFE28FFFFFFFF71FEFEFEFFFFFF28FEFEFEFFFFFFFFFFFEFE
+ FE17FFFFFFFF82FEFE7AFFFFFFFFFFFFB8FEFE32FFFF81FEFE03FFFFFFFFFFFF
+ FFFF03FEFEFE03B8FEFEFEFE82FFFFFFFFFFFFFF280382B8FEFEFE32FF82FEFE
+ 7AFFFFFFFFFFFFFFFFFF81FEFE717AFEFE32FFFFFFDDDDFCFCDBDB5032A6FEFE
+ FEB80A16B8FEFE17BB0870E8E8D3FEFE17081BF1FEFEA60389892D89F4FEFED3
+ 22D6092CB3B31F0533674A05057858783131949F949F2E8BAB7921A15699A55E
+ B5060DA1BF7979A106A8BFBF0DAB0DBF66BFBF0693525243543A4C062106489E
+ 9DAA9D4C7910BF9E599E458E98C8CA1E4B98CC48454B3A13C8D74C4B5D1E1D3E
+ 1E1E3E3D653E3EC50000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF81FEFEFEFFFFFFFFFFFFFF17FEFEFE03FF50FEFEFE28FFFFFFFF
+ FFFFA6FEFE32FFFFFFFF32FEFEB8FFFFFEFEFECD50FFFFFFFFFFFFFFFFFF17FE
+ FEFEFFFFFFFFFFFFFFFFFFFFFFFFA6FEFEA6FFFFFFFFFF81FEFE6BFFFF71FEFE
+ FEA6FFFFFFFFA6FEFEFEFFFFFFFFFEFEFE28FFFFFFFFFEFEFECD50FFFFFF50FE
+ FEFE50FFFFFFFF03FEFEFE1AFFFF81FEFE03FFFFFFFFFFFFFFFF1AFEFEFE71FE
+ FEFEFEFEFE6BFFFFFFFFFFFFFFFFFF28B8FEFE17FF71FEFEFE03FFFFFFFFFFFF
+ FFFF81FEFE0350CDFEFE71FFFFDDFCFCDBDBDB64FC6417FEFEFE0A0ED3FEFECD
+ 500E08B1B1D3FEFEA6611BA0FEFEB8EE3C5B4786B8FEFEC7E5F9F21FB36363F3
+ 67670178F087879424A42E8B7B21A879795C2166B75E5E14B774B74DBD4C4856
+ 4C9D564D9E454C4C93489B59143B53A73A3A5435763AC8C8B0CA3AB54B3A3A4B
+ 4B5683AD434B26353E1D1D1E1E444435C813484B76351D445D1E1D3D3E1315CB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6FE
+ FEFEFFFFFFFFFFFFFF17FEFEFE03FF03FEFEFE17FFFF1A32FFFF03FEFECD03FF
+ FF287AFEFE17FFFFFEFEFEFECD821703FFFFFFFFFFFF71FEFEFE71FFFFFFFFFF
+ FFFFFFFFFFFF50FEFEFEA61AFF1A6BFEFEFE50FFFF03FEFEFEFEB882177AFEFE
+ FECDFFFF5003FEFEFE17030328FFFEFEFEFECD821703FFA6FEFECD32FFFF71CD
+ FEFEA6FFFFFF81FEFE71FFFFFFFFFFFFFFFFFFFEFEFE7128FF507AFEFEFE03FF
+ FF0328FFFFFFFFFFB8FEFE17FFFF7AFEFECD3228FF280303FFFF81FEFE03FF32
+ FEFECD50FFDDFC1A50DDFCFC64DB32FEFEFEBBEE617AFEFECD321AEEEE6BFEFE
+ 81611960D9FEFE6BC43C18F6FEFECDD02700392CB36333674A01F058D1C1872E
+ 8B79C90DBFBF754D4D4D56954556459E453B7D1480373E1E1E3544134435443E
+ 6C443E5D253FA7C945441D1E3E441E1D443E3E44443E44543BA13A8044921313
+ 13923E15153E153E1515351D1D54C0C09265A9A9C09213AE0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFE1AFFFFFFFFFF
+ FF03FEFEFE03FFFFB8FEFEFEFEFEFECDFFFFFF32FEFEFE7A81FEFEFE7A28FFFF
+ FEFEFE7AFEFEFE17FFFFFFFFFFFF28FEFEFE6BFFFFFFFFFFFFFFFFFFFFFFFF32
+ FEFEFEFEFEFEFEFEFE32FFFFFF03FEFEFE81FEFEFEFEFEFEFE82FFFF81FEFEFE
+ FEFEFEFE03FFFEFEFE7AFEFEFE17FF287AFEFEFEFEFEFEFEFE7A28FFFFFF81FE
+ FE17FFFFFFFFFFFFFFFFFFFEFEFE03FFFFFF28CDFEFE6BFFFF82FE7A6B17177A
+ FEFEFE50FFFF50CDFEFEFEFEFEFEFE17FFFFA6FEFE32FFFFA6FEFEB828FCDB28
+ FECD8117176BCDFEFEA6166108C47AFEFEFEFEFEFEFEFEFEB8E3473096F4FEFE
+ CD81B8FEFEFEC72262F2381F3433054A7858C17331319F7BC975B648B245956F
+ C84B35449A9ACACA543B3B841DAC1313921D13921D1D151D6C1D1D3D3D3B983A
+ 1E13131D1D131D1315C0C01313C015138E5615B4CB15151513C03E133D65C015
+ 131544C51D15A9C09265C013651365A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFF03FEFEFE17FFFF
+ 5081FEFEFEFEFE6BFFFFFFFF037AFEFEFEFECD6B28FFFFFFFEFEFE716BFEFE17
+ FFFFFFFFFFFFFF6BFEFEFE03FFFFFFFFFFFFFFFFFFFFFFFF1A6BFEFEFEFEFEA6
+ 03FFFFFFFF03FEFEFE2882CDFEFEFECD82FFFFFF81FEFEFEFEFEFEFE03FFFEFE
+ FE716BFEFE17FFFFFF32B8FEFEFEFEB81728FFFFFFFF6BFEFE17FFFFFFFFFFFF
+ FFFFFFFEFEFE03FFFFFFFF81FEFE81FFFF0381CDFEFEFEFEFEB871FFFFFFFF1A
+ 6BFEFEFEFEFECD50FFFF17FEFE17FFFF28CDFEFE7A28DBDB6B7AFEFEFEFEFEFE
+ 6B7F0708E30BE3F67AFEFEFEFEFEFEFEF418EB512296F8CDFEFEFEFEF432510F
+ 009738B33433674A015831D4319F8BA85C0DBF064D4D4C4856454B6F6FB044B4
+ 3D3B5E3DAC7C3554C83A3A83453A3A56953A9C76A37D986A133E441E35444435
+ 764B4B7676C8544B439D1D1DC53537445D1E545D4B3A5D545D5435763792135D
+ 3E1E651E1E3E1ECB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFF03FEFEFE17FFFFFFFF28030350FFFF
+ FFFFFFFFFFFF28030350FFFFFFFFFFFFFFFFFFFFFF1A031AFFFFFFFFFFFFFF1A
+ CDFEFECD71FFFFFFFFFFFFFFFFFFFFFFFFFFFF030303FFFFFFFFFFFFFFFFFFFF
+ FFFFFFFF500303FFFFFFFFFFFFFF81FEFE03FFFFFFFFFFFFFFFFFF1A031AFFFF
+ FFFFFF1A03031AFFFFFFFFFFFFFF17FEFE17FFFFFFFFFFFFFFFFFFFEFEFE03FF
+ FFFF28CDFEFE81FFFFFFFFFF2803030328FFFFFFFFFFFFFFFFFF0303031AFFFF
+ FFFF17FEFE17FFFFFFFFFFFFFFFCFC640A646450030350BB16EE61E30BB17070
+ 700B89898989FBE819C351E5693622300C2D2D9604690FF92AF2382CB3B33305
+ 4A01739FC131217B7B79CCA8C910C910AB10107EA10D4D3A3D995E3D3A914556
+ 484C5906064C9E064C480659A38F0DAC4476764B3A3A4B4556459C4545454545
+ 5E9D441D7C355D35C8545454544B4B4B544B6A7637A9655D4B5D1E5D443E1EB4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FE
+ FEFE03FFFFFFFFFFFF28FEFEFE17FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32FEFEFEFE7A1703
+ 0371177A03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFE32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFE17FFFFFFFFFFFFFFFFFFFEFEFE6B171717B8FEFEFE17FF
+ FFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFE17FFFF
+ FFDDFCFFFFDBDB640A0A0ABBBB1616EE0761080BB1703C18E81B86ED195B6049
+ 0451364F4E4E4E4E4E4E4E270F2B55000939F72CB3346305674A317731C18BD5
+ 8B7BCC79A810A8A8C90D0D66660D75B55D7D5EA39B919C564548489E064C484C
+ 7448065954B95E6C353A76C83A833A45953A3A3A3A4545457E3A44923A443554
+ 35C8C8C854355454543A3580C5921E651E13445D3E441ECB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03FEFEFE17FFFFFFFFFF
+ FFFFFEFEFE6BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03CDFEFEFEFEFEFEFEFEFE28FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A17
+ 8117FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FE
+ FE81FFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFE7A28FFFFFFFFFFFFFCFCFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEA6FFDDFFFFFFFCFCFCDB64
+ 0A0ABBBB900EEE076108E30B703C18E886195B4742EB30512236294E270F0F0F
+ 02022B62552300EC9739381FB3346333674A312431877B248B7979A8C9105C7E
+ A8A17EA10D107E9B1E7D5EA34D91484556B64848590659594D4C7598265206AC
+ 543A76544B833A7645459595569E9E483BADCACB9C351E541EC8547676C83A76
+ 263AC8356C151E5D1D137676445D54B40000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF03FEFEFE17FFFFFFFFFFFFFFFEFEFE81FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFF28177AFEFEFEFEFEFE7AFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFE81FFFFFFFFFFFF
+ FFFFFFFEFEFEFEFEFEFEFECD6B28FFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFF17FEFE81DDFFDDFCFFFFFCDB640A0ABB16160EEE0761
+ 0808E3B1703CE886195B4742BE04512236294F4E270F02022B1CEF232300ECF2
+ C2F7381FB3346305674AC1D49F877BD2A47B21A85C105C7E5C0D7E7EAA7E0D6E
+ 3E7D7EA34D9B064548065956484C4C4C4D4D060684B99DB4763A453A4B45B276
+ 3AB5B595489EB79D93C86C1D4BB21E35459544CA9A9A956F263580ACCB923E45
+ 45560DB63E5D54B40000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF03030350FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDDFFFCFCFC0AFC640A0ABB16160EEE076108E30B707018E886
+ 19476049300451EA36294E270F0F022B1C1C238C8CECEC09C2382C1FB3633305
+ 674A58D49F2F7B24A48BABA85C10A1667E667E7E665C5C481E8B99A34C9BBF26
+ 59A10D9EB24C5959AA7575982552BDAC3A45B6483A48593A6F3A95BD4874483A
+ CAC86CB03A10B2458BC93A9A9A9A569556353AB0C5C5C888CCCCD5BF1D4435B4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFC
+ FFDBFFDB640A0ABBBB161690EE07610808E3B1703C181BED5B4742BE30042236
+ E54F4E270F0F022B1CEF238C00EC0909C2382C1F3463330567675894242FD2D5
+ CF2F8B7B2F87BFA1A1060D5CA17EA19B843F3BCA759B2F569888C12659598359
+ 4D750D14145206AC3A83F00688F02E2626AD833A4C4559569845352644D47B99
+ 8B4DCACA4B4B4B3A9C9C06B2441E1ED5CC8B103A134435CB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFCFCFFFFFCFFFFFFFFFFFFFFFCFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDFCFCDB0A0A0A0A
+ BB16160EEE076108E30B703C3CE886195B60493004512236694F27270F02022B
+ 1C55238C002A090939F72C1F34630505674A5894C1D1D49FA44A9F2158F00D7E
+ ABA1A1A166A1A14D938F3F25069B012EA17B2EB74C4C7498064806433BF55E6A
+ 454CD5CC06310D3A9595957645455999D2481D9A3A9F217EC99EC8C8264BC84B
+ 35060D4544541D06764545C83554C8AC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFCFCFCFCFFFCFCFCFCFCFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFDDFCFC640A0A0A0ABB1690EE070761E3
+ E30B703C181B86194760BE3004513636294E27270F022B621C558C0000EC0909
+ C2382C1F34633305674A58942F53312E24672F2E2F2FA8A85C667566660D0D4D
+ 1453528E069B77D55C775C66749B74744DB5BF433FBC3B6E489BA87B4C214C9B
+ 56489B48484893B97B484B4BD79D4B5606B7BD95BDB54BC88EAB5992A96F9A4B
+ 56959556454B44CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFC
+ FCFCFCFFFFFFFCFCFFFFFFFFFCFFFFFCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFCFCFC640A0A0ABBBB16160E07076108E30BB1703CE81B195B
+ 47C3BE30042236E54F4E270F0F022B62D6558C8C002A09F239382C1F34630505
+ 67017824C1AFA52E8B77777777A48B79AB1010105C5C664D5EAF5384065F7510
+ 667BAAAB7E0D7E0D0D4CBFB7B9535E6A729AAA7E66667E5C7EA1A1759B488EA5
+ A49DCAC8BD4D744D4D4D4D4C74B79DB5A3B98F06CACAB06E3AC8C83A954BC8AC
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFCFF
+ FCFFFFFCFCFFFCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCDB0A0A0ABBBBBBBB90EE07610808E30B7070181B8619476049300451223669
+ 4F4E270F02022BD6EF558C002A09F2C2F7382C1FB3633305674A7894C111BCCF
+ 7B798B77A48BA4A42E2E7B79A85C064DB96DAF14B79B5F0D7EA87E7979A85C5C
+ 7E0648AAF5BCB9747472064D66747E66AA4D5F6EB59314BCAFA44C9AB0B5849A
+ 84B5BD3A3ABD48B7A75A5AF57B0659757E7E5C5CC99979790000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFFFCFFFFFCFCFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCDB64640A0ABBBBBB
+ 1690EE076108E30BB1703CE81BED194742493004222236294F270F0F022B62EF
+ EF238C00ECECF2C2F7382C1F3463330567012F2F5A1185A48B2EA421A47B218B
+ 7979A85C5C66665CAF5A6D53C94CAA06664DAAAAAA4D4D4D14064C79BCBAF577
+ 9DB572B5B5729DB574744D4D6610D45AFDAF01C1772E9FC1C12FF0014ABCAFBA
+ 5AFDFD6D5A5A5A5A5A5A5ACEBACE5A2C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFFFFFCFCFCFCFCFFFFFCFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFDDFFFFFFFFFFFFFFFFFFFFDDDBDBDB640A0A0ABBBBBB16EEEE616108E30B
+ 703C3C1B86ED4760C330040422EA69294E270F0F022B621C55238C002A09F2C2
+ F72C1FB334330505670178F31111110524D22E21D221AB10AB79AB1079792EF0
+ FD6DFD6D0587318F3131C12FA5F07801F0010185BA6D5AAF0101F5BC058585BA
+ BABACEBACEBA5A6DFDFDFDFDFDFD6D5A5A6D6DFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCDBDBDBDBDB
+ DBFCFFFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFCFCFCFCDB640A0ABBBBBBBB160EEE076108E3E30B703C181B865B4760
+ C33004512236294F4E270F02022B1CEF23238C00EC0909E78A39F738112C2C1F
+ CECE6D41111111FD5ACE5A6D6D6D6D5A5A5A5A5A5A5A6DFDFDFDFDFDFDFD6D6D
+ 5A6D5A6D5A5A5A5A5A5A5AFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFFFCFCFCFC
+ FCFCFFFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBFCFCDB
+ 640ABBBBBB16160EEE07616108E30B70703CE81B195B47C3BE040422EAE5294E
+ 27270F022B621CEF238C8C00ECECEC6868E78A8A464646414141411111111111
+ 1111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
+ FCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFCFCFCFCFCFCFCFCFCFFFCFCFFFF
+ FFFFDDFFDDDDFFFFFFFFFFFFDDFFFFFFFFFFFFFFFCDBDB64640A0ABBBB16160E
+ EE07610808E3B1703C181BED194760493004512236E54F4E270F0F022B1C1C55
+ 238C00ECECECEC09688A8A8A4646464141414111111111111111FD1111FDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBDBDBDB
+ DBDBDBDBDBDBDB6464FCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFDDFFFFFFFFFFFF
+ FFFFFFFFFCDDFFFFFCFFFFFCDB64640A0A0ABBBBBB160EEE07610808E30B7070
+ 3CE81B195B4742BE300451EAE5294F4E270F02022B1C1C558C8C0000ECEC6868
+ E78A8A46464646414141411111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB6464646464
+ 64FCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFDDDDFFFFDDFFFFFFDDFFFFFFFFFFFC
+ FFFFFCFCFCFC640A0A0ABB1616160EEE076108080B0B703CE81B86194760C3BE
+ 04512236E54F4E270F0F022B2B1CEF8C8C0000ECECEC0909DCE7464646464141
+ 4111411111111111FDFD11FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB646464646464FCFC64FCFCFCFCFC
+ FCFCFCFCFCFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBFCDBDBDB0A0A
+ 0ABB1616160E0E07616108E30B70703CE886195B474249305151223669294E27
+ 0F0F022B2B1CEF238C8C0000ECEC096868E7E78A8A4646414141414111411111
+ 1111111111111111111111111111111111111111111111111111111111111111
+ 1111111111111111111111111111111111111111111111111111111111111111
+ 11111111111111111111111111111111111111111111118A0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFCFCFCFCFCDB
+ DBDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A646464646464DBFCFCFCDBFCDBFFFFFF
+ DDDDFFDDFFFFFFFFFFFFFFFFFFFCFCFCFCFFFCDBDB0A0A0ABBBB160E16EEEE07
+ 070808E30BB13C3CE81B86194760C3BE3004512236E54F4E4E270F0F022B2B1C
+ 1C55558C8C8C0000002A2AECECEC09EC09096868686868686868DCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCEC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB
+ DBDBDBDBDBDB64DBDBDBDBDBDBDBDBFCFCDBFCDBFFFFFFFFFFFFFFDDDDFFFFFF
+ FFFFFFFFFFFCFCFCFCFCFCDBDBDBDB640A0ABBBBBB160EEEEE07616108E3E3B1
+ 703C18181BED195B4760C349303004515122EAEAE5E529294F4F4E4E27272727
+ 270F0F0F0F0F0F0F0F0202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 020202020202020F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDDFCFCFCFCFCFCFCFCFCDD
+ DDDDDDDDDDFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFC640A0A0A0A0ABB161616900EEE0707610808E3E30B0BB170
+ 3C3C3C18E81B1B86EDED19195B5B4747474760604242C3C3C3C3494949494949
+ EBEBEBBEBEBEBE30BEBE30303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303049
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFDDDDFCFCFCFCFCFCFCFCDBDBDBDBDDFCFCFCDDDDFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDDFCFC64
+ 640A0A0A0ABB161616900EEE070761080808E3E30BB17070703C3CE81B1B1B86
+ ED1919195B5B4747476060424242C3C3C3494949494949EBBEEBBEBEBEBE3030
+ BE30303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030490000FCFCFCFCFCFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB
+ DBDB6464646464640A0A0A0A0A0A6464646464DBDBDBDBDBDBDBDBFCFFFFDDDD
+ FFDDFFFFFFFFFCFFFFFFDDFFFFFCFCFCFCDBDBDBDB640A0ABBBBBBBB16EEEE07
+ 610808E3E3B170703C181B86ED195B4742C3BE300404512222EA36E529294F4F
+ 4E4E4E272727270F0F0F0F0F0F0F020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020F0000FCFCFCFCFCFCFCFCFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCDBDBDBDBDBDBDB64640A0A0A0A0ABBBBBB
+ BBBBBBBBBBBB0A0ABB0A0A0A0A0A0A0ADB64FCFCFCFFDDDBFFFFDDFFFFFFFFFF
+ FFFFFCFFFFFFFC64DBDBDB0A0A0ABB161690EEEE07070808E30BB1703C181B1B
+ 195B476049300451512236294F4E27270F0F022B2B1C1CEF558C8C0000000000
+ ECECECECECEC09090968686868686868DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCEC0000FCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFF
+ FCFCFCFCFCFCDBDBDBDBDBDBDB640A0A0A0A0ABBBBBBBBBBBBBBBBBBBBBBBBBB
+ BB0A0A0A0A0A640A6464DBFCFCDDFCFFDDFCFFFFFFFFFFFFFFFFFFFFFFFCDBFC
+ 640A0A0ABBBBBBBB900EEE07616108E3E30B703C18E81B191947604930040451
+ 223669294E27270F02022B2B621CEF55238C8C00000000ECECECEC0909096868
+ 68E7E768E7E78AE7E78A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
+ 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
+ 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8AEC
+ 0000}
+ Login.LeftImage.Data = {
+ 07544269746D617016090000424D160900000000000036040000280000003200
+ 0000180000000100080000000000E00400000000000000000000000100000000
+ 000000000000000080000080000000808000800000008000800080800000C0C0
+ C000C0DCC000F0CAA6000020400000206000002080000020A0000020C0000020
+ E00000400000004020000040400000406000004080000040A0000040C0000040
+ E00000600000006020000060400000606000006080000060A0000060C0000060
+ E00000800000008020000080400000806000008080000080A0000080C0000080
+ E00000A0000000A0200000A0400000A0600000A0800000A0A00000A0C00000A0
+ E00000C0000000C0200000C0400000C0600000C0800000C0A00000C0C00000C0
+ E00000E0000000E0200000E0400000E0600000E0800000E0A00000E0C00000E0
+ E00040000000400020004000400040006000400080004000A0004000C0004000
+ E00040200000402020004020400040206000402080004020A0004020C0004020
+ E00040400000404020004040400040406000404080004040A0004040C0004040
+ E00040600000406020004060400040606000406080004060A0004060C0004060
+ E00040800000408020004080400040806000408080004080A0004080C0004080
+ E00040A0000040A0200040A0400040A0600040A0800040A0A00040A0C00040A0
+ E00040C0000040C0200040C0400040C0600040C0800040C0A00040C0C00040C0
+ E00040E0000040E0200040E0400040E0600040E0800040E0A00040E0C00040E0
+ E00080000000800020008000400080006000800080008000A0008000C0008000
+ E00080200000802020008020400080206000802080008020A0008020C0008020
+ E00080400000804020008040400080406000804080008040A0008040C0008040
+ E00080600000806020008060400080606000806080008060A0008060C0008060
+ E00080800000808020008080400080806000808080008080A0008080C0008080
+ E00080A0000080A0200080A0400080A0600080A0800080A0A00080A0C00080A0
+ E00080C0000080C0200080C0400080C0600080C0800080C0A00080C0C00080C0
+ E00080E0000080E0200080E0400080E0600080E0800080E0A00080E0C00080E0
+ E000C0000000C0002000C0004000C0006000C0008000C000A000C000C000C000
+ E000C0200000C0202000C0204000C0206000C0208000C020A000C020C000C020
+ E000C0400000C0402000C0404000C0406000C0408000C040A000C040C000C040
+ E000C0600000C0602000C0604000C0606000C0608000C060A000C060C000C060
+ E000C0800000C0802000C0804000C0806000C0808000C080A000C080C000C080
+ E000C0A00000C0A02000C0A04000C0A06000C0A08000C0A0A000C0A0C000C0A0
+ E000C0C00000C0C02000C0C04000C0C06000C0C08000C0C0A000F0FBFF00A4A0
+ A000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFF
+ FF00FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD525252525252525252525252
+ 5252FDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDAFB75E5E5E66666767676F6F6F6FB752FDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBF
+ BFBFBFBFBFBFBFBFBFB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFB76F676F6FB7B7B7B7B7776F5EB752FD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBFBFB752FDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFB76F676F6F6FB7B7
+ B7B7776F5EB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBFBFBF52FDFDFDFDFD
+ 0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAF
+ B76767676F6F6FB7B7B7776F5EB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBF
+ BFBF52FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDAFB76767676F6F6F6FB7B7776F5EB752FDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBF
+ BFBFBFBFBFBFBFBFBFBF52FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBFB7AFAFB7B7B7B7BFBFBFBFB7B752FD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDAFB76F675E5E5E5E5E5E676FB7A5FDFDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F79BFDFDFDFD
+ FDFDA4F7A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDF7F79BFDFDFDFDFDFDA407A3FDFDFDFDFDFDFD
+ 0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDF7F79BFDFDFDFDFDFDA407A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F7A4FDFDFDFDFDFDF707
+ A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDF707A49AFDFDFDFDA30707A3FDFDFDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F6A4
+ A49B9A9AA3A407079AFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F6F7F7A4A4F70707A3FDFDFDFD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDF7F6F6F6F6F607A3FDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7A3A3A3
+ A3A3FDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ 0000}
+ Log.WindowCaption = 'Seguran'#231'a'
+ Log.LabelDescription = 'Log do Sistema'
+ Log.LabelUser = 'Usu'#225'rio :'
+ Log.LabelDate = 'Data :'
+ Log.LabelLevel = 'N'#237'vel m'#237'nimo : '
+ Log.ColLevel = 'N'#237'vel'
+ Log.ColMessage = 'Mensagem'
+ Log.ColUser = 'Usu'#225'rio'
+ Log.ColDate = 'Data'
+ Log.BtFilter = '&Aplicar Filtro'
+ Log.BtDelete = '&Excluir Log'
+ Log.BtClose = '&Fechar'
+ Log.PromptDelete = 'Confirma excluir todos os registros de log selecionados ?'
+ Log.PromptDelete_WindowCaption = 'Delete confirmation'
+ Log.OptionUserAll = 'All'
+ Log.OptionLevelLow = 'Baixo'
+ Log.OptionLevelNormal = 'Normal'
+ Log.OptionLevelHigh = 'Alto'
+ Log.OptionLevelCritic = 'Cr'#237'tico'
+ Log.DeletePerformed =
+ 'Deletion of system log done: User = "%s" | Date = %s a %s | Leve' +
+ 'l <= %s'
+ UsersForm.WindowCaption = 'Seguran'#231'a'
+ UsersForm.LabelDescription = 'Cadastro de Usu'#225'rios'
+ UsersForm.ColName = 'Nome'
+ UsersForm.ColLogin = 'Login'
+ UsersForm.ColEmail = 'Email'
+ UsersForm.BtAdd = '&Adicionar'
+ UsersForm.BtChange = 'A<erar'
+ UsersForm.BtDelete = '&Excluir'
+ UsersForm.PromptDelete = 'Confirma excluir o usu'#225'rio "%s" ?'
+ UsersForm.PromptDelete_WindowCaption = 'Delete user'
+ UsersForm.BtRights = 'A&cessos'
+ UsersForm.BtPassword = '&Senha'
+ UsersForm.BtClose = '&Fechar'
+ AddChangeUser.WindowCaption = 'Cadastro de Usu'#225'rios'
+ AddChangeUser.LabelAdd = 'Adicionar Usu'#225'rio'
+ AddChangeUser.LabelChange = 'Alterar Usu'#225'rio'
+ AddChangeUser.LabelName = 'Nome : '
+ AddChangeUser.LabelLogin = 'Login : '
+ AddChangeUser.LabelEmail = 'Email : '
+ AddChangeUser.CheckPrivileged = 'Usu'#225'rio privilegiado'
+ AddChangeUser.BtSave = '&Gravar'
+ AddChangeUser.BtCancel = 'Cancelar'
+ AddChangeProfile.WindowCaption = 'Perfil de Usu'#225'rios'
+ AddChangeProfile.LabelAdd = 'Adicionar Perfil'
+ AddChangeProfile.LabelChange = 'Alterar Perfil'
+ AddChangeProfile.LabelName = 'Descri'#231#227'o : '
+ AddChangeProfile.BtSave = '&Gravar'
+ AddChangeProfile.BtCancel = 'Cancelar'
+ UsersProfile.WindowCaption = 'Seguran'#231'a'
+ UsersProfile.LabelDescription = 'Perfil de Usu'#225'rios'
+ UsersProfile.ColProfile = 'Perfil'
+ UsersProfile.BtAdd = '&Adicionar'
+ UsersProfile.BtChange = 'A<erar'
+ UsersProfile.BtDelete = '&Excluir'
+ UsersProfile.BtRights = 'A&cessos'
+ UsersProfile.PromptDelete = 'Existem usu'#225'rios com o perfil "%s". Confirma excluir?'
+ UsersProfile.PromptDelete_WindowCaption = 'Delete profile'
+ UsersProfile.BtClose = '&Fechar'
+ Rights.WindowCaption = 'Seguran'#231'a'
+ Rights.LabelUser = 'Permiss'#245'es do Usu'#225'rio : '
+ Rights.LabelProfile = 'Permiss'#245'es do Perfil : '
+ Rights.PageMenu = 'Itens do Menu'
+ Rights.PageActions = 'A'#231#245'es'
+ Rights.BtUnlock = '&Liberar'
+ Rights.BtLock = '&Bloquear'
+ Rights.BtSave = '&Gravar'
+ Rights.BtCancel = '&Cancelar'
+ ChangePassword.WindowCaption = 'Seguran'#231'a'
+ ChangePassword.LabelDescription = 'Trocar Senha'
+ ChangePassword.LabelCurrentPassword = 'Senha Atual :'
+ ChangePassword.LabelNewPassword = 'Nova Senha : '
+ ChangePassword.LabelConfirm = 'Confirma'#231#227'o : '
+ ChangePassword.BtSave = '&Gravar'
+ ChangePassword.BtCancel = 'Cancelar'
+ ResetPassword.WindowCaption = 'Definir senha do usu'#225'rio : "%s"'
+ ResetPassword.LabelPassword = 'Senha : '
+ XPStyleSet.DimLevel = 30
+ XPStyleSet.GrayLevel = 10
+ XPStyleSet.Font.Charset = ANSI_CHARSET
+ XPStyleSet.Font.Color = clMenuText
+ XPStyleSet.Font.Height = -11
+ XPStyleSet.Font.Name = 'Tahoma'
+ XPStyleSet.Font.Style = []
+ XPStyleSet.Color = clBtnFace
+ XPStyleSet.DrawMenuBar = False
+ XPStyleSet.IconBackColor = clBtnFace
+ XPStyleSet.MenuBarColor = clBtnFace
+ XPStyleSet.SelectColor = clHighlight
+ XPStyleSet.SelectBorderColor = clHighlight
+ XPStyleSet.SelectFontColor = clMenuText
+ XPStyleSet.DisabledColor = clInactiveCaption
+ XPStyleSet.SeparatorColor = clBtnFace
+ XPStyleSet.CheckedColor = clHighlight
+ XPStyleSet.IconWidth = 24
+ XPStyleSet.DrawSelect = True
+ XPStyleSet.UseSystemColors = True
+ XPStyleSet.UseDimColor = False
+ XPStyleSet.OverrideOwnerDraw = False
+ XPStyleSet.Gradient = False
+ XPStyleSet.FlatMenu = False
+ XPStyleSet.AutoDetect = False
+ XPStyleSet.BitBtnColor = clBtnFace
+ XPStyleSet.ColorsChanged = True
+ XPStyle = True
+ WindowsPosition = poDesktopCenter
+ Left = 56
+ Top = 128
+ end
+ object UCXPStyle1: TUCXPStyle
+ Active = True
+ XPSettings.DimLevel = 30
+ XPSettings.GrayLevel = 10
+ XPSettings.Font.Charset = ANSI_CHARSET
+ XPSettings.Font.Color = clMenuText
+ XPSettings.Font.Height = -11
+ XPSettings.Font.Name = 'Tahoma'
+ XPSettings.Font.Style = []
+ XPSettings.Color = clBtnFace
+ XPSettings.DrawMenuBar = False
+ XPSettings.IconBackColor = clBtnFace
+ XPSettings.MenuBarColor = clBtnFace
+ XPSettings.SelectColor = clHighlight
+ XPSettings.SelectBorderColor = clHighlight
+ XPSettings.SelectFontColor = clMenuText
+ XPSettings.DisabledColor = clInactiveCaption
+ XPSettings.SeparatorColor = clBtnFace
+ XPSettings.CheckedColor = clHighlight
+ XPSettings.IconWidth = 24
+ XPSettings.DrawSelect = True
+ XPSettings.UseSystemColors = True
+ XPSettings.UseDimColor = False
+ XPSettings.OverrideOwnerDraw = False
+ XPSettings.Gradient = False
+ XPSettings.FlatMenu = False
+ XPSettings.AutoDetect = False
+ XPSettings.BitBtnColor = clBtnFace
+ XPSettings.ColorsChanged = False
+ UCSettings = UCSettings1
+ Left = 88
+ Top = 128
+ end
+ object UCControls1: TUCControls
+ GroupName = 'Bot'#245'es Form Inicial'
+ UserControl = UserControl1
+ NotAllowed = naDisabled
+ Left = 120
+ Top = 128
+ end
+end
diff --git a/official/2.20/Demos/testes qmd/Unit1.pas b/official/2.20/Demos/testes qmd/Unit1.pas
new file mode 100644
index 0000000..b9fa350
--- /dev/null
+++ b/official/2.20/Demos/testes qmd/Unit1.pas
@@ -0,0 +1,119 @@
+unit Unit1;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, DB, ADODB, Menus, UCBase, UCADOConn, StdCtrls, Buttons,
+ ComCtrls, UCIdle, UCMail, ExtCtrls, ActnList, UCXPStyle;
+
+type
+
+ TForm1 = class(TForm)
+ ADOConnection1: TADOConnection;
+ UCADOConn1: TUCADOConn;
+ UserControl1: TUserControl;
+ MainMenu1: TMainMenu;
+ Arquivo1: TMenuItem;
+ Abrir1: TMenuItem;
+ Salvar1: TMenuItem;
+ Salvar2: TMenuItem;
+ Salvarcomo1: TMenuItem;
+ Fechar1: TMenuItem;
+ N2: TMenuItem;
+ Dados1: TMenuItem;
+ Importar1: TMenuItem;
+ Exportar1: TMenuItem;
+ N4: TMenuItem;
+ Vincular1: TMenuItem;
+ N3: TMenuItem;
+ Sair2: TMenuItem;
+ Editar1: TMenuItem;
+ Copiar1: TMenuItem;
+ Colar1: TMenuItem;
+ Recortar1: TMenuItem;
+ N1: TMenuItem;
+ Selecionartudo1: TMenuItem;
+ N5: TMenuItem;
+ AreadeTransferencia1: TMenuItem;
+ Exibir2: TMenuItem;
+ Esvaziar1: TMenuItem;
+ Exibir1: TMenuItem;
+ Zoom1: TMenuItem;
+ Normal1: TMenuItem;
+ Grande1: TMenuItem;
+ Ajustarnajanela1: TMenuItem;
+ N6: TMenuItem;
+ Personalizar1: TMenuItem;
+ amanhonormal1: TMenuItem;
+ elacheia1: TMenuItem;
+ Relatorios1: TMenuItem;
+ Relatorio11: TMenuItem;
+ Relatorio21: TMenuItem;
+ Relatorio31: TMenuItem;
+ Relatorio41: TMenuItem;
+ Segurana1: TMenuItem;
+ Cadastrodeusuarios1: TMenuItem;
+ Perfildeusurios1: TMenuItem;
+ logdosistema: TMenuItem;
+ N7: TMenuItem;
+ rocarsenha1: TMenuItem;
+ EfetuarLogoff1: TMenuItem;
+ UCSettings1: TUCSettings;
+ UCXPStyle1: TUCXPStyle;
+ Edit1: TEdit;
+ Button1: TButton;
+ Button2: TButton;
+ Button3: TButton;
+ Button4: TButton;
+ Button5: TButton;
+ Button6: TButton;
+ Button7: TButton;
+ Button8: TButton;
+ Button9: TButton;
+ UCControls1: TUCControls;
+ procedure FormCreate(Sender: TObject);
+ procedure EfetuarLogoff1Click(Sender: TObject);
+ procedure Button1Click(Sender: TObject);
+ procedure Action1Execute(Sender: TObject);
+ procedure Action8Execute(Sender: TObject);
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ Form1: TForm1;
+
+implementation
+
+{$R *.dfm}
+
+procedure TForm1.FormCreate(Sender: TObject);
+begin
+ ADOConnection1.Connected := True;
+ UserControl1.Execute;
+end;
+
+procedure TForm1.EfetuarLogoff1Click(Sender: TObject);
+begin
+ UserControl1.Logoff;
+end;
+
+procedure TForm1.Button1Click(Sender: TObject);
+begin
+ UserControl1.Log('teste');
+end;
+
+procedure TForm1.Action1Execute(Sender: TObject);
+begin
+ MessageBox(handle, 'Teste', 'teste', MB_ICONINFORMATION or MB_OK);
+end;
+
+procedure TForm1.Action8Execute(Sender: TObject);
+begin
+ UserControl1.Logoff;
+end;
+
+end.
diff --git a/official/2.20/Demos/testes qmd/ZEOS mysql/Project1.dpr b/official/2.20/Demos/testes qmd/ZEOS mysql/Project1.dpr
new file mode 100644
index 0000000..08b344c
--- /dev/null
+++ b/official/2.20/Demos/testes qmd/ZEOS mysql/Project1.dpr
@@ -0,0 +1,13 @@
+program Project1;
+
+uses
+ Forms,
+ Unit1 in 'Unit1.pas' {Form1};
+
+{$R *.res}
+
+begin
+ Application.Initialize;
+ Application.CreateForm(TForm1, Form1);
+ Application.Run;
+end.
diff --git a/official/2.20/Demos/testes qmd/ZEOS mysql/Project1.res b/official/2.20/Demos/testes qmd/ZEOS mysql/Project1.res
new file mode 100644
index 0000000..03109fc
Binary files /dev/null and b/official/2.20/Demos/testes qmd/ZEOS mysql/Project1.res differ
diff --git a/official/2.20/Demos/testes qmd/ZEOS mysql/Unit1.dfm b/official/2.20/Demos/testes qmd/ZEOS mysql/Unit1.dfm
new file mode 100644
index 0000000..f053ab7
--- /dev/null
+++ b/official/2.20/Demos/testes qmd/ZEOS mysql/Unit1.dfm
@@ -0,0 +1,1462 @@
+object Form1: TForm1
+ Left = 209
+ Top = 108
+ Width = 610
+ Height = 350
+ Caption = 'User Control - ZEOS Basic Demo - Mysql 40'
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ Menu = MainMenu1
+ OldCreateOrder = False
+ OnCreate = FormCreate
+ PixelsPerInch = 96
+ TextHeight = 13
+ object UserControl1: TUserControl
+ AutoStart = True
+ ApplicationID = 'IBXBasic'
+ ControlRight.MainMenu = MainMenu1
+ UsersForm.MenuItem = Cadastrodeusuarios1
+ UsersForm.UsePrivilegedField = False
+ UsersForm.ProtectAdmin = True
+ EncryptKey = 0
+ NotAllowedItems.MenuVisible = True
+ NotAllowedItems.ActionVisible = True
+ Login.AutoLogon.Active = False
+ Login.AutoLogon.MessageOnError = False
+ Login.InitialLogin.User = 'Admin'
+ Login.InitialLogin.Email = 'qmd@usercontrol.com.br'
+ Login.InitialLogin.Password = '#delphi'
+ Login.MaxLoginAttempts = 0
+ Login.GetLoginName = lnNone
+ LogControl.Active = True
+ LogControl.TableLog = 'ZEOSBCLog'
+ LogControl.MenuItem = logdosistema
+ ExtraRight = <>
+ LoginMode = lmActive
+ UsersProfile.Active = True
+ UsersProfile.MenuItem = Perfildeusurios1
+ TableUsers.FieldUserID = 'UCIdUser'
+ TableUsers.FieldUserName = 'UCUserName'
+ TableUsers.FieldLogin = 'UCLogin'
+ TableUsers.FieldPassword = 'UCPassword'
+ TableUsers.FieldEmail = 'UCEmail'
+ TableUsers.FieldPrivileged = 'UCPrivileged'
+ TableUsers.FieldTypeRec = 'UCTypeRec'
+ TableUsers.FieldProfile = 'UCProfile'
+ TableUsers.FieldKey = 'UCKey'
+ TableUsers.TableName = 'ZEOSBCTabUsers'
+ TableRights.FieldUserID = 'UCIdUser'
+ TableRights.FieldModule = 'UCModule'
+ TableRights.FieldComponentName = 'UCCompName'
+ TableRights.FieldFormName = 'UCFormName'
+ TableRights.FieldKey = 'UCKey'
+ TableRights.TableName = 'ZEOSBCTabRights'
+ ChangePasswordForm.MenuItem = rocarsenha1
+ ChangePasswordForm.ForcePassword = False
+ ChangePasswordForm.MinPasswordLength = 0
+ DataConnector = UCZEOSConn1
+ Left = 256
+ Top = 88
+ end
+ object MainMenu1: TMainMenu
+ AutoHotkeys = maManual
+ OwnerDraw = True
+ Left = 192
+ Top = 56
+ object Arquivo1: TMenuItem
+ Caption = 'Arquivo'
+ object Abrir1: TMenuItem
+ Caption = 'Abrir'
+ end
+ object Salvar1: TMenuItem
+ Caption = '-'
+ end
+ object Salvar2: TMenuItem
+ Caption = 'Salvar'
+ end
+ object Salvarcomo1: TMenuItem
+ Caption = 'Salvar como...'
+ end
+ object Fechar1: TMenuItem
+ Caption = 'Fechar'
+ end
+ object N2: TMenuItem
+ Caption = '-'
+ end
+ object Dados1: TMenuItem
+ Caption = 'Dados'
+ object Importar1: TMenuItem
+ Caption = 'Importar'
+ end
+ object Exportar1: TMenuItem
+ Caption = 'Exportar'
+ end
+ object N4: TMenuItem
+ Caption = '-'
+ end
+ object Vincular1: TMenuItem
+ Caption = 'Vincular'
+ end
+ end
+ object N3: TMenuItem
+ Caption = '-'
+ end
+ object Sair2: TMenuItem
+ Caption = 'Sair'
+ end
+ end
+ object Editar1: TMenuItem
+ Caption = 'Editar'
+ object Copiar1: TMenuItem
+ Caption = 'Copiar'
+ end
+ object Colar1: TMenuItem
+ Caption = 'Colar'
+ end
+ object Recortar1: TMenuItem
+ Caption = 'Recortar'
+ end
+ object N1: TMenuItem
+ Caption = '-'
+ end
+ object Selecionartudo1: TMenuItem
+ Caption = 'Selecionar tudo'
+ end
+ object N5: TMenuItem
+ Caption = '-'
+ end
+ object AreadeTransferencia1: TMenuItem
+ Caption = 'Area de Transferencia'
+ object Exibir2: TMenuItem
+ Caption = 'Exibir'
+ end
+ object Esvaziar1: TMenuItem
+ Caption = 'Esvaziar'
+ end
+ end
+ end
+ object Exibir1: TMenuItem
+ Caption = 'Exibir'
+ object Zoom1: TMenuItem
+ Caption = 'Zoom...'
+ object Normal1: TMenuItem
+ Caption = 'Normal'
+ Checked = True
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object Grande1: TMenuItem
+ Caption = 'Grande'
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object Ajustarnajanela1: TMenuItem
+ Caption = 'Ajustar na janela'
+ GroupIndex = 1
+ RadioItem = True
+ end
+ object N6: TMenuItem
+ Caption = '-'
+ GroupIndex = 1
+ end
+ object Personalizar1: TMenuItem
+ Caption = 'Personalizar'
+ GroupIndex = 1
+ end
+ end
+ object amanhonormal1: TMenuItem
+ Caption = 'Tamanho normal'
+ end
+ object elacheia1: TMenuItem
+ Caption = 'Tela cheia'
+ end
+ end
+ object Relatorios1: TMenuItem
+ Caption = 'Relatorios'
+ object Relatorio11: TMenuItem
+ Caption = 'Relatorio 1'
+ end
+ object Relatorio21: TMenuItem
+ Caption = 'Relatorio 2'
+ end
+ object Relatorio31: TMenuItem
+ Caption = 'Relatorio 3'
+ end
+ object Relatorio41: TMenuItem
+ Caption = 'Relatorio 4'
+ end
+ end
+ object Segurana1: TMenuItem
+ Caption = 'Seguran'#231'a'
+ object Cadastrodeusuarios1: TMenuItem
+ Caption = 'Cadastro de usuarios'
+ end
+ object Perfildeusurios1: TMenuItem
+ Caption = 'Perfil de usuarios'
+ end
+ object logdosistema: TMenuItem
+ Caption = 'Log do Sistema'
+ end
+ object N7: TMenuItem
+ Caption = '-'
+ end
+ object rocarsenha1: TMenuItem
+ Caption = 'Trocar senha'
+ end
+ object EfetuarLogoff1: TMenuItem
+ Caption = 'Efetuar Logoff'
+ OnClick = EfetuarLogoff1Click
+ end
+ end
+ end
+ object UCSettings1: TUCSettings
+ AppMessages.MsgsForm_BtNew = '&Nova Mensagem'
+ AppMessages.MsgsForm_BtReplay = '&Responder'
+ AppMessages.MsgsForm_BtForward = 'E&ncaminhar'
+ AppMessages.MsgsForm_BtDelete = '&Excluir'
+ AppMessages.MsgsForm_WindowCaption = 'Mensagens do Sistema'
+ AppMessages.MsgsForm_ColFrom = 'Remetente'
+ AppMessages.MsgsForm_ColSubject = 'Assunto'
+ AppMessages.MsgsForm_ColDate = 'Data'
+ AppMessages.MsgsForm_PromptDelete = 'Confirma excluir as mensagens selecionadas ?'
+ AppMessages.MsgRec_BtClose = '&Fechar'
+ AppMessages.MsgRec_WindowCaption = 'Mensagem'
+ AppMessages.MsgRec_Title = 'Mensagem Recebida'
+ AppMessages.MsgRec_LabelFrom = 'De :'
+ AppMessages.MsgRec_LabelDate = 'Date'
+ AppMessages.MsgRec_LabelSubject = 'Assunto'
+ AppMessages.MsgRec_LabelMessage = 'Mensagem'
+ AppMessages.MsgSend_BtSend = '&Enviar'
+ AppMessages.MsgSend_BtCancel = '&Cancelar'
+ AppMessages.MsgSend_WindowCaption = 'Mensagem'
+ AppMessages.MsgSend_Title = 'Enviar Nova Mensagem'
+ AppMessages.MsgSend_GroupTo = 'Para'
+ AppMessages.MsgSend_RadioUser = 'Usu'#225'rio :'
+ AppMessages.MsgSend_RadioAll = 'Todos'
+ AppMessages.MsgSend_GroupMessage = 'Mensagem'
+ CommonMessages.AutoLogonError = 'Falha de Auto Logon!'#13#10'Informe um usu'#225'rio e senha v'#225'lidos.'
+ CommonMessages.ChangePasswordError.InvalidCurrentPassword = 'Senha Atual n'#227'o confere!'
+ CommonMessages.ChangePasswordError.NewPasswordError = 'Os campos: Nova Senha e Confirma'#231#227'o devem ser iguais.'
+ CommonMessages.ChangePasswordError.NewEqualCurrent = 'Nova senha igual a senha atual'
+ CommonMessages.ChangePasswordError.PasswordRequired = 'A Senha '#233' obrigat'#243'ria'
+ CommonMessages.ChangePasswordError.MinPasswordLength = 'A senha deve conter no m'#237'nimo %d caracteres'
+ CommonMessages.ChangePasswordError.InvalidNewPassword = 'Proibido utilizar senhas obvias!'
+ CommonMessages.InvalidLogin = 'Usu'#225'rio ou Senha inv'#225'lidos!'
+ CommonMessages.InitialMessage.Strings = (
+ 'ATEN'#199#195'O Login Inicial:'
+ ''
+ 'Usu'#225'rio : :user'
+ 'Senha : :password'
+ ''
+ 'Defina as permiss'#245'es para este usu'#225'rio.')
+ CommonMessages.MaxLoginAttemptsError =
+ '%d Tentativas de login inv'#225'lido. Por motivos de segun'#231'a o '#13#10'sist' +
+ 'ema ser'#225' fechado.'
+ CommonMessages.PasswordChanged = 'Senha alterada com sucesso!'
+ CommonMessages.BlankPassword = 'Retirada senha do Login %s'
+ Login.WindowCaption = 'Login'
+ Login.LabelUser = 'Usu'#225'rio '
+ Login.LabelPassword = 'Senha : '
+ Login.BtOk = 'OK'
+ Login.BtCancel = '&Cancelar'
+ Login.TopImage.Data = {
+ 07544269746D6170B6790000424DB67900000000000036040000280000007601
+ 0000500000000100080000000000807500000000000000000000000100000000
+ 00009BB5D8007493BA00ACC2E000BBBBBB00CBD9EB007D9BC20051719900F6F8
+ FB00F2F5FA0095B0D500FCFDFE00EDF2F800A7B6BC0055759D00F8FAFC00B1C5
+ E1005979A10089A8D200CDD5D9003E5E88004D7199003D5D8700FAFBFD008888
+ 8800E5ECF500DDE6F200DDDDDD00E2EAF400A5BDDD00405F880042628C0089A6
+ CC008297A0005D7DA500C5D4E900A1B9DA006685AD004569920045679000B4C8
+ E300EEEEEE00BDCEE60099B3D600A9C0DE008BA8CD009EA5B0006181A9006E8D
+ B400D0DCED006989B10099999900809DC40085A2C80044638C00C1D1E8004462
+ 8C008EAACF0091ACD100486890005579A100E7EEF6003E5F890040608A005D82
+ AB00C0CBCF008CAAD400D5E0EF00496C950042618A004A6A93008FACD500D8E3
+ F0004C6C9400D2DEEE007795BD0046668E004E6E960050709700B8CBE400BBCD
+ E500CCCCCC00C8D7EA00648BB2006D93BA0044648E00A2BADB004A6B94009BAC
+ B300708EB5004E6F980085A5CF00DAE4F10058789E0043638D0050759D00506E
+ 9600D6E1EF00F4F7FB00A7BEDE00829FC600FDFEFE0041608B0054749A007A98
+ BF0093AFD600BECFE60044628A00666666004060880086A6D0004C6B92004867
+ 8E00EAEFF700AAAAAA0049688E006C8AB1004D6E940053729A00476690006584
+ AB007290B8005C7CA300333333005F7EA60046648E005A7DA50056779E00E6EA
+ EC0046648C0044444400777777004869920044678E0080A0C900E0E8F3006D8C
+ B3005576A000AAAEB50090ADD5006080A7009EB7DA006486AF00486A93006185
+ AC00F9FAFD004C6A92003C5B85004C6E96006988AF0049699100C6CFDC0093AE
+ D20051729B00597AA30045648B004E6D94004A6992004A6C92004D6D96006786
+ AD00B6BCC40056769E003D5A82003F628B006383A900698DB500555555005A7F
+ A7005B7AA1003A5A8400527399005A7BA200426188004668900039577F007D9F
+ C70047668D00EBF1F8004C6B940087A3CA00405F8600486990004E6D96004C6D
+ 9400222222006287AF0083A3CC00FBFCFD00779BC2004A6A9100D1DDEE005473
+ 9C003C5C87006B8BB20092ADD200D3DFEF00E1E5E900426189006C8BB5008B8F
+ 940045658D005878A00042638B003F5C84005C7BA4001111110084A3CC006183
+ AB00CDD6E1006A8AB3006282AB00808285006787B0006483AC00A5BCDB004061
+ 8A004F5153003E40420043637000FEFEFE0091AED600FEFFFF00758D9600F2F5
+ F5008FA0A900D9E0E200506D7A00EFF4F9005C788300BFD0E700B5C1C60091AE
+ D500E3EBF50069828D00C3D3E900D2DDEE0097B2D700DFE7F300F7F9FC00A3BB
+ DC006F8FB7007B7E830094AFD3007998C1002F3032007396BE00909296008FAB
+ D000686C7100A4BBDA00D2D9E400D9DEE600FEFEFF0088A7D20000000000FFFF
+ FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCFCFCFCFCFCFC
+ FCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB6464640A0A0A0ABBBBBBBBBB16
+ 16160E0E0EEEEEEE07EE0707616161070761070707EEEEEEEEEE90161616BB16
+ BB0ABB0A0A0A0ADB64646464DBDB64FCFFFCDBDB64DBDB0A640A0A0A0ABBBBBB
+ 16160EEEEE07610808E30BB1703C18E886195B47424930045122EA36294F4E27
+ 0F0F0F022B621CEF55558C8C000000ECECECECEC68096868DCDCDC8A8A8A8A8A
+ 8A46464646464646464646464646464646464646464646464646464646464646
+ 4646464646464646464646464646464646464646464646464646464646464646
+ 4646464646464646464646464646464646464646464646EC0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFC
+ FCFCFCDBDBDBDBDBDBDBDBDB64DB640A0A0A0A0ABBBBBBBB16161616160E0EEE
+ EE07EEEEEEEE6107070707EEEEEEEE0E0E0E0E161616BBBBBB0A0A0ADB0A6464
+ DBDBFCDBDBFCFCFFFFDBFCDDDBFCDBDB64640A0A0A0A0ABBBB16900EEE076108
+ 08E30BB1703C181B86195B4742BE3004512236694F4E27270F022B2B1CEF238C
+ 8C0000ECECEC09688A8A46464646414141111111111111111111FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCDB
+ DBDBDBDBDBDBDB6464640A0A0A0ABBBBBBBBBB161616160E0EEE0E0EEEEEEEEE
+ EEEEEEEEEE0E0E16901616BB16BBBB0A0A0A0A0A64DBDBFCFCDBFCFCFCFCFCFF
+ FFFCFCFFDDFFFCFCFCFF0A640A0A0ABB0A1616900EEE07070808E30BB1703C18
+ 1B1B195B604230040422EAE5294F4E270F02022B1C1C558C8C0000ECEC6868DC
+ DCE78A464646414141414111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCDBDBDBDBDBDB
+ DBDB64640A640A0A0ABBBBBB161616160E0E160E0E0E0E90EE0E0E9090901616
+ 161616BBBBBB0A0A640A0A64FCFCFCFCFCFFFFFCFFDDFFFCFCFFFFFFFCFFFCFF
+ FCDBFCDBDB0A0A0A0ABBBB16160E0EEE616108E30BB1703CE81BED5B47604930
+ 04512236E54F4E270F0F022B621CEF238C8C00ECECEC6809DCDC8A4646464641
+ 4141114111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB640A0A
+ 0A0A0ABBBBBBBB1616161616160E0E169090161616161616BBBBBBBB0ABB0A0A
+ 640A64DBDBFCFCDBFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFCFCFCFCFFFCFC0A0A
+ 0A0ABB1616160EEE07610808E30BB13C3C1B86195B4742BE3004222236294E27
+ 270F0F022B1CEF558C8C8C00ECECEC68DCE7DC8A464641414141411111111111
+ FD11FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB64640A0A0A0ABBBBBB
+ BBBBBB1616161616161616161616BBBB0ABB0A0A0A0A0A64FC64DBFCFCFCDDFC
+ FFDDFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFDDFCFFFCDDDB64640ABBBBBB160E0E
+ EE076108E30BB1703C181BED194760493004512236E54F4E270F0F022B621C55
+ 238C8C00ECECEC096868E7464646414141414111111111111111FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FCFFFFFCFCFCFCFCFCFCDBDBDBDBDBDB64640A0A0A0A0ABBBBBBBBBBBBBBBB16
+ BBBBBBBBBBBB0ABB0A0A0A0A640ADBDB64FCFCDBFCDDDDFCFFDDFFDDFFFFFFFF
+ FFFFFFFFFFDDFFFFFFDDFFFCFFFCDBDB64640ABBBBBB16900EEE070808E30B70
+ 703CE81B195B4742BE300451EAE5294F27270F022B2B1CEF558C8C0000ECECEC
+ 68DC8A8A464646464141414111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFCFC
+ FCFCFCFCFCDBDBDBDBDBDB64640A0A0A0ABBBBBBBBBBBBBBBBBB0ABBBB0A0A0A
+ 0A0A0A0A646464DBFCFCDDDBDBFCDDFCFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDBDB640A0ABBBBBB16900E07070808E3B1703C181BED194760
+ 493004512236694F4E270F02022B1C1C55238C00ECECECEC6809DC8A8A464641
+ 414141411111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFFFCFCFCDBFCFCDB
+ DBDBDBDBDB64640A0A0A0A0A0ABBBBBBBB0A0A0A0A0A0A0A0A0A0A64DBDBDBDB
+ DBFFFFDDDDDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFC
+ FC64640A0ABBBB16160EEE070808E30BB1703CE81BED5B4742BE300422EAE529
+ 4E27270F022B621C55238C8C00ECECEC0909DCE78A4646414641414111111111
+ 1111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCDBDBDBDBDBDB6464
+ 640A0A0A0A0ABBBBBB6464640A0A0A6464DB0ADB64DBDBFCFFFFFFDDDDFFFFFF
+ DDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFFDDDBFC640ABBBB16
+ BB0E0EEE070808E30B703C181B86194760C33004512236694F4E270F02022B1C
+ 1C55238C0000ECEC0968E7E78A8A41464141414141111111111111FDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A
+ 0A0A6464640A0A6464DBDBDBFCDBDBFCFCFFFFDDDDFFDDFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFCFCFC64640ABB16160EEE076108E3
+ 0BB1703CE81B195B47423004042236E54F4E270F02022B621C55238C00000909
+ C239382C1FCE85AF3305F3F5015353F5AF8585BC53B93F3F3FA7993B885E5E98
+ 98981414438E599E434343145E5E98593F52B9A7251E3D3D653E3E3E3E3E3ED7
+ 1E1E1E5D545D5DCA3E1E1E3B3B5DD7C03ED7A38E434354A365D7D76565D7D765
+ 6513153E3EC092AE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A6464646464
+ FCFCFCFCFCDBDBFCFCFFFFFFFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFCFCFCDB0A0A0ABB16160EEE070808E3B1703C181BED19
+ 4760BE3004512236694E270F0F022B621C558C00EC0997381F1F346333670101
+ F02F318DCF2EA7A78F52A5B97D14934393438E258E568E8E8E8E254325251459
+ 1414143B3FB93FA75E5E5E5E93985943438E8E25252525252676767683838326
+ 6554267DA78E263E3E3D15A33DA33D3E3D3D3D3D3D3D3D3D3E133D1E1E1592AE
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCFCFCFCDBDBDBDBDBDBDBDBDB646464646464FCFC6464FC64FCFCFCFCFCFCDB
+ FCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFF
+ FFFFFCFC64640A0ABBBB160E0E07610808E3B1703CE81B195B60C3BE04512236
+ 694F4E270F022B62D6558C002AF297382CB3633367677858319FA42E7BA8A87B
+ 21C9660648B5B53A4B4B8035CA6A6AC5353E1D1D3E1D3E1ECA268E883B3B4325
+ 26262654542626262626262626252525562543255EA77D5E2525262626262626
+ 252626262654262554252525431443255D1E2606433DA9A90000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE11212FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFF1212E1FFFFFFFFFFFFFFFFFF1212E1FFFFFFFFFF
+ FFFFFFFFDF121212FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE11212
+ E1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBFCFC
+ DBDBDBDBDB64646464646464FCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFF
+ DDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFDDFCFCFCFC0A0A
+ BBBB16160EEE610808E30B703C181BED194742BE300422EAE54F4E270F0F022B
+ 1C5523002A09C2382CB36333674A0158879F9F2E7B5CA10D21A1064D48BDBD72
+ 809A3535C56C6C6C13131D44441D1D3E1D1ECA438E263D3D3D3D3D1313131313
+ 3D131313133D3D3D3D3DA3A3435E435DA33E3D3D3D3E3E3EA33EA3A3A3D7A354
+ 5426268E5E88592665D75D765D3D15A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE120DADADADADAE940FFFFFF12DADA0C
+ FFFFFFFFFFFF0CDADADADADADADADEFFFFDADA12FFFFFFFF0CDADADAFFFFFFFF
+ FFFFE0DADADADAE440FFFFFFFF40E9DADADADADA20E1FFFFFFFF12DEDADADADA
+ DADE12FFFFFFDADADEFFFF7FDADADEFFFFFFDFE0E2DADADADADEFF12DADADADA
+ DADADADAFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCDBDBDBDBDBDBDB
+ DBDBDBDBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFC64646464BBBB160EEEEE61
+ 08E30BB1703CE886194760493004512236294E270F0F022B62D6238C2A09F239
+ 381F6333054A0158879F772E7B5C5CA1210D4C9B91726F6FC8C83535CA6AC5C5
+ 1D6C6C1DB41D6C6C1D3E5D4354A33D1E653E3E1D3D3D3D3D1313131313131313
+ 15133D3D8E14263D3D1315C015151515C0C0151313133DD7151315A343935492
+ 133D3DC0C0133DA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFE6E2DADAE00C57E4DADAE0FFFF7FDADA0CFFFFFFFFFFFF0CDA
+ DAE9DEDEDEDE57FFFFDEDA12FFFFFF7FDADADADAFFFFFFFFFFFFDADE0C0CE4DA
+ DA7FFFFF57DADAE2570CE0E2DADAE6FFFF12DADADA200CE0DADADA40FFFFE4DA
+ DEFFFF0CDADAE1FFFFE1E2DADA200C0CE0E4FF12DADAE4DEDEDEDEDEFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFDDFCFFFCFC6464640A64BB16160EEE070808E3B1703C181B
+ ED5B47C33004512236694F4E270F022B62EF238C0009F239381FB36305674A58
+ 2F9F772E21A1100D21BF5F9B9B91BD6FC8C83535CA6A6AC56A35441D1D1D6C1D
+ 15C0359E5DD71D441D1D1D131313131313131515151515151313C01526595465
+ 653E131515151515C0C0C0C0C0C0C0159215C0151E5D3E13C015C0A9921515AE
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FE2
+ DAE97FFFFFFFFFE0DADA40FFFFDADA0CFFFFFFFFFFFF0CDADAE6FFFFFFFFFFFF
+ FFDEDA12FFFFFFDEDADADADAFFFFFFFFFFFFDFFFFFFFDFDADA0CFF40DADAE0DF
+ FFFFFFDFE9DAE27FFF20DADA0CFFFFFF12DADADEFFFFDEDADEFFFFE4DAE0FFFF
+ FFE9DAE2E1FFFFFFFFFFFF12DADAE0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFCFCFCFCFCFCFCFCDBFCDBDBFCDBFFFFFCFCFCFCFCFCFCFFFF
+ FFFFFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFCFCFCFCFC64640ABBBB160EEE076108E30B703C181B86194742BE300422
+ EAE54F4E270F0202621C558C8C2A099739382CB3343333674A78589477A85C75
+ CC754D4D0606065F4D4D4D4C4C4C4C4C9191919191913AC83792449E3E151D13
+ 1D1D1D1D1D1D1D1D1D1D1D13131313151D13C092764565653E13131513131313
+ 131315151515C092921315C03D651E5415C092C0151592AE0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0CDADA7FFFFFFFFFFFFF
+ DEDAE4FFFFDADA0CFFFFFFFFFFFF12DADA0CFFFFFFFFFFFFFFDEDA0CFFFF40DA
+ DA0CDADAFFFFFFFFFFFFFFFFFFFF40DADAE6FF20DAE4FFFFFFFFFFFFDFE2DAE0
+ FFDEDADADFFFFFFFFFE4DADAFFFFDEDADEFFE6DAE2DFFFFFE1DADAE6FFFFFFFF
+ FFFFFFFFDADADEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFCFCFCFCFFFCFCFCFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFFFFFCFC6464
+ 640A0ABB160E0EEE070808E3B1703C1B86195B6049300451EA36694E270F0202
+ 2B1C55238C2A09F2C2382CB3346305674A4A017873A4C975CCBF4D0D0D667506
+ 4C4C4C9B4C4C9B4C064D9B9B4C9B4C4C9B131E593E1D373735353535357C7C4B
+ 54545454543535353737543EB69C1D1D3E1D13133E6565653E3E3E3E3E653E1D
+ 131392C03D3E13133DC092151315C0A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFDEDAE9FFFFFFFFFFFFFF0CDADA7FFFDADA0C
+ E1127FFFFFFF12DADAE012121212DFFFFFE0DA0CFFDFE4DA20E1DADAFFFFFFFF
+ FFFFFFFFFFE6DADAE9FFFFDADA57FFFFFFFFFFFFFF20DAE4FFDEDADAFFFFFFFF
+ FFDEDADAFFFFDEDADEFFE4DA0CFFFFFF0CDADADFFFFFFFFFFFFFFFFFDADAE912
+ 1212127FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFC
+ FCFCFCFCFCFCFFFFFCFFFCFFFFFCFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCDDFCFCFC64640A0ABB1616EEEE
+ 076108E3B1703C181BED5B60423004512236294E4E270F022B62EF2300002AF2
+ 97382C1FB33405336767582F8794C9BF210D98A10D755F744D4D4C4C4D4C4D4D
+ 4C48489B48B5BD4C06131E593D1D767C353535359A8080C854547C7C7C545435
+ 3735833E984BCBCB1E1E65651E1E1E1E651E1E1E1E5D3765371E3D3D1E3E9292
+ 3E15C013131513A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFDEDADEFFFFFFFFFFFFFF12DADA12FFDADA0CE2DADAE4E1FF12DA
+ DADADADADADA12FFFF0CDA0CFF0CDAE27FFFDADAE1FFFFFFFFFFFFFF0CDADAE9
+ DFFFFFDADA0CFFFFFFFFFFFFFF0CDADAFFDEDADAFFFFFFFFFFDEDADAFFFF20DA
+ DEE6DADA2012FFFF0CDADAFFFFFFFFFFFFFFFFFFDADADADADADADA0CFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCFCFCFCFFFFFF
+ FFFFFFFCFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFDDFCFFFCFC640A0ABBBBBB16EE076108E30BB13C18
+ 1BED5B4742BE040422EA694F4E270F022B62EF238C002A09C2F7381F1F1F63B3
+ B33401785831C9A121A10DC97EAA4D4C4C4C4C4C4C4C4D4C9B5F7E21104C6E4C
+ 0D444BBF3E1D76809A35CACACACACA355454C8C8C8C85454C8C8483E0D541D13
+ 1E1E653E3E3E3E3D651E1E651E1E1E3E1D1E653D3E139213133E3E13131313A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20DA
+ E4FFFFFFFFFFFFFF12DADA12FFDEDA571240E9DAE2DF12DADADE0C0C0C0C7FFF
+ FF0CDA577FDADA0CFFFFDADA12FFFFFFFFFFFFE0DADAE0DFFFFFFFE2DAE0FFFF
+ FFFFFFFFFF0CDADAFFDEDADAFFFFFFFFFFDEDADAFFFF0CDADEE1120CE2DA57FF
+ 0CDADA7FFFFFFFFFFFFFFFFFDADAE40C0C0C0C12FFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFFFFFFFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFC
+ FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFF
+ FFFFFFDDFCDDFC6464640A0ABBBB160EEE070808E3B1703CE81B194760493004
+ 2236E54F4E270F02022BD6558C000009F239381F1F2C3333676778585873100D
+ 215C66A80D664D5F066E4D4D4D0674AA9B21F031AB484C06BF1E26BF3E133AB0
+ 6F446C9A541E5454353A76C6D1B6767C6F9545CAC9D713151E445D4465443D3E
+ 655D651E4BD5761DCACA351E3E15C0153E15C0133E1315A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6DADA12FFFFFFFFFFFF
+ 57DADADFFFDEDA0CFFFF7FDADAE612DADA0CFFFFFFFFFFFFFF0CDADEDEDAE4FF
+ FFFFDADA12FFFFFFFFFF12DADAE0FFFFFFFFFFE0DAE2DFFFFFFFFFFFFFE9DAE9
+ FF0CDADA12FFFFFFFF0CDADAFFFF0CDADEFFFFFFE6DADA7F7FDADA0CFFFFFFFF
+ FFFFFFFFDADADEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFCFC
+ FC640A0A0ABB160EEE076108E3B1703CE81BED5B60493004512236294E270F02
+ 022B1CEF2300000997C2382CB32CB33463334A7858C1C90D79C9AA1010A87E5C
+ 754C75064D4D744D0D242EB74D4C4C06754426BFD71D953A3AB54BCA543E3A76
+ 9CC875D4213A3A243A9145357ED7131D5D3E3E3E1D13543E1E1E1E3D9EC6BF54
+ 9A35351E3E1515136513C0C0151313A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFDFE2DAE9DFFFFFFFFFE1E2DAE0FFFFDEDA0C
+ FFFFDFDADA0C12DADA0CFFFFFFFFFFFFFF0CDAE2DADA12FFFFFFE4DA12FFFFFF
+ FFFF0CDADAFFFFFFFFFFFF12DADAE0FFFFFFFFFFE6DADAE6FF0CDADA12FFFFFF
+ FF0CDADA12FF0CDADEFFFFFF40DADA12FFDEDADA12FFFFFFFFFFFFFFDADADEFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFFC64640A0ABB160E
+ EE076108E30B703C181BED5B47C33004512236294F27270F022B62EF23002A09
+ 09C2382C1F2C386363054A017887A8BF7B10065C5C0DAA66664D66754D064D06
+ AA2E24AA4C4D0D4D063E26BF3E3E9C9CC8B5CA6C76548335443A0DCC45542ED5
+ 95484584BFD7134454831E13761D5D1E5D9265452EC698544BC8351E1D15133E
+ 653E15C0153E3EA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFF12E2DAE40C121257E2DAE2DFFFFFDEDADE0C0CDEDADA4012DA
+ DADE0C0C0C0C0C7FFF40DADADA20FFFFFFFFDEDAE6FFFFFFFFFF40DADA201212
+ 0CE1FFFF0CDADADEE61240E0DADADEFFFF0CDADA12FFFFFFFF0CDADA12FF0CDA
+ E40C0C57E2DADADFFFDFE9DADAE040124057E1FFDADAE40C0C0C0C0C12FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFC640A640ABB1616EE076108080B7070
+ 181B861947423004512236694F27270F022B62D6230000EC0997F72C1FB33834
+ 056701787887CC0D79AB4DAB215C5CA16606AAAA4D4D4D060101F3C1A84C6606
+ 061DAD986C44959C9A95449A7676761E1E567D7D84B7F0069148953A063E1337
+ 5D1E5D13763E443E54C05488D12F983A6FC835441D151D1E3D3E3E133D653EA2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ E1DEDADADADADADADEDFFFFFFFDEDADADADADADAE0FF12DADADADADADADADA12
+ FF12DADADA7FFFFFFFFFDEDA0CFFFFFFFFFFFFE0DADADADADA7FFFFFFF40E4DA
+ DADADADADA57FFFFFF0CDADA12FFFFFFFF0CDADA12FF0CDADADADADADAE2E6FF
+ FFFFDFE0DADADADADADA12FFDADADADADADADADA0CFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ DDFFFFFFFFFFFFFCFCFC640A0ABB16160EEE070808E3B1703CE886194742BE30
+ 042236694F4E270F022B62EF238C00EC09C2F72C1FB3B36367670101782FCC0D
+ 10794D2121A15CAAAAAA4D4D064C4C064D7E797B945C9B4D061D9598131E763A
+ C83A449544541D54C8138806A3AD9826914895569E1D153576924B1E3E5D543E
+ 155D83982E4AD47B6FC81E3E13151D1E3D3E3D13133E3DA20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FE60C0CE67F
+ FFFFFFFFFFE112121212127FFFFFDF1212121212121212DFFFDF1212E1FFFFFF
+ FFFFE1127FFFFFFFFFFFFFFFE10C0C0CE1FFFFFFFFFFFFE10C0C0C40DFFFFFFF
+ FF7F1212DFFFFFFFFF7F1212DFFF7F121212121212FFFFFFFFFFFFFFDF400C0C
+ 0C40DFFF12121212121212127FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
+ FF64640A640ABB160EEE070808E3B1703CE88619476049300451EAE54F4E270F
+ 020262D6558C002A0997F7381FB3343305674A0178C121A15C794D7910667BAA
+ 75790D4DAA4C4C06AA064C6E0D7506AA981D45061335763A4844443A1EB21E76
+ 3A4B764B563A7648919B9593563D157C5D4B5D13441EC01E65541E5476983AC8
+ 6FC81E3E1315134465131515151513A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFCFFFCFC64640A0ABB16
+ 0EEE076108E3B1703CE81B195B4749300451EAE54F4E270F022B2B1C55238C2A
+ 09F239381FB3343305676701782F8BA1C9AB4D211021019F0D2FA4AA66064D06
+ AA4CA1AA4D74664CBF1D43981354769CC8C8D101F0D19E1D3EB2443A453A453A
+ 6E4C9506831D15763D8313831E44541E3D15135D3A761E3A4B8035441D151365
+ 6513131E1E1315CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCDDFFFCDB64640ABB1616EE076108E30B70
+ 3C181BED5B47C330045122E5294E270F02022B1C55238C00099738382CB33463
+ 05674A0178782EA199CC06215C210558A1F32FBF66AA4D4D4C75AA4D5C4D0610
+ BF1D4898134B3A913AC5940D7676C8837C7CA87B3A9C3A486E4C45983A1D1576
+ 3A1376D15DB2C6761E1E5D15765454354B80351E1D15133E3D151E833A65C0A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFDDDDFCFFFCFCFC640A0ABBBB16EEEE6108E30BB170181BED5B474230
+ 0451EA36294E272702022B62558C8C2AEC9739381FB3343305674A01782FD5C9
+ 79A866A8109F874A8DC6F30DA10D4D66AA666666AA06BFA1A11D9EBF549A9C3A
+ 83D7F578787BBDBD5648D4C90DD276833ABF76C94B441D761E769CC65978B67C
+ 54351E5D54545476763A1D761315374465153DD13E1365A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFF
+ FFFCFC64640ABB16160EEE610808E37070181BED5B4742300451EA36694E270F
+ 02022B62EF8C8C002AF239F71F1FB36333054A017858775CAB8B06791078A4C1
+ 0521587779A1A8A85C5C5C5C0DAA66A10D15C999A34B9C3A4B83F0BF5966486E
+ AA4CD198CC109E839C9EADD2C81E443A54139EF3C6785FB695764B4B4B5D5D5D
+ 763AC83A1E445D44156583D41E3E1EA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFFFCFC646464BBBB
+ 160EEE070808E3B1703CE886194742BE04042236694F27270F022B1CD6238C2A
+ 09F2C2381FB3B3633305674A01F024107B2FA1AB7901AB2E0599D42410107966
+ 5C5C5C5C7E0D0DA10DD78F2ECA95569148B6016701774D100D4CD24810065945
+ 595643A5AD54C8953E9EC9CC88C6CC83599EB2B2453A767654358335D7441E3E
+ 135D59995D76B26F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC64DB640ABBBB160EEE070808E3B1
+ 703CE886194742BE30512236694F27270F022B1CEF238C002AF297382C1F3463
+ 3305674A015824A8CF2F7BC9102E0D10C9BF107E66ABAB105C5C5CA8105C5C10
+ BF458F8BAD9D6E6E9E3A065906AA9D0D0DAA0D06BF9806599893143143C8C876
+ 48567DF0317B59594C9E489E48569C9C45959826C8C84B848399F57899454B6A
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFDDFFFFFC64646464BBBB160E0E076108E3B1703CE886194742BE
+ 04042236694F4E270F022B62EF23000009F239382CB3343305674A4A78879F8B
+ 249FCF7E7E0DAA664D754D064D4DB7664D4C4C4D06060606459E0D06B5843A3A
+ 959B48B03A984C934C4D954C9D4D9E4C4343933B43C85454CAD7CA3ACA845426
+ 3A6F6F3A833A3A3A4B26AA8444D7A3D7543D1E44545D37B40000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
+ FFFCFCFC640A0ABB160E0E076108E30B703C181BED5B604930042236694F4E27
+ 0F022B1CEF23002A0939382C1F3433054A0158879FA47B21CCA10DBFB7489195
+ 91726F4856987DC972B09AB06FB0B0B04445C835AD9A9A6FB0356A953A4B4C3B
+ 3A6F9AC84B9A4BC835268326434B544B54CAD7CACA985E43C89ACA9A9A353554
+ 4B9598B76FC89ACA3D5D76B6833E1D6A0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFC64640A0ABB
+ 1616EE070808E3E3B1703CE81B1947C3300422EA694F27270F022B1C5523002A
+ F2C2382C1F3433676701583194778B7BCC5C0D6606065F9B6E6EBD3AC8067B8E
+ 6EB5B0B0B0C880804435CAC5C89A6AB09AB09A80C53599A79572729A6F35C835
+ 1E35C8CA26C8354B6ACA4B1D440D7D8E6FC89A9A35CA1E35C580C83A35C5CA6C
+ 3D767610597613AE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFFDDFCFC640A0ABB160EEE0761610808
+ 08E3E3B17018ED4749045136694F4E270F022B1C5523002A0939381F1F343367
+ 677858739FA47BA85C5C0D4C5F9B9191726E72C826563B846E729A9A80356A6A
+ 801D4B356A80AC806A9A6AC8D73D3B8872726F806A806A6A35441E543E354435
+ B01D6FCACAAD7E95B56FC89A9ACACA353580CBC8AC6A4B353D7615BF76541ECB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDDFFFCDDFC0A0A0ABB160EEE07076107EE0E0E0EEE0708B11B
+ 473051EAE54F4E270F022B1C5523002A0939381FB33433674A015873772E8BCC
+ 5C66665F5F4C6F953A72B03ACAB73B546F3A1D806AB4C580B0B46AB46FB46AB4
+ 449A1D4435157D9880B09A8080C5C5C57C15443735351D351D441DCA1E4B0635
+ 6F6F44C8445D1D3E1D443E44541E1DC81E443E4BC81E54CB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
+ FCFFFC6464640ABB160EEE07077F71176B818181170316081B4204EA694F4E27
+ 0F022B1CD623002A0939381FB36333674A0158872F739F777B9F7BA81066A14D
+ 9B483AC815837ECAB43A3A6EC84C6F95484806486E4806483A953A6FC8152193
+ 6CB09A6ACBC5657C44351D5415C854547C541EC8D73A4844CA6FC515A95D3544
+ 1D3A35443E1E44C01E441D351E1D35CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFC6464640ABB
+ BB0EEE070781FEFEFEFEFEFEFEFEA60AE31904EAE54F4E270F022B621CEF8C00
+ EC97381F1F63333305676778788773739424A4249F79C9AB5C5CBF486C43AB84
+ 80064C4C9B5F664C485C065F5C0D6E5F4D4C75064C448F43B46A6F4B959C3AB2
+ 9CB2B29CB6B61D459C6F6F8ECA4C3A1DCACA6C9A4B4B1D1D1EC03A4B153A159C
+ 35441D4413C044A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC640A64BB160EEE0707CDFE7A
+ 82D36BCDFEFEFE17EE1B3022E5294F4E270F0F022BD655002A97381FB3343333
+ 33674A01015887947377247B7B2E218B10ABA806A34899CA954D489BAA48664C
+ 754D75BF064C75A10D454D9806CA8F26CA3548C8B2445D54C8543A359E35483A
+ 954B4593AD0D351D1DCAC56C1D134445761E1D833E3E3E1D351E1D3EC09244A2
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFCFC64640A0ABBBB160EEE07D312610808E3C4F4FEFEB8
+ 163C495136E5E56969294F4E270262232AF2381FB334333305670505782F8794
+ 942424014A947B7EA8A8CC98D75699A3B5484C0DAA774D669B7506664A78D1C6
+ 779E4C98BF3524841D3A6E541E3A75B676563A563A54F021BD4B45483AA1C51D
+ 6C4BC54410D5BF131D35BF4859D10D5D35353E3E15C044A20000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFF
+ FCDDFCDBDB64640ABBBB90EE07616161616108E3F6FEFEFEBB70425122220430
+ 604242490436271C0009F71F1F3433330505336301C1C1949F24335831059458
+ 79AB21A1CA437D844B0D0648D4A8F04C0D4CAABFF0F30188787E060DBF268DAD
+ A94CC85676D478884B3A3A8376450DF05F6E489DB598356A6CB0CA6CBF990676
+ 764483D1313A44445D5D3E3E131535A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5003030328FFFFFFFFFFFFFFFF
+ FF5003031AFFFFFFFFFFFFFFFFFF280303031AFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFF1A03030328FFFFFFFFFFFFFFFF28030350FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A030350FFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFF50030328FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A03031AFFFFFFFFFFFFFFFFFFFF
+ FF28030350FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF030303FCFC6464
+ FC0A16EE0761EE1A030316EE12FEFEFE50B1600404428670E68903890B1B0402
+ 23EC381F34343333336767670578873131948B01F301F52E215C990DD73A99CA
+ BD4C064C66F0AB0D740DBF9E8DF30501D20D4D9859842ECA6C5935B29C244A83
+ 45C83A7659C926F0064CB7959D4D9A6AC89ACA562E103A44C0440DD2249C354B
+ 5D351D1D15135DA20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFF03A6FEFEFEFEFEFEB86B1AFFFFFFFF6BFEFEFEFEFEB871FF
+ FFFFFFFF17B8FEFEFEFEFEFE17FFFF03FEFEFE28FFFFFFFFFFFFFFFFFFFFFFFF
+ FFFF036BCDFEFEFEFEFECD32FFFFFFFF717AFEFEFEFECD6B28FFFFFFFFFEFEFE
+ 03FFFFFFFFFF81FEFE17FFFFFFFF6BFEFEFEFE82FF03FEFEFE28FFFFFFFFFFFF
+ 286BCDFEFEFEFE7A71FFFFFFFF03FEFEFEFFFFFFFFFFFFFFFFFF17FEFEFE03FF
+ FFFFFFFFFFFFFFFF71B8FEFEFEFE3217FEFE81FFFFFFFF037AFEFEFEFEFE17FF
+ FF03FEFEFEFFFFFFFF81FEFECD50286BFEFEFEFEB8FCCDFEFE03BB0E615081FE
+ FEFECD17BBFEFEFE03B147EB47A0A6FEFEFEFEFEFEB8D04E2309381F34343333
+ 336733673487942F24A424F0317B7B7D215CAB5CCA8399A33A0606AA31A49F06
+ 667445BFD4054A7B4D4D060D4D56CFCA3E453A3A76B2013A564BCA3A932E01D2
+ 484848B5B7486AB49AC844C8CCA13A3E1E35C8C9D54476765D1E1315C01D54CB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B
+ FEFEFEFEFEFEFEFEFEFEFE32FFFFFFB8FEFEFEFEFEFEFE71FFFFFF81FEFEFECD
+ 8181CDFE81FFFF03FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF286BFEFEFEFEFEFE
+ FEFEFE81FFFFFF6BFEFEFEFEFEFEFEFECD50FFFFFF7AFEFE03FFFFFFFFFF82FE
+ FE17FFFFFF71FEFEFEFEFE81FF03FEFEFEFFFFFFFFFFFF50CDFEFEFEFEFEFEFE
+ FE6BFFFFFF50FEFEFEFFFFFFFFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFFFFFF1A
+ CDFEFE8117173203FEFE81FFFFFF32FEFEFEFEFEFEFE81FFFF1AFEFEFEFFFFFF
+ 71FEFEFE32FF82FEFECD8217822881FEFE030A9050CDFEFEFEFEFEFE6BFEFEFE
+ 030B5B47E0CDFEFEFEF4D9F4FEFE2D272309381FB363333305674A67012FC194
+ 9F772E944AF02179795C10A1444B885DC8754D75BF7E4C064C4C9B06107821C9
+ 4D4D66665993ABC81D455654543A3A54B09A4B6F5624F00D5F48834806543E1D
+ 5D54351E1E351E1E3DD78399064B44765D5D139213653ECB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFEFE6B71033281
+ FEFEFEFE03FFFF827128FF1A7AFEFEA6FFFF17FEFECD17FFFFFFFF1A32FFFF03
+ FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF7AFEFEFECD82710303176B7AFFFF71FE
+ FEFE1728FF037AFEFEB828FFFF81FEFE71FFFFFFFFFF17FEFE82FFFFFF17FEFE
+ FE03FF71FF03FEFEFEFFFFFFFFFFFF7AFEFE7A03FF2817FEFEFE17FFFFFFFEFE
+ FEFFFFFFFFFFFFFFFFFF03FEFEFE03FFFFFFFFFFFFFFFF17FEFEB8FFFFFFFF1A
+ FEFE7AFFFF1ACDFEFE7A71FFFF1A32FFFFFFFEFEFEFFFF28B8FEFE6BFFFFCDFE
+ FE32DDDDDB646BFEFE710A1681FEFECD32EEC4D3FEFEFEFE030BEDFACDFEFE81
+ 9647305151E0E0028C09381F34B3330505674A0178878731249FA4A4247B108B
+ 10AB21BF35450D546EAA744859069E0606BD594C48C9064C4DAA75754D14211D
+ 54487676543A353A3A9A4BCA3A59453A95B25643BF541D929C3E441D761D5D35
+ D7541E35134B3A541E1E3DC01D4465CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF7AFEFEFE17FFFFFFFFFF6BFEFEFE6BFFFFFF
+ FFFFFFFF82FEFEA6FFFFB8FEFE17FFFFFFFFFFFFFFFFFF1AFEFEFEFFFFFFFFFF
+ FFFFFFFFFFFFFF17FEFEFE8128FFFFFFFFFFFFFFFFFFB8FEFE17FFFFFFFF28CD
+ FEFE17FFFF81FEFE17FFFFFFFFFF17FEFE81FFFFFF17FEFEB8FFFFFFFF1AFEFE
+ FEFFFFFFFFFF32FEFECD28FFFFFFFF17FEFECDFFFFFFFEFEFEFFFFFFFFFFFFFF
+ FFFF03FEFEFE03FFFFFFFFFFFFFFFF17FEFE7AFFFFFFFFFFFEFEFEFFFF17FEFE
+ CD28FFFFFFFFFFFFFFFFFEFEFEFFFF82FEFEB828FFFFFEFEFE71FFDD646417FE
+ FE170A7FFEFEFE3290E3703CD3FEFEFE03E31BC7FEFEB8C4190436294F4E0F2B
+ 8C2AC21F3434333305674A017887C19F9F9FA48B8B21797B5C797BBF35565E54
+ C84D664C750659590D6EBFAABF1010994D660666B798211D92483A4576453E3A
+ C86E4B9D459A4583B2594C83C9C81EC5441E4B5D5D131D3ED73ED74B3E441E54
+ 1D1E3E133E3E3DCB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFEFEFEFEFFFFFFFFFFFF28FEFEFEB8FFFFFFFFFFFF71CDFEFE71
+ FF50FEFEFE28FFFFFFFFFFFFFFFFFFFFFEFEFE03FFFFFFFFFFFFFFFFFFFFFFCD
+ FEFEB828FFFFFFFFFFFFFFFFFF1AFEFEFE1AFFFFFFFFFF82FEFE81FFFF17FEFE
+ 17FFFFFFFFFF17FEFE81FFFFFF71FEFE7AFFFFFFFFFFFEFEFE03FFFFFFFF6BFE
+ FE6BFFFFFFFFFF28FEFEFE03FFFFFEFEFE03FFFFFFFFFFFFFFFF03FEFEFE03FF
+ FFFFFFFFFFFFFF1AFEFEFEA61AFFFFFFFEFEFEFFFFA6FEFE6BFFFFFFFFFFFFFF
+ FFFFFEFEFEFF50FEFEFE50FFFFFF6BFEFECD32FFFCFC17FEFE170A03FEFEFE28
+ 070B18E818B8FEFE0308E8D8FEFE820B4704223636694F0FD600971FB3343333
+ 330501782F582F9494772E2E2E778BA8AB10107ECA8399264D4D4D0694F0774C
+ 4C0D4C749F78D5C6934D5F0D95AB999C765935C8CCD4BF4B4CACB5C8458BC976
+ 9C5643AD7D4B35353A5444C910CC834B26458821593E1576445D1E3E653E1DB4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFE
+ FE7AFFFFFFFFFFFFFF7AFEFEFEFFFFFFFFFF82FEFEFE17FFFF03FEFEFEFFFFFF
+ FFFFFFFFFFFFFFFFFEFEFE03FFFFFFFFFFFFFFFFFFFF03FEFEFE32FFFFFFFFFF
+ FFFFFFFFFF03FEFEFEFFFFFFFFFFFF03FEFEFEFFFF17FEFE82FFFFFFFFFF03FE
+ FE7AFFFFFF03FEFEFEFFFFFFFFFFFEFEFE03FFFFFFFF81FEFE17FFFFFFFFFFFF
+ 81FEFE17FFFFFEFEFE03FFFFFFFFFFFFFFFF03FEFEFE03FFFFFFFFFFFFFFFFFF
+ 32CDFEFEFE7A825081FEFE50FF81FEFE17FFFFFFFFFFFFFFFFFF81FEFE507AFE
+ FE17FFFFFFFF2881FEFEFECDA63271FEFEA60A03FEFEFE6407B1181B1BD8FEFE
+ 170818D9FEFE17613C86195B191947040F8C972CB33463050567014A4A582FC1
+ 87949F778B8B2E211010A15C3593A58E6F4C759B2EF0871010060D7B2105F32E
+ 934C5FA1B5A521B21E483A547BD51006BD7EA1BF4DAB24B23A839E06314C4B76
+ 1E443AD424CCB2984310D4993A1E3E3E5476541E5D5D5D9A0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE81FFFFFFFFFFFF
+ FF81FEFEFEFFFFFF2881FEFECD71FFFFFF03FEFEFEFEFEFEFEFEFEFEFEFEFFFF
+ FEFEFE03FFFFFFFFFFFFFFFFFFFF17FEFEFE1AFFFFFFFFFFFFFFFFFFFF03FEFE
+ FEFFFFFFFFFFFF03FEFEFEFFFF17FEFE81FFFFFFFFFF03FEFEFEFFFFFF03FEFE
+ FEFFFFFFFFFFFEFEFE03FFFFFFFF81FEFE17FFFFFFFFFFFF81FEFE17FFFF81FE
+ FE03FFFFFFFFFFFFFFFF03FEFEFE030317177128FFFFFFFFFF28177AFEFEFEFE
+ CDFEFE03FF81FEFE17FFFFFFFFFFFFFFFFFF81FEFE82FEFECDFFFFFFFFFFDDFC
+ 036BCDFEFEFECDFEFE810A1AFEFEFE1AEE0B18861BD3FEFE170818D9FEFEFEFE
+ FEFEFEFEFEFEFEF1E523F22C341F2C0505674A34344A2F582FC17394777777A4
+ A87910C94B99BC140666AA06A40178AB5C77A8AB8B01D421AA66BFBF8EF53F54
+ 4C5656592FD421985C105C06D578CC4C064C595E8D9326765D0D31D421B6590D
+ 06998DBF3A459C7654545D1E5D5D54B00000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF81FEFEFEFFFFFFFFFFFFFF82FEFEFE28FFFF
+ 81FEFE7A1AFFFFFFFFFFFEFEFE710303030317FEFEFEFFFFFEFEFE17FFFFFFFF
+ FFFFFFFFFFFF17FEFEFEFFFFFFFFFFFFFFFFFFFFFF28FEFEFE71FFFFFFFFFF32
+ FEFEB8FFFF17FEFEFE28FFFFFFFF71FEFEFEFFFFFF28FEFEFEFFFFFFFFFFFEFE
+ FE17FFFFFFFF82FEFE7AFFFFFFFFFFFFB8FEFE32FFFF81FEFE03FFFFFFFFFFFF
+ FFFF03FEFEFE03B8FEFEFEFE82FFFFFFFFFFFFFF280382B8FEFEFE32FF82FEFE
+ 7AFFFFFFFFFFFFFFFFFF81FEFE717AFEFE32FFFFFFDDDDFCFCDBDB5032A6FEFE
+ FEB80A16B8FEFE17BB0870E8E8D3FEFE17081BF1FEFEA60389892D89F4FEFED3
+ 22D6092CB3B31F0533674A05057858783131949F949F2E8BAB7921A15699A55E
+ B5060DA1BF7979A106A8BFBF0DAB0DBF66BFBF0693525243543A4C062106489E
+ 9DAA9D4C7910BF9E599E458E98C8CA1E4B98CC48454B3A13C8D74C4B5D1E1D3E
+ 1E1E3E3D653E3EC50000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF81FEFEFEFFFFFFFFFFFFFF17FEFEFE03FF50FEFEFE28FFFFFFFF
+ FFFFA6FEFE32FFFFFFFF32FEFEB8FFFFFEFEFECD50FFFFFFFFFFFFFFFFFF17FE
+ FEFEFFFFFFFFFFFFFFFFFFFFFFFFA6FEFEA6FFFFFFFFFF81FEFE6BFFFF71FEFE
+ FEA6FFFFFFFFA6FEFEFEFFFFFFFFFEFEFE28FFFFFFFFFEFEFECD50FFFFFF50FE
+ FEFE50FFFFFFFF03FEFEFE1AFFFF81FEFE03FFFFFFFFFFFFFFFF1AFEFEFE71FE
+ FEFEFEFEFE6BFFFFFFFFFFFFFFFFFF28B8FEFE17FF71FEFEFE03FFFFFFFFFFFF
+ FFFF81FEFE0350CDFEFE71FFFFDDFCFCDBDBDB64FC6417FEFEFE0A0ED3FEFECD
+ 500E08B1B1D3FEFEA6611BA0FEFEB8EE3C5B4786B8FEFEC7E5F9F21FB36363F3
+ 67670178F087879424A42E8B7B21A879795C2166B75E5E14B774B74DBD4C4856
+ 4C9D564D9E454C4C93489B59143B53A73A3A5435763AC8C8B0CA3AB54B3A3A4B
+ 4B5683AD434B26353E1D1D1E1E444435C813484B76351D445D1E1D3D3E1315CB
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6FE
+ FEFEFFFFFFFFFFFFFF17FEFEFE03FF03FEFEFE17FFFF1A32FFFF03FEFECD03FF
+ FF287AFEFE17FFFFFEFEFEFECD821703FFFFFFFFFFFF71FEFEFE71FFFFFFFFFF
+ FFFFFFFFFFFF50FEFEFEA61AFF1A6BFEFEFE50FFFF03FEFEFEFEB882177AFEFE
+ FECDFFFF5003FEFEFE17030328FFFEFEFEFECD821703FFA6FEFECD32FFFF71CD
+ FEFEA6FFFFFF81FEFE71FFFFFFFFFFFFFFFFFFFEFEFE7128FF507AFEFEFE03FF
+ FF0328FFFFFFFFFFB8FEFE17FFFF7AFEFECD3228FF280303FFFF81FEFE03FF32
+ FEFECD50FFDDFC1A50DDFCFC64DB32FEFEFEBBEE617AFEFECD321AEEEE6BFEFE
+ 81611960D9FEFE6BC43C18F6FEFECDD02700392CB36333674A01F058D1C1872E
+ 8B79C90DBFBF754D4D4D56954556459E453B7D1480373E1E1E3544134435443E
+ 6C443E5D253FA7C945441D1E3E441E1D443E3E44443E44543BA13A8044921313
+ 13923E15153E153E1515351D1D54C0C09265A9A9C09213AE0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFE1AFFFFFFFFFF
+ FF03FEFEFE03FFFFB8FEFEFEFEFEFECDFFFFFF32FEFEFE7A81FEFEFE7A28FFFF
+ FEFEFE7AFEFEFE17FFFFFFFFFFFF28FEFEFE6BFFFFFFFFFFFFFFFFFFFFFFFF32
+ FEFEFEFEFEFEFEFEFE32FFFFFF03FEFEFE81FEFEFEFEFEFEFE82FFFF81FEFEFE
+ FEFEFEFE03FFFEFEFE7AFEFEFE17FF287AFEFEFEFEFEFEFEFE7A28FFFFFF81FE
+ FE17FFFFFFFFFFFFFFFFFFFEFEFE03FFFFFF28CDFEFE6BFFFF82FE7A6B17177A
+ FEFEFE50FFFF50CDFEFEFEFEFEFEFE17FFFFA6FEFE32FFFFA6FEFEB828FCDB28
+ FECD8117176BCDFEFEA6166108C47AFEFEFEFEFEFEFEFEFEB8E3473096F4FEFE
+ CD81B8FEFEFEC72262F2381F3433054A7858C17331319F7BC975B648B245956F
+ C84B35449A9ACACA543B3B841DAC1313921D13921D1D151D6C1D1D3D3D3B983A
+ 1E13131D1D131D1315C0C01313C015138E5615B4CB15151513C03E133D65C015
+ 131544C51D15A9C09265C013651365A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFF03FEFEFE17FFFF
+ 5081FEFEFEFEFE6BFFFFFFFF037AFEFEFEFECD6B28FFFFFFFEFEFE716BFEFE17
+ FFFFFFFFFFFFFF6BFEFEFE03FFFFFFFFFFFFFFFFFFFFFFFF1A6BFEFEFEFEFEA6
+ 03FFFFFFFF03FEFEFE2882CDFEFEFECD82FFFFFF81FEFEFEFEFEFEFE03FFFEFE
+ FE716BFEFE17FFFFFF32B8FEFEFEFEB81728FFFFFFFF6BFEFE17FFFFFFFFFFFF
+ FFFFFFFEFEFE03FFFFFFFF81FEFE81FFFF0381CDFEFEFEFEFEB871FFFFFFFF1A
+ 6BFEFEFEFEFECD50FFFF17FEFE17FFFF28CDFEFE7A28DBDB6B7AFEFEFEFEFEFE
+ 6B7F0708E30BE3F67AFEFEFEFEFEFEFEF418EB512296F8CDFEFEFEFEF432510F
+ 009738B33433674A015831D4319F8BA85C0DBF064D4D4C4856454B6F6FB044B4
+ 3D3B5E3DAC7C3554C83A3A83453A3A56953A9C76A37D986A133E441E35444435
+ 764B4B7676C8544B439D1D1DC53537445D1E545D4B3A5D545D5435763792135D
+ 3E1E651E1E3E1ECB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFEFE03FFFFFFFFFFFF03FEFEFE17FFFFFFFF28030350FFFF
+ FFFFFFFFFFFF28030350FFFFFFFFFFFFFFFFFFFFFF1A031AFFFFFFFFFFFFFF1A
+ CDFEFECD71FFFFFFFFFFFFFFFFFFFFFFFFFFFF030303FFFFFFFFFFFFFFFFFFFF
+ FFFFFFFF500303FFFFFFFFFFFFFF81FEFE03FFFFFFFFFFFFFFFFFF1A031AFFFF
+ FFFFFF1A03031AFFFFFFFFFFFFFF17FEFE17FFFFFFFFFFFFFFFFFFFEFEFE03FF
+ FFFF28CDFEFE81FFFFFFFFFF2803030328FFFFFFFFFFFFFFFFFF0303031AFFFF
+ FFFF17FEFE17FFFFFFFFFFFFFFFCFC640A646450030350BB16EE61E30BB17070
+ 700B89898989FBE819C351E5693622300C2D2D9604690FF92AF2382CB3B33305
+ 4A01739FC131217B7B79CCA8C910C910AB10107EA10D4D3A3D995E3D3A914556
+ 484C5906064C9E064C480659A38F0DAC4476764B3A3A4B4556459C4545454545
+ 5E9D441D7C355D35C8545454544B4B4B544B6A7637A9655D4B5D1E5D443E1EB4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FE
+ FEFE03FFFFFFFFFFFF28FEFEFE17FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32FEFEFEFE7A1703
+ 0371177A03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFE32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF17FEFE17FFFFFFFFFFFFFFFFFFFEFEFE6B171717B8FEFEFE17FF
+ FFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFE17FFFF
+ FFDDFCFFFFDBDB640A0A0ABBBB1616EE0761080BB1703C18E81B86ED195B6049
+ 0451364F4E4E4E4E4E4E4E270F2B55000939F72CB3346305674A317731C18BD5
+ 8B7BCC79A810A8A8C90D0D66660D75B55D7D5EA39B919C564548489E064C484C
+ 7448065954B95E6C353A76C83A833A45953A3A3A3A4545457E3A44923A443554
+ 35C8C8C854355454543A3580C5921E651E13445D3E441ECB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03FEFEFE17FFFFFFFFFF
+ FFFFFEFEFE6BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03CDFEFEFEFEFEFEFEFEFE28FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A17
+ 8117FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FE
+ FE81FFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFE7A28FFFFFFFFFFFFFCFCFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFEA6FFDDFFFFFFFCFCFCDB64
+ 0A0ABBBB900EEE076108E30B703C18E886195B4742EB30512236294E270F0F0F
+ 02022B62552300EC9739381FB3346333674A312431877B248B7979A8C9105C7E
+ A8A17EA10D107E9B1E7D5EA34D91484556B64848590659594D4C7598265206AC
+ 543A76544B833A7645459595569E9E483BADCACB9C351E541EC8547676C83A76
+ 263AC8356C151E5D1D137676445D54B40000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFF03FEFEFE17FFFFFFFFFFFFFFFEFEFE81FFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFF28177AFEFEFEFEFEFE7AFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17FEFE81FFFFFFFFFFFF
+ FFFFFFFEFEFEFEFEFEFEFECD6B28FFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFF17FEFE81DDFFDDFCFFFFFCDB640A0ABB16160EEE0761
+ 0808E3B1703CE886195B4742BE04512236294F4E270F02022B1CEF232300ECF2
+ C2F7381FB3346305674AC1D49F877BD2A47B21A85C105C7E5C0D7E7EAA7E0D6E
+ 3E7D7EA34D9B064548065956484C4C4C4D4D060684B99DB4763A453A4B45B276
+ 3AB5B595489EB79D93C86C1D4BB21E35459544CA9A9A956F263580ACCB923E45
+ 45560DB63E5D54B40000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF03030350FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFDDFFFCFCFC0AFC640A0ABB16160EEE076108E30B707018E886
+ 19476049300451EA36294E270F0F022B1C1C238C8CECEC09C2382C1FB3633305
+ 674A58D49F2F7B24A48BABA85C10A1667E667E7E665C5C481E8B99A34C9BBF26
+ 59A10D9EB24C5959AA7575982552BDAC3A45B6483A48593A6F3A95BD4874483A
+ CAC86CB03A10B2458BC93A9A9A9A569556353AB0C5C5C888CCCCD5BF1D4435B4
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDFC
+ FFDBFFDB640A0ABBBB161690EE07610808E3B1703C181BED5B4742BE30042236
+ E54F4E270F0F022B1CEF238C00EC0909C2382C1F3463330567675894242FD2D5
+ CF2F8B7B2F87BFA1A1060D5CA17EA19B843F3BCA759B2F569888C12659598359
+ 4D750D14145206AC3A83F00688F02E2626AD833A4C4559569845352644D47B99
+ 8B4DCACA4B4B4B3A9C9C06B2441E1ED5CC8B103A134435CB0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFCFCFFFFFCFFFFFFFFFFFFFFFCFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDFCFCDB0A0A0A0A
+ BB16160EEE076108E30B703C3CE886195B60493004512236694F27270F02022B
+ 1C55238C002A090939F72C1F34630505674A5894C1D1D49FA44A9F2158F00D7E
+ ABA1A1A166A1A14D938F3F25069B012EA17B2EB74C4C7498064806433BF55E6A
+ 454CD5CC06310D3A9595957645455999D2481D9A3A9F217EC99EC8C8264BC84B
+ 35060D4544541D06764545C83554C8AC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFCFCFCFCFFFCFCFCFCFCFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFDDFFFFDDFCFC640A0A0A0ABB1690EE070761E3
+ E30B703C181B86194760BE3004513636294E27270F022B621C558C0000EC0909
+ C2382C1F34633305674A58942F53312E24672F2E2F2FA8A85C667566660D0D4D
+ 1453528E069B77D55C775C66749B74744DB5BF433FBC3B6E489BA87B4C214C9B
+ 56489B48484893B97B484B4BD79D4B5606B7BD95BDB54BC88EAB5992A96F9A4B
+ 56959556454B44CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFC
+ FCFCFCFFFFFFFCFCFFFFFFFFFCFFFFFCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFCFCFC640A0A0ABBBB16160E07076108E30BB1703CE81B195B
+ 47C3BE30042236E54F4E270F0F022B62D6558C8C002A09F239382C1F34630505
+ 67017824C1AFA52E8B77777777A48B79AB1010105C5C664D5EAF5384065F7510
+ 667BAAAB7E0D7E0D0D4CBFB7B9535E6A729AAA7E66667E5C7EA1A1759B488EA5
+ A49DCAC8BD4D744D4D4D4D4C74B79DB5A3B98F06CACAB06E3AC8C83A954BC8AC
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFCFF
+ FCFFFFFCFCFFFCFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+ FCDB0A0A0ABBBBBBBB90EE07610808E30B7070181B8619476049300451223669
+ 4F4E270F02022BD6EF558C002A09F2C2F7382C1FB3633305674A7894C111BCCF
+ 7B798B77A48BA4A42E2E7B79A85C064DB96DAF14B79B5F0D7EA87E7979A85C5C
+ 7E0648AAF5BCB9747472064D66747E66AA4D5F6EB59314BCAFA44C9AB0B5849A
+ 84B5BD3A3ABD48B7A75A5AF57B0659757E7E5C5CC99979790000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFCFFFCFFFFFCFCFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCDB64640A0ABBBBBB
+ 1690EE076108E30BB1703CE81BED194742493004222236294F270F0F022B62EF
+ EF238C00ECECF2C2F7382C1F3463330567012F2F5A1185A48B2EA421A47B218B
+ 7979A85C5C66665CAF5A6D53C94CAA06664DAAAAAA4D4D4D14064C79BCBAF577
+ 9DB572B5B5729DB574744D4D6610D45AFDAF01C1772E9FC1C12FF0014ABCAFBA
+ 5AFDFD6D5A5A5A5A5A5A5ACEBACE5A2C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFFFFFCFCFCFCFCFFFFFCFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFDDFFFFFFFFFFFFFFFFFFFFDDDBDBDB640A0A0ABBBBBB16EEEE616108E30B
+ 703C3C1B86ED4760C330040422EA69294E270F0F022B621C55238C002A09F2C2
+ F72C1FB334330505670178F31111110524D22E21D221AB10AB79AB1079792EF0
+ FD6DFD6D0587318F3131C12FA5F07801F0010185BA6D5AAF0101F5BC058585BA
+ BABACEBACEBA5A6DFDFDFDFDFDFD6D5A5A6D6DFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCDBDBDBDBDB
+ DBFCFFFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFCFCFCFCDB640A0ABBBBBBBB160EEE076108E3E30B703C181B865B4760
+ C33004512236294F4E270F02022B1CEF23238C00EC0909E78A39F738112C2C1F
+ CECE6D41111111FD5ACE5A6D6D6D6D5A5A5A5A5A5A5A6DFDFDFDFDFDFDFD6D6D
+ 5A6D5A6D5A5A5A5A5A5A5AFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFFFCFCFCFC
+ FCFCFFFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBFCFCDB
+ 640ABBBBBB16160EEE07616108E30B70703CE81B195B47C3BE040422EAE5294E
+ 27270F022B621CEF238C8C00ECECEC6868E78A8A464646414141411111111111
+ 1111FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
+ FCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDBFCFCFCFCFCFCFCFCFCFCFFFCFCFFFF
+ FFFFDDFFDDDDFFFFFFFFFFFFDDFFFFFFFFFFFFFFFCDBDB64640A0ABBBB16160E
+ EE07610808E3B1703C181BED194760493004512236E54F4E270F0F022B1C1C55
+ 238C00ECECECEC09688A8A8A4646464141414111111111111111FD1111FDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCDBDBDBDB
+ DBDBDBDBDBDBDB6464FCFCFCFCFCFCFCFCFCFCFCFCFCFFFFFFDDFFFFFFFFFFFF
+ FFFFFFFFFCDDFFFFFCFFFFFCDB64640A0A0ABBBBBB160EEE07610808E30B7070
+ 3CE81B195B4742BE300451EAE5294F4E270F02022B1C1C558C8C0000ECEC6868
+ E78A8A46464646414141411111111111111111FDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFD460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB6464646464
+ 64FCFCFCFCFCFCFCFCFCFCFCFCFFFFFFFFDDDDFFFFDDFFFFFFDDFFFFFFFFFFFC
+ FFFFFCFCFCFC640A0A0ABB1616160EEE076108080B0B703CE81B86194760C3BE
+ 04512236E54F4E270F0F022B2B1CEF8C8C0000ECECEC0909DCE7464646464141
+ 4111411111111111FDFD11FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD46
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB646464646464FCFC64FCFCFCFCFC
+ FCFCFCFCFCFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBFCDBDBDB0A0A
+ 0ABB1616160E0E07616108E30B70703CE886195B474249305151223669294E27
+ 0F0F022B2B1CEF238C8C0000ECEC096868E7E78A8A4646414141414111411111
+ 1111111111111111111111111111111111111111111111111111111111111111
+ 1111111111111111111111111111111111111111111111111111111111111111
+ 11111111111111111111111111111111111111111111118A0000FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFCFCFCFCFCDB
+ DBDBDBDBDBDBDBDBDB0A0A0A0A0A0A0A646464646464DBFCFCFCDBFCDBFFFFFF
+ DDDDFFDDFFFFFFFFFFFFFFFFFFFCFCFCFCFFFCDBDB0A0A0ABBBB160E16EEEE07
+ 070808E30BB13C3CE81B86194760C3BE3004512236E54F4E4E270F0F022B2B1C
+ 1C55558C8C8C0000002A2AECECEC09EC09096868686868686868DCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCEC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFCFCFCFCFCFCFCDBDBDBDBDBDBDBDBDBDB
+ DBDBDBDBDBDB64DBDBDBDBDBDBDBDBFCFCDBFCDBFFFFFFFFFFFFFFDDDDFFFFFF
+ FFFFFFFFFFFCFCFCFCFCFCDBDBDBDB640A0ABBBBBB160EEEEE07616108E3E3B1
+ 703C18181BED195B4760C349303004515122EAEAE5E529294F4F4E4E27272727
+ 270F0F0F0F0F0F0F0F0202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 020202020202020F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDDFCFCFCFCFCFCFCFCFCDD
+ DDDDDDDDDDFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFCFCFCFC640A0A0A0A0ABB161616900EEE0707610808E3E30B0BB170
+ 3C3C3C18E81B1B86EDED19195B5B4747474760604242C3C3C3C3494949494949
+ EBEBEBBEBEBEBE30BEBE30303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303049
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFDDDDFCFCFCFCFCFCFCFCDBDBDBDBDDFCFCFCDDDDFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDDFCFC64
+ 640A0A0A0ABB161616900EEE070761080808E3E30BB17070703C3CE81B1B1B86
+ ED1919195B5B4747476060424242C3C3C3494949494949EBBEEBBEBEBEBE3030
+ BE30303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030303030303030303030
+ 3030303030303030303030303030303030303030303030490000FCFCFCFCFCFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCDBDBDBDBDBDBDBDB
+ DBDB6464646464640A0A0A0A0A0A6464646464DBDBDBDBDBDBDBDBFCFFFFDDDD
+ FFDDFFFFFFFFFCFFFFFFDDFFFFFCFCFCFCDBDBDBDB640A0ABBBBBBBB16EEEE07
+ 610808E3E3B170703C181B86ED195B4742C3BE300404512222EA36E529294F4F
+ 4E4E4E272727270F0F0F0F0F0F0F020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020202020202020202020202020202020202
+ 0202020202020202020202020202020F0000FCFCFCFCFCFCFCFCFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCDBDBDBDBDBDBDB64640A0A0A0A0ABBBBBB
+ BBBBBBBBBBBB0A0ABB0A0A0A0A0A0A0ADB64FCFCFCFFDDDBFFFFDDFFFFFFFFFF
+ FFFFFCFFFFFFFC64DBDBDB0A0A0ABB161690EEEE07070808E30BB1703C181B1B
+ 195B476049300451512236294F4E27270F0F022B2B1C1CEF558C8C0000000000
+ ECECECECECEC09090968686868686868DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+ DCDCDCDCDCDCDCEC0000FCFCFCFCFCFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFF
+ FCFCFCFCFCFCDBDBDBDBDBDBDB640A0A0A0A0ABBBBBBBBBBBBBBBBBBBBBBBBBB
+ BB0A0A0A0A0A640A6464DBFCFCDDFCFFDDFCFFFFFFFFFFFFFFFFFFFFFFFCDBFC
+ 640A0A0ABBBBBBBB900EEE07616108E3E30B703C18E81B191947604930040451
+ 223669294E27270F02022B2B621CEF55238C8C00000000ECECECEC0909096868
+ 68E7E768E7E78AE7E78A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
+ 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
+ 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8AEC
+ 0000}
+ Login.LeftImage.Data = {
+ 07544269746D617016090000424D160900000000000036040000280000003200
+ 0000180000000100080000000000E00400000000000000000000000100000000
+ 000000000000000080000080000000808000800000008000800080800000C0C0
+ C000C0DCC000F0CAA6000020400000206000002080000020A0000020C0000020
+ E00000400000004020000040400000406000004080000040A0000040C0000040
+ E00000600000006020000060400000606000006080000060A0000060C0000060
+ E00000800000008020000080400000806000008080000080A0000080C0000080
+ E00000A0000000A0200000A0400000A0600000A0800000A0A00000A0C00000A0
+ E00000C0000000C0200000C0400000C0600000C0800000C0A00000C0C00000C0
+ E00000E0000000E0200000E0400000E0600000E0800000E0A00000E0C00000E0
+ E00040000000400020004000400040006000400080004000A0004000C0004000
+ E00040200000402020004020400040206000402080004020A0004020C0004020
+ E00040400000404020004040400040406000404080004040A0004040C0004040
+ E00040600000406020004060400040606000406080004060A0004060C0004060
+ E00040800000408020004080400040806000408080004080A0004080C0004080
+ E00040A0000040A0200040A0400040A0600040A0800040A0A00040A0C00040A0
+ E00040C0000040C0200040C0400040C0600040C0800040C0A00040C0C00040C0
+ E00040E0000040E0200040E0400040E0600040E0800040E0A00040E0C00040E0
+ E00080000000800020008000400080006000800080008000A0008000C0008000
+ E00080200000802020008020400080206000802080008020A0008020C0008020
+ E00080400000804020008040400080406000804080008040A0008040C0008040
+ E00080600000806020008060400080606000806080008060A0008060C0008060
+ E00080800000808020008080400080806000808080008080A0008080C0008080
+ E00080A0000080A0200080A0400080A0600080A0800080A0A00080A0C00080A0
+ E00080C0000080C0200080C0400080C0600080C0800080C0A00080C0C00080C0
+ E00080E0000080E0200080E0400080E0600080E0800080E0A00080E0C00080E0
+ E000C0000000C0002000C0004000C0006000C0008000C000A000C000C000C000
+ E000C0200000C0202000C0204000C0206000C0208000C020A000C020C000C020
+ E000C0400000C0402000C0404000C0406000C0408000C040A000C040C000C040
+ E000C0600000C0602000C0604000C0606000C0608000C060A000C060C000C060
+ E000C0800000C0802000C0804000C0806000C0808000C080A000C080C000C080
+ E000C0A00000C0A02000C0A04000C0A06000C0A08000C0A0A000C0A0C000C0A0
+ E000C0C00000C0C02000C0C04000C0C06000C0C08000C0C0A000F0FBFF00A4A0
+ A000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFF
+ FF00FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD525252525252525252525252
+ 5252FDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDAFB75E5E5E66666767676F6F6F6FB752FDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBF
+ BFBFBFBFBFBFBFBFBFB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFB76F676F6FB7B7B7B7B7776F5EB752FD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBFBFB752FDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFB76F676F6F6FB7B7
+ B7B7776F5EB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBFBFBF52FDFDFDFDFD
+ 0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAF
+ B76767676F6F6FB7B7B7776F5EB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBF
+ BFBF52FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDAFB76767676F6F6F6FB7B7776F5EB752FDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBF
+ BFBFBFBFBFBFBFBFBFBF52FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBFB7AFAFB7B7B7B7BFBFBFBFB7B752FD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDAFB76F675E5E5E5E5E5E676FB7A5FDFDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F79BFDFDFDFD
+ FDFDA4F7A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDF7F79BFDFDFDFDFDFDA407A3FDFDFDFDFDFDFD
+ 0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDF7F79BFDFDFDFDFDFDA407A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F7A4FDFDFDFDFDFDF707
+ A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDF707A49AFDFDFDFDA30707A3FDFDFDFDFDFDFD0000FDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F6A4
+ A49B9A9AA3A407079AFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F6F7F7A4A4F70707A3FDFDFDFD
+ FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDF7F6F6F6F6F607A3FDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7A3A3A3
+ A3A3FDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+ 0000}
+ Log.WindowCaption = 'Seguran'#231'a'
+ Log.LabelDescription = 'Log do Sistema'
+ Log.LabelUser = 'Usu'#225'rio :'
+ Log.LabelDate = 'Data :'
+ Log.LabelLevel = 'N'#237'vel m'#237'nimo : '
+ Log.ColLevel = 'N'#237'vel'
+ Log.ColMessage = 'Mensagem'
+ Log.ColUser = 'Usu'#225'rio'
+ Log.ColDate = 'Data'
+ Log.BtFilter = '&Aplicar Filtro'
+ Log.BtDelete = '&Excluir Log'
+ Log.PromptDelete = 'Confirma excluir todos os registros de log selecionados ?'
+ Log.BtClose = '&Fechar'
+ UsersForm.WindowCaption = 'Seguran'#231'a'
+ UsersForm.LabelDescription = 'Cadastro de Usu'#225'rios'
+ UsersForm.ColName = 'Nome'
+ UsersForm.ColLogin = 'Login'
+ UsersForm.ColEmail = 'Email'
+ UsersForm.BtAdd = '&Adicionar'
+ UsersForm.BtChange = 'A<erar'
+ UsersForm.BtDelete = '&Excluir'
+ UsersForm.PromptDelete = 'Confirma excluir o usu'#225'rio "%s" ?'
+ UsersForm.BtRights = 'A&cessos'
+ UsersForm.BtPassword = '&Senha'
+ UsersForm.BtClose = '&Fechar'
+ AddChangeUser.WindowCaption = 'Cadastro de Usu'#225'rios'
+ AddChangeUser.LabelAdd = 'Adicionar Usu'#225'rio'
+ AddChangeUser.LabelChange = 'Alterar Usu'#225'rio'
+ AddChangeUser.LabelName = 'Nome : '
+ AddChangeUser.LabelLogin = 'Login : '
+ AddChangeUser.LabelEmail = 'Email : '
+ AddChangeUser.CheckPrivileged = 'Usu'#225'rio privilegiado'
+ AddChangeUser.BtSave = '&Gravar'
+ AddChangeUser.BtCancel = 'Cancelar'
+ AddChangeProfile.WindowCaption = 'Perfil de Usu'#225'rios'
+ AddChangeProfile.LabelAdd = 'Adicionar Perfil'
+ AddChangeProfile.LabelChange = 'Alterar Perfil'
+ AddChangeProfile.LabelName = 'Descri'#231#227'o : '
+ AddChangeProfile.BtSave = '&Gravar'
+ AddChangeProfile.BtCancel = 'Cancelar'
+ UsersProfile.WindowCaption = 'Seguran'#231'a'
+ UsersProfile.LabelDescription = 'Perfil de Usu'#225'rios'
+ UsersProfile.ColProfile = 'Perfil'
+ UsersProfile.BtAdd = '&Adicionar'
+ UsersProfile.BtChange = 'A<erar'
+ UsersProfile.BtDelete = '&Excluir'
+ UsersProfile.BtRights = 'A&cessos'
+ UsersProfile.PromptDelete = 'Existem usu'#225'rios com o perfil "%s". Confirma excluir?'
+ UsersProfile.BtClose = '&Fechar'
+ Rights.WindowCaption = 'Seguran'#231'a'
+ Rights.LabelUser = 'Permiss'#245'es do Usu'#225'rio : '
+ Rights.LabelProfile = 'Permiss'#245'es do Perfil : '
+ Rights.PageMenu = 'Itens do Menu'
+ Rights.PageActions = 'A'#231#245'es'
+ Rights.BtUnlock = '&Liberar'
+ Rights.BtLock = '&Bloquear'
+ Rights.BtSave = '&Gravar'
+ Rights.BtCancel = '&Cancelar'
+ ChangePassword.WindowCaption = 'Seguran'#231'a'
+ ChangePassword.LabelDescription = 'Trocar Senha'
+ ChangePassword.LabelCurrentPassword = 'Senha Atual :'
+ ChangePassword.LabelNewPassword = 'Nova Senha : '
+ ChangePassword.LabelConfirm = 'Confirma'#231#227'o : '
+ ChangePassword.BtSave = '&Gravar'
+ ChangePassword.BtCancel = 'Cancelar'
+ ResetPassword.WindowCaption = 'Definir senha do usu'#225'rio : "%s"'
+ ResetPassword.LabelPassword = 'Senha : '
+ XPStyleSet.DimLevel = 30
+ XPStyleSet.GrayLevel = 10
+ XPStyleSet.Font.Charset = ANSI_CHARSET
+ XPStyleSet.Font.Color = clMenuText
+ XPStyleSet.Font.Height = -11
+ XPStyleSet.Font.Name = 'Tahoma'
+ XPStyleSet.Font.Style = []
+ XPStyleSet.Color = clBtnFace
+ XPStyleSet.IconBackColor = clBtnFace
+ XPStyleSet.MenuBarColor = clBtnFace
+ XPStyleSet.SelectColor = clHighlight
+ XPStyleSet.SelectBorderColor = clHighlight
+ XPStyleSet.SelectFontColor = clMenuText
+ XPStyleSet.DisabledColor = clInactiveCaption
+ XPStyleSet.SeparatorColor = clBtnFace
+ XPStyleSet.CheckedColor = clHighlight
+ XPStyleSet.IconWidth = 24
+ XPStyleSet.DrawSelect = True
+ XPStyleSet.UseSystemColors = True
+ XPStyleSet.OverrideOwnerDraw = False
+ XPStyleSet.Gradient = False
+ XPStyleSet.FlatMenu = False
+ XPStyleSet.AutoDetect = False
+ XPStyleSet.BitBtnColor = clBtnFace
+ XPStyle = True
+ Left = 192
+ Top = 128
+ end
+ object UCXPStyle1: TUCXPStyle
+ Active = True
+ XPSettings.DimLevel = 30
+ XPSettings.GrayLevel = 10
+ XPSettings.Font.Charset = ANSI_CHARSET
+ XPSettings.Font.Color = clMenuText
+ XPSettings.Font.Height = -11
+ XPSettings.Font.Name = 'Tahoma'
+ XPSettings.Font.Style = []
+ XPSettings.Color = clBtnFace
+ XPSettings.IconBackColor = clBtnFace
+ XPSettings.MenuBarColor = clBtnFace
+ XPSettings.SelectColor = clHighlight
+ XPSettings.SelectBorderColor = clHighlight
+ XPSettings.SelectFontColor = clMenuText
+ XPSettings.DisabledColor = clInactiveCaption
+ XPSettings.SeparatorColor = clBtnFace
+ XPSettings.CheckedColor = clHighlight
+ XPSettings.IconWidth = 24
+ XPSettings.DrawSelect = True
+ XPSettings.UseSystemColors = True
+ XPSettings.OverrideOwnerDraw = False
+ XPSettings.Gradient = False
+ XPSettings.FlatMenu = False
+ XPSettings.AutoDetect = False
+ XPSettings.BitBtnColor = clBtnFace
+ UCSettings = UCSettings1
+ Left = 224
+ Top = 128
+ end
+ object UCZEOSConn1: TUCZEOSConn
+ Connection = ZConnection1
+ Left = 224
+ Top = 88
+ end
+ object ZConnection1: TZConnection
+ Protocol = 'mysql-4.0'
+ HostName = '127.0.0.1'
+ Port = 0
+ Database = 'qloja'
+ User = 'root'
+ Password = 'triadpass'
+ AutoCommit = True
+ ReadOnly = True
+ TransactIsolationLevel = tiNone
+ Connected = False
+ SQLHourGlass = False
+ Left = 192
+ Top = 88
+ end
+end
diff --git a/official/2.20/Demos/testes qmd/ZEOS mysql/Unit1.pas b/official/2.20/Demos/testes qmd/ZEOS mysql/Unit1.pas
new file mode 100644
index 0000000..8327321
--- /dev/null
+++ b/official/2.20/Demos/testes qmd/ZEOS mysql/Unit1.pas
@@ -0,0 +1,88 @@
+unit Unit1;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, DB, UCBase, Menus, StdCtrls, Buttons, ZConnection,
+ UCZEOSConn;
+type
+ TForm1 = class(TForm)
+ UserControl1: TUserControl;
+ MainMenu1: TMainMenu;
+ Arquivo1: TMenuItem;
+ Abrir1: TMenuItem;
+ Salvar1: TMenuItem;
+ Salvar2: TMenuItem;
+ Salvarcomo1: TMenuItem;
+ Fechar1: TMenuItem;
+ N2: TMenuItem;
+ Dados1: TMenuItem;
+ Importar1: TMenuItem;
+ Exportar1: TMenuItem;
+ N4: TMenuItem;
+ Vincular1: TMenuItem;
+ N3: TMenuItem;
+ Sair2: TMenuItem;
+ Editar1: TMenuItem;
+ Copiar1: TMenuItem;
+ Colar1: TMenuItem;
+ Recortar1: TMenuItem;
+ N1: TMenuItem;
+ Selecionartudo1: TMenuItem;
+ N5: TMenuItem;
+ AreadeTransferencia1: TMenuItem;
+ Exibir2: TMenuItem;
+ Esvaziar1: TMenuItem;
+ Exibir1: TMenuItem;
+ Zoom1: TMenuItem;
+ Normal1: TMenuItem;
+ Grande1: TMenuItem;
+ Ajustarnajanela1: TMenuItem;
+ N6: TMenuItem;
+ Personalizar1: TMenuItem;
+ amanhonormal1: TMenuItem;
+ elacheia1: TMenuItem;
+ Relatorios1: TMenuItem;
+ Relatorio11: TMenuItem;
+ Relatorio21: TMenuItem;
+ Relatorio31: TMenuItem;
+ Relatorio41: TMenuItem;
+ Segurana1: TMenuItem;
+ Cadastrodeusuarios1: TMenuItem;
+ Perfildeusurios1: TMenuItem;
+ logdosistema: TMenuItem;
+ N7: TMenuItem;
+ rocarsenha1: TMenuItem;
+ EfetuarLogoff1: TMenuItem;
+ UCSettings1: TUCSettings;
+ UCXPStyle1: TUCXPStyle;
+ UCZEOSConn1: TUCZEOSConn;
+ ZConnection1: TZConnection;
+ procedure FormCreate(Sender: TObject);
+ procedure EfetuarLogoff1Click(Sender: TObject);
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ Form1: TForm1;
+
+implementation
+
+{$R *.dfm}
+
+procedure TForm1.FormCreate(Sender: TObject);
+begin
+// ZConnection1.Database := ExtractFilePath(Application.ExeName) + '..\..\Base.Gdb';
+ ZConnection1.Connected := True;
+end;
+
+procedure TForm1.EfetuarLogoff1Click(Sender: TObject);
+begin
+ UserControl1.Logoff;
+end;
+
+end.
diff --git a/official/2.20/Lib/D10/CadPerfil_U.dfm b/official/2.20/Lib/D10/CadPerfil_U.dfm
new file mode 100644
index 0000000..2740912
--- /dev/null
+++ b/official/2.20/Lib/D10/CadPerfil_U.dfm
@@ -0,0 +1,497 @@
+object frmCadastrarPerfil: TfrmCadastrarPerfil
+ Left = 407
+ Top = 193
+ BorderIcons = [biSystemMenu]
+ BorderStyle = bsSingle
+ Caption = 'Seguranca'
+ ClientHeight = 240
+ ClientWidth = 390
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ OldCreateOrder = False
+ OnClose = FormClose
+ OnShow = FormShow
+ PixelsPerInch = 96
+ TextHeight = 13
+ object DBGrid1: TDBGrid
+ Left = 0
+ Top = 35
+ Width = 293
+ Height = 205
+ Align = alClient
+ Ctl3D = True
+ DataSource = DataSource1
+ Options = [dgTitles, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgRowSelect, dgAlwaysShowSelection, dgConfirmDelete, dgCancelOnExit]
+ ParentCtl3D = False
+ ReadOnly = True
+ TabOrder = 0
+ TitleFont.Charset = DEFAULT_CHARSET
+ TitleFont.Color = clWindowText
+ TitleFont.Height = -11
+ TitleFont.Name = 'MS Sans Serif'
+ TitleFont.Style = []
+ OnDblClick = DBGrid1DblClick
+ Columns = <
+ item
+ Expanded = False
+ FieldName = 'Nome'
+ Title.Alignment = taCenter
+ Title.Caption = 'Perfil'
+ Width = 274
+ Visible = True
+ end>
+ end
+ object Panel1: TPanel
+ Left = 0
+ Top = 0
+ Width = 390
+ Height = 35
+ Align = alTop
+ BevelOuter = bvNone
+ Color = clWhite
+ TabOrder = 1
+ object lbDescricao: TLabel
+ Left = 40
+ Top = 11
+ Width = 154
+ Height = 18
+ Caption = 'Perfil de Usu'#225'rios'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -16
+ Font.Name = 'Verdana'
+ Font.Style = [fsBold]
+ ParentFont = False
+ end
+ object Image1: TImage
+ Left = 8
+ Top = 4
+ Width = 28
+ Height = 28
+ AutoSize = True
+ Picture.Data = {
+ 07544269746D6170760C0000424D760C00000000000036000000280000001C00
+ 00001C0000000100200000000000400C00000000000000000000000000000000
+ 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF008E4019008E4019008E4019008E4019008E4019008E4019008E40
+ 19008E4019008E4019008E4019008E4019008E4019008E4019008E4019008E40
+ 19008E4019008E4019008E4019008E4019008E4019008E4019008E4019008E40
+ 19008E4019008E4019008E401900FFFFFF00FFFFFF008E401800A24E0000A24E
+ 0000A24E0000A24E0000A24E0000A24E0000A24E0000A24E0000A24E0000A24E
+ 0000A24E0000A24E0000A24E0000A24E0000A24E0000A24E0000A24E0000A24E
+ 0000A24E0000A24E0000A24E0000A24E0000A24E0000A24E00008E401900FFFF
+ FF00FFFFFF00A2511B00F9F6F400B7A29300B7A29300B7A29300B7A29300B7A2
+ 9300B7A29300B7A29300B7A29300B7A29300B7A29300B7A29300B7A29300B7A2
+ 9300B7A29300B7A29300B7A29300B7A29300B7A29300B7A29300B7A29300B7A2
+ 9300B7A29300B7A2930092421800FFFFFF00FFFFFF00AE591900FAF8F600F9F6
+ F400F7F3F100F5F1EE00F4EEEB00F2ECE800F1EAE600EFE7E300EDE5E000ECE3
+ DE00EBE1DB00E9DED700E7DBD400E5D9D100E3D6CE00E2D3CB00E0D1C800DECE
+ C500DCCBC200DBC9BF00DBC9BF00DBC9BF00DBC9BF00B7A293008E401900FFFF
+ FF00FFFFFF00B15A1700FDFCFB00FBF9F800F9F7F500F7F3F100F5F1EE00F4EE
+ EB00F2ECE800F1EAE600EFE7E300EDE5E000ECE3DE00EBE1DB00E9DED700E7DB
+ D400E5D9D100E3D6CE00E2D3CB00E0D1C800DECEC500DCCBC200DBC9BF00DBC9
+ BF00DBC9BF00B7A293008E401900FFFFFF00FFFFFF00B45C1700FEFEFD00FDFC
+ FB00FBF9F800F9F7F500F8F4F200F6F2EF00F5F0ED00F3EDEA00F1EBE700EFE7
+ E300EDE5E000ECE3DE00EBE1DB00E9DED700E7DBD400E5D9D100E3D6CE00E2D3
+ CB00E0D1C800DECEC500DCCBC200DBC9BF00DBC9BF00B7A293008E401900FFFF
+ FF00FFFFFF00B75E1600FFFFFF00FEFEFD00FDFCFB00FBF9F800F9F7F500F8F4
+ F200F6F2EF00F5F0ED00F3EDEA00F1EBE700F0E8E400EEE6E100EDE4DF00EBE2
+ DC00E9DED700B7A2930069473100694731006947310069473100694731006947
+ 310069473100B7A293008E401900FFFFFF00FFFFFF00B9601600FFFFFF00FFFF
+ FF00FEFEFD00FDFCFB00FBF9F800F9F7F500F8F4F200F6F2EF00F5F0ED00F3ED
+ EA00F1EBE700F0E8E400EEE6E100EDE4DF00EBE2DC00B7A29300FFFFFF00FCFD
+ FF005476FF00E4E9FF00FFFFFF00FFFFFF0069473100B7A293008E401900FFFF
+ FF00FFFFFF00BC621500FFFFFF00FFFFFF00FFFFFF00FEFEFD00FDFCFB00FBF9
+ F800F9F7F500F8F4F200F6F2EF00F5F0ED00F3EDEA00F1EBE700F0E8E400EEE6
+ E100EDE4DF00B7A29300FFFFFF00B4C3FF000033FF002450FF00FCFDFF00FFFF
+ FF0069473100B7A293008E401900FFFFFF00FFFFFF00BF641500FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FEFEFD00FDFCFB00FBF9F800F9F7F500F8F4F200F6F2
+ EF00F5F0ED00F3EDEA00F1EBE700F0E8E400EEE6E100B7A29300FFFFFF004066
+ FF000C3DFF000033FF009CB0FF00FFFFFF0069473100B7A293008E401900FFFF
+ FF00FFFFFF00C0661400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FEFE
+ FD00FDFCFB00FBF9F800F9F7F500F8F4F200F6F2EF00F5F0ED00F3EDEA00F1EB
+ E700F0E8E400B7A293008CA3FF000033FF00708DFF006483FF001846FF00F0F3
+ FF0069473100B7A293008E401900FFFFFF00FFFFFF00C3681400FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FDFDFC00FCFAF900FAF8
+ F600F9F6F400F6F2EF00F5F0ED00F3EDEA00F1EBE700B7A2930088A0FF001C49
+ FF00E4E9FF00F0F3FF00204DFF006080FF0069473100B7A293008E401900FFFF
+ FF00FFFFFF00C66A1300FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FDFDFC00FCFAF900FAF8F600F9F6F400F7F3F100F5F1
+ EE00F4EEEB00B7A29300FFFFFF00FFFFFF00FFFFFF00FFFFFF009CB0FF000C3D
+ FF006080FF00B7A293008E401900FFFFFF00FFFFFF00C96C1300FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FDFD
+ FC00FCFAF900FAF8F600F9F6F400F7F3F100F5F1EE00B7A29300B7A29300B7A2
+ 9300B7A29300B7A29300B7A293009CB0FF001443FF006080FF008E401900FFFF
+ FF00FFFFFF00CB6D1200FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FDFDFC00FCFAF900FAF8F600F9F6
+ F400F7F3F100F5F1EE00F4EEEB00F2ECE800F1EAE600EFE7E300EDE5E000ECE3
+ DE009CB0FF00345DFF008E401900FFFFFF00FFFFFF00CB6D1200FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FDFDFC00FCFAF900FAF8F600F9F6F400B7A29300694731006947
+ 310069473100694731006947310069473100694731009CB0FF00486DFF00FFFF
+ FF00FFFFFF00CB6D1200FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FDFDFC00FCFA
+ F900FAF8F600B7A29300FFFFFF00FCFDFF005476FF00E4E9FF00FFFFFF00FFFF
+ FF0069473100B7A293009CB0FF007893FF00FFFFFF00CB6D1200FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FDFDFC00FCFAF900B7A29300FFFFFF00B4C3
+ FF000033FF002450FF00FCFDFF00FFFFFF0069473100B7A293008E401900FFFF
+ FF00FFFFFF00CB6D1200FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FEFEFD00B7A29300FFFFFF004066FF000C3DFF000033FF009CB0FF00FFFF
+ FF0069473100B7A293008E401900FFFFFF00FFFFFF00CB6D1200FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00B7A293008CA3FF000033
+ FF00708DFF006483FF001846FF00F0F3FF0069473100B7A293008E401900FFFF
+ FF00FFFFFF00CA6C1100F3EDEA00F3EDEA00F3EDEA00F3EDEA00F3EDEA00F3ED
+ EA00F3EDEA00F3EDEA00F3EDEA00F3EDEA00F3EDEA00F3EDEA00F3EDEA00F3ED
+ EA00F3EDEA00B7A2930088A0FF001C49FF00E4E9FF00F0F3FF00204DFF006080
+ FF0069473100F3EDEA008E401900FFFFFF00FFFFFF00B96303008E4019008E40
+ 19008E4019008E4019008E4019008E4019008E4019008E4019008E4019008E40
+ 19008E4019008E4019008E4019008E4019008E401900B7A29300FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF009CB0FF000C3DFF006080FF008E4019008E401900FFFF
+ FF00FFFFFF00B9630300B45C0000B45C0000B45C0000B45C0000B45C0000B45C
+ 0000B45C0000B55B0000B55B0000B55B0000B55B0000B55B0000B55B0000B45C
+ 0000B45C0000B7A29300B7A29300B7A29300B7A29300B7A29300B7A293009CB0
+ FF001443FF006080FF008E401900FFFFFF00FFFFFF00E3A66000E38E2D00E38E
+ 2D00E38E2D00E38E2D00E38E2D00E38E2D00E38E2D00E38E2D00E38E2D00E38E
+ 2D00E38E2D00E38E2D00E38E2D00E38E2D00E38E2D00E38E2D00F6CA9A00F19F
+ 4300E38E2D00F6CA9A00F19F4300E38E2D009CB0FF00345DFF00E3A66000FFFF
+ FF00FFFFFF00F8EBDC00E3A66000D2710000D2710000D2710000D2710000D271
+ 0000D2710000D2710000D2710000D2710000D2710000D2710000D2710000D271
+ 0000D2710000D2710000D2710000D2710000D2710000D2710000D2710000D271
+ 0000D27100009CB0FF00486DFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF009CB0FF007893
+ FF00}
+ end
+ end
+ object Panel3: TPanel
+ Left = 293
+ Top = 35
+ Width = 97
+ Height = 205
+ Align = alRight
+ BevelOuter = bvNone
+ TabOrder = 2
+ object btAdic: TBitBtn
+ Left = 8
+ Top = 11
+ Width = 81
+ Height = 25
+ Caption = '&Adicionar'
+ TabOrder = 0
+ OnClick = btAdicClick
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF0060000060
+ 00006000FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FF777777787878777777FF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF00600033CB
+ 51006000FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FF777777C8C8C8777777FF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF00600000600000600040D8
+ 65006000006000006000FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FF787878777777777777D1D1D1787878777777777777D1BBAD694731
+ 69473169473169473169473169473169473169473100600060F8985AF28F4DE5
+ 7A40D8653AD25C006000CCCCCC6C6C6C6B6B6B6B6B6B6C6C6C6C6C6C6B6B6B6C
+ 6C6C6B6B6B777777EAEAEAE5E5E5DBDBDBD2D2D2CDCDCD787878D1BBADFFFFFF
+ FBF9F8F7F3F1F3EDEAEFE7E3EBE1DBE6D9D2E1D2CA0060000060000060005AF2
+ 8F006000006000006000CCCCCCFFFFFFFBFBFBF7F7F7F2F2F2EEEEEEEAEAEAE3
+ E3E3DFDFDF777777777777777777E6E6E6777777777777787878D1BBADFFFFFF
+ CF875FCF875FF7F3F1CF875FCF875FEBE1DBCF875FCF875FDCCBC100600060F8
+ 98006000FF00FFFF00FFCCCCCCFFFFFFA4A4A4A4A4A4F7F7F7A5A5A5A4A4A4EA
+ EAEAA5A5A5A4A4A4D9D9D9777777EAEAEA777777FF00FFFF00FFD1BBADFFFFFF
+ FFFFFFFFFFFFFBF9F8F7F3F1F3EDEAEFE7E3EBE1DBE6D9D2E1D2CA0060000060
+ 00006000FF00FFFF00FFCCCCCCFFFFFFFFFFFFFFFFFFFBFBFBF7F7F7F3F3F3EE
+ EEEEE9E9E9E4E4E4DFDFDF777777777777777777FF00FFFF00FFD1BBADD1BBAD
+ D1BBADD1BBADE070406947316947316947316947316947316947316947316947
+ 31694731694731694731CDCDCDCCCCCCCCCCCCCCCCCC9494946C6C6C6C6C6C6B
+ 6B6B6C6C6C6B6B6B6C6C6C6B6B6B6C6C6C6B6B6B6C6C6C6C6C6CFF00FFFF00FF
+ FF00FFFF00FFE07040FFFFFFFBF9F8F7F3F1F3EDEAEFE7E3EBE1DBE6D9D2E1D2
+ CADCCBC1DBC9BF694731FF00FFFF00FFFF00FFFF00FF959595FFFFFFFBFBFBF7
+ F7F7F2F2F2EEEEEEEAEAEAE3E3E3DFDFDFD9D9D9D8D8D86C6C6CFF00FFFF00FF
+ FF00FFFF00FFE07040FFFFFFCF875FCF875FF7F3F1CF875FCF875FEBE1DBCF87
+ 5FCF875FDCCBC1694731FF00FFFF00FFFF00FFFF00FF949494FFFFFFA5A5A5A4
+ A4A4F7F7F7A5A5A5A4A4A4EAEAEAA5A5A5A4A4A4DADADA6B6B6BFF00FFFF00FF
+ FF00FFFF00FFE07040FFFFFFFFFFFFFFFFFFFBF9F8F7F3F1F3EDEAEFE7E3EBE1
+ DBE6D9D2E1D2CA694731FF00FFFF00FFFF00FFFF00FF949494FFFFFFFFFFFFFF
+ FFFFFBFBFBF7F7F7F2F2F2EEEEEEEAEAEAE4E4E4DFDFDF6C6C6CFF00FFFF00FF
+ FF00FFFF00FFE07040E07040E07040E07040E07040E07040E07040E07040E070
+ 40E07040E07040E07040FF00FFFF00FFFF00FFFF00FF95959595959595959594
+ 9494949494949494959595959595949494959595959595959595FF00FFFF00FF
+ FF00FFFF00FFE07040FBC39FFBC39FFAC19CF5B18BEFA27AEB9369E68254E070
+ 40E07040E07040E07040FF00FFFF00FFFF00FFFF00FF949494D2D2D2D2D2D2D0
+ D0D0C4C4C4BABABAAFAFAFA1A1A1949494959595959595959595FF00FFFF00FF
+ FF00FFFF00FFE07040E07040E07040E07040E07040E07040E07040E07040E070
+ 40E07040E07040E07040FF00FFFF00FFFF00FFFF00FF95959595959594949495
+ 9595959595959595949494959595949494949494959595959595FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF}
+ NumGlyphs = 2
+ end
+ object BtAlt: TBitBtn
+ Left = 8
+ Top = 51
+ Width = 81
+ Height = 25
+ Caption = '&Alterar'
+ TabOrder = 1
+ OnClick = BtAltClick
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFD1BBAD694731
+ 694731694731694731694731694731694731694731694731694731694731FF00
+ FFFF00FFFF00FFFF00FFCCCCCC6C6C6C6B6B6B6C6C6C6C6C6C6C6C6C6C6C6C6C
+ 6C6C6B6B6B6C6C6C6C6C6C6B6B6BFF00FFFF00FFFF00FFFF00FFD1BBADFFFFFF
+ FBF9F8F7F3F1F3EDEAEFE7E3EBE1DBE6D9D2E1D2CADCCBC1DBC9BF694731FF00
+ FFFF00FFFF00FFFF00FFCDCDCDFFFFFFFBFBFBF7F7F7F2F2F2EEEEEEE9E9E9E3
+ E3E3DFDFDFDADADAD8D8D86C6C6CFF00FFFF00FFFF00FFFF00FFD1BBADFFFFFF
+ CF875FCF875FF7F3F1CF875FCF875F1C1C1C1C1C1C1C1C1CDCCBC1694731FF00
+ FFFF00FFFF00FFFF00FFCDCDCDFFFFFFA4A4A4A4A4A4F7F7F7A4A4A4A4A4A440
+ 4040404040414141DADADA6C6C6CFF00FFFF00FFFF00FFFF00FFD1BBADFFFFFF
+ FFFFFFFFFFFFFBF9F8F7F3F11C1C1C0098C8FCFAF8A39D98E1D2CA694731FF00
+ FFFF00FFFF00FFFF00FFCDCDCDFFFFFFFFFFFFFFFFFFFBFBFBF7F7F7414141B9
+ B9B9FCFCFCB7B7B7DFDFDF6B6B6BFF00FFFF00FFFF00FFFF00FFD1BBADD1BBAD
+ D1BBADD1BBADE070401C1C1C0098C84ABEDF0098C8A39D986947316947316947
+ 31694731694731694731CCCCCCCDCDCDCDCDCDCDCDCD959595404040B9B9B9D3
+ D3D3B9B9B9B7B7B76C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6CFF00FFFF00FF
+ FF00FFFF00FF1C1C1C0098C84ABEDF94E4F60098C8EFE7E3EBE1DBE6D9D2E1D2
+ CADCCBC1DBC9BF694731FF00FFFF00FFFF00FFFF00FF414141B9B9B9D3D3D3ED
+ EDEDB9B9B9EEEEEEEAEAEAE4E4E4DFDFDFD9D9D9D8D8D86C6C6CFF00FFFF00FF
+ FF00FF1C1C1C0098C84ABEDF94E4F60098C8F7F3F1CF875FCF875FEBE1DBCF87
+ 5FCF875FDCCBC1694731FF00FFFF00FFFF00FF414141B9B9B9D3D3D3EDEDEDB9
+ B9B9F7F7F7A4A4A4A4A4A4EAEAEAA4A4A4A4A4A4D9D9D96C6C6CFF00FFFF00FF
+ 1C1C1C0098C84ABEDF94E4F60098C8FFFFFFFBF9F8F7F3F1F3EDEAEFE7E3EBE1
+ DBE6D9D2E1D2CA694731FF00FFFF00FF414141B9B9B9D3D3D3EDEDEDB9B9B9FF
+ FFFFFBFBFBF7F7F7F3F3F3EEEEEEE9E9E9E3E3E3DFDFDF6C6C6CFF00FF00009A
+ 8080804ABEDF94E4F60098C8E07040E07040E07040E07040E07040E07040E070
+ 40E07040E07040E07040FF00FF7272729F9F9FD3D3D3EDEDEDB9B9B994949495
+ 959595959595959594949495959594949495959595959594949400009A00009A
+ 778C98D2BAAC0098C8FBC39FFBC39FFAC19CF5B18BEFA27AEB9369E68254E070
+ 40E07040E07040E07040727272727272AAAAAACCCCCCB9B9B9D2D2D2D2D2D2D0
+ D0D0C4C4C4B9B9B9AFAFAFA2A2A29494949595959595959595954A23C70030F8
+ 6D8AFD0030F8E07040E07040E07040E07040E07040E07040E07040E07040E070
+ 40E07040E07040E07040A85FA8A2A2A2C2C2C2A2A2A295959595959595959594
+ 9494959595959595959595949494959595959595959595959595FF00FF8817DA
+ 0030F8FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFC63EC6A2A2A2FF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF}
+ NumGlyphs = 2
+ end
+ object BtExclui: TBitBtn
+ Left = 8
+ Top = 91
+ Width = 81
+ Height = 25
+ Caption = '&Excluir'
+ TabOrder = 2
+ OnClick = BtExcluiClick
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FF0030F8000098FF00FFFF00FFFF00FFFF00
+ FFFF00FF0000980030F8FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFA3
+ A3A3707070FF00FFFF00FFFF00FFFF00FFFF00FF707070A2A2A2FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FF0030F8000098FF00FFFF00FFFF00
+ FF0000980030F8FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFA2A2A2707070FF00FFFF00FFFF00FF707070A3A3A3FF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF0030F8000098FF00FF0000
+ 980030F8FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFA2A2A2707070FF00FF727272A3A3A3FF00FFFF00FFD1BBAD694731
+ 6947316947316947316947316947316947316947316947310030F8002AD0002A
+ D0FF00FFFF00FFFF00FFCCCCCC6C6C6C6C6C6C6C6C6C6B6B6B6C6C6C6B6B6B6B
+ 6B6B6C6C6C6C6C6CA3A3A3919191919191FF00FFFF00FFFF00FFD1BBADE8DCD4
+ E6D9D1E4D7CEE2D4CAE1D1C7DFCFC4DDCBC0DBC8BDD8C5B90030F8002AD00000
+ 98FF00FFFF00FFFF00FFCDCDCDE6E6E6E3E3E3E2E2E2E0E0E0DDDDDDDCDCDCD9
+ D9D9D7D7D7D5D5D5A2A2A2919191707070FF00FFFF00FFFF00FFD1BBADE8DCD4
+ 694731694731E4D7CE694731694731DFCFC46947310030F80000986947310030
+ F8000098FF00FFFF00FFCDCDCDE6E6E66C6C6C6C6C6CE2E2E26C6C6C6C6C6CDC
+ DCDC6C6C6CA2A2A27070706C6C6CA3A3A3707070FF00FFFF00FFD1BBADE8DCD4
+ E8DCD4E8DCD4E6D9D1E4D7CEE2D4CAE1D1C70030F8000098DBC8BD694731FF00
+ FF0030F8000098FF00FFCDCDCDE6E6E6E6E6E6E6E6E6E3E3E3E2E2E2DFDFDFDD
+ DDDDA3A3A3707070D7D7D76C6C6CFF00FFA3A3A3727272FF00FFD1BBADD1BBAD
+ D1BBADD1BBADE070406947316947316947310000986947316947316947316947
+ 316947310030F8694731CCCCCCCCCCCCCDCDCDCDCDCD9595956B6B6B6C6C6C6C
+ 6C6C7070706C6C6C6C6C6C6C6C6C6C6C6C6C6C6CA2A2A26C6C6CFF00FFFF00FF
+ FF00FFFF00FFE07040FFFFFFFBF9F8F7F3F1F3EDEAEFE7E3EBE1DBE6D9D2E1D2
+ CADCCBC1DBC9BF694731FF00FFFF00FFFF00FFFF00FF959595FFFFFFFBFBFBF7
+ F7F7F2F2F2EEEEEEE9E9E9E4E4E4DFDFDFDADADAD8D8D86C6C6CFF00FFFF00FF
+ FF00FFFF00FFE07040FFFFFF694731694731F7F3F1694731694731EBE1DB6947
+ 31694731DCCBC1694731FF00FFFF00FFFF00FFFF00FF959595FFFFFF6C6C6C6B
+ 6B6BF7F7F76C6C6C6C6C6CEAEAEA6B6B6B6C6C6CD9D9D96C6C6CFF00FFFF00FF
+ FF00FFFF00FFE07040FFFFFFFFFFFFFFFFFFFBF9F8F7F3F1F3EDEAEFE7E3EBE1
+ DBE6D9D2E1D2CA694731FF00FFFF00FFFF00FFFF00FF959595FFFFFFFFFFFFFF
+ FFFFFBFBFBF7F7F7F3F3F3EEEEEEEAEAEAE3E3E3DFDFDF6C6C6CFF00FFFF00FF
+ FF00FFFF00FFE07040E07040E07040E07040E07040E07040E07040E07040E070
+ 40E07040E07040E07040FF00FFFF00FFFF00FFFF00FF95959595959595959595
+ 9595949494959595959595959595959595959595959595949494FF00FFFF00FF
+ FF00FFFF00FFE07040FBC39FFBC39FFAC19CF5B18BEFA27AEB9369E68254E070
+ 40E07040E07040E07040FF00FFFF00FFFF00FFFF00FF959595D2D2D2D2D2D2D0
+ D0D0C4C4C4B9B9B9AFAFAFA2A2A2959595949494959595959595FF00FFFF00FF
+ FF00FFFF00FFE07040E07040E07040E07040E07040E07040E07040E07040E070
+ 40E07040E07040E07040FF00FFFF00FFFF00FFFF00FF95959595959594949495
+ 9595959595959595959595959595949494959595959595959595FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF}
+ NumGlyphs = 2
+ end
+ object BtExit: TBitBtn
+ Left = 8
+ Top = 171
+ Width = 81
+ Height = 25
+ Caption = '&Fechar'
+ TabOrder = 3
+ OnClick = BtExitClick
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFC066148E4019
+ 8E40198E40198E40198E40198E40198E40198E40198E40198E40198E40198E40
+ 198E40198E4019FF00FF8888886969696969696969696969696969696A6A6A69
+ 69696969696969696A6A6A6969696969696A6A6A696969FF00FFC06614F9F5F4
+ C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2
+ A5C3B2A58E4019FF00FF888888F8F8F8C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6
+ C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6696969FF00FFC06614FCFAFA
+ F9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCDFD0C7DFD0C7DCCB
+ C1C3B2A58E4019FF00FF888888FCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEAEAEAE7
+ E7E7E4E4E4E0E0E0DDDDDDDDDDDDD9D9D9C6C6C6696969FF00FFC06614FFFFFF
+ FCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCE2D4CCDFD0
+ C7C3B2A58E4019FF00FF888888FFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEA
+ EAEAE7E7E7E3E3E3E0E0E0E0E0E0DDDDDDC6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E5D9D1E2D4
+ CCC3B2A58E4019FF00FF888888FFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EE
+ EEEEEAEAEAE7E7E7E3E3E3E3E3E3E0E0E0C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E9DED7E5D9
+ D1C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1
+ F1F1EEEEEEEAEAEAE7E7E7E7E7E7E3E3E3C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F2EBE8EEE6E2ECE2DCECE2DCE9DE
+ D7C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFBFBFBF7
+ F7F7F1F1F1EEEEEEEAEAEAEAEAEAE7E7E7C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF0E9E5F0E9E5EDE4
+ DFC3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFB
+ FBFBF7F7F7F3F3F3F0F0F0F0F0F0ECECECC6C6C66A6A6AFF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF4EEEBF0E9
+ E5C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE
+ FEFEFBFBFBF7F7F7F3F3F3F3F3F3F0F0F0C6C6C66A6A6AFF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F78A9DE92546CD1D3F
+ C9193BC8183BC88194E1898989FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFEFEFEFAFAFAC6C6C6979797929292929292929292C0C0C0C06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFD3355DBF2F4FD4E6B
+ D94A67D8F2F4FD183BC8888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFEFEFEA1A1A1FAFAFAAAAAAAA8A8A8F9F9F9929292C066148E4019
+ 8E40198E40198E40198E40198E40198E40198E40198E40193C5CDD8296E4D9DF
+ F9CDD5F74C69D81A3CC88888886969696969696969696A6A6A69696969696969
+ 6969696969696969A5A5A5C1C1C1EDEDEDE7E7E7A8A8A8929292C06614ED9733
+ ED9733ED9733ED9733ED9733ED9733ED9733F6CA9AED97334563E16980E2E4E8
+ FBD8DEF9516DDA1F40C9888888ACACACACACACADADADADADADADADADACACACAD
+ ADADD5D5D5ADADADA8A8A8B6B6B6F2F2F2ECECECABABAB939393F810DCC06614
+ C06614C06614C06614C06614C06614C06614C06614C066144D6AE3F2F4FD667D
+ E26E85E2F2F4FD2749CEEF14EF88888888888888888888888889898988888888
+ 8888888888898989ACACACF9F9F9B5B5B5B9B9B9F9F9F9989898FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF9AABEF4D6AE34563
+ E14463DF3E5EDE8FA2EBFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFCFCFCFACACACA8A8A8A8A8A8A6A6A6C9C9C9}
+ NumGlyphs = 2
+ end
+ object BtAcess: TBitBtn
+ Left = 8
+ Top = 131
+ Width = 81
+ Height = 25
+ Caption = '&Acessos'
+ TabOrder = 4
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFC2652BA53C00A53C00A53C00A53C00A53C00A53C
+ 00A53C00FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF89898969
+ 69696969696969696969696969696A6A6A696969FF00FFFF00FFFF00FFFF00FF
+ A22E08A22E08A22E08A22E08C2652BFFD4A5FFD4A5FFD4A5FFCD97FFC07DFFAD
+ 55A53C00FF00FFFF00FFFF00FFFF00FF606060606060606060606060898989DC
+ DCDCDCDCDCDCDCDCD7D7D7CCCCCCBEBEBE6A6A6AFF00FFFF00FFFF00FFFF00FF
+ A22E08FF00FFFF00FFFF00FFC2652BC2652BC2652BC2652BC2652BC2652BC265
+ 2BC2652BFF00FFFF00FFFF00FFFF00FF606060FF00FFFF00FFFF00FF89898989
+ 8989898989898989898989898989898989898989FF00FFFF00FFFF00FFFF00FF
+ A22E08FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FF606060FF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ A22E08FF00FFFF00FFFF00FF1C1C1C986060986060A53C00A53C00A53C00A53C
+ 00A53C00FF00FFFF00FFFF00FFFF00FF616161FF00FFFF00FFFF00FF41414188
+ 8888888888696969696969696969696969696969FF00FFFF00FFFF00FFFF00FF
+ A22E08A22E08A22E08A22E08C89898FCFAF80098C81C1C1CFFCD97FFC07DFFAD
+ 55A53C00FF00FFFF00FFFF00FFFF00FF606060606060606060606060B5B5B5FC
+ FCFCB9B9B9414141D7D7D7CCCCCCBEBEBE696969FF00FFFF00FFFF00FFFF00FF
+ A22E08FF00FFFF00FFFF00FFC898980098C84ABEDF0098C81C1C1CC2652BC265
+ 2BC2652BFF00FFFF00FFFF00FFFF00FF606060FF00FFFF00FFFF00FFB5B5B5B9
+ B9B9D3D3D3B9B9B9414141898989898989898989FF00FFFF00FFFF00FFFF00FF
+ A22E08FF00FFFF00FFFF00FFFF00FF0098C894E4F64ABEDF0098C81C1C1CFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FF606060FF00FFFF00FFFF00FFFF00FFB9
+ B9B9EDEDEDD3D3D3B9B9B9414141FF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ A22E08FF00FFFF00FFFF00FFC2652BA53C000098C894E4F64ABEDF0098C81C1C
+ 1CA53C00FF00FFFF00FFFF00FFFF00FF606060FF00FFFF00FFFF00FF89898969
+ 6969B9B9B9EDEDEDD3D3D3B9B9B94040406A6A6AFF00FFFF00FFFF00FFFF00FF
+ A22E08A22E08A22E08A22E08C2652BFFD4A5FFD4A50098C894E4F64ABEDF0098
+ C81C1C1CFF00FFFF00FFFF00FFFF00FF606060606060606060606060898989DC
+ DCDCDCDCDCB9B9B9EDEDEDD3D3D3BABABA414141FF00FFFF00FFFF00FFFF00FF
+ A22E08FF00FFFF00FFFF00FFC2652BC2652BC2652BC2652B0098C894E4F64ABE
+ DF80808000009AFF00FFFF00FFFF00FF606060FF00FFFF00FFFF00FF89898989
+ 8989898989898989BABABAEDEDEDD3D3D3A0A0A0727272FF00FFFF00FFFF00FF
+ A22E08FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF0098C8D2BA
+ AC778C9800009A00009AFF00FFFF00FF606060FF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFB9B9B9CCCCCCABABAB727272727272C2652BA22E08
+ A22E08A22E08A22E08A22E08A22E08A22E16FF00FFFF00FFFF00FFFF00FF0030
+ F86D8AFD0030F800009A89898960606060606060606060606060606060606061
+ 6161FF00FFFF00FFFF00FFFF00FFA2A2A2C2C2C2A3A3A3727272C2652BFFD4A5
+ FFD4A5FFD4A5FFCD97FFC07DFFAD55A22E08FF00FFFF00FFFF00FFFF00FFFF00
+ FF0030F80030F8FF00FF898989DCDCDCDCDCDCDCDCDCD7D7D7CCCCCCBEBEBE60
+ 6060FF00FFFF00FFFF00FFFF00FFFF00FFA2A2A2A3A3A3FF00FFC2652BC2652B
+ C2652BC2652BC2652BC2652BC2652BC2652BFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FF89898989898989898989898989898989898989898989
+ 8989FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF}
+ NumGlyphs = 2
+ end
+ end
+ object DataSource1: TDataSource
+ Left = 128
+ Top = 104
+ end
+end
diff --git a/official/2.20/Lib/D10/CadUser_U.dfm b/official/2.20/Lib/D10/CadUser_U.dfm
new file mode 100644
index 0000000..73cfad2
--- /dev/null
+++ b/official/2.20/Lib/D10/CadUser_U.dfm
@@ -0,0 +1,594 @@
+object frmCadastrarUsuario: TfrmCadastrarUsuario
+ Left = 215
+ Top = 179
+ BorderIcons = [biSystemMenu]
+ BorderStyle = bsSingle
+ Caption = 'Seguran'#231'a'
+ ClientHeight = 312
+ ClientWidth = 586
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ OldCreateOrder = False
+ OnClose = FormClose
+ OnShow = FormShow
+ PixelsPerInch = 96
+ TextHeight = 13
+ object DBGrid1: TDBGrid
+ Left = 0
+ Top = 35
+ Width = 489
+ Height = 277
+ Align = alClient
+ Ctl3D = True
+ DataSource = DataSource1
+ Options = [dgTitles, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgRowSelect, dgAlwaysShowSelection, dgConfirmDelete, dgCancelOnExit]
+ ParentCtl3D = False
+ PopupMenu = PopupMenu1
+ ReadOnly = True
+ TabOrder = 0
+ TitleFont.Charset = DEFAULT_CHARSET
+ TitleFont.Color = clWindowText
+ TitleFont.Height = -11
+ TitleFont.Name = 'MS Sans Serif'
+ TitleFont.Style = []
+ OnDblClick = DBGrid1DblClick
+ Columns = <
+ item
+ Expanded = False
+ FieldName = 'Nome'
+ Title.Alignment = taCenter
+ Width = 159
+ Visible = True
+ end
+ item
+ Expanded = False
+ FieldName = 'Login'
+ Title.Alignment = taCenter
+ Width = 123
+ Visible = True
+ end
+ item
+ Expanded = False
+ FieldName = 'Email'
+ Title.Alignment = taCenter
+ Width = 183
+ Visible = True
+ end>
+ end
+ object Panel1: TPanel
+ Left = 0
+ Top = 0
+ Width = 586
+ Height = 35
+ Align = alTop
+ BevelOuter = bvNone
+ Color = clWhite
+ TabOrder = 1
+ object lbDescricao: TLabel
+ Left = 44
+ Top = 12
+ Width = 188
+ Height = 18
+ Caption = 'Cadastro de Usu'#225'rios'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -16
+ Font.Name = 'Verdana'
+ Font.Style = [fsBold]
+ ParentFont = False
+ end
+ object Image1: TImage
+ Left = 8
+ Top = 4
+ Width = 28
+ Height = 28
+ AutoSize = True
+ Picture.Data = {
+ 07544269746D6170760C0000424D760C00000000000036000000280000001C00
+ 00001C0000000100200000000000400C00000000000000000000000000000000
+ 0000FFFFFF00FFFFFF00FCFCFC00F4F4F400E7E7E700DCDCDC00D6D6D600D2D2
+ D200D2D2D200D4D4D400D8D8D800DDDDDD00E2E2E200EAEAEA00F4F4F400FCFC
+ FC00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FEFEFE00CBC5D2008B75A4007251
+ 9900673F980063369B006334A0006233A00063349F0063369F0063389B00633B
+ 9700653E940069489000725A8C0091899900D1D1D100FCFCFC00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00C2B0D5005F27A0006126AA006328AF00652BB400672DB800682FBB006930
+ BD006931BE006830BD00682FBB00662DB800652BB3006328AF006125AA005C23
+ 9E00674C8300D5D5D500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF007E51B1006025A8006328AE00652B
+ B400672EB9006931BE006B33C1006B34C4006C35C5006B34C4006A33C1006931
+ BE00672EB900652BB4006228AE006024A8005B249A00B2B0B400F7F7F700F8F8
+ F800F9F9F900FBFBFB00FDFDFD00FEFEFE00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF006D3AA8006127AC00642AB200672EB8006931BE006B34C3006D36C8006837
+ BE00693AC1006E38CB006D36C7006B34C3006931BE00672DB800642AB2006126
+ AB0059229B004B644D0065896300688B67006D8C6D00738E73007B907C008D9B
+ 8F00A7ACA800D0D0D000F6F6F600FFFFFF007F50B3006328AE00652CB5006830
+ BC006B33C2006D36C8006E38CC00596AB000698ED4006E39CC006F39CD006D36
+ C8006B33C200682FBB00652CB4006228AE0054268F003980290042982F004396
+ 2F0045933000488D32004A8733004E8035004C763800517149008E968F00F3F3
+ F300B399CF00642AB000662DB7006931BE006C35C5006F38CC006338B9005C9A
+ C7006DB9EB006557C700713CD2006E38CB006C34C4006931BE00662DB6006329
+ AF00434761003A9C2B003CA32C003DA12D003F9D2E0043972F00478F31004C87
+ 3300517E36005774380053714700D7D7D700F7F4F8007847B400662DB8006931
+ BF006C35C6006F39CD00514CA5005DA7D80061AFE2005A8ECF006E3ACD006F39
+ CD006C35C6006931BE00662DB7005631930034912D0035AE290035AF290036AD
+ 2A0039A72B003EA02D0043972F00488E32004E843400547937004F713F00D2D2
+ D200FFFFFF00E5DEEE007444B6006931BE006C35C5006B36C500416AA1004A8E
+ BD004380AA00407EA8005448AE006E38CA006C35C5006931BE0059349800368A
+ 350032B328002FB927002FBA260031B7270034B0290039A72B003F9E2E004593
+ 30004B883300517E3600547A4700E1E1E100FFFFFF00FEFEFE00CCC8D3007B56
+ AE006933BD005337A3003775A1003F85B7003F88BC00397DAD002C5480004C28
+ 8D006330B400483A76002B702D0031AA27002EBC26002CBA29002AC027002BC0
+ 250030B7270036AD2A003CA22C0043972F00498C32004F80350076957200F7F7
+ F700FFFFFF00AEBDCC000F3C690025496D0040477500467DB6004E9DD3004E9C
+ D2004C9AD0004997CE004493CA00336090000F2E5A0002355F00013460002283
+ 250032B12F00B8CBBA00C6E1C90037BD36002EBC260034B029003BA42C004299
+ 2F00488D32004F853F00CFD7D000FFFFFF00FFFFFF006C89A500013468000235
+ 6A002C65950055A2D70055A3D80054A2D70053A1D600509ED4004C9AD1004795
+ CC001854880000336600003366001C742F0070A17300DBDBDC00DEDEDE00AECD
+ B1002FB4290035AF29003BA42C0042992F00488D3900B5C9B500FDFDFD00FFFF
+ FF00FFFFFF00708DAC00053871000C3F75005399CA005AA7DC005AA7DC005AA7
+ DB0058A5DA0055A3D80052A0D5004D9BD2003B85BB0000336600003366002261
+ 3900788B9400648AA6005782A100607E93003D744400329C26003CA02D00529A
+ 4A00C5D6C600FEFEFE00FFFFFF00FFFFFF00FFFFFF008099B6000B3E7B002961
+ 91005DAADE005FADE0005FADE0005EACDF005CAADD005AA7DC0056A4D90052A0
+ D5004C9AD000124C80000032650030647F004E9BD0004E9CD2004C9AD0004897
+ CE004187B4002B60440081A88000EFF2EF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF0095ABC3000E4182004584B10063B0E30065B2E40065B2E40063B1
+ E30061AEE1005DABDE005AA7DC0055A3D800509ED400296B9F00003365004180
+ AC0055A3D80054A2D70052A0D600509ED4004C9AD0004890C200838E9600F3F3
+ F300FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00ADBED300134585005699
+ C50067B4E60069B6E80069B6E80068B5E70065B2E50061AEE1005DAADE0058A5
+ DA0053A1D600397FB300013365004888B4005AA7DC0059A7DB0057A5DA0055A3
+ D80052A0D5004D9BD1005087AF00C1C1C100FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00B4C2D50016488B00467EA5004E8BB4005EA0CA006BB4E4006CB8
+ EA0068B5E70064B1E4005FACDF005AA7DC0055A2D700387EB300023465004F91
+ BD005FACE0005EABDF005CA9DD0059A7DB0056A4D90052A0D5004C98CE008592
+ 9D00F9F9F900FFFFFF00FFFFFF00FFFFFF00FFFFFF00C9D4E1001C4F9B001C4F
+ 9C001E50A0001F4F93002C5C8D004C83AA0063AAD90065B2E40060AEE1005BA8
+ DC00529DD1001D588B00083A6A005CA2D20064B1E40063B0E30060ADE1005DAA
+ DE0059A7DB0055A3D800509ED4006488A100ECECEC00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00F4F6F7002E5EA7002356AE002558B0002457AF002255AB001D4F
+ 9B00255587004883AA005DA9DB00488CBE00174C800004376E001F54810068B3
+ E50069B5E80067B4E70064B1E40060ADE1005CA9DD0058A5DA0053A1D600598A
+ AE00DDDDDD00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF007F9CC600285B
+ B6002A5DBA00295CB9002659B2002255AB001E51A100194A8C00235585001145
+ 83000A3D7B00053870004985AF006CB7E8006EBAEC006CB8EA0068B4E70063B0
+ E3005EABDF005AA7DB0054A2D7005690B900D8D8D800FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00E9EDF2003A69BB002F62C4002D60C100295CB8002457
+ AE001F52A4001A4D9A0015489000104386000B3E7C001A4D7B00407A9F00447A
+ 9D00518AAE0064A9D7006AB5E70064B1E40060ADE1005BA8DC0055A2D7005890
+ B600DEDEDE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C3D0
+ E5003768C3002E61C200295CB9002457AF001F52A5001A4D9B00154891001144
+ 86001A4D8200478AB5004F96C3004F96C3004B8FBA00427A9E00497FA3005DA4
+ D30060ADE000549CCD00407EA7004B6F8500EAEAEA00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C8D4E500406DBA00285BB5002356
+ AC001E51A3001B4E990016488E006785A900A6C0D300579FCC005AA2CF005AA2
+ CF00569ECB005198C500488CB6003C7294004680A8003E80AA003D81AC00768D
+ 9C00FAFAFA00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00F6F8FA00AFC0D8007E9BC4007B98BE00A0B3CA00DDE3E900FFFF
+ FF00F1F5F70065A9D10064AEDC0064ADDC0060A9D60059A1CE005097C400478D
+ B9003E82AD003D82AD00407BA200C8CBCD00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00B5D2E6006FB8E7006EB9
+ E70068B1E0005FA7D500559DCA004B91BE004086B1003E81AA008EA6B600FAFA
+ FA00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FDFEFE00A5CFE90075BFEE006CB7E50062ABD900579FCC004D93
+ C0004487B0008CAABB00F6F6F600FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00CCDF
+ ED008FC0DE0070ACD1006DA5C80088AFC900CED9E100FDFDFD00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00}
+ end
+ end
+ object Panel3: TPanel
+ Left = 489
+ Top = 35
+ Width = 97
+ Height = 277
+ Align = alRight
+ BevelOuter = bvNone
+ TabOrder = 2
+ object btAdic: TBitBtn
+ Left = 8
+ Top = 26
+ Width = 81
+ Height = 25
+ Caption = '&Adicionar'
+ TabOrder = 0
+ OnClick = btAdicClick
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF0060000060
+ 00006000FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FF777777787878777777FF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF00600033CB
+ 51006000FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FF777777C8C8C8777777FF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF00600000600000600040D8
+ 65006000006000006000FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FF787878777777777777D1D1D1787878777777777777D1BBAD694731
+ 69473169473169473169473169473169473169473100600060F8985AF28F4DE5
+ 7A40D8653AD25C006000CCCCCC6C6C6C6B6B6B6B6B6B6C6C6C6C6C6C6B6B6B6C
+ 6C6C6B6B6B777777EAEAEAE5E5E5DBDBDBD2D2D2CDCDCD787878D1BBADFFFFFF
+ FBF9F8F7F3F1F3EDEAEFE7E3EBE1DBE6D9D2E1D2CA0060000060000060005AF2
+ 8F006000006000006000CCCCCCFFFFFFFBFBFBF7F7F7F2F2F2EEEEEEEAEAEAE3
+ E3E3DFDFDF777777777777777777E6E6E6777777777777787878D1BBADFFFFFF
+ CF875FCF875FF7F3F1CF875FCF875FEBE1DBCF875FCF875FDCCBC100600060F8
+ 98006000FF00FFFF00FFCCCCCCFFFFFFA4A4A4A4A4A4F7F7F7A5A5A5A4A4A4EA
+ EAEAA5A5A5A4A4A4D9D9D9777777EAEAEA777777FF00FFFF00FFD1BBADFFFFFF
+ FFFFFFFFFFFFFBF9F8F7F3F1F3EDEAEFE7E3EBE1DBE6D9D2E1D2CA0060000060
+ 00006000FF00FFFF00FFCCCCCCFFFFFFFFFFFFFFFFFFFBFBFBF7F7F7F3F3F3EE
+ EEEEE9E9E9E4E4E4DFDFDF777777777777777777FF00FFFF00FFD1BBADD1BBAD
+ D1BBADD1BBADE070406947316947316947316947316947316947316947316947
+ 31694731694731694731CDCDCDCCCCCCCCCCCCCCCCCC9494946C6C6C6C6C6C6B
+ 6B6B6C6C6C6B6B6B6C6C6C6B6B6B6C6C6C6B6B6B6C6C6C6C6C6CFF00FFFF00FF
+ FF00FFFF00FFE07040FFFFFFFBF9F8F7F3F1F3EDEAEFE7E3EBE1DBE6D9D2E1D2
+ CADCCBC1DBC9BF694731FF00FFFF00FFFF00FFFF00FF959595FFFFFFFBFBFBF7
+ F7F7F2F2F2EEEEEEEAEAEAE3E3E3DFDFDFD9D9D9D8D8D86C6C6CFF00FFFF00FF
+ FF00FFFF00FFE07040FFFFFFCF875FCF875FF7F3F1CF875FCF875FEBE1DBCF87
+ 5FCF875FDCCBC1694731FF00FFFF00FFFF00FFFF00FF949494FFFFFFA5A5A5A4
+ A4A4F7F7F7A5A5A5A4A4A4EAEAEAA5A5A5A4A4A4DADADA6B6B6BFF00FFFF00FF
+ FF00FFFF00FFE07040FFFFFFFFFFFFFFFFFFFBF9F8F7F3F1F3EDEAEFE7E3EBE1
+ DBE6D9D2E1D2CA694731FF00FFFF00FFFF00FFFF00FF949494FFFFFFFFFFFFFF
+ FFFFFBFBFBF7F7F7F2F2F2EEEEEEEAEAEAE4E4E4DFDFDF6C6C6CFF00FFFF00FF
+ FF00FFFF00FFE07040E07040E07040E07040E07040E07040E07040E07040E070
+ 40E07040E07040E07040FF00FFFF00FFFF00FFFF00FF95959595959595959594
+ 9494949494949494959595959595949494959595959595959595FF00FFFF00FF
+ FF00FFFF00FFE07040FBC39FFBC39FFAC19CF5B18BEFA27AEB9369E68254E070
+ 40E07040E07040E07040FF00FFFF00FFFF00FFFF00FF949494D2D2D2D2D2D2D0
+ D0D0C4C4C4BABABAAFAFAFA1A1A1949494959595959595959595FF00FFFF00FF
+ FF00FFFF00FFE07040E07040E07040E07040E07040E07040E07040E07040E070
+ 40E07040E07040E07040FF00FFFF00FFFF00FFFF00FF95959595959594949495
+ 9595959595959595949494959595949494949494959595959595FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF}
+ NumGlyphs = 2
+ end
+ object BtAlt: TBitBtn
+ Left = 8
+ Top = 66
+ Width = 81
+ Height = 25
+ Caption = '&Alterar'
+ TabOrder = 1
+ OnClick = BtAltClick
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFD1BBAD694731
+ 694731694731694731694731694731694731694731694731694731694731FF00
+ FFFF00FFFF00FFFF00FFCCCCCC6C6C6C6B6B6B6C6C6C6C6C6C6C6C6C6C6C6C6C
+ 6C6C6B6B6B6C6C6C6C6C6C6B6B6BFF00FFFF00FFFF00FFFF00FFD1BBADFFFFFF
+ FBF9F8F7F3F1F3EDEAEFE7E3EBE1DBE6D9D2E1D2CADCCBC1DBC9BF694731FF00
+ FFFF00FFFF00FFFF00FFCDCDCDFFFFFFFBFBFBF7F7F7F2F2F2EEEEEEE9E9E9E3
+ E3E3DFDFDFDADADAD8D8D86C6C6CFF00FFFF00FFFF00FFFF00FFD1BBADFFFFFF
+ CF875FCF875FF7F3F1CF875FCF875F1C1C1C1C1C1C1C1C1CDCCBC1694731FF00
+ FFFF00FFFF00FFFF00FFCDCDCDFFFFFFA4A4A4A4A4A4F7F7F7A4A4A4A4A4A440
+ 4040404040414141DADADA6C6C6CFF00FFFF00FFFF00FFFF00FFD1BBADFFFFFF
+ FFFFFFFFFFFFFBF9F8F7F3F11C1C1C0098C8FCFAF8A39D98E1D2CA694731FF00
+ FFFF00FFFF00FFFF00FFCDCDCDFFFFFFFFFFFFFFFFFFFBFBFBF7F7F7414141B9
+ B9B9FCFCFCB7B7B7DFDFDF6B6B6BFF00FFFF00FFFF00FFFF00FFD1BBADD1BBAD
+ D1BBADD1BBADE070401C1C1C0098C84ABEDF0098C8A39D986947316947316947
+ 31694731694731694731CCCCCCCDCDCDCDCDCDCDCDCD959595404040B9B9B9D3
+ D3D3B9B9B9B7B7B76C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6CFF00FFFF00FF
+ FF00FFFF00FF1C1C1C0098C84ABEDF94E4F60098C8EFE7E3EBE1DBE6D9D2E1D2
+ CADCCBC1DBC9BF694731FF00FFFF00FFFF00FFFF00FF414141B9B9B9D3D3D3ED
+ EDEDB9B9B9EEEEEEEAEAEAE4E4E4DFDFDFD9D9D9D8D8D86C6C6CFF00FFFF00FF
+ FF00FF1C1C1C0098C84ABEDF94E4F60098C8F7F3F1CF875FCF875FEBE1DBCF87
+ 5FCF875FDCCBC1694731FF00FFFF00FFFF00FF414141B9B9B9D3D3D3EDEDEDB9
+ B9B9F7F7F7A4A4A4A4A4A4EAEAEAA4A4A4A4A4A4D9D9D96C6C6CFF00FFFF00FF
+ 1C1C1C0098C84ABEDF94E4F60098C8FFFFFFFBF9F8F7F3F1F3EDEAEFE7E3EBE1
+ DBE6D9D2E1D2CA694731FF00FFFF00FF414141B9B9B9D3D3D3EDEDEDB9B9B9FF
+ FFFFFBFBFBF7F7F7F3F3F3EEEEEEE9E9E9E3E3E3DFDFDF6C6C6CFF00FF00009A
+ 8080804ABEDF94E4F60098C8E07040E07040E07040E07040E07040E07040E070
+ 40E07040E07040E07040FF00FF7272729F9F9FD3D3D3EDEDEDB9B9B994949495
+ 959595959595959594949495959594949495959595959594949400009A00009A
+ 778C98D2BAAC0098C8FBC39FFBC39FFAC19CF5B18BEFA27AEB9369E68254E070
+ 40E07040E07040E07040727272727272AAAAAACCCCCCB9B9B9D2D2D2D2D2D2D0
+ D0D0C4C4C4B9B9B9AFAFAFA2A2A29494949595959595959595954A23C70030F8
+ 6D8AFD0030F8E07040E07040E07040E07040E07040E07040E07040E07040E070
+ 40E07040E07040E07040A85FA8A2A2A2C2C2C2A2A2A295959595959595959594
+ 9494959595959595959595949494959595959595959595959595FF00FF8817DA
+ 0030F8FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFC63EC6A2A2A2FF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF}
+ NumGlyphs = 2
+ end
+ object BtExclui: TBitBtn
+ Left = 8
+ Top = 106
+ Width = 81
+ Height = 25
+ Caption = '&Excluir'
+ TabOrder = 2
+ OnClick = BtExcluiClick
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FF0030F8000098FF00FFFF00FFFF00FFFF00
+ FFFF00FF0000980030F8FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFA3
+ A3A3707070FF00FFFF00FFFF00FFFF00FFFF00FF707070A2A2A2FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FF0030F8000098FF00FFFF00FFFF00
+ FF0000980030F8FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFA2A2A2707070FF00FFFF00FFFF00FF707070A3A3A3FF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF0030F8000098FF00FF0000
+ 980030F8FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFA2A2A2707070FF00FF727272A3A3A3FF00FFFF00FFD1BBAD694731
+ 6947316947316947316947316947316947316947316947310030F8002AD0002A
+ D0FF00FFFF00FFFF00FFCCCCCC6C6C6C6C6C6C6C6C6C6B6B6B6C6C6C6B6B6B6B
+ 6B6B6C6C6C6C6C6CA3A3A3919191919191FF00FFFF00FFFF00FFD1BBADE8DCD4
+ E6D9D1E4D7CEE2D4CAE1D1C7DFCFC4DDCBC0DBC8BDD8C5B90030F8002AD00000
+ 98FF00FFFF00FFFF00FFCDCDCDE6E6E6E3E3E3E2E2E2E0E0E0DDDDDDDCDCDCD9
+ D9D9D7D7D7D5D5D5A2A2A2919191707070FF00FFFF00FFFF00FFD1BBADE8DCD4
+ 694731694731E4D7CE694731694731DFCFC46947310030F80000986947310030
+ F8000098FF00FFFF00FFCDCDCDE6E6E66C6C6C6C6C6CE2E2E26C6C6C6C6C6CDC
+ DCDC6C6C6CA2A2A27070706C6C6CA3A3A3707070FF00FFFF00FFD1BBADE8DCD4
+ E8DCD4E8DCD4E6D9D1E4D7CEE2D4CAE1D1C70030F8000098DBC8BD694731FF00
+ FF0030F8000098FF00FFCDCDCDE6E6E6E6E6E6E6E6E6E3E3E3E2E2E2DFDFDFDD
+ DDDDA3A3A3707070D7D7D76C6C6CFF00FFA3A3A3727272FF00FFD1BBADD1BBAD
+ D1BBADD1BBADE070406947316947316947310000986947316947316947316947
+ 316947310030F8694731CCCCCCCCCCCCCDCDCDCDCDCD9595956B6B6B6C6C6C6C
+ 6C6C7070706C6C6C6C6C6C6C6C6C6C6C6C6C6C6CA2A2A26C6C6CFF00FFFF00FF
+ FF00FFFF00FFE07040FFFFFFFBF9F8F7F3F1F3EDEAEFE7E3EBE1DBE6D9D2E1D2
+ CADCCBC1DBC9BF694731FF00FFFF00FFFF00FFFF00FF959595FFFFFFFBFBFBF7
+ F7F7F2F2F2EEEEEEE9E9E9E4E4E4DFDFDFDADADAD8D8D86C6C6CFF00FFFF00FF
+ FF00FFFF00FFE07040FFFFFF694731694731F7F3F1694731694731EBE1DB6947
+ 31694731DCCBC1694731FF00FFFF00FFFF00FFFF00FF959595FFFFFF6C6C6C6B
+ 6B6BF7F7F76C6C6C6C6C6CEAEAEA6B6B6B6C6C6CD9D9D96C6C6CFF00FFFF00FF
+ FF00FFFF00FFE07040FFFFFFFFFFFFFFFFFFFBF9F8F7F3F1F3EDEAEFE7E3EBE1
+ DBE6D9D2E1D2CA694731FF00FFFF00FFFF00FFFF00FF959595FFFFFFFFFFFFFF
+ FFFFFBFBFBF7F7F7F3F3F3EEEEEEEAEAEAE3E3E3DFDFDF6C6C6CFF00FFFF00FF
+ FF00FFFF00FFE07040E07040E07040E07040E07040E07040E07040E07040E070
+ 40E07040E07040E07040FF00FFFF00FFFF00FFFF00FF95959595959595959595
+ 9595949494959595959595959595959595959595959595949494FF00FFFF00FF
+ FF00FFFF00FFE07040FBC39FFBC39FFAC19CF5B18BEFA27AEB9369E68254E070
+ 40E07040E07040E07040FF00FFFF00FFFF00FFFF00FF959595D2D2D2D2D2D2D0
+ D0D0C4C4C4B9B9B9AFAFAFA2A2A2959595949494959595959595FF00FFFF00FF
+ FF00FFFF00FFE07040E07040E07040E07040E07040E07040E07040E07040E070
+ 40E07040E07040E07040FF00FFFF00FFFF00FFFF00FF95959595959594949495
+ 9595959595959595959595959595949494959595959595959595FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF}
+ NumGlyphs = 2
+ end
+ object BtAcess: TBitBtn
+ Left = 8
+ Top = 146
+ Width = 81
+ Height = 25
+ Caption = '&Acessos'
+ TabOrder = 3
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFC2652BA53C00A53C00A53C00A53C00A53C00A53C
+ 00A53C00FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF89898969
+ 69696969696969696969696969696A6A6A696969FF00FFFF00FFFF00FFFF00FF
+ A22E08A22E08A22E08A22E08C2652BFFD4A5FFD4A5FFD4A5FFCD97FFC07DFFAD
+ 55A53C00FF00FFFF00FFFF00FFFF00FF606060606060606060606060898989DC
+ DCDCDCDCDCDCDCDCD7D7D7CCCCCCBEBEBE6A6A6AFF00FFFF00FFFF00FFFF00FF
+ A22E08FF00FFFF00FFFF00FFC2652BC2652BC2652BC2652BC2652BC2652BC265
+ 2BC2652BFF00FFFF00FFFF00FFFF00FF606060FF00FFFF00FFFF00FF89898989
+ 8989898989898989898989898989898989898989FF00FFFF00FFFF00FFFF00FF
+ A22E08FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FF606060FF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ A22E08FF00FFFF00FFFF00FF1C1C1C986060986060A53C00A53C00A53C00A53C
+ 00A53C00FF00FFFF00FFFF00FFFF00FF616161FF00FFFF00FFFF00FF41414188
+ 8888888888696969696969696969696969696969FF00FFFF00FFFF00FFFF00FF
+ A22E08A22E08A22E08A22E08C89898FCFAF80098C81C1C1CFFCD97FFC07DFFAD
+ 55A53C00FF00FFFF00FFFF00FFFF00FF606060606060606060606060B5B5B5FC
+ FCFCB9B9B9414141D7D7D7CCCCCCBEBEBE696969FF00FFFF00FFFF00FFFF00FF
+ A22E08FF00FFFF00FFFF00FFC898980098C84ABEDF0098C81C1C1CC2652BC265
+ 2BC2652BFF00FFFF00FFFF00FFFF00FF606060FF00FFFF00FFFF00FFB5B5B5B9
+ B9B9D3D3D3B9B9B9414141898989898989898989FF00FFFF00FFFF00FFFF00FF
+ A22E08FF00FFFF00FFFF00FFFF00FF0098C894E4F64ABEDF0098C81C1C1CFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FF606060FF00FFFF00FFFF00FFFF00FFB9
+ B9B9EDEDEDD3D3D3B9B9B9414141FF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ A22E08FF00FFFF00FFFF00FFC2652BA53C000098C894E4F64ABEDF0098C81C1C
+ 1CA53C00FF00FFFF00FFFF00FFFF00FF606060FF00FFFF00FFFF00FF89898969
+ 6969B9B9B9EDEDEDD3D3D3B9B9B94040406A6A6AFF00FFFF00FFFF00FFFF00FF
+ A22E08A22E08A22E08A22E08C2652BFFD4A5FFD4A50098C894E4F64ABEDF0098
+ C81C1C1CFF00FFFF00FFFF00FFFF00FF606060606060606060606060898989DC
+ DCDCDCDCDCB9B9B9EDEDEDD3D3D3BABABA414141FF00FFFF00FFFF00FFFF00FF
+ A22E08FF00FFFF00FFFF00FFC2652BC2652BC2652BC2652B0098C894E4F64ABE
+ DF80808000009AFF00FFFF00FFFF00FF606060FF00FFFF00FFFF00FF89898989
+ 8989898989898989BABABAEDEDEDD3D3D3A0A0A0727272FF00FFFF00FFFF00FF
+ A22E08FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF0098C8D2BA
+ AC778C9800009A00009AFF00FFFF00FF606060FF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFB9B9B9CCCCCCABABAB727272727272C2652BA22E08
+ A22E08A22E08A22E08A22E08A22E08A22E16FF00FFFF00FFFF00FFFF00FF0030
+ F86D8AFD0030F800009A89898960606060606060606060606060606060606061
+ 6161FF00FFFF00FFFF00FFFF00FFA2A2A2C2C2C2A3A3A3727272C2652BFFD4A5
+ FFD4A5FFD4A5FFCD97FFC07DFFAD55A22E08FF00FFFF00FFFF00FFFF00FFFF00
+ FF0030F80030F8FF00FF898989DCDCDCDCDCDCDCDCDCD7D7D7CCCCCCBEBEBE60
+ 6060FF00FFFF00FFFF00FFFF00FFFF00FFA2A2A2A3A3A3FF00FFC2652BC2652B
+ C2652BC2652BC2652BC2652BC2652BC2652BFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FF89898989898989898989898989898989898989898989
+ 8989FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF}
+ NumGlyphs = 2
+ end
+ object BtExit: TBitBtn
+ Left = 8
+ Top = 226
+ Width = 81
+ Height = 25
+ Caption = '&Fechar'
+ TabOrder = 4
+ OnClick = BtExitClick
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFC066148E4019
+ 8E40198E40198E40198E40198E40198E40198E40198E40198E40198E40198E40
+ 198E40198E4019FF00FF8888886969696969696969696969696969696A6A6A69
+ 69696969696969696A6A6A6969696969696A6A6A696969FF00FFC06614F9F5F4
+ C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2
+ A5C3B2A58E4019FF00FF888888F8F8F8C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6
+ C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6696969FF00FFC06614FCFAFA
+ F9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCDFD0C7DFD0C7DCCB
+ C1C3B2A58E4019FF00FF888888FCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEAEAEAE7
+ E7E7E4E4E4E0E0E0DDDDDDDDDDDDD9D9D9C6C6C6696969FF00FFC06614FFFFFF
+ FCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCE2D4CCDFD0
+ C7C3B2A58E4019FF00FF888888FFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEA
+ EAEAE7E7E7E3E3E3E0E0E0E0E0E0DDDDDDC6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E5D9D1E2D4
+ CCC3B2A58E4019FF00FF888888FFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EE
+ EEEEEAEAEAE7E7E7E3E3E3E3E3E3E0E0E0C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E9DED7E5D9
+ D1C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1
+ F1F1EEEEEEEAEAEAE7E7E7E7E7E7E3E3E3C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F2EBE8EEE6E2ECE2DCECE2DCE9DE
+ D7C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFBFBFBF7
+ F7F7F1F1F1EEEEEEEAEAEAEAEAEAE7E7E7C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF0E9E5F0E9E5EDE4
+ DFC3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFB
+ FBFBF7F7F7F3F3F3F0F0F0F0F0F0ECECECC6C6C66A6A6AFF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF4EEEBF0E9
+ E5C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE
+ FEFEFBFBFBF7F7F7F3F3F3F3F3F3F0F0F0C6C6C66A6A6AFF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F78A9DE92546CD1D3F
+ C9193BC8183BC88194E1898989FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFEFEFEFAFAFAC6C6C6979797929292929292929292C0C0C0C06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFD3355DBF2F4FD4E6B
+ D94A67D8F2F4FD183BC8888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFEFEFEA1A1A1FAFAFAAAAAAAA8A8A8F9F9F9929292C066148E4019
+ 8E40198E40198E40198E40198E40198E40198E40198E40193C5CDD8296E4D9DF
+ F9CDD5F74C69D81A3CC88888886969696969696969696A6A6A69696969696969
+ 6969696969696969A5A5A5C1C1C1EDEDEDE7E7E7A8A8A8929292C06614ED9733
+ ED9733ED9733ED9733ED9733ED9733ED9733F6CA9AED97334563E16980E2E4E8
+ FBD8DEF9516DDA1F40C9888888ACACACACACACADADADADADADADADADACACACAD
+ ADADD5D5D5ADADADA8A8A8B6B6B6F2F2F2ECECECABABAB939393F810DCC06614
+ C06614C06614C06614C06614C06614C06614C06614C066144D6AE3F2F4FD667D
+ E26E85E2F2F4FD2749CEEF14EF88888888888888888888888889898988888888
+ 8888888888898989ACACACF9F9F9B5B5B5B9B9B9F9F9F9989898FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF9AABEF4D6AE34563
+ E14463DF3E5EDE8FA2EBFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFCFCFCFACACACA8A8A8A8A8A8A6A6A6C9C9C9}
+ NumGlyphs = 2
+ end
+ object BtPass: TBitBtn
+ Left = 8
+ Top = 186
+ Width = 81
+ Height = 25
+ Caption = '&Senha'
+ TabOrder = 5
+ OnClick = BtPassClick
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000C8D0D4C8D0D4
+ B8BFC39BA7A5879A918096888792846947316947318F9B99A1A8ABBBC3C6C8D0
+ D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4B8BFC3A8AEB19FA5A79DA2A49FA3A56C
+ 6C6C6C6C6C9FA5A8A1A8ABBBC3C6C8D0D4C8D0D4C8D0D4C8D0D4C8D0D491A795
+ 4E773C4A8334478F3143962F694731FBE3CBF8C8986947314977364F6A48A5AC
+ AEC8D0D4C8D0D4C8D0D4C8D0D4ACB1B38D8D8E9595959D9D9DA2A2A26C6C6CE9
+ E9E9D3D3D36B6B6B8C8D8D808182A9AFB2C8D0D4C8D0D4C8D0D4C8D0D45B8049
+ 4F8135479031409C2E3AA62CA08C7DFDF1E5FBE3CBF8C8986947315675388092
+ 85C8D0D4C8D0D4C8D0D4C8D0D49293939494949E9E9EA6A6A6ADADADA8A8A8F5
+ F5F5E9E9E9D3D3D36C6C6C8C8C8C9A9EA1C8D0D4C8D0D4C8D0D4C8D0D4588347
+ 4B893342992F39A82B32B4282EBB26A08C7DFDF1E5FBE3CBF8C8986947316947
+ 31694731694731BDBEBDC8D0D4959696999999A4A4A4AFAFAFB6B6B6BCBCBCA8
+ A8A8F5F5F5E9E9E9D3D3D36B6B6B6C6C6C6C6C6C6C6C6CBFC5C8C8D0D4799F75
+ 488D323E9E2D35AF2935B6317ACB7B2DBF28A08C7DFDF1E5FBE3CBF8C898F8C8
+ 98F8C898F8C898694731C8D0D4A7AAAC9C9C9CA8A8A8B2B2B2B8B8B8CCCCCCBE
+ BEBEA8A8A8F4F4F4E9E9E9D3D3D3D3D3D3D3D3D3D3D3D36B6B6BC8D0D4BCCAC9
+ 56954A3E9F2D34B02980AC81D2D3D381BB8232B228A08C7DFDF1E5FBE3CBFADB
+ BCF9D7B5F9D7B5694731C8D0D4C4CBCFA1A3A3A8A8A8B4B4B4BBBBBBE0E0E0C4
+ C4C4B4B4B4A8A8A8F4F4F4E9E9E9E3E3E3E0E0E0DFDFDF6C6C6CC8D0D4C8D0D4
+ BBC9C766A76436933E598CAE498CBB4A81A62B703AA08C7DFDF1E5FBE3CBFBE3
+ CB694731F9D7B5694731C8D0D4C8D0D4C3CBCEADAFB1A1A1A1AFAFAFB1B1B1A6
+ A6A6878787A8A8A8F5F5F5E9E9E9E9E9E96C6C6CE0E0E06B6B6BC8D0D4C8D0D4
+ C8D0D4B9C6CE5BA0CC54A2D853A1D64F9DD3468FC1A08C7DFDF1E5FBE3CB6947
+ 31A08C7DFADBBC694731C8D0D4C8D0D4C8D0D4C3CACEBEBFBFC3C3C3C2C2C2C0
+ C0C0B3B3B4A8A8A8F5F5F5E9E9E96C6C6CA8A8A8E3E3E36C6C6CC8D0D4C8D0D4
+ C8D0D47AADD05CA9DD5CA9DD5AA7DC56A4D9519FD48E8A86FDF1E5FDF1E5FDF1
+ E5FDF1E5FDF1E5694731C8D0D4C8D0D4C8D0D4C1C4C5C8C8C8C8C8C8C7C7C7C4
+ C4C4C1C1C1A6A6A7F5F5F5F5F5F5F4F4F4F5F5F5F5F5F56C6C6CC8D0D4C8D0D4
+ BAC8D05FABDD63B0E363B0E361AEE15CA9DD56A4D96394B69E9086A08C7DA08C
+ 7DA08C7DA6978BBDBEBDC8D0D4C8D0D4C5CCCFC9C9C9CDCDCDCDCDCDCCCCCCC8
+ C8C8C4C4C4B4B4B4A7A8A9A8A8A8A8A8A8A8A8A8ADAEAFBFC5C8C8D0D4C8D0D4
+ A0BED066B2E56BB7E96BB7E967B3E661AEE15AA7DC53A0D58798A3C8D0D4C8D0
+ D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C4C9CCCECECED2D2D2D2D2D2D0D0D0CC
+ CCCCC6C6C6C2C2C2A3A8AAC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4
+ 99B9CD4989B14A85AC5895BD68B2E364B0E45CA9DE53A0D4889BA8C8D0D4C8D0
+ D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C1C6C8ACACACA9A9A9B7B7B7CECECECE
+ CECEC8C8C8C2C2C2A7ACAFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4
+ A3BAC85098C4539AC74E93BE437DA25190BA5198C63C79A0969FA4C8D0D4C8D0
+ D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4BFC5C8B9B9B9BCBCBCB6B6B6A2A2A2B3
+ B3B3B9B9B9A0A0A0A4AAADC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4
+ C3CCD264A7D062ACDA5DA6D35299C64284AD3C7FA94B7B9BBEC6CAC8D0D4C8D0
+ D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C6CED2C2C3C3C9C9C9C4C4C4BABABAA9
+ A9A9A5A5A59C9D9EBEC6CAC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4
+ C8D0D49FBFD371BCE968B2E059A1CF4990BC4180A99CACB6C8D0D4C8D0D4C8D0
+ D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C6CBCDD5D5D5CDCDCDC0C0C0B3
+ B3B3A5A6A6B2B8BBC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4
+ C8D0D4C8D0D4A4C2D576B2D761A0C86C9CBBA6B8C2C8D0D4C8D0D4C8D0D4C8D0
+ D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8CDCFC8C9CABDBEBEB4
+ B6B7BBC1C4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4}
+ NumGlyphs = 2
+ end
+ end
+ object DataSource1: TDataSource
+ Left = 128
+ Top = 104
+ end
+ object PopupMenu1: TPopupMenu
+ Left = 168
+ Top = 104
+ object Alterar1: TMenuItem
+ Caption = '&Alterar'
+ OnClick = BtAltClick
+ end
+ object Excluir1: TMenuItem
+ Caption = '&Excluir'
+ OnClick = BtExcluiClick
+ end
+ object N1: TMenuItem
+ Caption = '-'
+ end
+ object Permisses1: TMenuItem
+ Caption = '&Permiss'#245'es'
+ end
+ end
+ object DataSource2: TDataSource
+ Left = 128
+ Top = 144
+ end
+end
diff --git a/official/2.20/Lib/D10/EnvMsgForm_U.dfm b/official/2.20/Lib/D10/EnvMsgForm_U.dfm
new file mode 100644
index 0000000..3fd2c8f
--- /dev/null
+++ b/official/2.20/Lib/D10/EnvMsgForm_U.dfm
@@ -0,0 +1,343 @@
+object EnvMsgForm: TEnvMsgForm
+ Left = 304
+ Top = 204
+ BorderStyle = bsDialog
+ Caption = 'Mensagem'
+ ClientHeight = 364
+ ClientWidth = 377
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ OldCreateOrder = False
+ OnCreate = FormCreate
+ PixelsPerInch = 96
+ TextHeight = 13
+ object Panel1: TPanel
+ Left = 0
+ Top = 0
+ Width = 377
+ Height = 35
+ Align = alTop
+ BevelOuter = bvLowered
+ Color = clWhite
+ TabOrder = 0
+ object lbTitulo: TLabel
+ Left = 48
+ Top = 10
+ Width = 205
+ Height = 18
+ Caption = 'Enviar Nova Mensagem'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -16
+ Font.Name = 'Verdana'
+ Font.Style = [fsBold]
+ ParentFont = False
+ end
+ object Image1: TImage
+ Left = 8
+ Top = 4
+ Width = 28
+ Height = 28
+ AutoSize = True
+ Picture.Data = {
+ 07544269746D6170760C0000424D760C00000000000036000000280000001C00
+ 00001C0000000100200000000000400C00000000000000000000000000000000
+ 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C7B2A300694731006947
+ 3100694731006947310069473100694731006947310069473100694731006947
+ 3100694731006947310069473100694731006947310069473100694731006947
+ 310069473100694731006947310069473100694731006947310069473100FFFF
+ FF00FFFFFF00C7B2A300DBC9BF00B7A29300B7A29300B7A29300B7A29300B7A2
+ 9300B7A29300B7A29300B7A29300B7A29300B7A29300B7A29300B7A29300B7A2
+ 9300B7A29300B7A29300B7A29300B7A29300B7A29300B7A29300B7A29300B7A2
+ 9300B7A29300B7A2930069473100FFFFFF00FFFFFF00C7B2A300B7A29300DFD0
+ C700DFD0C700DFD0C700DFD0C700DFD0C700DFD0C700DFD0C700DFD0C700DFD0
+ C700DFD0C700DFD0C700DFD0C700DFD0C700DFD0C700DFD0C700DFD0C700DFD0
+ C700DFD0C700DFD0C700DFD0C700DFD0C700DFD0C700CE99970069473100FFFF
+ FF00FFFFFF00C7B2A300DBC9BF00B7A29300E4D7CF00E4D7CF00E4D7CF00E4D7
+ CF00E4D7CF00E4D7CF00E4D7CF00E4D7CF00E4D7CF00E4D7CF00E4D7CF00E4D7
+ CF00E4D7CF00E4D7CF00E4D7CF00E4D7CF00E4D7CF00E4D7CF00E4D7CF00E4D7
+ CF00B7A29300B7A2930069473100FFFFFF00FFFFFF00C7B2A300DECEC500DECE
+ C500B7A29300E9DED700E9DED700E9DED700E9DED700E9DED700E9DED700E9DE
+ D700E9DED700E9DED700E9DED700E9DED700E9DED700E9DED700E9DED700E9DE
+ D700E9DED700E9DED700E9DED700B7A29300DECEC500B7A2930069473100FFFF
+ FF00FFFFFF00C7B2A300E2D4CC00E2D4CC00E2D4CC00B7A29300EDE4DF00EDE4
+ DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4
+ DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00B7A29300E2D4
+ CC00E2D4CC00B7A2930069473100FFFFFF00FFFFFF00C7B2A300E6D9D200E6D9
+ D200E6D9D200E6D9D200B7A29300F0E9E500F0E9E500F0E9E500F0E9E500F0E9
+ E500F0E9E500F0E9E500F0E9E500F0E9E500F0E9E500F0E9E500F0E9E500F0E9
+ E500F0E9E500B7A29300E6D9D200E6D9D200E6D9D200B7A2930069473100FFFF
+ FF00FFFFFF00C7B2A300EADFD900EADFD900EADFD900EADFD900EADFD900B7A2
+ 9300F4EFEC00F4EFEC00F4EFEC00F4EFEC00F4EFEC00F4EFEC00F4EFEC00F4EF
+ EC00F4EFEC00F4EFEC00F4EFEC00F4EFEC00B7A29300EADFD900EADFD900EADF
+ D900EADFD900B7A2930069473100FFFFFF00FFFFFF00C7B2A300EDE4DF00EDE4
+ DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00B7A29300F8F4F200F8F4F200F8F4
+ F200F8F4F200F8F4F200F8F4F200F8F4F200F8F4F200F8F4F200F8F4F200B7A2
+ 9300EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00B7A2930069473100FFFF
+ FF00FFFFFF00C7B2A300F0E8E400F0E8E400F0E8E400F0E8E400F0E8E400F0E8
+ E400B7A29300B7A29300FCFAF900FCFAF900FCFAF900FCFAF900FCFAF900FCFA
+ F900FCFAF900FCFAF900B7A29300B7A29300F0E8E400F0E8E400F0E8E400F0E8
+ E400F0E8E400B7A2930069473100FFFFFF00FFFFFF00C7B2A300F3EDE900F3ED
+ E900F3EDE900F3EDE900F3EDE900B7A29300DDC5C200DDC5C200B7A29300DDC5
+ C200FFFFFF00FFFFFF00FFFFFF00FFFFFF00DDC5C200B7A29300DDC5C200DDC5
+ C200B7A29300F3EDE900F3EDE900F3EDE900F3EDE900B7A2930069473100FFFF
+ FF00FFFFFF00C7B2A300F6F1EF00F6F1EF00F6F1EF00F6F1EF00B7A29300DDC5
+ C200FBF9F700F7F4F100DDC5C200C7B2A300B7A29300B7A29300B7A29300B7A2
+ 9300C7B2A300DDC5C200DCCBC100DBC9BF00DDC5C200B7A29300F6F1EF00F6F1
+ EF00F6F1EF00B7A2930069473100FFFFFF00FFFFFF00C7B2A300F9F6F400F9F6
+ F400F9F6F400B7A29300DDC5C200FFFFFF00FEFDFC00FBF9F700F7F4F100EEE0
+ E000EEE0E000EEE0E000EEE0E000EEE0E000EEE0E000E4D7CF00E1D2C900DECD
+ C400DBC9BF00DDC5C200B7A29300F9F6F400F9F6F400B7A2930069473100FFFF
+ FF00FFFFFF00C7B2A300FCFBFA00FCFBFA00B7A29300C8B3A400FFFFFF00FFFF
+ FF00B7A29300B7A29300B7A29300B7A29300B7A29300B7A29300B7A29300B7A2
+ 9300B7A29300B7A29300B7A29300B7A29300DECDC400DBC9BF00D2C0B300B7A2
+ 9300FCFBFA00B7A2930069473100FFFFFF00FFFFFF00C7B2A300FFFFFF00B8A3
+ 9400DDC5C200C8B3A400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FCFB
+ F900F9F6F400F6F2EF00F3EDE900F0E8E400EDE4DF00EAE0D900E7DBD400E4D7
+ CF00E1D2C900DECDC400D2BFB200DDC5C200B7A29300FFFFFF0069473100FFFF
+ FF00FFFFFF00C7B2A300B7A29300DDC5C20027A5E900C8B3A400FFFFFF00FFFF
+ FF00B7A29300B7A29300B7A29300B7A29300B7A29300B7A29300B7A29300B7A2
+ 9300B7A29300B7A29300B7A29300B7A29300E4D7CF00E1D2C900D1BEB10027A5
+ E900DDC5C200B7A2930069473100FFFFFF00FFFFFF00C7B2A300DDC5C20027A5
+ E90027A5E900C8B3A400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FCFBF900F9F6F400F6F2EF00F3EDE900F0E8E400EDE4DF00EAE0
+ D900E7DBD400E4D7CF00D1BEB10027A5E90027A5E900B7A2930069473100FFFF
+ FF00FFFFFF00FFFFFF00C7B2A300DDC5C20047B6FF00C8B3A400FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FCFBF900F9F6
+ F400F6F2EF00F3EDE900F0E8E400EDE4DF00EAE0D900E7DBD400D0BDB00047B6
+ FF00B7A2930069473100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C7B2
+ A300DDC5C200C8B3A400C8B3A400C8B3A400C8B3A400C8B3A400C8B3A400C9B4
+ A500C9B5A600CAB6A700CBB6A800CBB7A900CCB8AA00CCB9AB00CDB9AB00CEBA
+ AC00CEBBAD00CFBBAE00CFBCAF00BCA7980069473100FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C7B2A300DDC5C200DBF3FA00DBF3
+ FA00DBF3FA00D4F0FA00C7EBFB00B9E5FB00ACDFFB009ED9FC0091D4FC0082CE
+ FD0073C8FD0064C2FE0055BCFE0047B6FF0047B6FF0047B6FF00BBA697007353
+ 3E00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00C7B2A300EEE0E000DBF3FA00DBF3FA00DBF3FA00D4F0FA00C7EB
+ FB00B9E5FB00B2E2FB00A5DCFC0097D6FC0089D1FC007BCBFD006CC5FD005DBF
+ FE004EB9FE00B7A2930069473100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C7B2A300EEE0
+ E000DBF3FA00DBF3FA00DBF3FA00DBF3FA00CDEDFA00C0E8FB00B2E2FB00A5DC
+ FC0097D6FC0089D1FC007BCBFD006CC5FD00B7A2930069473100FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00C7B2A300EEE0E000DBF3FA00DBF3FA00DBF3
+ FA00DBF3FA00CDEDFA00C0E8FB00B2E2FB00A5DCFC0097D6FC0089D1FC00B7A2
+ 930069473100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00C7B2A300EEE0E000DBF3FA00DBF3FA00DBF3FA00DBF3FA00CDEDFA00C0E8
+ FB00B2E2FB00A5DCFC00B7A2930069473100FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C7B2A300EEE0E000EEE0
+ E000EEE0E000EEE0E000EEE0E000EEE0E000DDC5C200B7A2930069473100FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00C7B2A300C7B2A300C7B2A300C7B2A300C7B2A300C7B2
+ A300C7B2A300C7B2A300FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00}
+ end
+ end
+ object gbPara: TGroupBox
+ Left = 8
+ Top = 40
+ Width = 361
+ Height = 81
+ Caption = 'Para'
+ TabOrder = 1
+ object rbUsuario: TRadioButton
+ Left = 40
+ Top = 24
+ Width = 80
+ Height = 17
+ Caption = 'Usu'#225'rio :'
+ Checked = True
+ TabOrder = 0
+ TabStop = True
+ OnClick = rbUsuarioClick
+ end
+ object rbTodos: TRadioButton
+ Left = 40
+ Top = 56
+ Width = 113
+ Height = 17
+ Caption = 'Todos'
+ TabOrder = 1
+ OnClick = rbUsuarioClick
+ end
+ object dbUsuario: TDBLookupComboBox
+ Left = 120
+ Top = 18
+ Width = 217
+ Height = 21
+ BevelEdges = []
+ BevelInner = bvNone
+ BevelOuter = bvNone
+ KeyField = 'IdUser'
+ ListField = 'Nome'
+ ListSource = DataSource1
+ TabOrder = 2
+ OnCloseUp = dbUsuarioCloseUp
+ end
+ end
+ object gbMensagem: TGroupBox
+ Left = 8
+ Top = 128
+ Width = 361
+ Height = 201
+ Caption = 'Mensagem'
+ TabOrder = 2
+ object lbAssunto: TLabel
+ Left = 24
+ Top = 24
+ Width = 38
+ Height = 13
+ Caption = 'Assunto'
+ end
+ object lbMensagem: TLabel
+ Left = 24
+ Top = 72
+ Width = 52
+ Height = 13
+ Caption = 'Mensagem'
+ end
+ object EditAssunto: TEdit
+ Left = 24
+ Top = 40
+ Width = 313
+ Height = 21
+ MaxLength = 50
+ TabOrder = 0
+ end
+ object MemoMsg: TMemo
+ Left = 24
+ Top = 88
+ Width = 313
+ Height = 97
+ MaxLength = 255
+ ScrollBars = ssBoth
+ TabOrder = 1
+ end
+ end
+ object btEnvia: TBitBtn
+ Left = 93
+ Top = 336
+ Width = 79
+ Height = 25
+ Caption = '&Enviar'
+ TabOrder = 3
+ OnClick = btEnviaClick
+ Glyph.Data = {
+ 42040000424D4204000000000000420000002800000020000000100000000100
+ 1000030000000004000000000000000000000000000000000000007C0000E003
+ 00001F0000001F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C45261F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C94521F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C4526862645261F7C1F7C1F7C1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C9452D65A94521F7C1F7C1F7C1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C673286268626862645261F7C1F7C1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7CD65AD65AD65AD65A94521F7C1F7C1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C45268626C62A862E862645261F7C1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C9452D65AF75ED65AD65A94521F7C1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C47328626C62A252E252EC62A8822C62A1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7CB556D65AF75EB556B556F75ED65AF75E1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C4526C62A252E1F7C1F7C252EC62A45261F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C9452F75EB5561F7C1F7CB556F75E94521F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C252E1F7C1F7C1F7C1F7C252EC62A45261F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7CB5561F7C1F7C1F7C1F7CB556F75E94521F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C252EC62AC62A1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7CB556F75EF75E1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C252E86261F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7CB556D65A1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C252E86261F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7CB556D65A1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C252E8626
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7CB556D65A
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C252E
+ 86261F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7CB556
+ D65A1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C
+ 252E86261F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C
+ B556D65A1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C
+ 1F7C252E1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C
+ 1F7CB5561F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C}
+ NumGlyphs = 2
+ end
+ object btCancela: TBitBtn
+ Left = 205
+ Top = 336
+ Width = 79
+ Height = 25
+ Cancel = True
+ Caption = 'Cancelar'
+ TabOrder = 4
+ OnClick = btCancelaClick
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFC066148E4019
+ 8E40198E40198E40198E40198E40198E40198E40198E40198E40198E40198E40
+ 198E40198E4019FF00FF8888886969696969696969696969696969696A6A6A69
+ 69696969696969696A6A6A6969696969696A6A6A696969FF00FFC06614F9F5F4
+ C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2
+ A5C3B2A58E4019FF00FF888888F8F8F8C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6
+ C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6696969FF00FFC06614FCFAFA
+ F9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCDFD0C7DFD0C7DCCB
+ C1C3B2A58E4019FF00FF888888FCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEAEAEAE7
+ E7E7E4E4E4E0E0E0DDDDDDDDDDDDD9D9D9C6C6C6696969FF00FFC06614FFFFFF
+ FCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCE2D4CCDFD0
+ C7C3B2A58E4019FF00FF888888FFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEA
+ EAEAE7E7E7E3E3E3E0E0E0E0E0E0DDDDDDC6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E5D9D1E2D4
+ CCC3B2A58E4019FF00FF888888FFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EE
+ EEEEEAEAEAE7E7E7E3E3E3E3E3E3E0E0E0C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E9DED7E5D9
+ D1C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1
+ F1F1EEEEEEEAEAEAE7E7E7E7E7E7E3E3E3C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F2EBE8EEE6E2ECE2DCECE2DCE9DE
+ D7C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFBFBFBF7
+ F7F7F1F1F1EEEEEEEAEAEAEAEAEAE7E7E7C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF0E9E5F0E9E5EDE4
+ DFC3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFB
+ FBFBF7F7F7F3F3F3F0F0F0F0F0F0ECECECC6C6C66A6A6AFF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF4EEEBF0E9
+ E5C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE
+ FEFEFBFBFBF7F7F7F3F3F3F3F3F3F0F0F0C6C6C66A6A6AFF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F78A9DE92546CD1D3F
+ C9193BC8183BC88194E1898989FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFEFEFEFAFAFAC6C6C6979797929292929292929292C0C0C0C06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFD3355DBF2F4FD4E6B
+ D94A67D8F2F4FD183BC8888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFEFEFEA1A1A1FAFAFAAAAAAAA8A8A8F9F9F9929292C066148E4019
+ 8E40198E40198E40198E40198E40198E40198E40198E40193C5CDD8296E4D9DF
+ F9CDD5F74C69D81A3CC88888886969696969696969696A6A6A69696969696969
+ 6969696969696969A5A5A5C1C1C1EDEDEDE7E7E7A8A8A8929292C06614ED9733
+ ED9733ED9733ED9733ED9733ED9733ED9733F6CA9AED97334563E16980E2E4E8
+ FBD8DEF9516DDA1F40C9888888ACACACACACACADADADADADADADADADACACACAD
+ ADADD5D5D5ADADADA8A8A8B6B6B6F2F2F2ECECECABABAB939393F810DCC06614
+ C06614C06614C06614C06614C06614C06614C06614C066144D6AE3F2F4FD667D
+ E26E85E2F2F4FD2749CEEF14EF88888888888888888888888889898988888888
+ 8888888888898989ACACACF9F9F9B5B5B5B9B9B9F9F9F9989898FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF9AABEF4D6AE34563
+ E14463DF3E5EDE8FA2EBFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFCFCFCFACACACA8A8A8A8A8A8A6A6A6C9C9C9}
+ NumGlyphs = 2
+ end
+ object DataSource1: TDataSource
+ Left = 144
+ Top = 96
+ end
+end
diff --git a/official/2.20/Lib/D10/IncPerfil_U.dfm b/official/2.20/Lib/D10/IncPerfil_U.dfm
new file mode 100644
index 0000000..a21b415
--- /dev/null
+++ b/official/2.20/Lib/D10/IncPerfil_U.dfm
@@ -0,0 +1,309 @@
+object frmIncluirPerfil: TfrmIncluirPerfil
+ Left = 232
+ Top = 319
+ BorderStyle = bsDialog
+ Caption = 'Perfil de Usu'#225'rios'
+ ClientHeight = 132
+ ClientWidth = 434
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ OldCreateOrder = False
+ PixelsPerInch = 96
+ TextHeight = 13
+ object Panel1: TPanel
+ Left = 0
+ Top = 0
+ Width = 434
+ Height = 35
+ Align = alTop
+ BevelOuter = bvNone
+ Color = clWhite
+ TabOrder = 1
+ object LbDescricao: TLabel
+ Left = 45
+ Top = 10
+ Width = 132
+ Height = 18
+ Margins.Bottom = 0
+ Caption = 'Adicionar Perfil'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -16
+ Font.Name = 'Verdana'
+ Font.Style = [fsBold]
+ ParentFont = False
+ end
+ object Image1: TImage
+ Left = 8
+ Top = 4
+ Width = 28
+ Height = 28
+ AutoSize = True
+ Picture.Data = {
+ 07544269746D6170760C0000424D760C00000000000036000000280000001C00
+ 00001C0000000100200000000000400C00000000000000000000000000000000
+ 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00AB937F00755944007559440075594400755A4500755A4500755A4600775B
+ 4700775C4700785C4700785C4700795D48007A5D49007B5E49007C5F4A007C60
+ 4A007D604B007E614C007E614C00795B4500FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00AB937F00755D4C00795E4B007A5F4C007A5F
+ 4C007C624F007F6351008266530085695500886C59008B705B008B705B008E72
+ 5E009176610094786500987C67009B7E6A009D806D009F836E00A0836E009979
+ 63005E412D00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF007259
+ 47007F624D0080634F00836652008366520085695500896C58008C6F5A009073
+ 5E0093776200977B6600977B66009A7E69009F826D00A2867100A6897400A98C
+ 7800AC8F7A00B1937F00B7998200997962005D402C00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00A089790097827300826A5800826A5800826A5800826A
+ 5800826A5800826A5800826A5800826A5800826A5800826A5800826A5800826A
+ 5800826A5800826A5800826A5800826A5800826A5800826A5800B2947E009979
+ 62005E412D00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00BFAFA400F7EB
+ E500FEF7F200FFF7F300FFF3ED00FFF3ED00FFEEE500FFEADE00FEE4D600FDE0
+ CF00FEDDCB00FEDCC800FEDCC800FFD9C300FFD6BF00FFD4BB00FFD0B500FFCF
+ B300FEC7A800DAA88B00B79279009D7C65005F422E00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00C4B5AB00E7DBD200FFF5F000FFF5F000FFF5EF00FFF5
+ EF00357821000060000000600000006000000060000000600000006000000060
+ 00000060000000600000FFD5BC00FFD2B700FECCAF00F6BF9E00C09D8600A07E
+ 660060432F00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F3F0EE00BFAF
+ A400FFF6F200FFF6F200FFF5F000357821003A6D23003A6D2300347A20002F85
+ 1E002C8C1D002B8E1D002C8A1D0030821F00367721003C69240000600000FFD5
+ BC00FFD0B600FDC9AB00C29C880092735E0061453100FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00BFAFA400FEF9FA00FFFAF800FFF8F5003578
+ 21003A6D2300357821002E871E0028941C001A8E130013850E00249919002A90
+ 1C0030821F003773220000600000FFD6BF00FFD4BC00FFD1B600C4A089009574
+ 5F0063463200FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00BFAF
+ A400FEF9FA00FFFBF900FFF9F6006DAB6D0035782100327F1F002A901C001F99
+ 16000A7A080008770700189C1200249C1A002C8B1D00347A200000780000FFDC
+ C900FFD8C300FFD6BD00C6A08B009C7A640064483300FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00BFAFA400FEF9FA00FFFCFB00FFFAF800B8D8
+ B8003578210030821F0027941A0010850D00218120006DAB6D00138D110022A2
+ 19002A8F1C0000600000FFE2D200FFE0CF00FFDDC900FFD9C300C9A38E00A581
+ 6A0066493500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00BFAF
+ A400FEFBFD00FFFDFC00FFFBFA00FFFBFA006DAB6D003578210026911B00157D
+ 1300BAD7B900C6DEC600327F34002096170000600000FFE9DD00FFE6D800FFE4
+ D400FFE0CE00FFDCC900CDA59000AE887200684B3700FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00BFAFA400FEFBFD00FFFDFC00FFFCFA00FFFC
+ FA00FFFBFA006DAB6D0035782100006890000068900000689000006890002361
+ 4C00FFEDE400FFECE100FFE9DD00FFE6D800FFE3D300FFDFCD00CEA89300B68E
+ 7700694D3800FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00BFAF
+ A400FEFBFD00FFFDFC00FFFCFB00FFFCFB00FFFCFB00FFFBFA00006890004293
+ D1004193D0003F90CE003C8CCA0000689000FFEFE600FFECE300FFEADE00FFE8
+ DB00FFE5D700FFE3D200D3AB9600BC927C006B4E3A00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00BFAFA400FEFBFD00FFFDFC00FFFDFC00FFFD
+ FC00FFFCFB00007FB4004899D400499BD800499AD7004697D5004293D1003D8E
+ CB00007FB400FFEDE300FFEBDF00FFEADD00FFE8DB00FFE5D700D6AE9900C197
+ 80006D503C00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00BFAF
+ A400FEFBFD00FFFDFC00FFFDFC00FFFDFC00FFFDFC00006890004EA0DD0051A2
+ DF005CA9DD004C9EDB004899D6004192D00000689000FFEFE500FFECE100FFEC
+ E000FFEBDF00FFE8DA00DBAF9A00C79C85006E513E00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00BFAFA400FEFBFD00FFFDFC00FFFDFC00FFFD
+ FC00FFFDFC000068900055A7E2005CA9DD006DB9EB005CA9DD004B9DDA004596
+ D30000689000FFF2EA00FFEFE500FFEDE300FFECE100FFEADE00DCB49D00CCA0
+ 8A006F533F00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00BFAF
+ A400FEFBFD00FFFDFC00FFFDFC00FFFDFC00FFFDFC0000689000427EA400427E
+ A4005CA9DD0055A7E3004D9FDC004798D50000689000FFF6F000FFF3EC00FFF1
+ E900FFEFE600FFEDE200DFB5A000D2A48E0071544000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00BFAFA400FEFBFD00FFFDFC00FFFDFC00FFFD
+ FC00FFFDFC00007FB400427EA400427EA400427EA400427EA4004998D200427E
+ A400007FB400FFF7F400FFF6F100FFF4EE00FFF1EA00FFEEE500E1B9A200D6A8
+ 910072554200FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00BFAF
+ A400FEFBFD00FFFDFC00FFFDFC00FFFDFC00FFFDFC00FFFDFC0000689000427E
+ A400427EA400427EA400427EA40000689000FFFAF800FFF9F600FFF7F400FFF5
+ F000FFF3ED00FFF1E800E5B9A400DAAB940073574300FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00BFAFA400FEFBFD00FFFDFC00FFFDFC00FFFD
+ FC00FFFDFC00FFFDFC00FFFDFC00007FB4000068900000689000007FB400FFFA
+ F800FFF9F600FFF7F400FFF6F100FFF4EE00FFF1EA00FFEEE500E1B9A200D6A8
+ 910072554200FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00BFAF
+ A400FEFBFD00FFFDFC00FFFDFC00FFFDFC00FFFDFC00FFFDFC00FFFDFC00FFFD
+ FC00FFFCFC00FFFCFB00FFFCFB00FFFBFA00FFFAF800FFF9F600FFF7F400FFF5
+ F000FFF3ED00FFF1E800E5B9A400DAAB940073574300FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00BFAFA400BFAFA400BFAFA400BFAFA400BFAF
+ A400BFAFA400BFAFA400BFAFA400BFAFA400BFAFA400BFAFA400BFAFA400BFAF
+ A400BFAFA400BFAFA400BFAFA400BFAFA400BFAFA400BFAFA400BFAFA400C19C
+ 8B005D524D00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0041B4
+ F30041B4F30041B4F30041B4F30041B4F30041B3F30041B1F30040AEF2003FAB
+ F1003EA8F0003EA6F0003EA6F0003EA3F0003DA0EF003D9DEE003C9AED003C98
+ ED003C98ED003C98ED00227BD2005B6674004F545A00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF0041B4F300BEE5FB00BEE5FB00BEE5FB00BEE5
+ FB00BEE5FB00BEE5FB00BEE5FB00BEE5FB00BEE5FB00BEE5FB00BEE5FB00BEE5
+ FB00BEE5FB00BEE5FB00BEE5FB00BEE5FB00BEE5FB00BEE5FB00227BD2005B66
+ 74004F545A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0041B4
+ F300BEE5FB00BEE5FB00BEE5FB00BEE5FB00BEE5FB00BEE5FB00BEE5FB00BEE5
+ FB00BEE5FB00BEE5FB00BEE5FB00BEE5FB00BEE5FB00BEE5FB00BEE5FB00BEE5
+ FB00BEE5FB00BEE5FB00227BD2005B6674004F545A00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF0041B4F30041B4F30041B4F30041B4F30041B4
+ F30041B4F30041B4F30041B4F30041B4F30041B2F30040AFF20040AFF2003FAC
+ F1003FAAF1003EA7F0003EA4F0003EA2F0003D9FEF003C9CEE00227BD2005B66
+ 74004F545A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00}
+ end
+ end
+ object Panel3: TPanel
+ Left = 337
+ Top = 35
+ Width = 97
+ Height = 97
+ Align = alRight
+ BevelOuter = bvNone
+ TabOrder = 2
+ object btGravar: TBitBtn
+ Left = 8
+ Top = 17
+ Width = 81
+ Height = 25
+ Caption = '&Gravar'
+ TabOrder = 0
+ OnClick = btGravarClick
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF
+ 6D422F6D422F6D422F6D422F6D422F6D422F6D422F6D422F6D422F6D422F6D42
+ 2F6D422F6D422F6D422FFF00FFFF00FF69696969696969696969696969696969
+ 6969696969696969696969696969696969696969696969696969FF00FFCE726F
+ D19792CB8E8A715A48C0B2ABC4BCB8CAC1BCCAC1BCCAC1BCCAC1BC8C76679443
+ 409443409443406D422FFF00FF9A9A9AB4B4B4AEAEAE7D7D7DC6C6C6CECECED2
+ D2D2D2D2D2D2D2D2D2D2D2969696707070707070707070696969FF00FFCE726F
+ D79F9BD19792715A482E1F185F5046FFFFFFFFFFFFFFFFFFF0E4DE8C76679747
+ 449443409443406D422FFF00FF9A9A9ABBBBBBB5B5B57C7C7C434343747474FF
+ FFFFFFFFFFFFFFFFECECEC969696747474707070707070696969FF00FFCE726F
+ DDA8A3D79F9B715A480A0A0A36241BFFFFFFF7F1EEF0E4DEE1CABD8C76679E50
+ 4D9747449443406D422FFF00FF9A9A9AC1C1C1BBBBBB7D7D7D2A2A2A4A4A4AFF
+ FFFFF6F6F6ECECECD8D8D89595957C7C7C757575707070696969FF00FFCE726F
+ E3B0ABDDA8A3715A48715A48715A48715A48715A48715A48715A48715A48A459
+ 569E504D9747446D422FFF00FF9A9A9AC8C8C8C1C1C17D7D7D7D7D7D7D7D7D7C
+ 7C7C7D7D7D7D7D7D7D7D7D7D7D7D8383837C7C7C747474696969FF00FFCE726F
+ EDBDB8E7B5B0E0ACA7DAA49FD49B97CB8E8AC58682BF7E79B97571B26B68AB62
+ 5FA459569E504D6D422FFF00FF9A9A9AD2D2D2CCCCCCC4C4C4BEBEBEB8B8B8AE
+ AEAEA8A8A8A1A1A19A9A9A9292928B8B8B8484847B7B7B696969FF00FFCE726F
+ F0C1BCEDBDB8E7B5B0E0ACA7DAA49FD49B97CE938EC88A86C2827EBC7975B26B
+ 68AB625FA459566D422FFF00FF9A9A9AD4D4D4D2D2D2CBCBCBC4C4C4BFBFBFB8
+ B8B8B1B1B1ABABABA5A5A59D9D9D9292928B8B8B848484696969FF00FFCE726F
+ F0C1BCF0C1BCC8635CC8635CC8635CC8635CC8635CC8635CC8635CC8635CC863
+ 5CB5706CAE67636D422FFF00FF9A9A9AD4D4D4D5D5D58E8E8E8E8E8E8E8E8E8E
+ 8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E9696968E8E8E696969FF00FFCE726F
+ F0C1BCC8635CFAF5F3F6EEEAF2E7E2EEE2DAEBDCD3E7D6CBE4D0C4E1CABDE1CA
+ BDC8635CB5706C6D422FFF00FF9A9A9AD4D4D48E8E8EF8F8F8F3F3F3EEEEEEEA
+ EAEAE6E6E6E1E1E1DDDDDDD8D8D8D8D8D88E8E8E969696676767FF00FFCE726F
+ F0C1BCC8635CFFFFFFFCF8F7F8F1EEF4EAE6F0E4DEECDFD6E9D9CFE6D3C8E2CD
+ C0C8635CBC79756D422FFF00FF9A9A9AD5D5D58E8E8EFFFFFFFAFAFAF6F6F6F1
+ F1F1ECECECE7E7E7E3E3E3DFDFDFDADADA8E8E8E9D9D9D696969FF00FFCE726F
+ F0C1BCC8635CFFFFFFFFFFFFFCF8F7F8F1EEF4EAE6F0E4DEECDFD6E9D9CFE6D3
+ C8C8635CC2827E6D422FFF00FF9A9A9AD4D4D48D8D8DFFFFFFFFFFFFFBFBFBF6
+ F6F6F0F0F0ECECECE7E7E7E3E3E3DFDFDF8E8E8EA5A5A5696969FF00FFCE726F
+ F0C1BCC8635CFFFFFFFFFFFFFFFFFFFCF8F7F8F1EEF4EAE6F0E4DEECDFD6E9D9
+ CFC8635CC88A866D422FFF00FF9A9A9AD4D4D48E8E8EFFFFFFFFFFFFFFFFFFFB
+ FBFBF5F5F5F1F1F1ECECECE8E8E8E3E3E38E8E8EABABAB696969FF00FFCE726F
+ F0C1BCC8635CFFFFFFFFFFFFFFFFFFFFFFFFFCF8F7F8F1EEF4EAE6F0E4DEECDF
+ D6C8635CD197926D422FFF00FF9A9A9AD4D4D48E8E8EFFFFFFFFFFFFFFFFFFFF
+ FFFFFBFBFBF6F6F6F1F1F1ECECECE7E7E78E8E8EB5B5B5696969FF00FFCE726F
+ F0C1BCC8635CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF8F7F8F1EEF4EAE6F0E4
+ DEC8635C0A0A0A6D422FFF00FF9A9A9AD4D4D48E8E8EFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFBFBFBF6F6F6F1F1F1ECECEC8E8E8E2A2A2A676767FF00FFCE726F
+ F0C1BCC8635CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF8F7F8F1EEF4EA
+ E6C8635CC88A866D422FFF00FF9A9A9AD5D5D58E8E8EFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFBFBFBF5F5F5F1F1F18E8E8EABABAB696969FF00FFCE726F
+ CE726FCE726FCE726FCE726FCE726FCE726FCE726FCE726FCE726FCE726FCE72
+ 6FCE726FCE726FCE726FFF00FF9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+ 9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A}
+ NumGlyphs = 2
+ end
+ object btCancela: TBitBtn
+ Left = 8
+ Top = 57
+ Width = 81
+ Height = 25
+ Caption = '&Cancelar'
+ TabOrder = 1
+ OnClick = btCancelaClick
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFC066148E4019
+ 8E40198E40198E40198E40198E40198E40198E40198E40198E40198E40198E40
+ 198E40198E4019FF00FF8888886969696969696969696969696969696A6A6A69
+ 69696969696969696A6A6A6969696969696A6A6A696969FF00FFC06614F9F5F4
+ C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2
+ A5C3B2A58E4019FF00FF888888F8F8F8C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6
+ C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6696969FF00FFC06614FCFAFA
+ F9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCDFD0C7DFD0C7DCCB
+ C1C3B2A58E4019FF00FF888888FCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEAEAEAE7
+ E7E7E4E4E4E0E0E0DDDDDDDDDDDDD9D9D9C6C6C6696969FF00FFC06614FFFFFF
+ FCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCE2D4CCDFD0
+ C7C3B2A58E4019FF00FF888888FFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEA
+ EAEAE7E7E7E3E3E3E0E0E0E0E0E0DDDDDDC6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E5D9D1E2D4
+ CCC3B2A58E4019FF00FF888888FFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EE
+ EEEEEAEAEAE7E7E7E3E3E3E3E3E3E0E0E0C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E9DED7E5D9
+ D1C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1
+ F1F1EEEEEEEAEAEAE7E7E7E7E7E7E3E3E3C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F2EBE8EEE6E2ECE2DCECE2DCE9DE
+ D7C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFBFBFBF7
+ F7F7F1F1F1EEEEEEEAEAEAEAEAEAE7E7E7C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF0E9E5F0E9E5EDE4
+ DFC3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFB
+ FBFBF7F7F7F3F3F3F0F0F0F0F0F0ECECECC6C6C66A6A6AFF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF4EEEBF0E9
+ E5C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE
+ FEFEFBFBFBF7F7F7F3F3F3F3F3F3F0F0F0C6C6C66A6A6AFF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F78A9DE92546CD1D3F
+ C9193BC8183BC88194E1898989FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFEFEFEFAFAFAC6C6C6979797929292929292929292C0C0C0C06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFD3355DBF2F4FD4E6B
+ D94A67D8F2F4FD183BC8888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFEFEFEA1A1A1FAFAFAAAAAAAA8A8A8F9F9F9929292C066148E4019
+ 8E40198E40198E40198E40198E40198E40198E40198E40193C5CDD8296E4D9DF
+ F9CDD5F74C69D81A3CC88888886969696969696969696A6A6A69696969696969
+ 6969696969696969A5A5A5C1C1C1EDEDEDE7E7E7A8A8A8929292C06614ED9733
+ ED9733ED9733ED9733ED9733ED9733ED9733F6CA9AED97334563E16980E2E4E8
+ FBD8DEF9516DDA1F40C9888888ACACACACACACADADADADADADADADADACACACAD
+ ADADD5D5D5ADADADA8A8A8B6B6B6F2F2F2ECECECABABAB939393F810DCC06614
+ C06614C06614C06614C06614C06614C06614C06614C066144D6AE3F2F4FD667D
+ E26E85E2F2F4FD2749CEEF14EF88888888888888888888888889898988888888
+ 8888888888898989ACACACF9F9F9B5B5B5B9B9B9F9F9F9989898FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF9AABEF4D6AE34563
+ E14463DF3E5EDE8FA2EBFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFCFCFCFACACACA8A8A8A8A8A8A6A6A6C9C9C9}
+ NumGlyphs = 2
+ end
+ end
+ object Panel2: TPanel
+ Left = 0
+ Top = 35
+ Width = 337
+ Height = 97
+ Align = alClient
+ BevelInner = bvRaised
+ BevelOuter = bvLowered
+ TabOrder = 0
+ object lbNome: TLabel
+ Left = 15
+ Top = 42
+ Width = 54
+ Height = 13
+ Margins.Bottom = 0
+ Caption = 'Descri'#231#227'o :'
+ end
+ object EditDescricao: TEdit
+ Left = 73
+ Top = 39
+ Width = 249
+ Height = 21
+ Ctl3D = True
+ MaxLength = 30
+ ParentCtl3D = False
+ TabOrder = 0
+ end
+ end
+end
diff --git a/official/2.20/Lib/D10/IncUser_U.dfm b/official/2.20/Lib/D10/IncUser_U.dfm
new file mode 100644
index 0000000..181971b
--- /dev/null
+++ b/official/2.20/Lib/D10/IncUser_U.dfm
@@ -0,0 +1,460 @@
+object frmIncluirUsuario: TfrmIncluirUsuario
+ Left = 323
+ Top = 236
+ BorderStyle = bsDialog
+ Caption = 'Cadastro de Usu'#225'rios'
+ ClientHeight = 254
+ ClientWidth = 472
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ OldCreateOrder = False
+ OnClose = FormClose
+ OnCreate = FormCreate
+ OnShow = FormShow
+ PixelsPerInch = 96
+ TextHeight = 13
+ object Panel1: TPanel
+ Left = 0
+ Top = 0
+ Width = 472
+ Height = 35
+ Align = alTop
+ BevelOuter = bvNone
+ Color = clWhite
+ TabOrder = 2
+ object LbDescricao: TLabel
+ Left = 46
+ Top = 9
+ Width = 153
+ Height = 18
+ Caption = 'Adicionar Usu'#225'rio'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -16
+ Font.Name = 'Verdana'
+ Font.Style = [fsBold]
+ ParentFont = False
+ end
+ object Image1: TImage
+ Left = 8
+ Top = 4
+ Width = 28
+ Height = 28
+ AutoSize = True
+ Picture.Data = {
+ 07544269746D6170760C0000424D760C00000000000036000000280000001C00
+ 00001C0000000100200000000000400C00000000000000000000000000000000
+ 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FEFEFE00F9F9
+ F900F1F1F100EAEAEA00E3E3E300E0E0E000DEDEDE00DFDFDF00E1E1E100E4E4
+ E400E8E8E800ECECEC00F0F0F000F5F5F500FAFAFA00FEFEFE00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00F6F6F600C5C7C5008E9F91006E8A70005E815C00527B4F004E7C4A004B7C
+ 48004A7C47004B7B48004C7C4A004E7B4C0050795000557854005B7A5C00677F
+ 6A007C897E00A2A2A200D4D4D400FAFAFA00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00F2F4F30074967100487638004E7C35004E83
+ 34004B893300488E31004592300044962F0043972F0043982F0043972F004494
+ 300047903100498C32004C863400507F35004E7A360047703900526C5200A9A9
+ A900FAFAFA00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0094B3
+ 910058743900537B36004E8334004A8A33004690310043962F00409B2E003E9F
+ 2D003DA12D003DA12D003DA02D003F9D2E0042992F0045933000488D32004C86
+ 3400517F350055773700567039005A725A00E6E6E600FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00688D5B0055783700508035004B8833004790
+ 310043982F003F9E2D003BA42C0039A82B0037AB2A0037AB2A0038AA2B003AA6
+ 2C003DA12D00419B2E0045943000498C32004D843400527C3600577338005472
+ 4D00DEDEDE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF005E87
+ 5100527C36004D843400488D320044962F003F9E2E003BA52C0037AC2A0034B1
+ 290032B4280032B5280033B3280035AE290039A82B003DA12D00419A2F004691
+ 31004B893300508035005577370056775100E4E4E400FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00729A6800507F35004B88330046913100419A
+ 2E003CA32C0037AB2A0033B328002FB927002DBE25002CBF25002EBC260031B6
+ 270035AF29003AA72B003F9E2D0044953000498C32004E833400537A37006F8C
+ 6E00F2F2F200FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A5C6
+ A700508136004A8A3300449330003F9D2E003AA62B0035AF290030B827002BBF
+ 250035B237002BBB2B0029C324002DBC260033B4280037AB2A003DA12D004298
+ 2F00478F31004D8534004A7B3600B0BCB200FDFDFD00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00F6FAF70058904D00498B3200449530003E9E
+ 2D0039A82B0034B228002EBB26004BA34E00DEE0DF00DDEADF0044BB47002BC0
+ 250031B6270036AD2A003CA32C00419A2F00479031004C86340072997100F1F1
+ F100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00D4E4D6004A8E3D00449530003E9E2D0039A82B0034B129002FA92C00A4B0
+ A700E5E6E600E8E9E900CFDED20035B3340031B6270036AC2A003CA32C004199
+ 2F00468F31005E955B00E5E7E500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D2E4D4004E984500409C
+ 2E003AA52C0035AE2900518B5400989B9F00798A96006B7F8C00757E85005B7F
+ 5D002D9E240038A92A003DA12D0040952F0070A46F00E9ECEA00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00EDF4EF007BB57B003A9D2E00319131004F7C93004992
+ C5004A98CF004897CE004592C800437DA400235437002C7F22004B9B4500AECA
+ B000F9F9F900FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00BDD3C7004C90AF0052A0D60052A0D500519FD4004F9DD3004C9AD1004997
+ CE00438CBF0043636700C1C2C100FDFDFD00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00F5F6F70072ABD00056A4D90056A4D90056A4
+ D90055A3D80054A2D70052A0D5004F9DD3004B99D000468DC000727D8400E7E7
+ E700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A2C4
+ DC005AA6DB005BA8DC005BA8DC005BA8DC005AA7DB0058A5DA0056A4D90053A1
+ D600509ED4004B9AD0004C7FA500ADADAD00FDFDFD00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00E9EEF4005FA7D7005EABDF005FACE0005FACE0005FAC
+ E0005EABDF005CA9DD005AA7DB0057A4D90054A2D700509ED4004A95CA007682
+ 8B00F0F0F000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000C8F80000A6FF0060AC
+ E00061AEE20063B0E30063B0E30063B0E30061AEE2005FACE0005DAADE005AA7
+ DC0056A4D90053A1D6004E9DD3005B7E9600DADADA00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000C8F80000A6FF00FFFF
+ FF00FFFFFF0000C8F80000A6FF0063B0E30065B2E50000A6FF0000C8F80067B4
+ E60065B2E50063B0E30060ADE1005DAADE0059A7DB0055A3D800519FD5004F84
+ A800C5C5C500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF0000C8F80000A6FF009AEBF90000C8F80000A6FF009AEB
+ F90000A6FF0000C8F8006CB8EA006BB7E90069B5E80066B3E60062AFE3005FAC
+ E0005BA8DC0057A5DA0053A1D6004E8DBB00B8B8B800FEFEFE00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF009AEBF90000C8
+ F8009AEBF90000A6FF0000A6FF0000A6FF0000C8F8009AEBF9006BB4E3006EBA
+ EC006CB8EA0069B5E70064B1E40060ADE1005DAADE0059A6DB0054A2D7004E91
+ C000B8B8B800FEFEFE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF009AEBF9009AEBF90000F8F80000F8F8009AEB
+ F9009AEBF9003F799D003E708F004B7FA00062A5D10069B5E60066B3E60062AF
+ E2005EABDF0059A7DB0053A0D4004D88B200C4C4C400FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000A6FF0000A6FF0000A6FF0000A6
+ FF0000F8F800FFFFFF00FFFFFF0000F8F80000A6FF0000A6FF0000A6FF0000A6
+ FF003D719200437595005B9FCD0061AEE1005DAADE004C8FBC003B779D003C62
+ 7A00D0D0D000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF0000C8F80000C8F80000C8F80000A6FF0000F8F8009AEBF900FFFFFF0000F8
+ F80000C8F80000C8F80000C8F80000C8F8004E95C2004689B300386A8A00447B
+ 9F004786B0003C7FA9003C81AC005C7A8B00EDEDED00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF009AEB
+ F9009AEBF90000F8F80000F8F8009AEBF9009AEBF90062ABD9005FA8D6005BA3
+ D100559DCA004E95C200478DB9003D7DA6003C7FAA003D82AD003C7CA200A3AA
+ AE00FDFDFD00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF009AEBF90000A6FF0000C8F80000C8F80000A6FF0000C8
+ F80000A6FF009AEBF90067B1DF0062ABD9005BA3D000539AC7004B91BE004388
+ B4003D82AD003C81AC0062849A00ECECEC00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000A6FF0000C8
+ F8009AEBF90000C8F80000A6FF009AEBF90000C8F80000A6FF006EB9E80067B1
+ DF005FA7D500569ECB004D94C100458BB7003D82AE005584A200D8DBDD00FEFE
+ FE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF0000A6FF0000C8F800FFFFFF00FFFFFF0000C8F80000A6FF00FFFF
+ FF00D8E7F10000C8F80000A6FF0069B3E20061A9D70058A0CD004F96C2004689
+ B5006994B000DCDFE300FEFEFE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF0000C8F80000A6FF00FFFFFF00FFFFFF00F4F7FA00B2D0E30085B8
+ D80070A9CE0071A6C70087AFC900C3D1DB00FAFAFA00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00}
+ end
+ end
+ object Panel3: TPanel
+ Left = 375
+ Top = 35
+ Width = 97
+ Height = 219
+ Align = alRight
+ BevelOuter = bvNone
+ TabOrder = 1
+ object btGravar: TBitBtn
+ Left = 8
+ Top = 16
+ Width = 81
+ Height = 25
+ Caption = '&Gravar'
+ TabOrder = 0
+ OnClick = btGravarClick
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF
+ 6D422F6D422F6D422F6D422F6D422F6D422F6D422F6D422F6D422F6D422F6D42
+ 2F6D422F6D422F6D422FFF00FFFF00FF69696969696969696969696969696969
+ 6969696969696969696969696969696969696969696969696969FF00FFCE726F
+ D19792CB8E8A715A48C0B2ABC4BCB8CAC1BCCAC1BCCAC1BCCAC1BC8C76679443
+ 409443409443406D422FFF00FF9A9A9AB4B4B4AEAEAE7D7D7DC6C6C6CECECED2
+ D2D2D2D2D2D2D2D2D2D2D2969696707070707070707070696969FF00FFCE726F
+ D79F9BD19792715A482E1F185F5046FFFFFFFFFFFFFFFFFFF0E4DE8C76679747
+ 449443409443406D422FFF00FF9A9A9ABBBBBBB5B5B57C7C7C434343747474FF
+ FFFFFFFFFFFFFFFFECECEC969696747474707070707070696969FF00FFCE726F
+ DDA8A3D79F9B715A480A0A0A36241BFFFFFFF7F1EEF0E4DEE1CABD8C76679E50
+ 4D9747449443406D422FFF00FF9A9A9AC1C1C1BBBBBB7D7D7D2A2A2A4A4A4AFF
+ FFFFF6F6F6ECECECD8D8D89595957C7C7C757575707070696969FF00FFCE726F
+ E3B0ABDDA8A3715A48715A48715A48715A48715A48715A48715A48715A48A459
+ 569E504D9747446D422FFF00FF9A9A9AC8C8C8C1C1C17D7D7D7D7D7D7D7D7D7C
+ 7C7C7D7D7D7D7D7D7D7D7D7D7D7D8383837C7C7C747474696969FF00FFCE726F
+ EDBDB8E7B5B0E0ACA7DAA49FD49B97CB8E8AC58682BF7E79B97571B26B68AB62
+ 5FA459569E504D6D422FFF00FF9A9A9AD2D2D2CCCCCCC4C4C4BEBEBEB8B8B8AE
+ AEAEA8A8A8A1A1A19A9A9A9292928B8B8B8484847B7B7B696969FF00FFCE726F
+ F0C1BCEDBDB8E7B5B0E0ACA7DAA49FD49B97CE938EC88A86C2827EBC7975B26B
+ 68AB625FA459566D422FFF00FF9A9A9AD4D4D4D2D2D2CBCBCBC4C4C4BFBFBFB8
+ B8B8B1B1B1ABABABA5A5A59D9D9D9292928B8B8B848484696969FF00FFCE726F
+ F0C1BCF0C1BCC8635CC8635CC8635CC8635CC8635CC8635CC8635CC8635CC863
+ 5CB5706CAE67636D422FFF00FF9A9A9AD4D4D4D5D5D58E8E8E8E8E8E8E8E8E8E
+ 8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E9696968E8E8E696969FF00FFCE726F
+ F0C1BCC8635CFAF5F3F6EEEAF2E7E2EEE2DAEBDCD3E7D6CBE4D0C4E1CABDE1CA
+ BDC8635CB5706C6D422FFF00FF9A9A9AD4D4D48E8E8EF8F8F8F3F3F3EEEEEEEA
+ EAEAE6E6E6E1E1E1DDDDDDD8D8D8D8D8D88E8E8E969696676767FF00FFCE726F
+ F0C1BCC8635CFFFFFFFCF8F7F8F1EEF4EAE6F0E4DEECDFD6E9D9CFE6D3C8E2CD
+ C0C8635CBC79756D422FFF00FF9A9A9AD5D5D58E8E8EFFFFFFFAFAFAF6F6F6F1
+ F1F1ECECECE7E7E7E3E3E3DFDFDFDADADA8E8E8E9D9D9D696969FF00FFCE726F
+ F0C1BCC8635CFFFFFFFFFFFFFCF8F7F8F1EEF4EAE6F0E4DEECDFD6E9D9CFE6D3
+ C8C8635CC2827E6D422FFF00FF9A9A9AD4D4D48D8D8DFFFFFFFFFFFFFBFBFBF6
+ F6F6F0F0F0ECECECE7E7E7E3E3E3DFDFDF8E8E8EA5A5A5696969FF00FFCE726F
+ F0C1BCC8635CFFFFFFFFFFFFFFFFFFFCF8F7F8F1EEF4EAE6F0E4DEECDFD6E9D9
+ CFC8635CC88A866D422FFF00FF9A9A9AD4D4D48E8E8EFFFFFFFFFFFFFFFFFFFB
+ FBFBF5F5F5F1F1F1ECECECE8E8E8E3E3E38E8E8EABABAB696969FF00FFCE726F
+ F0C1BCC8635CFFFFFFFFFFFFFFFFFFFFFFFFFCF8F7F8F1EEF4EAE6F0E4DEECDF
+ D6C8635CD197926D422FFF00FF9A9A9AD4D4D48E8E8EFFFFFFFFFFFFFFFFFFFF
+ FFFFFBFBFBF6F6F6F1F1F1ECECECE7E7E78E8E8EB5B5B5696969FF00FFCE726F
+ F0C1BCC8635CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF8F7F8F1EEF4EAE6F0E4
+ DEC8635C0A0A0A6D422FFF00FF9A9A9AD4D4D48E8E8EFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFBFBFBF6F6F6F1F1F1ECECEC8E8E8E2A2A2A676767FF00FFCE726F
+ F0C1BCC8635CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF8F7F8F1EEF4EA
+ E6C8635CC88A866D422FFF00FF9A9A9AD5D5D58E8E8EFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFBFBFBF5F5F5F1F1F18E8E8EABABAB696969FF00FFCE726F
+ CE726FCE726FCE726FCE726FCE726FCE726FCE726FCE726FCE726FCE726FCE72
+ 6FCE726FCE726FCE726FFF00FF9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+ 9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A}
+ NumGlyphs = 2
+ end
+ object btCancela: TBitBtn
+ Left = 8
+ Top = 56
+ Width = 81
+ Height = 25
+ Caption = '&Cancelar'
+ TabOrder = 1
+ OnClick = btCancelaClick
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFC066148E4019
+ 8E40198E40198E40198E40198E40198E40198E40198E40198E40198E40198E40
+ 198E40198E4019FF00FF8888886969696969696969696969696969696A6A6A69
+ 69696969696969696A6A6A6969696969696A6A6A696969FF00FFC06614F9F5F4
+ C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2
+ A5C3B2A58E4019FF00FF888888F8F8F8C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6
+ C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6696969FF00FFC06614FCFAFA
+ F9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCDFD0C7DFD0C7DCCB
+ C1C3B2A58E4019FF00FF888888FCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEAEAEAE7
+ E7E7E4E4E4E0E0E0DDDDDDDDDDDDD9D9D9C6C6C6696969FF00FFC06614FFFFFF
+ FCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCE2D4CCDFD0
+ C7C3B2A58E4019FF00FF888888FFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEA
+ EAEAE7E7E7E3E3E3E0E0E0E0E0E0DDDDDDC6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E5D9D1E2D4
+ CCC3B2A58E4019FF00FF888888FFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EE
+ EEEEEAEAEAE7E7E7E3E3E3E3E3E3E0E0E0C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E9DED7E5D9
+ D1C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1
+ F1F1EEEEEEEAEAEAE7E7E7E7E7E7E3E3E3C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F2EBE8EEE6E2ECE2DCECE2DCE9DE
+ D7C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFBFBFBF7
+ F7F7F1F1F1EEEEEEEAEAEAEAEAEAE7E7E7C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF0E9E5F0E9E5EDE4
+ DFC3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFB
+ FBFBF7F7F7F3F3F3F0F0F0F0F0F0ECECECC6C6C66A6A6AFF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF4EEEBF0E9
+ E5C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE
+ FEFEFBFBFBF7F7F7F3F3F3F3F3F3F0F0F0C6C6C66A6A6AFF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F78A9DE92546CD1D3F
+ C9193BC8183BC88194E1898989FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFEFEFEFAFAFAC6C6C6979797929292929292929292C0C0C0C06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFD3355DBF2F4FD4E6B
+ D94A67D8F2F4FD183BC8888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFEFEFEA1A1A1FAFAFAAAAAAAA8A8A8F9F9F9929292C066148E4019
+ 8E40198E40198E40198E40198E40198E40198E40198E40193C5CDD8296E4D9DF
+ F9CDD5F74C69D81A3CC88888886969696969696969696A6A6A69696969696969
+ 6969696969696969A5A5A5C1C1C1EDEDEDE7E7E7A8A8A8929292C06614ED9733
+ ED9733ED9733ED9733ED9733ED9733ED9733F6CA9AED97334563E16980E2E4E8
+ FBD8DEF9516DDA1F40C9888888ACACACACACACADADADADADADADADADACACACAD
+ ADADD5D5D5ADADADA8A8A8B6B6B6F2F2F2ECECECABABAB939393F810DCC06614
+ C06614C06614C06614C06614C06614C06614C06614C066144D6AE3F2F4FD667D
+ E26E85E2F2F4FD2749CEEF14EF88888888888888888888888889898988888888
+ 8888888888898989ACACACF9F9F9B5B5B5B9B9B9F9F9F9989898FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF9AABEF4D6AE34563
+ E14463DF3E5EDE8FA2EBFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFCFCFCFACACACA8A8A8A8A8A8A6A6A6C9C9C9}
+ NumGlyphs = 2
+ end
+ end
+ object Panel2: TPanel
+ Left = 0
+ Top = 35
+ Width = 375
+ Height = 219
+ Align = alClient
+ BevelInner = bvRaised
+ BevelOuter = bvLowered
+ TabOrder = 0
+ object lbNome: TLabel
+ Left = 52
+ Top = 18
+ Width = 34
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'Nome :'
+ end
+ object lbLogin: TLabel
+ Left = 54
+ Top = 50
+ Width = 32
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'Login :'
+ end
+ object lbEmail: TLabel
+ Left = 54
+ Top = 82
+ Width = 32
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'EMail :'
+ end
+ object lbPerfil: TLabel
+ Left = 57
+ Top = 114
+ Width = 29
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'Perfil :'
+ end
+ object btlimpa: TSpeedButton
+ Left = 335
+ Top = 111
+ Width = 19
+ Height = 19
+ Glyph.Data = {
+ 36050000424D3605000000000000360400002800000010000000100000000100
+ 080000000000000100000E0F00000E0F00000001000000010000FF00FF00B584
+ 8400B5948C00C6A59C00D6BDB500E7C6B500E7CECE0000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000020101010101010200000000000000000106060606
+ 0606010100000000000000010606060606060103010000000000000204040404
+ 0404010303010000000000000205050505050501030301000000000000020505
+ 0505050501030301000000000000020505050505050103030100000000000002
+ 0505050505050103010000000000000002050505050505010100000000000000
+ 0002050505050505010000000000000000000201010101010200000000000000
+ 0000000000000000000000000000000000000000000000000000}
+ OnClick = btlimpaClick
+ end
+ object LabelExpira: TLabel
+ Left = 31
+ Top = 148
+ Width = 55
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'Expira em : '
+ end
+ object LabelDias: TLabel
+ Left = 331
+ Top = 148
+ Width = 19
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'dias'
+ end
+ object EditNome: TEdit
+ Left = 89
+ Top = 15
+ Width = 265
+ Height = 21
+ Ctl3D = True
+ MaxLength = 30
+ ParentCtl3D = False
+ TabOrder = 0
+ end
+ object EditLogin: TEdit
+ Left = 89
+ Top = 47
+ Width = 265
+ Height = 21
+ Ctl3D = True
+ MaxLength = 30
+ ParentCtl3D = False
+ TabOrder = 1
+ end
+ object EditEmail: TEdit
+ Left = 89
+ Top = 79
+ Width = 265
+ Height = 21
+ Ctl3D = True
+ MaxLength = 150
+ ParentCtl3D = False
+ TabOrder = 2
+ end
+ object ckPrivilegiado: TCheckBox
+ Left = 89
+ Top = 193
+ Width = 120
+ Height = 17
+ Caption = 'Usu'#225'rio privilegiado'
+ TabOrder = 4
+ end
+ object ComboPerfil: TDBLookupComboBox
+ Left = 89
+ Top = 111
+ Width = 242
+ Height = 21
+ Ctl3D = True
+ KeyField = 'IDUser'
+ ListField = 'Nome'
+ ListSource = frmCadastrarUsuario.DataSource2
+ ParentCtl3D = False
+ TabOrder = 3
+ end
+ object ckUserExpired: TCheckBox
+ Left = 89
+ Top = 169
+ Width = 160
+ Height = 17
+ Caption = 'Senha do usu'#225'rio n'#227'o expira'
+ TabOrder = 5
+ OnClick = ckUserExpiredClick
+ end
+ object SpinExpira: TSpinEdit
+ Left = 88
+ Top = 140
+ Width = 241
+ Height = 22
+ MaxValue = 100
+ MinValue = 10
+ TabOrder = 6
+ Value = 10
+ end
+ end
+end
diff --git a/official/2.20/Lib/D10/LoginWindow_U.dfm b/official/2.20/Lib/D10/LoginWindow_U.dfm
new file mode 100644
index 0000000..41b0673
--- /dev/null
+++ b/official/2.20/Lib/D10/LoginWindow_U.dfm
@@ -0,0 +1,260 @@
+object frmLoginWindow: TfrmLoginWindow
+ Left = 343
+ Top = 286
+ BorderIcons = [biSystemMenu]
+ BorderStyle = bsSingle
+ Caption = 'Login'
+ ClientHeight = 171
+ ClientWidth = 350
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ KeyPreview = True
+ OldCreateOrder = False
+ OnActivate = FormActivate
+ OnClose = FormClose
+ OnKeyPress = FormKeyPress
+ OnShow = FormShow
+ PixelsPerInch = 96
+ TextHeight = 13
+ object PTop: TPanel
+ Left = 0
+ Top = 0
+ Width = 350
+ Height = 17
+ Align = alTop
+ BevelOuter = bvNone
+ TabOrder = 0
+ object ImgTop: TImage
+ Left = 0
+ Top = 0
+ Width = 0
+ Height = 0
+ AutoSize = True
+ Center = True
+ end
+ end
+ object PLeft: TPanel
+ Left = 0
+ Top = 17
+ Width = 10
+ Height = 124
+ Align = alLeft
+ BevelOuter = bvNone
+ TabOrder = 1
+ object imgLeft: TImage
+ Left = 0
+ Top = 0
+ Width = 0
+ Height = 0
+ AutoSize = True
+ Center = True
+ Transparent = True
+ end
+ end
+ object PBottom: TPanel
+ Left = 0
+ Top = 141
+ Width = 350
+ Height = 11
+ Align = alBottom
+ BevelOuter = bvNone
+ TabOrder = 2
+ object ImgBottom: TImage
+ Left = 0
+ Top = 0
+ Width = 0
+ Height = 0
+ AutoSize = True
+ Center = True
+ end
+ end
+ object Panel1: TPanel
+ Left = 10
+ Top = 17
+ Width = 340
+ Height = 124
+ Align = alClient
+ BevelOuter = bvNone
+ TabOrder = 3
+ object PLogin: TPanel
+ Left = 1
+ Top = 1
+ Width = 340
+ Height = 132
+ BevelOuter = bvNone
+ TabOrder = 0
+ object LbUsuario: TLabel
+ Left = 33
+ Top = 10
+ Width = 42
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'Usu'#225'rio :'
+ end
+ object LbSenha: TLabel
+ Left = 38
+ Top = 42
+ Width = 37
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'Senha :'
+ end
+ object lbEsqueci: TLabel
+ Left = 87
+ Top = 70
+ Width = 79
+ Height = 13
+ Cursor = crHandPoint
+ Caption = 'Esqueci a senha'
+ Enabled = False
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clBlue
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = [fsUnderline]
+ ParentFont = False
+ Visible = False
+ end
+ object EditUsuario: TEdit
+ Left = 82
+ Top = 7
+ Width = 225
+ Height = 21
+ CharCase = ecUpperCase
+ Ctl3D = True
+ MaxLength = 15
+ ParentCtl3D = False
+ TabOrder = 0
+ OnChange = EditUsuarioChange
+ end
+ object EditSenha: TEdit
+ Left = 82
+ Top = 39
+ Width = 225
+ Height = 21
+ Ctl3D = True
+ MaxLength = 10
+ ParentCtl3D = False
+ PasswordChar = '*'
+ TabOrder = 1
+ end
+ object btOK: TBitBtn
+ Left = 81
+ Top = 96
+ Width = 75
+ Height = 25
+ Caption = 'OK'
+ TabOrder = 2
+ Glyph.Data = {
+ 36040000424D3604000000000000360000002800000010000000100000000100
+ 2000000000000004000000000000000000000000000000000000C8D0D400C8D0
+ D400C8D0D400B6907D00B57F6800C6C9CC00C8D0D400C8D0D400C8D0D400C8D0
+ D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0
+ D400C7CCD000C1806000C6503000B75A4100C3BFBD00C8D0D400C8D0D400C8D0
+ D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0
+ D400BFADA500D1886200C4724700C4502E00BA6F5C00C8D0D400C8D0D400C8D0
+ D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C7CE
+ D200C0866900D1875F00C5724900C5734A00BF432500C1B6B300C8D0D400C8D0
+ D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C0AA
+ 9F00D6916C00CD774F00B94A2E00CC856000C7613C00B85F4700C7CFD300C8D0
+ D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400BCA19500D08D
+ 6A00D58D6500C84C2D00BD9E9300BD968200D2896400C5462800BF968C00C8D0
+ D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C1B5B100C585
+ 6400D37B5900B96B5400C7CCD000C6CBCE00BE836500D2886200C4472D00C6B8
+ B800C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C5C7
+ C800BFB0AA00C6CBCD00C8D0D400C8D0D400C2BDBB00C8846100D07C5600C158
+ 4500C6CBCE00C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0
+ D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400BEADA500CE876100CD6B
+ 4900C5776B00C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0
+ D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400BDA49700D18D
+ 6800CD684600C6878000C7CFD300C8D0D400C8D0D400C8D0D400C8D0D400C8D0
+ D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400BEA3
+ 9500D6937000CA603E00C7908A00C8D0D400C8D0D400C8D0D400C8D0D400C8D0
+ D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0
+ D400C0A79C00CD876100C95D3D00C89B9700C8D0D400C8D0D400C8D0D400C8D0
+ D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0
+ D400C8D0D400BFADA500C6815D00CC5D4100C79F9B00C8D0D400C8D0D400C8D0
+ D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0
+ D400C8D0D400C8D0D400C2BCBB00C1876A00CB614400BEA59C00C8D0D400C8D0
+ D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0
+ D400C8D0D400C8D0D400C8D0D400C6CACD00BB9A8A00B99A8B00C8D0D400C8D0
+ D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0
+ D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400}
+ end
+ object BtCancela: TBitBtn
+ Left = 185
+ Top = 96
+ Width = 75
+ Height = 25
+ Cancel = True
+ Caption = 'Cancelar'
+ TabOrder = 3
+ OnClick = BtCancelaClick
+ Glyph.Data = {
+ 36040000424D3604000000000000360000002800000010000000100000000100
+ 2000000000000004000000000000000000000000000000000000C8D0D400ACB3
+ CC003C41AF00B7BFCE00C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0
+ D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400A6ADCA000F19
+ B000000BAE00464BB300C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0
+ D400C8D0D400C8D0D400C8D0D4009398C300B1B8CD00C8D0D4005665D000071B
+ C600000EB400010BAD00858CC100C8D0D400C8D0D400C8D0D400C8D0D400C8D0
+ D400C8D0D400BEC6D1005357B100020298005C60B300C8D0D400364CDD002342
+ F0000012BC00000EB5001119AE00B4BBCE00C8D0D400C8D0D400C8D0D400C8D0
+ D400989EC5001D1E9F00000098002122A100B7BECE00C8D0D4008B95CA002E4C
+ F2001C35DB000011BB00000EB5003037B200C2CAD200C8D0D400C1C8D1005A5D
+ B20004049900000098001D1EA000B3BACD00C8D0D400C8D0D400C8D0D4006672
+ C9004D67F7000D22C9000012BC00000EB5004C53B7009DA3C8002125A8000002
+ 9D000000980018199E00AEB5CB00C8D0D400C8D0D400C8D0D400C8D0D400C5CD
+ D2006972C9004C60E6000016C2000012BC00000EB500030DAD000009AA000006
+ A4001417A100A9B0CA00C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0
+ D400C7CFD300727BC600162ACB000015C2000012BC00000FB600000CB0001016
+ A900A5ABC900C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0
+ D400C8D0D400A2AACB00091DC4000018C9000015C3000012BD00000FB600767B
+ BD00C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0
+ D400AFB6CD00162DCC00001ED500001BCF000018C9000015C3000012BD000F1A
+ B300A6ADCA00C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400B8BF
+ CF002138D0000025E2000022DC000120D7002742E3002536C700071FCD000013
+ BE001723B400AFB6CC00C8D0D400C8D0D400C8D0D400C8D0D400C0C8D1002D44
+ D100002BEF000028E900092EE6003A57F2006D78CC00C1C9D2005562C8000D25
+ D1000013BE001823B400A7AECB00C8D0D400C8D0D400C8D0D4005A68C800002F
+ F700002EF500183FF4004662F8006C76CA00C7CFD300C8D0D400C8D0D4007F89
+ C8002539CE000518C2000F1BB4009AA1C700C8D0D400C8D0D400AFB6CD001535
+ DF002A4FFC004A66FA006C77CC00C7CFD300C8D0D400C8D0D400C8D0D400C8D0
+ D400B4BBCE005964C9001729C6000815B500878DC200C8D0D400C8D0D400B7BE
+ CF00707DCF006F7ACC00C7CFD300C8D0D400C8D0D400C8D0D400C8D0D400C8D0
+ D400C8D0D400C8D0D400949CC900424DBE009097C500C8D0D400C8D0D400C8D0
+ D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0
+ D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400}
+ end
+ end
+ end
+ object StatusBar: TStatusBar
+ Left = 0
+ Top = 152
+ Width = 350
+ Height = 19
+ Panels = <
+ item
+ Alignment = taRightJustify
+ Text = 'Tentativa: '
+ Width = 60
+ end
+ item
+ Alignment = taCenter
+ Width = 80
+ end
+ item
+ Alignment = taRightJustify
+ Text = 'Limite de Tentativas: '
+ Width = 130
+ end
+ item
+ Alignment = taCenter
+ Width = 50
+ end>
+ end
+end
diff --git a/official/2.20/Lib/D10/MsgRecForm_U.dfm b/official/2.20/Lib/D10/MsgRecForm_U.dfm
new file mode 100644
index 0000000..ae8dacf
--- /dev/null
+++ b/official/2.20/Lib/D10/MsgRecForm_U.dfm
@@ -0,0 +1,263 @@
+object MsgRecForm: TMsgRecForm
+ Left = 215
+ Top = 162
+ BorderStyle = bsDialog
+ Caption = 'Mensagem'
+ ClientHeight = 336
+ ClientWidth = 506
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ FormStyle = fsStayOnTop
+ OldCreateOrder = False
+ OnCreate = FormCreate
+ PixelsPerInch = 96
+ TextHeight = 13
+ object lbDE: TLabel
+ Left = 16
+ Top = 57
+ Width = 20
+ Height = 13
+ Caption = 'De :'
+ end
+ object lbAssunto: TLabel
+ Left = 19
+ Top = 89
+ Width = 38
+ Height = 13
+ Caption = 'Assunto'
+ end
+ object lbMensagem: TLabel
+ Left = 16
+ Top = 120
+ Width = 52
+ Height = 13
+ Caption = 'Mensagem'
+ end
+ object lbData: TLabel
+ Left = 360
+ Top = 57
+ Width = 23
+ Height = 13
+ Caption = 'Data'
+ end
+ object Panel1: TPanel
+ Left = 0
+ Top = 0
+ Width = 506
+ Height = 35
+ Align = alTop
+ BevelOuter = bvLowered
+ Color = clWhite
+ TabOrder = 2
+ object lbTitulo: TLabel
+ Left = 48
+ Top = 10
+ Width = 181
+ Height = 18
+ Caption = 'Mensagem Recebida'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -16
+ Font.Name = 'Verdana'
+ Font.Style = [fsBold]
+ ParentFont = False
+ end
+ object Image1: TImage
+ Left = 8
+ Top = 4
+ Width = 28
+ Height = 28
+ AutoSize = True
+ Picture.Data = {
+ 07544269746D6170760C0000424D760C00000000000036000000280000001C00
+ 00001C0000000100200000000000400C00000000000000000000000000000000
+ 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0098300000FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF009830000098300000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00D3BDAF0069473100694731006947310069473100694731006947
+ 3100694731006947310069473100694731006947310069473100694731006947
+ 3100D76733009830000098300000983000009830000098300000C16E39009830
+ 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D3BDAF00FCF9F800B7A2
+ 9300B7A29300B7A29300B7A29300B7A29300B7A29300B7A29300B7A29300B7A2
+ 9300B7A29300B7A29300B7A29300B7A29300D7673300FBC4A100DD986500D48B
+ 5800D48B5800CE824E00C7784300C16E390098300000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00D3BDAF00FEFCFB00FCF9F800FAF6F400F8F3F100F6F0EE00F4EE
+ EA00F2EBE700F0E8E400EEE5E000ECE3DD00EAE0DA00E8DCD600E6D9D200E4D6
+ CF00D7673300FBC4A100DD986500DD986500D48B5800D78F5C00D1875300CB7D
+ 4900C16E390098300000FFFFFF00FFFFFF00FFFFFF00D3BDAF00FFFFFF00FEFC
+ FB00FCF9F800FAF6F400F8F3F100F6F0EE00F4EEEA00F2EBE700F0E8E400EEE5
+ E000ECE3DD00EAE0DA00E8DCD600E6D9D200D7673300FBC4A100E3A16E00DD98
+ 6500DD986500D48B5800D78F5C00D1875300CB7D4900C16E390098300000FFFF
+ FF00FFFFFF00D3BDAF00FFFFFF00FFFFFF00FEFCFB00FCF9F800E7B98600E7B9
+ 8600E7B98600E7B98600E7B98600E7B98600E7B98600E7B98600E7B98600E7B9
+ 8600D7673300FBC4A100E3A16E00E3A16E00DD986500DD986500D48B5800D78F
+ 5C00C16E390098300000FFFFFF00FFFFFF00FFFFFF00D3BDAF00FFFFFF00FFFF
+ FF00FFFFFF00FEFCFB00FCF9F800FAF6F400F8F3F100F6F0EE00F4EEEA00F2EB
+ E700F0E8E400EEE5E000ECE3DD00EAE0DA00D7673300FBC4A100FBC4A100FBC4
+ A100FBC4A100FBC4A100FBC4A100C16E390098300000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00D3BDAF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFDFD00FDFB
+ FA00FBF8F600F9F5F300F7F2EF00F5EFEC00F3ECE900F0E8E400EEE5E000ECE3
+ DD00D7673300D7673300D7673300D7673300D7673300D7673300FBC4A1009830
+ 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D3BDAF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00E7B98600E7B98600E7B98600E7B98600E7B98600E7B9
+ 8600E7B98600E7B98600E7B98600E7B98600EDE4DF00EBE1DB00E9DED800E7DB
+ D400E5D8D100D76733009830000069473100694731006947310069473100FFFF
+ FF00FFFFFF00D3BDAF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFDFD00FDFBFA00FBF8F600F9F5F300F7F2EF00F5EFEC00F3ECE900F1E9
+ E500EFE6E200EDE4DF00EBE1DB00E9DED800E7DBD40098300000B7A293006947
+ 3100B7A29300B7A2930069473100FFFFFF00FFFFFF00D3BDAF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFDFD00FDFBFA00FBF8
+ F600F9F5F300F7F2EF00F5EFEC00F3ECE900F1E9E500EFE6E200EDE4DF00EBE1
+ DB00E9DED800E7DBD400B7A2930069473100DBC9BF00B7A2930069473100FFFF
+ FF00FFFFFF00D3BDAF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0098300000FFFF
+ FF00FFFFFF00FFFFFF00FFFDFD00FDFBFA00FBF8F600F9F5F300F7F2EF00F5EF
+ EC00F3ECE900F1E9E500EFE6E200EDE4DF00EBE1DB00E9DED800B7A293006947
+ 3100DBC9BF00B7A2930069473100FFFFFF00FFFFFF00D3BDAF00FFFFFF00FFFF
+ FF00FFFFFF009830000098300000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFD
+ FD00FDFBFA00FBF8F600F9F5F300F7F2EF00F5EFEC00F3ECE900316ADC00316A
+ DC00316ADC00EBE1DB00B7A2930069473100DCCAC000B7A2930069473100FFFF
+ FF00FFFFFF00D3BDAF00FFFFFF00FFFFFF0098300000C16E3900983000009830
+ 000098300000983000009830000098300000FFFDFD00FDFBFA00FBF8F600F9F5
+ F300F7F2EF00F5EFEC00314A800060A2FA00316ADC00EDE4DF00B7A293006947
+ 3100DECDC400B7A2930069473100FFFFFF00FFFFFF00D3BDAF00FFFFFF009830
+ 0000CB7D4900D58B5700C16E3900C16E3900C16E3900C16E3900C16E39009830
+ 0000FFFFFF00FFFFFF00FEFCFB00FCF9F800FAF6F400F8F3F100396EE30060A2
+ FA00316ADC00EFE6E200B7A2930069473100E0D0C800B7A2930069473100FFFF
+ FF00FFFFFF00D3BDAF0098300000CB7D4900E19C6A00DB946100D58B5700D287
+ 5300CD7F4A00C7764100C16E390098300000FFFFFF00FFFFFF00FFFFFF00FEFC
+ FB00FCF9F800FAF6F400F8F3F100F6F0EE00F4EEEA00F2EBE700F0E8E4006947
+ 3100E3D5CD00B7A2930069473100FFFFFF00FFFFFF0098300000FBC4A100E3A1
+ 6E00E3A16E00E3A16E00DE986500D88F5C00D2875300CD7F4A00C16E39009830
+ 0000D3BDAF00D3BDAF00D3BDAF00D3BDAF00D3BDAF00D3BDAF00D3BDAF00D3BD
+ AF00D3BDAF00D3BDAF00D3BDAF00D3BDAF00E5D8D100B7A2930069473100FFFF
+ FF00FFFFFF00FFFFFF00D7673300FBC4A100E3A16E00E3A16E00E3A16E00DE98
+ 6500D88F5C00D2875300C16E390098300000FFFDFD00FDFBFA00FBF8F600F9F5
+ F300F7F2EF00F5EFEC00F3ECE900F1E9E500EFE6E200EDE4DF00EBE1DB00E9DE
+ D800E7DBD400B7A2930069473100FFFFFF00FFFFFF00FFFFFF00FFFFFF00D767
+ 3300FBC4A100E3A16E00FBC4A100FBC4A100FBC4A100FBC4A100FBC4A1009830
+ 0000FFFFFF00FFFDFD00FDFBFA00FBF8F600F9F5F300F7F2EF00F5EFEC00F3EC
+ E900F1E9E500EFE6E200EDE4DF00EBE1DB00E9DED800B7A2930069473100FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D7673300FBC4A100D7673300D767
+ 3300D7673300D7673300D7673300D7673300FFFFFF00FFFFFF00FFFDFD00FDFB
+ FA00FBF8F600F9F5F300F7F2EF00F5EFEC00F3ECE900316ADC00316ADC00316A
+ DC00EBE1DB00B7A2930069473100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00D3BDAF00D7673300D7673300FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFDFD00FDFBFA00FBF8F600F9F5F300F7F2
+ EF00F5EFEC00314A800060A2FA00316ADC00EDE4DF00B7A2930069473100FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D3BDAF00FFFFFF00D7673300FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FEFCFB00FCF9F800FAF6F400F8F3F100396EE30060A2FA00316A
+ DC00EFE6E200B7A2930069473100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00D3BDAF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FEFCFB00FCF9
+ F800FAF6F400F8F3F100F6F0EE00F4EEEA00F2EBE700F0E8E40069473100FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D3BDAF00D3BDAF00D3BDAF00D3BD
+ AF00D3BDAF00D3BDAF00D3BDAF00D3BDAF00D3BDAF00D3BDAF00D3BDAF00D3BD
+ AF00D3BDAF00D3BDAF00D3BDAF00D3BDAF00D3BDAF00D3BDAF00D3BDAF00D3BD
+ AF00D3BDAF00D3BDAF00D3BDAF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00}
+ end
+ end
+ object stDe: TStaticText
+ Left = 64
+ Top = 56
+ Width = 289
+ Height = 17
+ AutoSize = False
+ BorderStyle = sbsSunken
+ TabOrder = 3
+ end
+ object stAssunto: TStaticText
+ Left = 64
+ Top = 88
+ Width = 431
+ Height = 17
+ AutoSize = False
+ BorderStyle = sbsSunken
+ TabOrder = 4
+ end
+ object MemoMsg: TMemo
+ Left = 16
+ Top = 144
+ Width = 481
+ Height = 145
+ MaxLength = 255
+ ReadOnly = True
+ ScrollBars = ssBoth
+ TabOrder = 0
+ end
+ object btFechar: TBitBtn
+ Left = 199
+ Top = 303
+ Width = 79
+ Height = 25
+ Caption = '&Fechar'
+ TabOrder = 1
+ OnClick = btFecharClick
+ Glyph.Data = {
+ 42040000424D4204000000000000420000002800000020000000100000000100
+ 1000030000000004000000000000000000000000000000000000007C0000E003
+ 00001F0000001F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C45261F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C94521F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C4526862645261F7C1F7C1F7C1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C9452D65A94521F7C1F7C1F7C1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C673286268626862645261F7C1F7C1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7CD65AD65AD65AD65A94521F7C1F7C1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C45268626C62A862E862645261F7C1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C9452D65AF75ED65AD65A94521F7C1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C47328626C62A252E252EC62A8822C62A1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7CB556D65AF75EB556B556F75ED65AF75E1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C4526C62A252E1F7C1F7C252EC62A45261F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C9452F75EB5561F7C1F7CB556F75E94521F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C252E1F7C1F7C1F7C1F7C252EC62A45261F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7CB5561F7C1F7C1F7C1F7CB556F75E94521F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C252EC62AC62A1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7CB556F75EF75E1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C252E86261F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7CB556D65A1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C252E86261F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7CB556D65A1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C252E8626
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7CB556D65A
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C252E
+ 86261F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7CB556
+ D65A1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C
+ 252E86261F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C
+ B556D65A1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C
+ 1F7C252E1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C
+ 1F7CB5561F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C}
+ NumGlyphs = 2
+ end
+ object stData: TStaticText
+ Left = 397
+ Top = 56
+ Width = 97
+ Height = 17
+ AutoSize = False
+ BorderStyle = sbsSunken
+ Caption = '99/99/9999 99:99'
+ TabOrder = 5
+ end
+end
diff --git a/official/2.20/Lib/D10/MsgsForm_U.dfm b/official/2.20/Lib/D10/MsgsForm_U.dfm
new file mode 100644
index 0000000..905767a
--- /dev/null
+++ b/official/2.20/Lib/D10/MsgsForm_U.dfm
@@ -0,0 +1,1153 @@
+object MsgsForm: TMsgsForm
+ Left = 144
+ Top = 150
+ BorderStyle = bsDialog
+ Caption = 'Mensagens do Sistema'
+ ClientHeight = 452
+ ClientWidth = 598
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ OldCreateOrder = False
+ OnClose = FormClose
+ OnCreate = FormCreate
+ OnShow = FormShow
+ PixelsPerInch = 96
+ TextHeight = 13
+ object Splitter1: TSplitter
+ Left = 0
+ Top = 237
+ Width = 598
+ Height = 6
+ Cursor = crVSplit
+ Align = alTop
+ Beveled = True
+ end
+ object ListView1: TListView
+ Left = 0
+ Top = 52
+ Width = 598
+ Height = 185
+ Align = alTop
+ Columns = <
+ item
+ Caption = 'Remetente'
+ MaxWidth = 300
+ MinWidth = 50
+ Width = 150
+ end
+ item
+ Caption = 'Assunto'
+ MaxWidth = 500
+ MinWidth = 50
+ Width = 300
+ end
+ item
+ Caption = 'Data'
+ MaxWidth = 150
+ MinWidth = 50
+ Width = 100
+ end>
+ HideSelection = False
+ MultiSelect = True
+ ReadOnly = True
+ RowSelect = True
+ SmallImages = ImageList1
+ TabOrder = 0
+ ViewStyle = vsReport
+ OnColumnClick = ListView1ColumnClick
+ OnCompare = ListView1Compare
+ OnDblClick = ListView1DblClick
+ OnSelectItem = ListView1SelectItem
+ end
+ object ToolBar1: TToolBar
+ Left = 0
+ Top = 0
+ Width = 598
+ Height = 52
+ ButtonHeight = 44
+ ButtonWidth = 94
+ Caption = 'Op'#231#245'es'
+ Images = ImageList2
+ ShowCaptions = True
+ TabOrder = 1
+ object btnova: TToolButton
+ Left = 0
+ Top = 2
+ Caption = '&Nova Mensagem'
+ ImageIndex = 0
+ OnClick = btnovaClick
+ end
+ object btResponder: TToolButton
+ Left = 94
+ Top = 2
+ Caption = '&Responder'
+ ImageIndex = 1
+ OnClick = btResponderClick
+ end
+ object btEncaminhar: TToolButton
+ Left = 188
+ Top = 2
+ Caption = 'E&ncaminhar'
+ ImageIndex = 2
+ OnClick = btEncaminharClick
+ end
+ object btExcluir: TToolButton
+ Left = 282
+ Top = 2
+ Caption = '&Excluir'
+ ImageIndex = 3
+ OnClick = btExcluirClick
+ end
+ object btClose: TToolButton
+ Left = 376
+ Top = 2
+ Caption = '&Fechar'
+ ImageIndex = 4
+ OnClick = btCloseClick
+ end
+ end
+ object MemoMsg: TMemo
+ Left = 0
+ Top = 243
+ Width = 598
+ Height = 209
+ Align = alClient
+ ReadOnly = True
+ TabOrder = 2
+ end
+ object ImageList1: TImageList
+ Height = 14
+ Left = 48
+ Top = 88
+ Bitmap = {
+ 494C010102000400040010000E00FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
+ 0000000000003600000028000000400000000E0000000100200000000000000E
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000007B7B7B00FFFFFF0000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000007B7B7B00FFFFFF007B7B7B00FFFFFF00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000007B7B7B00000000007B7B7B00FFFFFF00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000007B7B7B00FFFFFF007B7B7B00FFFFFF00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000007B7B7B00000000007B7B7B0000000000FFFFFF000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000007B7B7B00FFFFFF007B7B7B00FFFFFF00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000007B7B7B00FFFFFF0000000000000000007B7B7B00FFFFFF000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000FFFFFF00FFFFFF007B7B7B00FFFFFF007B7B7B00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000007B7B7B000000000000000000000000007B7B7B0000000000FFFF
+ FF00000000000000000000000000000000000000000000000000000000007B7B
+ 7B007B7B7B007B7B7B007B7B7B00000000007B7B7B007B7B7B007B7B7B007B7B
+ 7B00FFFFFF000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00007B7B7B00FFFFFF00000000000000000000000000000000007B7B7B00FFFF
+ FF00000000000000000000000000000000000000000000000000000000007B7B
+ 7B0000000000FFFFFF0000000000000000000000000000000000000000007B7B
+ 7B00000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00007B7B7B0000000000000000000000000000000000000000007B7B7B000000
+ 0000FFFFFF000000000000000000000000000000000000000000000000000000
+ 00007B7B7B00FFFFFF00000000000000000000000000000000007B7B7B00FFFF
+ FF00000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000007B7B
+ 7B00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF00FFFFFF007B7B
+ 7B00FFFFFF000000000000000000000000000000000000000000000000000000
+ 00007B7B7B0000000000FFFFFF000000000000000000000000007B7B7B000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000007B7B
+ 7B007B7B7B007B7B7B007B7B7B00FFFFFF007B7B7B007B7B7B007B7B7B007B7B
+ 7B00000000000000000000000000000000000000000000000000000000000000
+ 0000000000007B7B7B00FFFFFF0000000000000000007B7B7B00FFFFFF000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000007B7B7B00FFFFFF007B7B7B00FFFFFF00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000007B7B7B0000000000FFFFFF00000000007B7B7B00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000007B7B7B00FFFFFF007B7B7B00FFFFFF00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000007B7B7B00FFFFFF007B7B7B00FFFFFF00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000007B7B7B00FFFFFF007B7B7B00FFFFFF00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000007B7B7B00000000007B7B7B0000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000007B7B7B00FFFFFF007B7B7B00FFFFFF00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000007B7B7B00FFFFFF0000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000007B7B7B007B7B7B007B7B7B0000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000007B7B7B000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000424D3E000000000000003E000000
+ 28000000400000000E0000000100010000000000700000000000000000000000
+ 000000000000000000000000FFFFFF00FE7FFC3F00000000FD3FFC3F00000000
+ FD5FFC3F00000000F99FF00700000000FBAFE10700000000F3CFEBEF00000000
+ F7D7F3CF00000000E087F5DF00000000E00FF99F00000000FC3FFABF00000000
+ FC3FFC3F00000000FC3FFD7F00000000FC3FFE7F00000000FC7FFEFF00000000
+ 00000000000000000000000000000000000000000000}
+ end
+ object ImageList2: TImageList
+ Height = 24
+ Width = 24
+ Left = 216
+ Top = 328
+ Bitmap = {
+ 494C010105000900040018001800FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
+ 000000000000360000002800000060000000480000000100200000000000006C
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000CE732900A54A
+ 2100A54A2100A54A2100A54A2100A54A2100A54A2100A54A2100A54A2100A54A
+ 2100A54A2100A54A2100A54A2100A54A2100A54A2100A54A2100A54A2100A54A
+ 2100A54A2100A54A210000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000CE732900FFF7
+ F700DEC6BD00D6C6B500D6BDB500CEBDAD00CEB5AD00C6B5A500C6AD9C00BDAD
+ 9C00BDA59C00BDA59400B5A59400B59C8C00B59C8C00B59C8C00B59C8C00B59C
+ 8C00B59C8C00A54A210000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000CE732900FFFF
+ FF00FFF7F700F7F7F700F7EFEF00F7EFEF00F7EFE700EFE7E700EFE7DE00EFE7
+ DE00E7DED600E7DED600E7D6CE00E7D6CE00DECEC600DECEC600DECEBD00DECE
+ BD00B59C8C00A54A210000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000CE732900FFFF
+ FF00FFFFFF00FFF7F700F7F7F700F7EFEF00F7EFEF00F7EFE700EFE7E700EFE7
+ DE00EFE7DE00E7DED600E7DED600E7D6CE00E7D6CE00DECEC600DECEC600DECE
+ BD00B59C8C00A54A210000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000CE732900FFFF
+ FF00FFFFFF00FFFFFF00FFF7F700F7F7F700F7EFEF00F7EFEF00F7EFE700EFE7
+ E700EFE7DE00EFE7DE00E7DED600E7DED600E7D6CE00E7D6CE00DECEC600DECE
+ C600B59C8C00A54A210000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000CE732900FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFF7F700F7F7F700F7EFEF00F7EFEF00F7EF
+ E700EFE7E700EFE7DE00EFE7DE00E7DED600E7DED600E7D6CE00E7D6CE00DECE
+ C600B59C8C00A54A210000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000CE732900FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFF7F700F7F7F700F7EFEF00F7EF
+ EF00F7EFE700EFE7E700EFE7DE00EFE7DE00E7DED600E7DED600E7D6CE00E7D6
+ CE00B59C8C00A54A210000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000CE732900FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFF7F700F7F7F700F7EF
+ EF00F7EFEF00F7EFE700EFE7E700EFE7DE00EFE7DE00E7DED600E7DED600E7D6
+ CE00B5A59400A54A210000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000CE732900FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFF7F700F7F7
+ F700F7F7EF00F7EFEF00F7EFE700EFE7E700EFE7DE00EFE7DE00EFDEDE00E7DE
+ D600BDA59400A54A210000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000CE732900FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFF7
+ F700F7F7F700F7F7EF00F7EFEF00F7EFE700EFE7E700EFE7DE00EFE7DE00EFDE
+ DE00BDA59C00A54A210000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000CE732900FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFF7F700F7F7F700F7F7EF00F7EFEF00F7EFE700EFE7E700EFE7DE00EFE7
+ DE00BDAD9C00A54A210000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000CE732900FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFF7F700F7F7F700F7F7EF00F7EFEF00F7EFE700EFE7E700EFE7
+ DE00C6AD9C00A54A210000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000CE732900FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFF7F700F7F7F700F7F7EF00F7EFEF00F7EFE700EFE7
+ E700C6B5A500A54A210000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000CE732900FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00BDCEF70000009C0000009C0000009C000000
+ 9C0000009C0000009C0000009C00C608FF000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000CE732900FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF000031FF00294ACE001842CE001039C6000029
+ C6000029C6000029C6000029C60000009C000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000CE732900A54A
+ 2100A54A2100A54A2100A54A2100A54A2100A54A2100A54A2100A54A2100A54A
+ 2100A54A2100A54A2100A54A21000031FF003152D600B5C6F7009CADF7001039
+ C6009CADF700B5C6F7000029C60000009C000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000CE732900D66B
+ 0000D66B0000D66B0000D66B0000D66B0000D66B0000D66B0000D66B0000D66B
+ 0000D66B0000D66B0000D66B00000031FF004263D600CED6F700F7F7FF009CAD
+ F700F7F7FF009CADF7000029C60000009C000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000E7426300E78C
+ 2900EF943100EF943100EF943100EF943100EF943100EF943100EF943100EF94
+ 3100EF943100EF943100EF9431000031FF004A63D6004A63D600D6DEFF00FFFF
+ FF009CADF7001839CE000831C60000009C000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000FF10DE00E742
+ 6300DE7B0800DE7B0800DE7B0800DE7B0800DE7B0800DE7B0800DE7B0800DE7B
+ 0800DE7B0800DE7B0800DE7B08000031FF004A63DE008CA5EF00F7F7FF00CED6
+ FF00F7F7FF009CADF7001839CE0000009C000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000031FF005A73E700B5C6F7008C9CEF004A63
+ D6009CADF700B5C6F700214ACE0000009C000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000031FF006B84E7005A73E7004A63DE004A63
+ D6004A63D600395AD6003152D60000009C000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000C608FF000031FF000031FF000031FF000031
+ FF000031FF000031FF000031FF00C608FF000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000000000000000000000005A185A000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000000000000000000000009C3100000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000000000000000C6B5A5006B4231006B42
+ 31006B4231006B4231006B4231006B4231006B4231006B4231006B4231006B42
+ 31006B4231006B4231006B4231006B4231006B4231006B4231006B4231006B42
+ 31006B4231006B4231006B423100000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000000000005A185A005A185A000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000000000000000000000009C3100009C31
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000018D6000018D6000000000000000000C6B5A500DED6C600B5A5
+ 9400B5A59400B5A59400B5A59400B5A59400B5A59400B5A59400B5A59400B5A5
+ 9400B5A59400B5A59400B5A59400B5A59400B5A59400B5A59400B5A59400B5A5
+ 9400B5A59400B5A594006B423100000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000005A185A00B56BAD00B563A5005A18
+ 5A005A185A005A185A005A185A005A185A000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000D66331009C3100009C3100009C3100009C3100009C310000DE8C
+ 63009C3100000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000018D6000018D6000018D6000000000000000000C6B5A500B5A59400DED6
+ C600DED6C600DED6C600DED6C600DED6C600DED6C600DED6C600DED6C600DED6
+ C600DED6C600DED6C600DED6C600DED6C600DED6C600DED6C600DED6C600DED6
+ C600DED6C600B5A594006B42310000000000C6B5A5006B4231006B4231006B42
+ 31006B4231006B4231006B4231006B4231006B4231006B4231006B4231006B42
+ 31006B4231006B423100B5A594005A185A00C67BBD00C67BBD00BD6BB500B563
+ AD00AD5AA500A5529C009C4A94005A185A00C6B5A5006B4231006B4231006B42
+ 31006B4231006B4231006B4231006B4231006B4231006B4231006B4231006B42
+ 3100B5A59400D6633100FFC6A500FFB58C00FFAD8C00FFAD8400F7A57B00EF9C
+ 7300E7946B009C310000000000000000000000000000000000000018D6000018
+ D6000018D6000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000018
+ D6000018D6000018D600000000000000000000000000C6B5A500DED6C600B5A5
+ 9400E7DED600E7DED600E7DED600E7DED600E7DED600E7DED600E7DED600E7DE
+ D600E7DED600E7DED600E7DED600E7DED600E7DED600E7DED600E7DED600E7DE
+ D600B5A59400B5A594006B42310000000000C6B5A500DED6C600B5A59400B5A5
+ 9400B5A59400B5A59400B5A59400B5A59400B5A59400B5A59400B5A59400B5A5
+ 9400B5A59400DECEBD005A185A00CE84BD00CE84BD00CE84BD00C67BBD00BD6B
+ B500B563AD00AD5AA500A5529C005A185A00C6B5A500DED6C600B5A59400B5A5
+ 9400B5A59400B5A59400B5A59400B5A59400B5A59400B5A59400B5A59400B5A5
+ 9400DECEBD00D6633100FFC6A500FFB58C00FFB58C00FFB58C00FFAD8400F7A5
+ 7B00EF9C7300E7946B009C3100000000000000000000000000000018D6000018
+ D6000018D6000018D60000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000000000000018D6000018D6000018
+ D6000018D60000000000000000000000000000000000C6B5A500E7D6CE00E7D6
+ CE00B5A59400EFE7DE00EFE7DE00EFE7DE00EFE7DE00EFE7DE00EFE7DE00EFE7
+ DE00EFE7DE00EFE7DE00EFE7DE00EFE7DE00EFE7DE00EFE7DE00EFE7DE00B5A5
+ 9400DED6C600B5A594006B42310000000000C6B5A500B5A59400DED6C600DED6
+ C600DED6C600DED6C600DED6C600DED6C600DED6C600DED6C600DED6C600DED6
+ C600DED6C6005A185A00D6A5CE00CE84BD00CE84BD00CE84BD00CE84BD00C67B
+ BD00BD6BB500B563AD00AD5AA5005A185A00C6B5A500B5A59400DED6C600DED6
+ C600DED6C600DED6C600DED6C600DED6C600DED6C600DED6C600DED6C600DED6
+ C600DED6C600D6633100FFC6A500FFB58C00FFB58C00FFB58C00FFB58C00FFAD
+ 8400F7A57B00EF9C7300E7946B009C31000000000000000000000018D6000018
+ D6000018D6000018D6000018D600000000000000000000000000000000000000
+ 0000000000000000000000000000000000000018D6000018D6000018D6000018
+ D6000000000000000000000000000000000000000000C6B5A500EFDEDE00EFDE
+ DE00EFDEDE00B5A59400F7EFEF00F7EFEF00F7EFEF00F7EFEF00F7EFEF00F7EF
+ EF00F7EFEF00F7EFEF00F7EFEF00F7EFEF00F7EFEF00F7EFEF00B5A59400E7DE
+ D600E7DED600B5A594006B42310000000000C6B5A500DED6C600B5A59400E7DE
+ D600E7DED600E7DED600E7DED600E7DED600E7DED600E7DED600E7DED600E7DE
+ D600E7DED600E7DED600A5429400D6A5CE00CE84BD00CE84BD00CE84BD00CE84
+ BD00C67BBD00BD6BB500B563AD005A185A00C6B5A500DED6C600B5A59400E7DE
+ D600E7DED600E7DED600E7DED600E7DED600E7DED600E7DED600E7DED600E7DE
+ D600E7DED600D6633100FFC6A500FFB58C00FFB58C00FFB58C00FFB58C00FFB5
+ 8C00FFAD8400F7A57B009C310000000000000000000000000000000000000018
+ D6000018D6000018D6000018D6000018D6000000000000000000000000000000
+ 00000000000000000000000000000018D6000018D6000018D6000018D6000000
+ 00000000000000000000000000000000000000000000C6B5A500EFE7E700EFE7
+ E700EFE7E700EFE7E700B5A59400F7F7F700F7F7F700F7F7F700F7F7F700F7F7
+ F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700B5A59400EFE7DE00EFE7
+ DE00EFE7DE00B5A594006B42310000000000C6B5A500E7D6CE00E7D6CE00B5A5
+ 9400EFE7DE00EFE7DE00EFE7DE00EFE7DE00EFE7DE00EFE7DE00EFE7DE00EFE7
+ DE00EFE7DE00EFE7DE00EFE7DE00A5429400D6A5CE00CE84BD00CE84BD00CE84
+ BD00CE84BD00CE84BD00CE84BD005A185A00C6B5A500E7D6CE00E7D6CE00B5A5
+ 9400EFE7DE00EFE7DE00EFE7DE00EFE7DE00EFE7DE00EFE7DE00EFE7DE00EFE7
+ DE00EFE7DE00D6633100FFC6A500FFC6A500FFC6A500FFC6A500FFC6A500FFC6
+ A500FFB58C009C31000000000000000000000000000000000000000000000000
+ 00000018FF000018D6000018D6000018D6000018D60000000000000000000000
+ 000000000000000000000018D6000018D6000018D6000018D600000000000000
+ 00000000000000000000000000000000000000000000C6B5A500F7EFE700F7EF
+ E700F7EFE700F7EFE700F7EFE700B5A59400FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00B5A59400F7EFEF00F7EFEF00F7EF
+ EF00F7EFEF00B5A594006B42310000000000C6B5A500EFDEDE00EFDEDE00EFDE
+ DE00B5A59400F7EFEF00F7EFEF00F7EFEF00F7EFEF00F7EFEF00F7EFEF00F7EF
+ EF00F7EFEF00F7EFEF00F7EFEF00F7EFEF00A5429400D6A5CE00A5429400A542
+ 9400A5429400A5429400A5429400A5429400C6B5A500EFDEDE00EFDEDE00EFDE
+ DE00B5A59400F7EFEF00F7EFEF00F7EFEF00F7EFEF00F7EFEF00F7EFEF00F7EF
+ EF00F7EFEF00D6633100D6633100D6633100D6633100D6633100D6633100FFC6
+ A5009C3100000000000000000000000000000000000000000000000000000000
+ 000000000000000000000018D6000018D6000018D6000018D600000000000000
+ 00000018D6000018D6000018D6000018D6000018D60000000000000000000000
+ 00000000000000000000000000000000000000000000C6B5A500F7EFEF00F7EF
+ EF00F7EFEF00F7EFEF00B5A59400EFE7E700B5A59400FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00B5A59400DEC6C600B5A59400F7F7F700F7F7
+ F700F7F7F700B5A594006B42310000000000C6B5A500EFE7E700EFE7E700EFE7
+ E700EFE7E700B5A59400F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7
+ F700F7F7F700F7F7F700F7F7F700B5A59400EFE7DE00A5429400A5429400DECE
+ BD00B5A59400000000000000000000000000C6B5A500EFE7E700EFE7E700EFE7
+ E700EFE7E700B5A59400F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7
+ F700F7F7F700F7F7F700F7F7F700B5A59400EFE7DE00EFE7DE00D66331009C31
+ 0000B5A594000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000018D6000018D6000018D6000018D6000018
+ D6000018D6000018D6000018D6000018D6000000000000000000000000000000
+ 00000000000000000000000000000000000000000000C6B5A500FFF7F700FFF7
+ F700FFF7F700B5A59400EFE7E700FFFFF700EFE7E700B5A59400B5A59400B5A5
+ 9400B5A59400B5A59400B5A59400DEC6C600DECEBD00DEC6C600B5A59400FFFF
+ FF00FFFFFF00B5A594006B42310000000000C6B5A500F7EFE700F7EFE700F7EF
+ E700F7EFE700F7EFE700B5A59400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00B5A59400F7EFEF00F7EFEF00F7EFEF00A5429400DECE
+ BD006B423100000000000000000000000000C6B5A500F7EFE700F7EFE700F7EF
+ E700F7EFE700F7EFE700B5A59400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00B5A59400F7EFEF00F7EFEF00F7EFEF009C310000DECE
+ BD006B4231000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000018D6000018D6000018FF000018
+ D6000018FF000018D6000018D600000000000000000000000000000000000000
+ 00000000000000000000000000000000000000000000C6B5A500FFFFFF00FFFF
+ FF00B5A59400EFE7E700FFFFFF00FFFFFF00FFFFF700EFE7E700EFE7E700EFE7
+ E700EFE7E700EFE7E700EFE7E700E7D6CE00E7D6CE00DECEC600DEC6C600B5A5
+ 9400FFFFFF00B5A594006B42310000000000C6B5A500F7EFEF00F7EFEF00F7EF
+ EF00F7EFEF00B5A59400DEC6C600B5A59400FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00B5A59400DEC6C600B5A59400F7F7F700F7F7F700F7F7F700B5A5
+ 94006B423100000000000000000000000000C6B5A500F7EFEF00F7EFEF00F7EF
+ EF00F7EFEF00B5A59400DEC6C600B5A59400FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00B5A59400DEC6C600B5A59400F7F7F700F7F7F700F7F7F700B5A5
+ 94006B4231000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000000000000018D6000018D6000018
+ D6000018FF000018D60000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000000000000000C6B5A500FFFFFF00BDA5
+ 9400FFFFFF00FFFFFF00B5A59400B5A59400B5A59400B5A59400B5A59400B5A5
+ 9400B5A59400B5A59400B5A59400B5A59400B5A59400E7D6CE00DECEC600CEB5
+ A500B5A59400F7F7EF006B42310000000000C6B5A500FFF7F700FFF7F700FFF7
+ F700B5A59400DEC6C600B5E7FF00ADDEFF00B5A59400B5A59400B5A59400B5A5
+ 9400B5A59400DEC6C60073C6FF006BC6FF00B5A59400FFFFFF00FFFFFF00B5A5
+ 94006B423100000000000000000000000000C6B5A500FFF7F700FFF7F700FFF7
+ F700B5A59400DEC6C600B5E7FF00ADDEFF00B5A59400B5A59400B5A59400B5A5
+ 9400B5A59400DEC6C60073C6FF006BC6FF00B5A59400FFFFFF00FFFFFF00B5A5
+ 94006B4231000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000018D6000018D6000018FF000018
+ D6000018D6000018FF000018FF00000000000000000000000000000000000000
+ 00000000000000000000000000000000000000000000C6B5A500B5A59400CEB5
+ A500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFF7
+ F700F7F7EF00F7EFEF00EFE7E700EFE7DE00EFDED600E7D6CE00E7D6CE00CEB5
+ A500DEC6C600D6A59C006B42310000000000C6B5A500FFFFFF00FFFFFF00B5A5
+ 9400DEC6C600C6EFFF00BDE7FF00B5E7FF00ADDEFF00A5DEFF009CDEFF0094D6
+ FF008CD6FF0084CEFF007BCEFF0073C6FF006BC6FF00B5A59400FFFFFF00B5A5
+ 94006B423100000000000000000000000000C6B5A500FFFFFF00FFFFFF00B5A5
+ 9400DEC6C600C6EFFF00BDE7FF00B5E7FF00ADDEFF00A5DEFF009CDEFF0094D6
+ FF008CD6FF0084CEFF007BCEFF0073C6FF006BC6FF00B5A59400FFFFFF00B5A5
+ 94006B4231000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000018D6000018D6000018FF000018D6000018
+ FF000018FF000018FF000018D6000018FF000000000000000000000000000000
+ 00000000000000000000000000000000000000000000C6B5A50021A5EF00CEB5
+ A500FFFFFF00FFFFFF00B5A59400B5A59400B5A59400B5A59400B5A59400B5A5
+ 9400B5A59400B5A59400B5A59400B5A59400B5A59400EFDED600E7D6CE00CEB5
+ A50021A5EF00B5A594006B42310000000000C6B5A500FFFFFF00BDA59400DEC6
+ C600D6EFFF00CEEFFF00C6EFFF00BDE7FF00B5E7FF00ADDEFF00A5DEFF009CDE
+ FF0094D6FF008CD6FF0084CEFF007BCEFF0073C6FF006BC6FF00B5A59400F7F7
+ EF006B423100000000000000000000000000C6B5A500FFFFFF00BDA59400DEC6
+ C600D6EFFF00CEEFFF00C6EFFF00BDE7FF00B5E7FF00ADDEFF00A5DEFF009CDE
+ FF0094D6FF008CD6FF0084CEFF007BCEFF0073C6FF006BC6FF00B5A59400F7F7
+ EF006B4231000000000000000000000000000000000000000000000000000000
+ 000000000000000000000018FF000018FF000018FF000018D6000018FF000000
+ 0000000000000018FF000018FF000018FF000018FF0000000000000000000000
+ 00000000000000000000000000000000000000000000C6B5A50021A5EF00CEB5
+ A500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFF7F700F7F7EF00F7EFEF00EFE7E700EFE7DE00EFDED600CEB5
+ A50021A5EF00B5A594006B42310000000000C6B5A500B5A59400DEC6C600DEF7
+ FF00DEF7FF00D6EFFF00CEEFFF00C6EFFF00BDE7FF00B5E7FF00ADDEFF00A5DE
+ FF009CDEFF0094D6FF008CD6FF0084CEFF007BCEFF0073C6FF006BC6FF00D6A5
+ 9C006B423100000000000000000000000000C6B5A500B5A59400DEC6C600DEF7
+ FF00DEF7FF00D6EFFF00CEEFFF00C6EFFF00BDE7FF00B5E7FF00ADDEFF00A5DE
+ FF009CDEFF0094D6FF008CD6FF0084CEFF007BCEFF0073C6FF006BC6FF00D6A5
+ 9C006B4231000000000000000000000000000000000000000000000000000000
+ 0000000000000018FF000018FF000018D6000018FF000018FF00000000000000
+ 000000000000000000000018FF000018FF000018FF000018FF00000000000000
+ 0000000000000000000000000000000000000000000000000000C6B5A500CEB5
+ A500CEB5A500CEB5A500CEB5A500CEB5A500CEB5A500CEB5A500CEB5A500CEB5
+ A500CEB5A500CEB5A500CEB5A500CEB5A500CEB5A500CEB5A500CEB5A500CEB5
+ A500BDA594006B4231000000000000000000C6B5A500DEC6C600DEF7FF00DEF7
+ FF00DEF7FF00DEF7FF00D6EFFF00CEEFFF00C6EFFF00BDE7FF00B5E7FF00ADDE
+ FF00A5DEFF009CDEFF0094D6FF008CD6FF0084CEFF007BCEFF0073C6FF006BC6
+ FF006B423100000000000000000000000000C6B5A500DEC6C600DEF7FF00DEF7
+ FF00DEF7FF00DEF7FF00D6EFFF00CEEFFF00C6EFFF00BDE7FF00B5E7FF00ADDE
+ FF00A5DEFF009CDEFF0094D6FF008CD6FF0084CEFF007BCEFF0073C6FF006BC6
+ FF006B4231000000000000000000000000000000000000000000000000000000
+ 00000018FF000018FF000018FF000018FF000018FF0000000000000000000000
+ 0000000000000000000000000000000000000018FF000018FF000018FF000000
+ 000000000000000000000000000000000000000000000000000000000000C6B5
+ A500DEF7FF00DEF7FF00DEF7FF00D6F7FF00C6EFFF00B5E7FF00A5DEFF009CD6
+ FF008CD6FF007BCEFF006BC6FF005ABDFF004ABDFF0042B5FF0042B5FF00B5A5
+ 94006B42310000000000000000000000000000000000C6B5A500DEF7FF00DEF7
+ FF00DEF7FF00DEF7FF00DEF7FF00D6F7FF00CEEFFF00C6EFFF00BDE7FF00B5E7
+ FF00ADDEFF00A5DEFF009CDEFF0094D6FF008CD6FF0084CEFF007BCEFF006B42
+ 31000000000000000000000000000000000000000000C6B5A500DEF7FF00DEF7
+ FF00DEF7FF00DEF7FF00DEF7FF00D6F7FF00CEEFFF00C6EFFF00BDE7FF00B5E7
+ FF00ADDEFF00A5DEFF009CDEFF0094D6FF008CD6FF0084CEFF007BCEFF006B42
+ 3100000000000000000000000000000000000000000000000000000000000018
+ FF000018FF000018FF000018FF000018FF000000000000000000000000000000
+ 000000000000000000000000000000000000000000000018FF000018FF000018
+ FF00000000000000000000000000000000000000000000000000000000000000
+ 0000C6B5A500DEF7FF00DEF7FF00DEF7FF00D6F7FF00C6EFFF00B5E7FF00A5DE
+ FF009CD6FF0094D6FF0084CEFF0073CEFF0063C6FF0052BDFF00B5A594006B42
+ 3100000000000000000000000000000000000000000000000000C6B5A500DEF7
+ FF00DEF7FF00DEF7FF00DEF7FF00DEF7FF00D6F7FF00CEEFFF00C6EFFF00BDE7
+ FF00B5E7FF00ADE7FF00A5DEFF009CDEFF0094D6FF008CD6FF006B4231000000
+ 0000000000000000000000000000000000000000000000000000C6B5A500DEF7
+ FF00DEF7FF00DEF7FF00DEF7FF00DEF7FF00D6F7FF00CEEFFF00C6EFFF00BDE7
+ FF00B5E7FF00ADE7FF00A5DEFF009CDEFF0094D6FF008CD6FF006B4231000000
+ 00000000000000000000000000000000000000000000000000000018FF000018
+ FF000018FF000018FF000018FF00000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000018
+ FF00000000000000000000000000000000000000000000000000000000000000
+ 000000000000C6B5A500DEF7FF00DEF7FF00DEF7FF00DEF7FF00CEEFFF00BDE7
+ FF00ADE7FF009CDEFF0094D6FF0084CEFF0073CEFF00B5A594006B4231000000
+ 000000000000000000000000000000000000000000000000000000000000C6B5
+ A500DEF7FF00DEF7FF00DEF7FF00DEF7FF00DEF7FF00D6F7FF00CEEFFF00C6EF
+ FF00BDE7FF00B5E7FF00ADE7FF00A5DEFF009CDEFF006B423100000000000000
+ 000000000000000000000000000000000000000000000000000000000000C6B5
+ A500DEF7FF00DEF7FF00DEF7FF00DEF7FF00DEF7FF00D6F7FF00CEEFFF00C6EF
+ FF00BDE7FF00B5E7FF00ADE7FF00A5DEFF009CDEFF006B423100000000000000
+ 000000000000000000000000000000000000000000000018FF000018FF000018
+ FF000018FF000018FF0000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000C6B5A500DEF7FF00DEF7FF00DEF7FF00DEF7FF00CEEF
+ FF00BDE7FF00ADE7FF009CDEFF0094D6FF00B5A594006B423100000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000C6B5A500DEF7FF00DEF7FF00DEF7FF00DEF7FF00DEF7FF00D6F7FF00CEEF
+ FF00C6EFFF00BDE7FF00B5E7FF00ADE7FF006B42310000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000C6B5A500DEF7FF00DEF7FF00DEF7FF00DEF7FF00DEF7FF00D6F7FF00CEEF
+ FF00C6EFFF00BDE7FF00B5E7FF00ADE7FF006B42310000000000000000000000
+ 000000000000000000000000000000000000000000000018FF000018FF000018
+ FF000018FF000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000C6B5A500DEF7FF00DEF7FF00DEF7FF00DEF7
+ FF00CEEFFF00BDE7FF00ADE7FF009CDEFF006B42310000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000C6B5A500DEF7FF00DEF7FF00DEF7FF00DEF7FF00DEF7FF00D6F7
+ FF00CEEFFF00C6EFFF00BDE7FF006B4231000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000C6B5A500DEF7FF00DEF7FF00DEF7FF00DEF7FF00DEF7FF00D6F7
+ FF00CEEFFF00C6EFFF00BDE7FF006B4231000000000000000000000000000000
+ 000000000000000000000000000000000000000000000018FF000018FF000018
+ FF00000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C6B5A500C6B5A500C6B5A500C6B5
+ A500C6B5A500C6B5A500C6B5A500C6B5A5000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000C6B5A500DEF7FF00DEF7FF00DEF7FF00DEF7FF00DEF7
+ FF00D6F7FF00CEEFFF006B423100000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000C6B5A500DEF7FF00DEF7FF00DEF7FF00DEF7FF00DEF7
+ FF00D6F7FF00CEEFFF006B423100000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000C6B5A500C6B5A500C6B5A500C6B5A500C6B5
+ A500C6B5A500C6B5A50000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000C6B5A500C6B5A500C6B5A500C6B5A500C6B5
+ A500C6B5A500C6B5A50000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000424D3E000000000000003E000000
+ 2800000060000000480000000100010000000000600300000000000000000000
+ 000000000000000000000000FFFFFF0000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000FFFFFF000000000000000000FFFFFF00
+ 0000000000000000C00003000000000000000000C00003000000000000000000
+ C00003000000000000000000C00003000000000000000000C000030000000000
+ 00000000C00003000000000000000000C00003000000000000000000C0000300
+ 0000000000000000C00003000000000000000000C00003000000000000000000
+ C00003000000000000000000C00003000000000000000000C000030000000000
+ 00000000C00000000000000000000000C00000000000000000000000C0000000
+ 0000000000000000C00000000000000000000000C00000000000000000000000
+ C00000000000000000000000FFFE00000000000000000000FFFE000000000000
+ 00000000FFFE00000000000000000000FFFFFFFFFFDFFFFFDFFFFFFF800001FF
+ FF9FFFFFCFFFFFF9800001FFFF00FFF807FFFFF1800001000000000003C7FFE3
+ 800001000000000001C3FF87800001000000000000C1FF0F8000010000000000
+ 01E0FE1F800001000000000003F07C3F800001000000000007FC307F80000100
+ 0007000007FE00FF800001000007000007FF01FF800001000007000007FF83FF
+ 800001000007000007FF01FF800001000007000007FE00FF8000010000070000
+ 07FC187F800001000007000007F83C3FC00003000007000007F07F1FE0000780
+ 000F80000FE0FF8FF0000FC0001FC0001FC1FFEFF8001FE0003FE0003F83FFFF
+ FC003FF0007FF0007F87FFFFFE007FF800FFF800FF8FFFFFFF00FFFC01FFFC01
+ FFFFFFFFFFFFFFFE03FFFE03FFFFFFFF00000000000000000000000000000000
+ 000000000000}
+ end
+end
diff --git a/official/2.20/Lib/D10/SenhaForm_U.dfm b/official/2.20/Lib/D10/SenhaForm_U.dfm
new file mode 100644
index 0000000..3ad53eb
--- /dev/null
+++ b/official/2.20/Lib/D10/SenhaForm_U.dfm
@@ -0,0 +1,73 @@
+object SenhaForm: TSenhaForm
+ Left = 355
+ Top = 241
+ ActiveControl = edtSenha
+ BorderStyle = bsDialog
+ Caption = 'Digitar Senha...'
+ ClientHeight = 145
+ ClientWidth = 244
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ OldCreateOrder = False
+ Position = poMainFormCenter
+ OnClose = FormClose
+ OnCloseQuery = FormCloseQuery
+ OnCreate = FormCreate
+ OnShow = FormShow
+ PixelsPerInch = 96
+ TextHeight = 13
+ object LabelSenha: TLabel
+ Left = 16
+ Top = 7
+ Width = 30
+ Height = 13
+ Caption = 'Senha'
+ end
+ object LabelConfirma: TLabel
+ Left = 16
+ Top = 51
+ Width = 30
+ Height = 13
+ Caption = 'Senha'
+ end
+ object edtSenha: TEdit
+ Left = 16
+ Top = 23
+ Width = 217
+ Height = 21
+ Ctl3D = True
+ ParentCtl3D = False
+ PasswordChar = '*'
+ TabOrder = 0
+ end
+ object edtConfirmaSenha: TEdit
+ Left = 16
+ Top = 67
+ Width = 217
+ Height = 21
+ Ctl3D = True
+ ParentCtl3D = False
+ PasswordChar = '*'
+ TabOrder = 1
+ end
+ object btnOK: TBitBtn
+ Left = 44
+ Top = 108
+ Width = 75
+ Height = 25
+ TabOrder = 2
+ Kind = bkOK
+ end
+ object BtCancel: TBitBtn
+ Left = 124
+ Top = 108
+ Width = 75
+ Height = 25
+ TabOrder = 3
+ Kind = bkCancel
+ end
+end
diff --git a/official/2.20/Lib/D10/TrocaSenha_U.dfm b/official/2.20/Lib/D10/TrocaSenha_U.dfm
new file mode 100644
index 0000000..5bdaf68
--- /dev/null
+++ b/official/2.20/Lib/D10/TrocaSenha_U.dfm
@@ -0,0 +1,350 @@
+object TrocaSenha: TTrocaSenha
+ Left = 398
+ Top = 263
+ ActiveControl = EditAtu
+ BorderStyle = bsDialog
+ Caption = 'Seguran'#231'a'
+ ClientHeight = 163
+ ClientWidth = 353
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ OldCreateOrder = False
+ OnActivate = FormActivate
+ OnClose = FormClose
+ OnCloseQuery = FormCloseQuery
+ PixelsPerInch = 96
+ TextHeight = 13
+ object Panel1: TPanel
+ Left = 0
+ Top = 0
+ Width = 353
+ Height = 35
+ Align = alTop
+ BevelOuter = bvNone
+ Color = clWhite
+ TabOrder = 0
+ object lbDescricao: TLabel
+ Left = 47
+ Top = 11
+ Width = 124
+ Height = 18
+ Caption = 'Trocar Senha '
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -16
+ Font.Name = 'Verdana'
+ Font.Style = [fsBold]
+ ParentFont = False
+ end
+ object Image1: TImage
+ Left = 8
+ Top = 4
+ Width = 28
+ Height = 28
+ AutoSize = True
+ Picture.Data = {
+ 07544269746D6170760C0000424D760C00000000000036000000280000001C00
+ 00001C0000000100200000000000400C00000000000000000000000000000000
+ 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FEFEFE00F9F9F900F1F1F100EAEA
+ EA00E3E3E300E0E0E000DEDEDE00DFDFDF00D3D0CD0077594300694731006947
+ 310069473100D8D1CD00FAFAFA00FEFEFE00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F6F6F600C5C7
+ C5008E9F91006E8A70005E815C00527B4F004E7C4A004B7C48004A7C47004B7B
+ 480074574100EAD3BB00F4CA9F00E8BB8E0069473100626B570078817500A19F
+ 9F00D4D4D400FAFAFA00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00F2F4F30074967100487638004E7C35004E8334004B893300488E
+ 31004592300044962F0043972F0043982F00A08C7D00F3EEEB00FEF3E300FEE6
+ CA00DFBF9A0069473100694731004C663600526C5200A9A9A900FAFAFA00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0094B3910058743900537B
+ 36004E8334004A8A33004690310043962F00409B2E003E9F2D003DA12D003DA1
+ 2D00519F3E00A08C7D00EEEAE500FEF5EA00FCE6CB00E2B8900069473100545E
+ 2E00566736005A6F5700E5E5E500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00688D5B0055783700508035004B8833004790310043982F003F9E
+ 2D003BA42C0039A82B0037AB2A0037AB2A0038A92B004B9E3800A08C7D00EAE7
+ E200FEF7EC00FCE8CC00D8B99400694731006947310054664600DEDEDE00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF005E875100527C36004D84
+ 3400488D320044962F003F9E2E003BA52C0037AC2A0034B1290032B4280032B5
+ 280033B3280035AD2A004B9E3800A08C7D00E7E4DE00FDFAEF00FBE8CD00DEB6
+ 8F0069473100535B3C00BEB7B400D4CCC900D3CBC800D9D2D000F9F9F800FFFF
+ FF00FFFFFF00729A6800507F35004B88330046913100419A2E003CA32C0037AB
+ 2A0033B328002FB927002DBE25002CBF25002EBC260031B6270036AD29004D9A
+ 3700A08C7D00E6E3DE00FEF9EF00FBE8CF00D4B6900069473100694731006947
+ 31006947310069473100CFC5C000FCFCFC00FFFFFF00A5C6A700508136004A8A
+ 3300449330003F9D2E003AA62B0035AF290030B827002BBF250035B237002BBB
+ 2B0029C324002DBC260034B3280038A72A0050943900A08C7D00E4E1DA00FBF4
+ EA00F8E3C700E6C39D00DFBB9100E1BD9300E3BE9300DAB2890069473100D8CF
+ C900FFFFFF00F6FAF70058904D00498B3200449530003E9E2D0039A82B0034B2
+ 28002EBB26004BA34E00DEE0DF00DDEADF0044BB47002BC0250031B6270037AD
+ 2B003D9F2B00588D3F00A08C7D00F4EADE00FEF2E200FDEBD300FCE8CD00FCE5
+ C700FCE3C200FFE1BB00DFBB950069473100FFFFFF00FFFFFF00D4E4D6004A8E
+ 3D00449530003E9E2D0039A82B0034B129002FA92C00A4B0A700E5E6E600E8E9
+ E900CFDED20035B3340031B6270036AC2A003CA22C004E8F3800A08C7D00F0E5
+ D700FDF1E100FBE7D300FAE4CD00FBE1C600FBDCBE00EED2B300F5D0A9006947
+ 3100FFFFFF00FFFFFF00FFFFFF00D2E4D4004E984500409C2E003AA52C0035AE
+ 2900518B5400989B9F00798A96006B7F8C00757E85005B7F5D002D9E240038A9
+ 2A003DA12D00508D3B00A08C7D00F1E6D700FCEDD900FAE1C900FBDFC300FCDD
+ BD00E0C2A600AA907B00EBC49F0069473100FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00EDF4EF007BB57B003A9D2E00319131004F7C93004992C5004A98CF004897
+ CE004592C800437DA400235437002C7F22004B9B4500A6B69E00A08C7D00F3E8
+ D800FBEAD300FADDC000FADABA00DFC1A3009A806C008D6A5000EEC69F006947
+ 3100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00BDD3C7004C90
+ AF0052A0D60052A0D500519FD4004F9DD3004C9AD1004997CE00438CBF004363
+ 6700C1C2C100E6E2DF00A08C7D00E8DBCB00FDE9D100FDE2C300EFD4B800AD96
+ 85008E705A00D9C19B00E1BC970069473100FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00F5F6F70072ABD00056A4D90056A4D90056A4D90055A3D80054A2
+ D70052A0D5004F9DD3004B99D000468DC000727D8400E5E4E300E2DDD900A08C
+ 7D00ECDFD100F9EEE000F4E7DA00F0E3D700F0E6D900E6D9CB0069473100E7E3
+ DF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A2C4DC005AA6DB005BA8
+ DC005BA8DC005BA8DC005AA7DB0058A5DA0056A4D90053A1D600509ED4004B9A
+ D0004C7FA500ADADAD00FCFCFB00E6E1DE00A08C7D00A08C7D00A08C7D00A08C
+ 7D00A08C7D00A08C7D00EDEAE600FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00E9EEF4005FA7D7005EABDF005FACE0005FACE0005FACE0005EABDF005CA9
+ DD005AA7DB0057A4D90054A2D700509ED4004A95CA0076828B00F0F0F000FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00ADCDE20060ACE00061AEE20063B0
+ E30063B0E30063B0E30061AEE2005FACE0005DAADE005AA7DC0056A4D90053A1
+ D6004E9DD3005B7E9600DADADA00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF007EB5DA0063B0E30065B2E50067B4E70068B4E70067B4E60065B2E50063B0
+ E30060ADE1005DAADE0059A7DB0055A3D800519FD5004F84A800C5C5C500FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FAFBFC0064AAD80066B3E60069B5E8006BB7
+ E9006CB8EA006BB7E90069B5E80066B3E60062AFE3005FACE0005BA8DC0057A5
+ DA0053A1D6004E8DBB00B8B8B800FEFEFE00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00EDF2
+ F50062A9D9005696BF00538EB5005E9FC9006BB4E3006EBAEC006CB8EA0069B5
+ E70064B1E40060ADE1005DAADE0059A6DB0054A2D7004E91C000B8B8B800FEFE
+ FE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00F1F5F9004F8FB9004385AF004485AE003F79
+ 9D003E708F004B7FA00062A5D10069B5E60066B3E60062AFE2005EABDF0059A7
+ DB0053A0D4004D88B200C4C4C400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF005490B8004D94C1004F96C3005097C3004E95C200488BB5003D7192004375
+ 95005B9FCD0061AEE1005DAADE004C8FBC003B779D003C627A00D0D0D000FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0084B1CD00569ECB0058A0CE0059A1
+ CE00579FCC00539BC8004E95C2004689B300386A8A00447B9F004786B0003C7F
+ A9003C81AC005C7A8B00EDEDED00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00C3D8E5005EA5D30061AAD80062ABD9005FA8D6005BA3D100559DCA004E95
+ C200478DB9003D7DA6003C7FAA003D82AD003C7CA200A3AAAE00FDFDFD00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FCFDFE0079B1D5006AB4E2006AB5
+ E30067B1DF0062ABD9005BA3D000539AC7004B91BE004388B4003D82AD003C81
+ AC0062849A00ECECEC00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00DDE9F00075B9E40073BEED006EB9E80067B1DF005FA7D500569E
+ CB004D94C100458BB7003D82AE005584A200D8DBDD00FEFEFE00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D8E7F1007FBF
+ E80072BDEC0069B3E20061A9D70058A0CD004F96C2004689B5006994B000DCDF
+ E300FEFEFE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00F4F7FA00B2D0E30085B8D80070A9CE0071A6
+ C70087AFC900C3D1DB00FAFAFA00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00}
+ end
+ end
+ object Panel3: TPanel
+ Left = 256
+ Top = 35
+ Width = 97
+ Height = 128
+ Align = alRight
+ BevelOuter = bvNone
+ TabOrder = 1
+ object btGrava: TBitBtn
+ Left = 8
+ Top = 32
+ Width = 81
+ Height = 25
+ Caption = '&Gravar'
+ TabOrder = 0
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF
+ 6D422F6D422F6D422F6D422F6D422F6D422F6D422F6D422F6D422F6D422F6D42
+ 2F6D422F6D422F6D422FFF00FFFF00FF69696969696969696969696969696969
+ 6969696969696969696969696969696969696969696969696969FF00FFCE726F
+ D19792CB8E8A715A48C0B2ABC4BCB8CAC1BCCAC1BCCAC1BCCAC1BC8C76679443
+ 409443409443406D422FFF00FF9A9A9AB4B4B4AEAEAE7D7D7DC6C6C6CECECED2
+ D2D2D2D2D2D2D2D2D2D2D2969696707070707070707070696969FF00FFCE726F
+ D79F9BD19792715A482E1F185F5046FFFFFFFFFFFFFFFFFFF0E4DE8C76679747
+ 449443409443406D422FFF00FF9A9A9ABBBBBBB5B5B57C7C7C434343747474FF
+ FFFFFFFFFFFFFFFFECECEC969696747474707070707070696969FF00FFCE726F
+ DDA8A3D79F9B715A480A0A0A36241BFFFFFFF7F1EEF0E4DEE1CABD8C76679E50
+ 4D9747449443406D422FFF00FF9A9A9AC1C1C1BBBBBB7D7D7D2A2A2A4A4A4AFF
+ FFFFF6F6F6ECECECD8D8D89595957C7C7C757575707070696969FF00FFCE726F
+ E3B0ABDDA8A3715A48715A48715A48715A48715A48715A48715A48715A48A459
+ 569E504D9747446D422FFF00FF9A9A9AC8C8C8C1C1C17D7D7D7D7D7D7D7D7D7C
+ 7C7C7D7D7D7D7D7D7D7D7D7D7D7D8383837C7C7C747474696969FF00FFCE726F
+ EDBDB8E7B5B0E0ACA7DAA49FD49B97CB8E8AC58682BF7E79B97571B26B68AB62
+ 5FA459569E504D6D422FFF00FF9A9A9AD2D2D2CCCCCCC4C4C4BEBEBEB8B8B8AE
+ AEAEA8A8A8A1A1A19A9A9A9292928B8B8B8484847B7B7B696969FF00FFCE726F
+ F0C1BCEDBDB8E7B5B0E0ACA7DAA49FD49B97CE938EC88A86C2827EBC7975B26B
+ 68AB625FA459566D422FFF00FF9A9A9AD4D4D4D2D2D2CBCBCBC4C4C4BFBFBFB8
+ B8B8B1B1B1ABABABA5A5A59D9D9D9292928B8B8B848484696969FF00FFCE726F
+ F0C1BCF0C1BCC8635CC8635CC8635CC8635CC8635CC8635CC8635CC8635CC863
+ 5CB5706CAE67636D422FFF00FF9A9A9AD4D4D4D5D5D58E8E8E8E8E8E8E8E8E8E
+ 8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E9696968E8E8E696969FF00FFCE726F
+ F0C1BCC8635CFAF5F3F6EEEAF2E7E2EEE2DAEBDCD3E7D6CBE4D0C4E1CABDE1CA
+ BDC8635CB5706C6D422FFF00FF9A9A9AD4D4D48E8E8EF8F8F8F3F3F3EEEEEEEA
+ EAEAE6E6E6E1E1E1DDDDDDD8D8D8D8D8D88E8E8E969696676767FF00FFCE726F
+ F0C1BCC8635CFFFFFFFCF8F7F8F1EEF4EAE6F0E4DEECDFD6E9D9CFE6D3C8E2CD
+ C0C8635CBC79756D422FFF00FF9A9A9AD5D5D58E8E8EFFFFFFFAFAFAF6F6F6F1
+ F1F1ECECECE7E7E7E3E3E3DFDFDFDADADA8E8E8E9D9D9D696969FF00FFCE726F
+ F0C1BCC8635CFFFFFFFFFFFFFCF8F7F8F1EEF4EAE6F0E4DEECDFD6E9D9CFE6D3
+ C8C8635CC2827E6D422FFF00FF9A9A9AD4D4D48D8D8DFFFFFFFFFFFFFBFBFBF6
+ F6F6F0F0F0ECECECE7E7E7E3E3E3DFDFDF8E8E8EA5A5A5696969FF00FFCE726F
+ F0C1BCC8635CFFFFFFFFFFFFFFFFFFFCF8F7F8F1EEF4EAE6F0E4DEECDFD6E9D9
+ CFC8635CC88A866D422FFF00FF9A9A9AD4D4D48E8E8EFFFFFFFFFFFFFFFFFFFB
+ FBFBF5F5F5F1F1F1ECECECE8E8E8E3E3E38E8E8EABABAB696969FF00FFCE726F
+ F0C1BCC8635CFFFFFFFFFFFFFFFFFFFFFFFFFCF8F7F8F1EEF4EAE6F0E4DEECDF
+ D6C8635CD197926D422FFF00FF9A9A9AD4D4D48E8E8EFFFFFFFFFFFFFFFFFFFF
+ FFFFFBFBFBF6F6F6F1F1F1ECECECE7E7E78E8E8EB5B5B5696969FF00FFCE726F
+ F0C1BCC8635CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF8F7F8F1EEF4EAE6F0E4
+ DEC8635C0A0A0A6D422FFF00FF9A9A9AD4D4D48E8E8EFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFBFBFBF6F6F6F1F1F1ECECEC8E8E8E2A2A2A676767FF00FFCE726F
+ F0C1BCC8635CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF8F7F8F1EEF4EA
+ E6C8635CC88A866D422FFF00FF9A9A9AD5D5D58E8E8EFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFBFBFBF5F5F5F1F1F18E8E8EABABAB696969FF00FFCE726F
+ CE726FCE726FCE726FCE726FCE726FCE726FCE726FCE726FCE726FCE726FCE72
+ 6FCE726FCE726FCE726FFF00FF9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+ 9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A}
+ NumGlyphs = 2
+ end
+ object btCancel: TBitBtn
+ Left = 8
+ Top = 72
+ Width = 81
+ Height = 25
+ Caption = '&Cancelar'
+ TabOrder = 1
+ OnClick = btCancelClick
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFC066148E4019
+ 8E40198E40198E40198E40198E40198E40198E40198E40198E40198E40198E40
+ 198E40198E4019FF00FF8888886969696969696969696969696969696A6A6A69
+ 69696969696969696A6A6A6969696969696A6A6A696969FF00FFC06614F9F5F4
+ C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2
+ A5C3B2A58E4019FF00FF888888F8F8F8C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6
+ C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6696969FF00FFC06614FCFAFA
+ F9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCDFD0C7DFD0C7DCCB
+ C1C3B2A58E4019FF00FF888888FCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEAEAEAE7
+ E7E7E4E4E4E0E0E0DDDDDDDDDDDDD9D9D9C6C6C6696969FF00FFC06614FFFFFF
+ FCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCE2D4CCDFD0
+ C7C3B2A58E4019FF00FF888888FFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEA
+ EAEAE7E7E7E3E3E3E0E0E0E0E0E0DDDDDDC6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E5D9D1E2D4
+ CCC3B2A58E4019FF00FF888888FFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EE
+ EEEEEAEAEAE7E7E7E3E3E3E3E3E3E0E0E0C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E9DED7E5D9
+ D1C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1
+ F1F1EEEEEEEAEAEAE7E7E7E7E7E7E3E3E3C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F2EBE8EEE6E2ECE2DCECE2DCE9DE
+ D7C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFBFBFBF7
+ F7F7F1F1F1EEEEEEEAEAEAEAEAEAE7E7E7C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF0E9E5F0E9E5EDE4
+ DFC3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFB
+ FBFBF7F7F7F3F3F3F0F0F0F0F0F0ECECECC6C6C66A6A6AFF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF4EEEBF0E9
+ E5C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE
+ FEFEFBFBFBF7F7F7F3F3F3F3F3F3F0F0F0C6C6C66A6A6AFF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F78A9DE92546CD1D3F
+ C9193BC8183BC88194E1898989FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFEFEFEFAFAFAC6C6C6979797929292929292929292C0C0C0C06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFD3355DBF2F4FD4E6B
+ D94A67D8F2F4FD183BC8888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFEFEFEA1A1A1FAFAFAAAAAAAA8A8A8F9F9F9929292C066148E4019
+ 8E40198E40198E40198E40198E40198E40198E40198E40193C5CDD8296E4D9DF
+ F9CDD5F74C69D81A3CC88888886969696969696969696A6A6A69696969696969
+ 6969696969696969A5A5A5C1C1C1EDEDEDE7E7E7A8A8A8929292C06614ED9733
+ ED9733ED9733ED9733ED9733ED9733ED9733F6CA9AED97334563E16980E2E4E8
+ FBD8DEF9516DDA1F40C9888888ACACACACACACADADADADADADADADADACACACAD
+ ADADD5D5D5ADADADA8A8A8B6B6B6F2F2F2ECECECABABAB939393F810DCC06614
+ C06614C06614C06614C06614C06614C06614C06614C066144D6AE3F2F4FD667D
+ E26E85E2F2F4FD2749CEEF14EF88888888888888888888888889898988888888
+ 8888888888898989ACACACF9F9F9B5B5B5B9B9B9F9F9F9989898FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF9AABEF4D6AE34563
+ E14463DF3E5EDE8FA2EBFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFCFCFCFACACACA8A8A8A8A8A8A6A6A6C9C9C9}
+ NumGlyphs = 2
+ end
+ end
+ object Panel2: TPanel
+ Left = 0
+ Top = 35
+ Width = 256
+ Height = 128
+ Align = alClient
+ BevelInner = bvRaised
+ BevelOuter = bvLowered
+ TabOrder = 2
+ object lbSenhaAtu: TLabel
+ Left = 34
+ Top = 27
+ Width = 64
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'Senha Atual :'
+ end
+ object lbNovaSenha: TLabel
+ Left = 32
+ Top = 57
+ Width = 66
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'Nova Senha :'
+ end
+ object lbConfirma: TLabel
+ Left = 51
+ Top = 88
+ Width = 47
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'Confirma :'
+ end
+ object EditAtu: TEdit
+ Left = 103
+ Top = 24
+ Width = 121
+ Height = 21
+ Ctl3D = True
+ MaxLength = 10
+ ParentCtl3D = False
+ PasswordChar = '*'
+ TabOrder = 0
+ end
+ object EditNova: TEdit
+ Left = 103
+ Top = 54
+ Width = 121
+ Height = 21
+ Ctl3D = True
+ MaxLength = 10
+ ParentCtl3D = False
+ PasswordChar = '*'
+ TabOrder = 1
+ end
+ object EditConfirma: TEdit
+ Left = 103
+ Top = 85
+ Width = 121
+ Height = 21
+ Ctl3D = True
+ MaxLength = 10
+ ParentCtl3D = False
+ PasswordChar = '*'
+ TabOrder = 2
+ end
+ end
+end
diff --git a/official/2.20/Lib/D10/UCAbout.dfm b/official/2.20/Lib/D10/UCAbout.dfm
new file mode 100644
index 0000000..5cccd28
--- /dev/null
+++ b/official/2.20/Lib/D10/UCAbout.dfm
@@ -0,0 +1,835 @@
+object AboutForm: TAboutForm
+ Left = 296
+ Top = 71
+ BorderStyle = bsNone
+ Caption = 'About User Control'
+ ClientHeight = 520
+ ClientWidth = 506
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clBlack
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ OldCreateOrder = False
+ Position = poMainFormCenter
+ OnClose = FormClose
+ OnCreate = FormCreate
+ OnShow = FormShow
+ PixelsPerInch = 96
+ TextHeight = 13
+ object pnlFundo: TPanel
+ Left = 0
+ Top = 0
+ Width = 506
+ Height = 520
+ Align = alClient
+ Caption = 'pnlFundo'
+ Color = 6435072
+ TabOrder = 0
+ object Image4: TImage
+ Left = 1
+ Top = 1
+ Width = 28
+ Height = 518
+ Align = alLeft
+ Center = True
+ Picture.Data = {
+ 0A544A504547496D6167653C0D0000FFD8FFE000104A46494600010200006400
+ 640000FFEC00114475636B79000100040000003C0000FFEE000E41646F626500
+ 64C000000001FFDB0084000604040405040605050609060506090B080606080B
+ 0C0A0A0B0A0A0C100C0C0C0C0C0C100C0E0F100F0E0C1313141413131C1B1B1B
+ 1C1F1F1F1F1F1F1F1F1F1F010707070D0C0D181010181A1511151A1F1F1F1F1F
+ 1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F
+ 1F1F1F1F1F1F1F1F1F1F1F1FFFC00011080206001903011100021101031101FF
+ C4008C0001000203010100000000000000000000000608030507020401010101
+ 0101010100000000000000000000050304020106100001040103030303020505
+ 010000000002000103040511120621130731412251321461718123331508A142
+ 53D3941611000202020200050303050000000000000001110212032131416122
+ 320451711381D162F091B1C152FFDA000C03010002110311003F00E14BF4A7E7
+ 8200802008020080200802008020080200802008020080200802008020080200
+ 8020080200802008020080200802008020080200802008020080200802008020
+ 0802008020080200802008020080200802008020080200802008020080200802
+ 0080200802008020080D8C5C6F914D40723162EDC98F32D83702094A172EBD1A
+ 461DBAFC5FDD79CEB313C9EB071306B97A3C8407BAEF0B4F1BCCCE50B10F705B
+ D5C75EADEDEC8CFA8BAB34395CD556CB60B3D8C1E2F05AC65CC29308B4756A56
+ 8DC6E01B3069B8B5F8B1136DF4F8BB2869AAF0D3CB99FF00458E5F29AC7882A7
+ F942F616FF009073D7309B1F1935B32AE51F402F4DE63A69F133DC4DFBAAFA13
+ 5449F64BDCD3BB8E88BAD4C8CD4BA5C83A8B7F303A9FDBF737DDFA23E8FA8B87
+ 94CB66A9F912971DAFE3F86EE0657802C67E3ACCD1334A22F24AC4C05180C6EE
+ FA8916AFA28B5AA74CB2E7E856766AF18F1F539BF9E70D8F9F85499C9B114B19
+ 93A3C826C555B7480631B950024D4C845FEE69237176277DAE25A7AAEAF8B679
+ 44B6B19FB1CFF26AB198873057E540E0325785E7B1142CFA3CA620CEFEDB9F44
+ 6CFA8B891C984E378C3E3D6796E74E3C558A589BD20F61CA396E44270BB49D82
+ 9C22262666713F8FA28BCD9E58D799656E2AA25F1C15B3CAF6F235B95E438D3C
+ F6870D85B53478EA1665EE76D8C9E4291F422622948DCDCDDF73EBD554F8E93A
+ AB78B276F6F275F044296C6264ADB3F262EE1BC71EF1DE63D1C5B5EAEDFB233E
+ A2D750A3E4FC772DB3C8AC720C44FC325A15E27E437F6BC735688CE5AF23C511
+ C4CF623794BE5B840B5D7D7A3486F5BAE30F29E8A895D5A65631D95C3C8D91A5
+ 92E739ABF4AE9646AD9B4724574DB6BCACFA7CB6ED0D1B5FB5B4F454F4A6A893
+ E09DB5A766D11C5A1992FF001D734C4F19B371F21C6297267BAD184115E103ED
+ 10B96AF1EF8E5EA7B9B5D3E8B1DDA9DBA6EA6DAB62AF6A4B10FCB1AA720C5F8D
+ B23C5B8ED1872959EDCB8F79A32A90CE4E651C1243D910294CC01FA0FF00BB56
+ DDA759BF8E6AEEAD6E0EFCE1AA355E4AD5E43866839BE6A19B1B062258AD1816
+ 36AE9D88B6F4D22DA20DB1FD5BE2DEAAA697E85CC93B6FB9F1047568667A8A53
+ 8A50941F438C9885FF00567D590FA5BB8F8AE3F915EA1CEB31E3EC90F2A1182C
+ 1C51DAA610CB3C203DA22096DC6ECC3B47A1833F4F933FBC7FC8EA9D15963FAF
+ EC55C159E4EAF2FEBCCAD7E52B399B3E41CECF9A802B648ED13CF5A3369063D1
+ 99823636E85B4346D7DD53D092A28E89DB9B7773D9165A991F760E8E4EEE56B4
+ 18CA735FB9BD8E3A95C0A490F63EE7D04189FD1BE8BE59A4B9E0F554DBE0B379
+ 5F21F1D9395E4A96733797E31159FEDD98A1F990CF5A4AF3D6DD158A8D1EDEB1
+ CB180BF4D409DC9F577F5955D36C53495BB452B6D5934DB5D32BBF90F2F8ACCF
+ 39CE657122ED8EB972596B39338B90917DFB5D99DB7BFCB47F4D552D3575A24F
+ B27EDB2766D11E5A199DB3FC6CAF95FC7E6B7305004DC8E0C68478873D9D2595
+ E47666791C43A900FDCFA74EAB87E6B5E94FDB3C9DBF113F535DC12BF23F8FBC
+ B1CCFC79C60723891B5CC284F647245DEA719764C9FB65B86408BE4221AB0BFA
+ B6AB2D3BB5D2EE1FA7F535DBAB65E8A57A8AEB9BC2E4F0995B389CA43F8F90A6
+ 7DBB30EE03DA4CDAE9B81C85FD7D9D52AD9594AE89F6ABAB867C4BE9E495703A
+ 1E49B72DC6E10591194043F3BFB6CD240FB5DCBB7DCD841AF5DDA2CB6BA2F7C7
+ EA6BA95DFB6497FF00F3FF00E4DFFCBC93FF00758FFB5639E8FE3FD8DB1DDFC8
+ E6DC861CEC39BB9167DE77CC048ED75ED1BC937734EBBC89C9DDFF008AE9A351
+ C74735E679ECD7AF479371C6F92F27C2D920C0E4EC6365B8E11CA55E428B7E8F
+ F1DCE3F4725E2F4ADBB527BA5ECBA7059CB5CA38871EE454BC7D98CC723BFC92
+ CF62BCB9A8EDD8001B16B6B46EC2D308336A7AFF0048B4F7D7AA96B5DAD5774A
+ B8FD0A4EF5ABC1BB495BFC938AC86279DE6B1D90BA792B75EC909DE95F7492B3
+ B33819BEAFF27076DCDECEA9E9B2744D2827EEAB5669F246D68647B86369268E
+ 37776632617766727EAFA7416F5FD919F4B65CB737E42E3F93823A1C28796D9A
+ D5C1B19CAA6AECF6BA8B7F58631736317FBBAC7AFD1948D75A59736C7C8A97B5
+ EAF8AE5E655DE4F26765E43919B3E12479A967392F84A3DB3694DF716A1A36DF
+ 5F4556918A8E89B79973D9AC5E8F049FC778EE2190E4215F946525C454D37C17
+ 220DE3DD1267603666776626D7426F7596EB5957D2A4D752AB7EA70596CFE678
+ CD5E55213791F214EAC12425261E0196D40C2C00441F90C3293F73D5FE7AB6BA
+ 74D14CA56CEBEC5F728DAD556F732B4F93F298ECAF9033990C69C9251B1688A0
+ 925636321D19B73B49A1B6BA6ADBBAE8A9E8AB544993B7593BB688C2D4C8CB50
+ 58ED422E1DC629059E3D74DDABB7C75FD51F47D45C1E645E7DAF9B28785D1C70
+ 71C08616A509F64648F48D98C2463366DC27AB36CF8EDD3F551B5FE16BD4DE45
+ 6D9F967D310559E7E5C84B99658B91880671E77FCF18B6EC69346D76ED771F4F
+ A2ABAB1C563D1336CE4E7B23EB4333DD70739E306368DC885B7BF461D5F4D7F8
+ 233EA2D1DECB78FF008C72DC7F8CECE172193B56FF001E09F347626EF1496599
+ 9A407DDBF4F96A5B09987AE8DD14A55BDAAF64A5E45276A56CA90DF995F3C8F8
+ 40C1F3ACD6242C9DC8E9DA300B1296F9087A38B197B90B3ED7FD551D36CA899C
+ 1B6B8D9A238B433265E30F1B5BE7396B307E6478DC5E3A17B393C94ADA8C5175
+ D3A3B8B6AFA3FA9333333BFB2C77EE5AD7D5B36D3A737F4475FF0014F94B9C72
+ 0BB73889663111DFA15E4870D9AB913CD3D8900D8044749A31937036EDCC2EFD
+ 357625C5BF452AB287E68EBD3BAD678CAFB9C0F95D3CDD3E4D94AB9D32933115
+ 9946FCA64E4E736E7DC7B9FEE627EACFF45475B4EAA3A386E9AB39ECD52F4783
+ A7784798719C4CB9FE3BC9E52AB85E514DAA4D7475FE5482C620E5B59DD85DA6
+ 2EBECFA6BD3576E5F95AECE2D5EEA74FC7D9552ADD589771BF18F8C7886729F2
+ AC9790F1F90A18C95ADD6AB57B7DE98E17DC1A34534A6FB4D9B51117D7D3A2C6
+ FBF65D62A8D49B534D28F2765C1C8B9F7261E51CCB2F9E08DE28AFD829218CB4
+ DC31333046C5A74DDB05B5FD5766AA61548E4DB7CACD9A05A19992BC6D2D88A3
+ 7D7433117DADABF57D3A3233EA3AEF3DFF001D396D1E4071F11C5DAC8E08E309
+ 2BD89A581A56221D4C0C5DE126DAFD3A8AE3D5F32AEBEA70CEADBF12C9FA5707
+ 29CBE232387C9D8C664A07AD7EA1F6EC404ECEE24DD74D45DDBFD575D6CACA51
+ CD6AB4E19F22FA7932550924B30C7196C90CC440F576D09DF467D5919F516DF2
+ 54AA6287FB235EE5172DE3AFE32A64725FDC6F3CB69AF813EE80467606117D37
+ 682DA68EDD74EB1EAE798AF29F82F02AB51C7ABB5E2CAD7E4FC44B87E7F9CC6C
+ B7A6C91D7B2EDF9B64DE59A4126621EE9BFDC6C2ECC4FF00554F45B2A27104ED
+ D58BB5D9185A991EA188E698220FBE42611D7EA4FA3233E971B016F96E1EA653
+ 1D9DE6111E3F071D3A07960A6C738DFB622C31B916F1268FBB0FDC04E5BBE4E3
+ D545BAAD9A6ABCBF0F22B55D94A76EBFC9563C8787C9E1B9BE6B1B93B657EF41
+ 68FBD78D9D8A673F9B4A4CEEFA398933BB6BD156D3656A26899B6AD59A647968
+ 664C3C75E3EB7CC2CDB6AD97A3893C7B47231DE91E3637372D3668C5AB8ECEAB
+ 1DDBB0F06E4DB56ACFC60B236A9790F2E54062B5C52FC952C0E46FD2AD24A2F7
+ ECC31EC88E4F848C3B7683B74F501F933374989D14FBBF6283577FF3FB95679B
+ DCCFDCE5D97B3C822ECE6A4B527E742CDA3048CFA380B6A5F11D341EAFD3DD56
+ D492AAC7A26EC6DD9CF66917B33265E37F1FE3F984F7E3BBC86A601A98C64077
+ 36E92F71C99D8774917DBB7AFEEB1DDB9D22149B6AD4AFDB83A6F17F0DF0FE33
+ C8B1BC82EF9171675F15623B671C471019F6498D818BBE5F73B68FA33BBB745C
+ B7F936B55D551F274D3E3D6AD3765C1C9FC9BC8A8F23E7B9BCD50676A572C3BD
+ 7771DAE4002C026E3EDB98772EBD1475A24CE5DD756B3688C2D4C82008020080
+ 2008020080200802008020080200802008020080200802008020080200802008
+ 0200802008020080200802008020080200802008020080200802008020080200
+ 8020080200802008020080200802008020080200802008020080200802008020
+ 080200802008020080FFD9}
+ end
+ object pnlComponentes: TPanel
+ Left = 29
+ Top = 1
+ Width = 476
+ Height = 518
+ Align = alClient
+ AutoSize = True
+ BevelOuter = bvNone
+ Color = 6435072
+ TabOrder = 0
+ object Panel1: TPanel
+ Left = 0
+ Top = 2
+ Width = 474
+ Height = 104
+ BevelOuter = bvNone
+ Color = clWhite
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ParentFont = False
+ TabOrder = 0
+ DesignSize = (
+ 474
+ 104)
+ object Image1: TImage
+ Left = 111
+ Top = 1
+ Width = 374
+ Height = 80
+ AutoSize = True
+ Picture.Data = {
+ 0A544A504547496D616765FE200000FFD8FFE000104A46494600010101004800
+ 480000FFDB0043000302020302020303030304030304050805050404050A0707
+ 06080C0A0C0C0B0A0B0B0D0E12100D0E110E0B0B1016101113141515150C0F17
+ 1816141812141514FFDB00430103040405040509050509140D0B0D1414141414
+ 1414141414141414141414141414141414141414141414141414141414141414
+ 14141414141414141414141414FFC00011080050017603012200021101031101
+ FFC4001F0000010501010101010100000000000000000102030405060708090A
+ 0BFFC400B5100002010303020403050504040000017D01020300041105122131
+ 410613516107227114328191A1082342B1C11552D1F02433627282090A161718
+ 191A25262728292A3435363738393A434445464748494A535455565758595A63
+ 6465666768696A737475767778797A838485868788898A92939495969798999A
+ A2A3A4A5A6A7A8A9AAB2B3B4B5B6B7B8B9BAC2C3C4C5C6C7C8C9CAD2D3D4D5D6
+ D7D8D9DAE1E2E3E4E5E6E7E8E9EAF1F2F3F4F5F6F7F8F9FAFFC4001F01000301
+ 01010101010101010000000000000102030405060708090A0BFFC400B5110002
+ 0102040403040705040400010277000102031104052131061241510761711322
+ 328108144291A1B1C109233352F0156272D10A162434E125F11718191A262728
+ 292A35363738393A434445464748494A535455565758595A636465666768696A
+ 737475767778797A82838485868788898A92939495969798999AA2A3A4A5A6A7
+ A8A9AAB2B3B4B5B6B7B8B9BAC2C3C4C5C6C7C8C9CAD2D3D4D5D6D7D8D9DAE2E3
+ E4E5E6E7E8E9EAF2F3F4F5F6F7F8F9FAFFDA000C03010002110311003F00FD52
+ DA2968A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2
+ 800A28A280129314EA2801980690A8A7919A6918A0040A29703DE8A5C52B00A3
+ 18A5A414B4C0422A3755352D3185260549A38D8739ACBBB82D70776EAD891335
+ 977908C1AC66B4378339CBE834C19DFE67E15CF5F43A1027779D5D06A76FC371
+ 5C86A96F8278AF36ABB743D3A4AFD4A772BE1B04EE37159D31F0B8CE5AE47E35
+ 46FE2C678AE7EF58464F19AF32752DD11EA429DFED33A573E14EED723F1A88BF
+ 84FF00BD75F9D7097BAC476F9DD139C7A62B3EF3C516569A72DE3966466D8100
+ F9B77A1F4AE7757FBA8E85497F333D2B7F84FF00BD75F9D1BFC27FDEBAFCEBC8
+ 1BE22582FF00CBB5D9FA22FF00F1552699E3FD3753BF8ACD56686690E17CD500
+ 13E9C1A9F6DFDD43F64BF999EB7BFC27FDEBAFCE8DFE13FEF5D7E75E47A87C43
+ D1F4FBD92D5A5925963387F2937007D2A23F12F460325A751D7988D1EDBFBA83
+ D92FE667B0EFF09FF7AEBF3A37F84FFBD75F9D7954FE39D1EDB4A8B507B922DE
+ 5E170A771F5E2AAC7F137C3EE3FE3EE45FADBC9FE147B6FEEA0F64BF999EBFBF
+ C27FDEBAFCE8DFE13FEF5D7E75E5FA678CB47D61E45B5BD5768D4BB0652B803A
+ 9E40A84F8FFC3C1CAFF6ADBE41C7DEA3DB7F7507B15FCCFEF3D5B7F84FFBD75F
+ 9D1BFC27FDEBAFCEBCD2CFC57A3DFCAB1C1A9DAC9231C2A0946E27D00A9E7D77
+ 4DB598C336A16D14A3AA3CCA187E19A3DB7F7507B15FCCFEF3D1E27F0A6E386B
+ AE9EB4579D5BF88F4A0E4FF695A631FF003D97FC68AB557FBA84E8FF00799F6F
+ D14515F667C48578AFED47FB58F843F64AF0BE8FAEF8BEC757D42DB54BC36504
+ 3A34514B287085CB1124B18DB85C6413C91C57B557E667FC16CF5069BC35F08B
+ 41882B5C5FEA779346A7824A2429D4F006661D7DBDE803F49347D622D6742B2D
+ 5638E5B782EAD92E563B850AE8ACA18061938201E79AF1CFD96BF6BDF08FED71
+ A46BFA978434AD774DB5D1AE23B69DB5B82188C8EEA5BE4F2E59338039CE3A8E
+ B5DFFC43BB83C1DF077C4B72A425B697A15CC80C996C2476EC79EE785AFCB9FD
+ 85F46F88FF00F0EF5F8D3A97C286963F1B5C6BE21B56B363F6A31C515B3CC21F
+ 493CB91F6E3924903E6DB401FAF1457E7A7FC13CEC3C3BE25D3EC7C6F17C70F8
+ 87ACF8CB44B694F8C3C19E24D51A4B7498C6EAE4DB3297DAAE772C9B9892B83B
+ 492A3C93E14FC51D5FF6CAD5BC69E37F1EF8B3E31693A1C7A8BD8E83A1FC32D3
+ 2FDED2C91515834B25BC32234A1644E1BE6E493F2B28A00FD67A2BF29A4F8C1F
+ 1E3C3DFB0B7C7AB3F185CF8E344D47C2F7FA58F0D78BF58B6BBD2F52BCB59B50
+ 4460257092310A9F31C96027DAC71815EFFF00B047C1DF889ACF87BC13F193C7
+ FF00167C41E26BBD4745096DE1E9EE5E4B38ED9D0089E42CC77CC400ECE46496
+ 20938CD007D91E24F12E95E0ED06FB5BD7350B6D2B48B189A7BABDBB90471428
+ 064B331E00AF8E6EBFE0AADF0FF56D5EEED3C0FE03F1F7C42B5B46227D4743D1
+ F740076203307C1E7EF2AF6FC392FF0082CF78BF57D13F67EF0BE8963349069B
+ AD6BAA97EC9902448E26748D8FA17C363D631E86BECDF82BF0DFC35F0A3E1778
+ 73C33E13B6B78744B2B2896192DD028B825413331FE2673F31249249EB4009F0
+ 57E2F693F1D3E1D69BE31D1AC752D2ECEF5E68CD8EB10082EEDDE295A3749630
+ CC15B284E327820F7AEE335F17FF00C144BF683F1B7C3DBCF865F0C3E1BEA3FD
+ 85E2CF885AA8B01AC0452D6B1192288042DC2B33CCBF375011B182411E47FB4F
+ 7C16F887FB117C2FB5F8B3E09F8E5E3AF10EADA75EDB26B361E28D40DE595F89
+ 1F696111E9F391C3163866C303C900FD2DA4AFCCBFDB1BE36FC4AF1F7C4AFD95
+ D3E17F89F56F085FF8DAC2DB54FB35B5ECB1DA319DADDD3ED31290264405B72B
+ 020AEE183922B8BFDB17E1FF00C62FD892F3C13F12346F8EFE2DF19EA1A96A62
+ CEEECF549A4F265976F981443E632344C10AF9647181827B007E9BFC48F8C1E0
+ EF84506972F8BF5EB7D15755BB5B1B1598333DCCEC40088AA092791D05762391
+ 5F969FF0534F86773AEFED57F01ED23F1BF88ADCF8C75986D16CD6EDBECFA291
+ 35A42B7166BD23918BB3B11CEE45356FF6EDB7F897FB3AFF00C339F81FC0DF16
+ 3C657DAB6A5AAEA513EABABEB33196FA469ECBC95BA2A40963432950AC080A48
+ C726803F5069335F9BDFB456ADF12BF61BF83DA7787343F893ACF8E3E23FC4BD
+ 6E3B74D775C3BFEC0422897ECE1CB040CD246173C28662390083F685FD9BBE24
+ 7ECABF042EFE2D785FE3F78F759F19E83E45CEAD0EB5A89B8D3EFD5A54470903
+ 676805C1C397C80470482003EBFF00DA37F6A3F0BFECC96BE179BC4BA66B5AA7
+ FC245A80D32CE3D1608A57129008DC1E44E39ED93ED5EC40EE00FAD7E5D7ED95
+ F14A4F8E3E0FFD8D3C4374134F9FC4FAD4379736711E165DF6A92140792AACED
+ 827B30CF5AFD451C28FA5007C6BE23FF0082A37C3BD03E2078ABC1F0780FE226
+ BDAA786B51B8D32F9F46D22DEE2212452B44CCA45C03B4B2360B0048EC3A57AC
+ 7ECC7FB63FC3DFDABACF566F07C9A8596A5A5328BCD27598161BA895890AF856
+ 752A4823218E08E71919F80BF65EF8A7E36F02FED0DFB53788FC01F0EA6F88FA
+ A5DF8A5D1F468AF85AC90C4F777CDE76E28DB82B0452A00CEFCE462BDC7F634F
+ D9DBC69F0C75BF8C5F1BFE30DCE9FF000DF57F1847707ECF1DC4489A5C72C865
+ 92777DC5130DB3682C4FCA77726803EFEC8CE296BF217F68DF8A3F0E349F873A
+ EDFF00C26F8C7F19BC75E3ED29A37FF84861D5EF64B0B502450E6E242B1C4232
+ ACC079631B99474241EE3E287ED25F17BE21F81FF664F857E1EF14CFE1CF177C
+ 45D2ADEF75AF135B7EEEE7C973B15D597054ED59246D855890002B93900FD41C
+ F04D78EFECF9FB517863F692BAF1941E1AD3359B0FF845B51FECCBC93568228D
+ 25972C0F945247C81B3BED3F30E39AE6BE05FEC872FC09F13C5ADDBFC5AF883E
+ 2B46B5782EF4AF12EAA2EACA66603122C7B46C652383927048CF35F99BF077F6
+ 88F137C38F83DE38F0A783E5934CF1DFC4EF1FCFA45B7882590DB5B69EB88449
+ 209BA47266E0004728096E0AAE403F6D5D720D52B88F703C57CFDAAF8234AF81
+ 3FB2F47E1FF881F1B3C43A34AE623A978E6F35A73A8CB3EE5774B692732140C1
+ 0A2A2293B37705896AFCF4F8FDF1D74CF056A3E0DF107ECF7F10FE2B6B178DAA
+ ADADE6B5E23BFBC9748BF623E58D85C01E63B1524AEDC60138CE312D5CA4EC7E
+ B6EA30641E335C9EAD66E413B49AF953E367C4AF885FB467ED8D3FECFF00E02F
+ 175E7C3FF0DF8774F1A9788F5CD24EDBE986D898AC520C1400CF120008F9998B
+ 6E002D79978CFE19EB3FB3EFEDA1F03BC1BE1AF8AFE3ED6348F105D25CEA969A
+ FEBCF32CCB14A494288114C6EAAC36B03DF9AE49D1E6D2E75C2B72EB63EC8D42
+ D5D890149FA5731AADAC9129DC8471DEBE5FF881F14F52F8E3FB58F8DBC0B7BA
+ EF8EF41F875E0D4F25ECFE1DE9D753DEDF5D0655633BDBC6EC91EEDE0646308B
+ 8192586A7ECFD71F107C3DF1C7C55E10B88FE206BBF0926D3FED3A46B7E3AD2E
+ EE1B8B49D550F95E74D1AE464C8BB78076A900739F3AA60DA8B95CF4A963173A
+ 8DB4D8F55D6530589FA570177765361203C6AECE14F4278AF40D7ADCBB380E40
+ 071D6B86D6745DD1A8128048DC0AB7415E1BDCF711CD6A17AD711A284085776E
+ 61DF3D3F2ACCFB535A5CDA4A8C77ACE9839E4722AD5E6892C793F6E7EBCE0D63
+ B69ACB9B87BB6985BCE8BB59F1927E607F4350C64F1EADE5CD70CD1ABC924E58
+ B9EA0066CE3EA71F954324E6595DB2CB131385CF41DA9B2F872EA646BC8A6115
+ BC929032C383DFF0EB43F873528ECBED4D707C8CECDF818CF5C50324D52F19B4
+ 9B488A868E3B99064807AAA9C7EA6A2BBD596E632208DA06F309C87E36E381D3
+ B63AD2CFA705F0FB34B3B3CA6E7098C7DEDA327F2C7D6A80D12F0410CEB3AEC9
+ 7215830EB9C629202DDADE4B0A4C530ED246C8FB8F6EA7F90FCAAB69D7F6B15A
+ 8596373212C77AB7418C0E3A7506A44D2AE6D512E259C3444942A1C020E3BFF9
+ E6B3EE74B9AD4C5FBC0AB28CA96C607247269812C37522CA926F3BD1832F3DFA
+ 8A20BCB792FEE1EEFCDD8DF364364E4E3D7E8696E743BFB7754255B70CA32302
+ AC0F420FF9EB556F6C26B3BC68DDB6C8A76B0E281D84D4DD3CD7113EE8836109
+ E0E314555786691701867D4D154897B9FB25451457DD9F0615F317EDD9FB175B
+ FED87E09D16D6DB595D07C4BA04D2CDA6DDCD11920612851245201C80DE5C677
+ 0CE0AF435F4ED1401F9EBE29F811FB6E7C4CF8793FC37F11F8EBC056BE1FBAB6
+ FB05FEB56E66379796F80ACACDE4F3BD7838542C0904F273EC3E05FD98FC7BFB
+ 2FFECD5A47827E08EB9A15E78BADB52FED1D46F7C556EE969A8EF5612AED8B73
+ 47D220B839C4782DC935F54D1401F10FECFF00FB22FC545FDA9F56F8E5F162FB
+ C27A6EA177A7BD89D0BC211CBE45CEE411969BCC1D3033C972C7192028159BF0
+ E7F655F8F7FB21F8A7C516DF04F56F077897E1D6B77CD7D1685E2B7B8867B291
+ 8019568860E15550B6EF9828F941E47DE145007C9BF1BBE04FC6DFDA23F647F1
+ 2F813C59AAF836D3C7BACEA104CBFD96D7316970DAC734522C459A3794B7EEC9
+ 2769E4819C0AF79F817E04BBF85FF05BC09E0FD40DABEA1A168765A6DD3D9126
+ 179A28112474255490CCA4E4804E7919AEE68A00F2BFDA5FF677F0E7ED3FF0A6
+ FF00C11E23696DA19644B9B4BFB700CB677299D92A83C1E199483D55D8646723
+ E5BF03FC14FDB53E07787ED7C19E14F1D780BC59E19B2416FA75EEBF1CEB736B
+ 08E1548099C28E80B49800007000AFBE28A00F8FBE3AFEC6DE38FDA0BE0FFC3F
+ 9FC41E34B0B4F8E1E0EBA7D46D3C49676FB6C8CCD207F2B68452117643B5F612
+ 0C5920EE6CF0DF107F65BFDA63F6AD8744F09FC67F15782BC3FE01D3AEE3B9BD
+ 4F08473B5DEA6C80804F98368C827BAA82C1B6315007DF545007C99F127F643F
+ 10F89BF6B3F833E3DD12E747B2F87FE01D2D6C8E9B35CCC2EF728982F95188CA
+ 1500C2325C13B4E470337BF6E6FD967C51FB4FC7F0DED7C3F79A3DA59F87F5B1
+ A96A3FDA9712C4D245F28DB17971BE588DDD4AF6E79E3EA5A2803E36FDB7FF00
+ 651F88FF0018BE25FC2DF88BF0CB55D1A0D7FC1571E72D8EB8EE90BB09525460
+ 555B23298653B72318354BE337ECA5F17BE3D78E3F677F17789753F080D43C0F
+ A9FF0069F88ACA092E12DE4DD7704CD1DAA989F70114213F78C3240C9E49AFB5
+ A8A00F9FBF6CEFD94ADFF6ADF86F65A4DBEAC7C3DE26D1AEC6A3A36ADB4B2C33
+ 01828E01076B71C8E54AA919C60F827C41FD9B3F6AEFDA4FC2B65F0EBE2878C7
+ C0BA2F81E39E27D4F52F0EC33BDF6A8B1B065DC8EA13EF2AB607963201C1C62B
+ EFCA2803E3BF8F7FB13EB1E39F1BFECD83C1B2E8963E0AF8557B0BDCDA6A934A
+ 2E27B7496D09540B132BB14B539DC572CDC9E491F6191C114B45007C7FFB177E
+ C89E36FD9E7E2FFC5FF1778AB52D0AF6D3C6579F6AB38B489E6778BF7F348448
+ 248900E255E85BA1FC7D4BF6C9F801A87ED33F0075EF02695AC268BA8DDC90DC
+ 5BCF3EEF21DE29038497682761C7500E08070718AF6EA2803E0ED7FF00661F8E
+ FE3FFD8FF50F8217DA5FC38F0CC70DA69F656979A6DE5CAA5CF913C723CB2010
+ 1D8CDE502700966624EDEFB1F1C7F60FF1378BFC13F05754F01F896C3C35F143
+ E18E996561697571BDECAE4411C63696DA5800E848250EE0CC1979E3ED9A2803
+ C1BE04C7FB464F79A8CBF175FC07159476061B0B5F0C8B9F366B9CAFEF676932
+ 02E01184EEC78E057CE5F0C3FE09A3AB59FEC65E32F845E38D4342B8F135EEBD
+ 36BFA26ABA6492CB0D9CFF006682388B33C48C3262757014FC8FC64F4FD06A28
+ 03F3DFE2E7EC47F1C7E32FC12F85FA6F8ABC45E13D5FC75F0FAF9DE159EEAE67
+ D3F5BB5222DBF6ADD0AB79A3C90872A430662581635D67C6DFD9A3E32FED1BA6
+ FC243E20B5F03785FF00E114F118D4AF74ED36FAE5A33669E408D623E472E42C
+ FF002FCAA0797C9C9DBF6D9E9514BF769303E1AF8CDFB2D7C48F0EFED5B77F1A
+ 3E077893C370789753B14835AF0EF8919C45345B563DDFBB058A3F90848CA9DD
+ 19218E481E05FD9DE339BFE0A9FF000B2D7C63E26D3FC4FE2B834B7B8D461D1A
+ 268AC34B3F67BC7FB3401C96D823D8FB9FE66694FA8AFB9FE3CFEC8FF0FF00E3
+ D789AC3C49E211AC69FE22B0B4FB0DBEABA26A525A4EB0EE66D9C641019D8F23
+ F88D731F06BF643F861FB386B97FAFF85B4EBEBDF135EC4F0CBAD6B578D75721
+ 18E5829202A93C6485C90304F5CE529A8ABB368C1C9D91E47E36FD9C7E22780B
+ F685F107C59F82FAFF0087E1B9F114623D6FC37E2712A5B5C1F972F1BC609C96
+ 50FC952096E483B6BB7F07FF00C2D478B56B9F89771E11B64758D74ED3FC2AF7
+ 1214396F31E7798724FC9B42718273CD7A9EAEE497393CD71BABBB156E49AF12
+ BD76E3CAD1EE50C3A52E64CE1356CF98C73EB5C76B9108A4DAA79C648C743FFE
+ AAEBF5C0E992B9CF3DABCF35ABABB47202E49E9953CD78EF73D8455D5EC05B5B
+ C6FE62E48E54BF24FB0F4FA135C4DE122F2E0E401F684079C7F09ABBA86A57A5
+ C8FBB838E10D6588A67B69A4663E679AAFEE7823A566CA35E5898E9913FDA588
+ DC40889E14FA819FE9DFE99D58F4991FC30938BA2A4B31F21BEE151CE47E22B8
+ B13DE200426476CA77A57BEBBCED2BB4F4236907E94EC05DD409FB2F04802688
+ F5F50C3FA5422DDA4D29A6FB50C472045B6CF232324E3F21F89A8E232DD59DD8
+ 98FCC4C65401D704E40FFBEAA9949F3900B0ED94CD219B1656F14BA44EED2482
+ 58183E09FDDE0F18FA9FE40D65EA058980EEC0194C7EBFFB3547299E2E1F838E
+ 8463FCFF00F5E9E13CFB52F23E595C6D53D48C75FE5400B730CCBA7DADC79EF2
+ 2312A149202107A0E7F954FABD835B7932995A7124633213BB6B775CFB7071D7
+ 9ACE5858703201F6C7144B1B4726D7C061C1C60E3FFD540CA52B10872790DDA8
+ A9EFAD96354084485802483800E3A73455AD897B9FB1F451457DD1F061505EDE
+ DBE9D6B2DD5DCF1DB5B44A5E49A670888A3A924F0054F5F3CFED75309DBE1DE9
+ 3A94EF6DE13D475E8A3D5E40FB10A0236ABB7653973CF1F2E7B567527C91722A
+ 2B99D8F4DD1FE3978035FD5E3D2F4FF17693757F236C8E14B95CC8D9C00A4F0C
+ 4F60339AD2F157C4EF09F81EF21B5D7FC43A7E9173347E6C715DCEA8CCB92320
+ 1ED906BCCFF69CF0C78374EF80FADB4FA769D66B6D6E3FB35A18923649F23CB1
+ 1631D4F503A8CF6AF318E7F10EAFF17BE1C4573A559EB3E251E038A792DF5872
+ 91CB2B3B06F30ED62AC0027A1E78E3AD73CAACE0F95EFA1A2826AE7D253FC5EF
+ 055B6836FADC9E29D297499E5304579F6A431348064A6ECFDE039C75A5F0F7C5
+ BF0678B2F64B4D1BC4DA6EA7751C4D33456D70AEC11719620761915F20FC5FF8
+ 4BA9FC2FF04682B7EFA75C6B9AEF8CC6A274FB2056CA12CADB6240403B464027
+ 1C020638C9FA374EB6F10E97E14F15DEF893C33E1DD0441A64CD04DA1C86491B
+ F76C5C3651703818C511AD37269AB581C2295D1E8BE17F19E85E36B192F740D5
+ AD357B48E4313CD67289155C004A923A1C107F1AB1A078934BF15581BDD22FE0
+ D46D048D119ADDC3AEE5386191DC1AF8EFE10492FECEBA6782FC5D24931F05F8
+ BEC92DF5757FBB6979F318A6F6565E3E9B89ED5ED1FB1B44E3F67FD0EE2460CF
+ 753DDCC5BB93F6891493EFF2D3A559CDA8B5ADBFCBFCC528249B477B75F187C1
+ 365E275F0ECDE27D363D6DA5100B3338DE2427010F60D9E3079C9157BC5DF11B
+ C31E028E27F10EBB63A479BFEAD2E660AEFEEABD48F702BC06DEC3FE19ABE234
+ B1EAB616BADF81BC61AC0787546895AEAC2EE424AA3E7974E3208E98247390D7
+ FE09E9FA778A3E3C7C57BFF12C50DE7892C75116B6305E00E60B205846D1AB67
+ 01805C91EA3A6EE45564DF2F5BFDDFE63E45BF43DC7C37F10BC35E30D2EE352D
+ 175CB1D4ECAD8133CB6D32B08B8CFCE3AAF009E7156B45F1768DE22D0CEB3A66
+ A76D7DA500E7ED90481A3C2E777CC3D3073F4AF997E274567E1CFDA32E3FE111
+ 8A18257F0A6A12EBF6F66A044408643099157A3171175E71B7D79DAFD9F751B5
+ D1FF00633B8BD17118686C753925F318611C3CD853E991B4E3AF3EF446B37271
+ 7D2FF8581C15AE7B45CFC5FF000559E8569AD4FE27D322D26EE468A0BC6B8511
+ 4AEBF7955BB918ABBE15F887E18F1C19D7C3FAF69FAC3C1CCA96770B2320EC48
+ 07207BD7C6DE15B655F85DFB3C59FD923964BCD7EEE631DC83E5B9170C006183
+ C1057B7415D1E836FA86B7A7FC54F899A7C36DE1BF14E9BA65CE88DE1FD2A3D8
+ F66C982F2BB0C6E7C2E548007CBDCAD66B11276D3FAB5C6E9A3E8FD77E38F807
+ C33AA49A76A5E2DD2AD6FA36DB2406E0168DBD1B19DA7D8E2A5D6BE33F817C39
+ A949A7EA9E2BD2AC2FA20ACF6F3DCAABA8650CA48F75607E84571DFB35F83BC2
+ 2BF05BC3971A7D8D8DEBDFD9A4D7F71246B23CB70C3F7A1D8E492AFB9707A018
+ AF2436BAD5D7ED7BF118786F43D135D923B0B557875890A431A886DC654856F9
+ B2318FAD5CAACD4632D35128C5B6BB1F56786FC51A478C34C5D4744D46DF54B1
+ 66282E2D640E85875191E95A958BE0FB4B9B3F0ED9A5F69F63A5DF32EEB8B5D3
+ 7FD4239EBB4E067B738ADAAEB57B6A64F70A2909C526EA621D45341A5CE68016
+ 8A28A0028A28A0043504C78A998D5699F8352CA4665F3F06B94D59F83CD747A8
+ 4A0035C8EAD36735C1599DF451CA6ACFF7AB92D4D861ABA5D525C93CFE15C96A
+ 92F04F7AF12AB3DDA48E4B597C0635E6FE2AB968A7B62A7E6DE4835E89AADD22
+ AB2B1C0279E33FE7BD79778AAE55AE611B8654312076E2B86476A29E9F756696
+ 98BB505C901495CF0E0066FC3191EF5957BA82C9772F908A232C4AA8E38CF1FA
+ 556B8B8263554E46DC649E9515B5F3DA5CA4E84ABA1CF071F5E6A063F509644B
+ 59B7864CC6C57231EBCF35957B7B25C5ECF2311BCED3D38FBA2AF6B3A925DBDC
+ CA5A42B22127CD604E7078CD624B701667E832A98CFF00BB40D1D16BFACDAC97
+ 28F64D09888236A2ED201C75F917FA9AAD7B7A9733FEEE268543124375E79C7B
+ 77FD2B0924000CB2E07239E95A775AF89558222A091104A0BEEDCCBFC43D3D3F
+ 1340CADA85DBC97A189C1F25003F4007F4AD1D5BC4C97D690C691324D16D1B88
+ CEEF9403D4F1C8381D0E7B62B1AEE50E6091082BB5813D7F88FF0088AABBC11C
+ 9183C60D03355ADEF0DB2DCC90CA203C6FDA42FE759AD73279ACCAC438C1DC09
+ CE6AECFAE3CDA65B59BB02B0B3156279C1C71598CE59B78FBA473ED4016F58D6
+ 66D426131762C5543193E6390B83C9F53CD1599338F2C73DF3CD156B621EE7EC
+ DD14515F747C18565789BC2DA478CF469F4AD6F4F8353D3E61F3C170BB94FA11
+ E847623915AB452693D181E57A47ECC7F0EF47BFB5BB5D124BC366C1AD60BFBD
+ 9EE61B7C74DB1C8E57D3A83D0576327C3CD025F1CC5E306B027C4515AFD892F3
+ CE93E58724EDD9BB675279C679AE8E8A954E0B6453937BB393F883F0AFC31F14
+ AD2CEDBC4DA69D461B394CD001712C251C8C6731B29E9EB597E1DF80DE09F0AC
+ 3AA45A669771047A9DA3D8DD07D46E64DF0BFDE51BE43B4FFB4B823B1AF40A28
+ 708B7CCD6A1CCED6B9CBDE7C32F0CEA1E034F065CE9693F869204B75B1791C80
+ 8841501F76EC82010739E3AD5DF07783747F00786ED340D06D3EC3A4DA6FF26D
+ FCC7936EE72EDF3392C72CC4F27BD6DD14F9527748577B1E61A57ECDBF0FF47D
+ 76CF55834691E6B193CEB382E2F26960B67C83BA38D9CA8E4647181DB1815A7E
+ 37F821E0EF883AAC5AAEADA511ABC4BB1351B3B892DA70BE85E3605B8C8E73C1
+ AEF28A9F670B5AC87CD2DEE721E07F849E13F87305DC7A0E8F15ABDDFF00C7CC
+ F2B34D34FECF2392C47278CE39E95C8CFF00B297C339EEA693FB06486DA6904B
+ 2D8417D3C76AEE3A1312B85F4E071C74AF5DA2874E0D59A41CD2EE723A87C28F
+ 0A6A571E199A6D1E356F0D36FD252091E24B53F2F44460A7EE2F0C0F4F735634
+ 9F86FE1DD0FC53ACF88AC74FF2356D65556FE513485270A00198CB6C078EA141
+ E4FA9CF4B9A322AB963BD8576795DC7ECC3F0EE5BF9AE61D1E6B18E77F327B3B
+ 1BE9E0B694FBC48E171DB0001567C43FB387C3DF15788AF75DD4B43965D56F48
+ 6B8B88B50B988C840007092003803A0AF4BDD499351ECA9FF2A1F34BB995E14F
+ 0AE99E09D06D745D1E07B6D3ADB779514933CA5773163F3392C7962793FA56A9
+ 3484D34B815A68B442DC7526EA85A5A6F99CF5A571D8B19A51CD5712548AF9A2
+ E1627A2981A9D9AA245A43416A8D9F14003BE0550BA97683534B2ED15937B738
+ 06B194AC6D0899FA95C601E6B8FD5AE3EF56D6A775D6B91D4EE09CF5AF2EB48F
+ 528C0C4D465C96FEB5CAEA90BCB9DA466B7AF9C9278358B73B893F29FCABC99B
+ B9ECD3470DAC786AF2EC10850E7D4D7253FC38D4AE2E49263452319DD5EB32AB
+ 7A1FCAABB23127E53F957233A923C3753F841AD198883CB9A3ECDBC0FE66B264
+ F83DE24278B65FC254FF001AFA17637F74FE546C6FEE9FCAA752AC7CEEBF073C
+ 4593BACF23DA58F9FF00C7AAFC9F07B57B848BFD1E48A5C618B49195FD1ABDE7
+ 637F74FE546C6FEE9FCA9582C7CEF71F077C41148CA962F30ECEB2C401FCDB35
+ 10F841E23FFA0549FF008110FF00F155F46EC6FEE9FCA8D8DFDD3F951619F3DB
+ FC2AF109B348468EFBD5890DF6A8BBFE3504FF00077C43184F2F4D798B282D99
+ E25DA7D3EF735F45EC6FEE9FCA8D8DFDD3F951603E71FF008543E25500FF0064
+ 06CF6FB4C7C7FE3D5249F0ABC4CF6EB18D0C295E770BA8B27FF1EAFA2B637F74
+ FE546C6FEE9FCA8B01F355CFC1EF15CBB443A2F18C906E62EBFF007D515F4D5B
+ A36F3F29E9E945689684B3FFD9}
+ end
+ object Image2: TImage
+ Left = 12
+ Top = 22
+ Width = 98
+ Height = 60
+ Cursor = crHandPoint
+ AutoSize = True
+ Picture.Data = {
+ 0A544A504547496D616765FE0E0000FFD8FFE000104A46494600010101004800
+ 480000FFDB0043000302020302020303030304030304050805050404050A0707
+ 06080C0A0C0C0B0A0B0B0D0E12100D0E110E0B0B1016101113141515150C0F17
+ 1816141812141514FFDB00430103040405040509050509140D0B0D1414141414
+ 1414141414141414141414141414141414141414141414141414141414141414
+ 14141414141414141414141414FFC0001108003C006203012200021101031101
+ FFC4001F0000010501010101010100000000000000000102030405060708090A
+ 0BFFC400B5100002010303020403050504040000017D01020300041105122131
+ 410613516107227114328191A1082342B1C11552D1F02433627282090A161718
+ 191A25262728292A3435363738393A434445464748494A535455565758595A63
+ 6465666768696A737475767778797A838485868788898A92939495969798999A
+ A2A3A4A5A6A7A8A9AAB2B3B4B5B6B7B8B9BAC2C3C4C5C6C7C8C9CAD2D3D4D5D6
+ D7D8D9DAE1E2E3E4E5E6E7E8E9EAF1F2F3F4F5F6F7F8F9FAFFC4001F01000301
+ 01010101010101010000000000000102030405060708090A0BFFC400B5110002
+ 0102040403040705040400010277000102031104052131061241510761711322
+ 328108144291A1B1C109233352F0156272D10A162434E125F11718191A262728
+ 292A35363738393A434445464748494A535455565758595A636465666768696A
+ 737475767778797A82838485868788898A92939495969798999AA2A3A4A5A6A7
+ A8A9AAB2B3B4B5B6B7B8B9BAC2C3C4C5C6C7C8C9CAD2D3D4D5D6D7D8D9DAE2E3
+ E4E5E6E7E8E9EAF2F3F4F5F6F7F8F9FAFFDA000C03010002110311003F00F58F
+ 8C1FB7F37C49F845F190781FE1C78A757F04E9FA7EA3A1FF00C279A7BC5E4C57
+ 4D0346932C7B8379419E372EAC596360ECAB902B6BE03FED47A5FC05FD84FE12
+ 6BBE24B7D67C55E20D77CCD3B4BD274C8CDD5F6A576D712848D79F6032493D00
+ 0CC429F15F8657DF10BE027ECC5F167F673B8F83FE33F1278B9D757B4D3755D1
+ 74E63A65D5A4F032FDA85C3633801CAA2A9673B2300392173BE20FECCBF10B5E
+ FD927F664D7E0F08F886F2F7E1FDDDCCBAE78674F8E4B3D696DE5BA490BC0AD8
+ 9164516E00D80B832A328C2922BA127D8DF0D7F6C083E267883C57F0FF00C49E
+ 0DD77E19FC43D3B4893548F49D599185CDB6DC79B04E84062A48C8E31CE09DAF
+ B7E75FD91FF6A33FB3F7FC13E2DFE2178A6DF53F166CF11CF65E58B9DD70DE64
+ 802FCCF9E07A569FECC5F0E2CFC67F1635BF1CE8FF000BFE2668D65A66897161
+ 69E26F88DAE49F6DBB778D94DB4766E8C4AEE773B84BB415E818EDAF06F15F81
+ BC45F0FF00FE0936FA5789741D4BC3BAB9F18098D86AB6525ACE15A5F94F96E0
+ 3608190693B0D1F6FE99FB795843F113C23A278ABE1D78A7C19E1AF194C96DE1
+ CF146A912182F6572A22124684B4224DE9B4B723782C154332FCF1F0F7F683F1
+ 87C36FDB2FF692B2D17C13E28F8A173F6A824B5D2B4CB80B059431EF32312E48
+ 42DBD76AA292C4115B7E3D8FC5DFB61EB7F01FE1F4BF0DBC5DE00B6F0F5CA6B1
+ E20F126ABA3B369F6D2DBDB7C90DACC24D93A4AE1903EE1C323618EE51E8DFB2
+ A780FC4DE1CFDB27F699D6B55F0EEA9A668BABDCD9B69FA8DD59C90DBDE85F33
+ 261760164C6E192A4E33EF43567661B947E37FED45E02F8E7FB056A5F11E4FF8
+ 4B74AD026BDB6B5BCB3D02F22B4D52DEE12EA3531F9A43A6DCED6CE0EE465E14
+ 92170BE25789AF62FDB5FF0064EB4D2B53D4E0D1EFB4099DAD66BA62664FB339
+ 065C101DB006491C9AF0EF0E7C14F8871FFC12BBC5FE117F01788E1F14DC78A9
+ 2E21D11B499D6FA5884D6C4C821D9BCAE15B9C630B5EF1E38F86DE2CBCFDAD7F
+ 651D660F0CEB13691A2787DE1D4AFD2C66682C6436CCA127902E236C9030D839
+ A6D6B60BE877BF14BF6EFD4BE1DDF78CAF2D3E0CF8B35BF067847503A6EADE25
+ 0F1DB46251805A189FE69630DC171F2805492030AD6F8D1FB79F85BE11693F09
+ 356B6F0CEBBE31D3FE244267D2D343895EEB18B728821620BC8FF694508083B8
+ 115F0E7C47F007C52F88DA0FC5AD27E25FC3EF8B7E3AF89D26A174DE1D48BCEF
+ F8452C6D1764BE6C255C46CFB629008943890F908AA64248F58BBF86BE33D461
+ FD83248BC19E2203C32CF16B824D2AE11B4B2A6C909B9CA66104C6E417C060A7
+ 0714AD7D02E7D39F03BF6C587E28FC55F11FC38F14781F56F86FE2FD22C46A82
+ CB579A39167B4CA664122FCA08F310E013FC5CFCA71E19F19FFE0A0927C41F81
+ BF14AFFC13F0CBC5DA8780BFB36FF45B5F1EC3B21885CBC4D124E21622458833
+ AB6FFBC0632AAD903A2D57E13F88FC47FF00051EF18EA72E89AB5A785B53F87F
+ 2694BE20FB1486CFCE708BB1652BB0B8193B320F07E87C37C107E29FC35FD8C3
+ E227ECF375F053C65A9F8CA2FED1B6B4D4ECB4D32E91736D26659265BA240770
+ A65D888ACCEDE52AE5998280647C2EF18F88E6F869E137935ED41DDB49B42CCF
+ 3B1627C95C9249E4D15BDF0CBE09FC41B1F86FE15B6B8F04EBD04F0E956B1C91
+ 4DA7C88E8C225055948041078208C8A290CFBCFF006997B9FF00855D0DBDB6A1
+ 7DA635F788FC3FA7CB73A6DE4B693F933EB1670CAAB344E9226E8E47525581C3
+ 1E6A13FB387855582FF6BF8EC64E307E20EBDCFD3FD33B54FF00B4AFFC93BD27
+ FEC70F0B7FE9FAC2A9FED01E30F11F84345B59745BD1A4D84ECD15C6AA9671DC
+ 3C1334912C2BFBC758D15B7481A493E55000CEE65CF2E2B111C2D19559EC8695
+ CCBF11FC22F87BE128E11A8F893C751CF306F22D62F1D78826B89F6805BCB852
+ EDA47DA082DB41C0E4E0035F287ED3567F0D7C67F083C79A71D5FC4ECD67A5CD
+ 7F67697BE32BBD49D2E20432C6CFF6BB996D5D59D42910334A1461198C8E9174
+ 57F796BACEB325BEABADCDA8DBDFA379B6E969F6D8DFCA39533BDAEA124F21CE
+ D5532BBE0485536AA8AF3EF8C9A5783EC7E0E78B6F2DE0B3469344BA96DCC650
+ CCA4C0C232631A9BB0390323CB3B7736E5C2E0FC054E23C555AF4E5452F66DA5
+ AECF5EE69CB169C7AFC8F77F0D7C569FC4BA54779A1F8A6EEE2D611E4B2477B2
+ 2B5BBA805A196332031C8B900C6CAAEA7A8ED5DCFC2BF166AD73E3DD2E1BCD66
+ FAE2176903C13DDB3A36227FE12E73FC273C8E477C1AFCDED43E227D8AF6EB54
+ D3FC63630DEDA01630EA365696769751053B96211CBAC24AF0A3F58E64688B03
+ B91F62E7ECAFD943C47E24F1558697A9F88A5FB4995CFD87506B416B2EA16BF6
+ 74FDFC902CF2286697CF0193E4608190142A6BF78A18FA18DC34E8CE928CD2E9
+ 6FBCFCF6AE16BE13150AD1AADC5CB6BBFB8FBA1183A2B0E411914EA86CC96B48
+ 0B72C5173CE7B54D5F22CFBC5AA392F8B9AE5F7867E14F8CB58D327FB36A5A7E
+ 8D79776D39556F2E5481D91B0C0838201C118F5AF96FC1DFB55F8ABC45E06F86
+ 76579A88B0F1B4FE2ED2B4FD66336D16FBFD32E91A449D536E156443182C9B48
+ 2323686507E95F881F0F75AF1D2F88AC3FE1296B2F0EEAFE1DB9D1BFB2858238
+ 8AE65DC3ED9E6E439C236DF2B214F5CE6BCF35FF00D91F4CD76F7E126A7FDB4F
+ 6FACF8092C207BB4B6DC35286D4AB2A3297FDDFCCAC41CB11E6303BB835D74A5
+ 4546D516BFF00C2A2A8E57833CAAC7E38788758F1CF8DB4FD57E31EA1E137B0F
+ 145EE95A7E996BE124BF4FB3C726232D32C0DCF3B7E66CFCB9279AF4DFDA01BE
+ 257873C57E17B9F0E7C459B48D23C45AEDA68A34E5D22D661641E272D207742C
+ E498C9C1231BB1D2AD693FB3FF008FBC21AC78AAE3C2DF14ADB47B0D7F5ABBD6
+ E4B49BC351DCB452CE7950E6619002A0CE39C138E6BD0FC77F0D66F1E45E0A37
+ 5AA882E7C3BACDB6B324AB6C08BA78A3910A6DDDF206F309CE4E31D0F5A994A0
+ A778DADE9FF00718CB96CF732A0F877F10A386347F8AD752BAA80D21D0ECC163
+ DCE02E28AF4FA2B98DCF2AFDA5BFE49D693FF637F85FFF004FD615B7F17E0593
+ E1578C997396D1EF3A1DA7FD43F427A1EBD78AE17F6DBBAB9D3FF66CF12DFD8D
+ D49657F6377A65EDADCC4A8CD14D16A36D246C03AB29C3229C1523DABE2EB9FD
+ A3BC59AFFC38D6A7D73E326B6D1C967245358CB67A1C02E370D862DD25B2AA82
+ 6450493C678EF8E98E02AE2B0F52AD36AD1DEEEDFF000E7156C5D3C3D48C26AE
+ DEC7D45E33D2D755F88BAE295202D85B0C904120DC5DE3079208C6015CE3038C
+ E057887ED39A6487F643BBB7B646966497536221C2E151B51666C860A0001C91
+ 93DF00F0B5E37E1FFDA9AEE7F19F885B5FF8B7ADD959CF6D0C50CEB1F8665697
+ 6B4CCC2411875E4CBC6C1D378663F28AE63C5BF1C0F89B4CD27C35AB78F75A9F
+ C2D7B2DD3DFC73DEF86A5648E7F3F0C0C2C5D5BFD209756E4658000852BF08B0
+ 2BEA387C3549ABD39F33DEC95F6D8F2BD9BA78BAD8A82779452F2D1F42DE8B65
+ 1E87F067E20A2848FCC31CE4921372F94C371064527E5503764E001865CE6BEF
+ 6F0513FF0009169F970E4B1C912139F90E490246078EA4E49C6322BF3FFC57F1
+ 7FC30BE0FF0015E9FA3496ED0DF794B0CB16B564A0BEC6E591AF926382E3E70A
+ 0707016BEEDF837E35D33E205BF87BC45A55D2CFA7EA1199D0FDA11CC7946DC8
+ FB6570194E558027041E7BD7E9B964E94F138B9C5A6A4AEBD2C7CC631577F559
+ D44E2DB775E6D9F5458926CADF2727CB5C9249EDEF53D4162316506460F96BC7
+ E153D788F73F485B0514514861451450014514500783FEDCB8FF00865CF1A64E
+ 07FA173FF6FB057E441D36587C40BAB69FA9DCE9B7C20580C96C226CA824E0EF
+ 56F5FA703D057EF06B9A169BE25D2E7D3757D3ED755D3A7C79B697B0ACD14982
+ 186E46041C100F23A815E41E30F80BF0E4DD208FC0FE1FB6FF00AE1A6409FC93
+ DEBD8C1E269C29BA1561CC9BB9E563284A7255612B5B43F367C01AFF00DB5960
+ BDF1FF0089AC651F29108D3957248FBBBADCE39553D3F810FF0002E3DB3C39E1
+ 0D3A68131E3CD76EE40415919EC8328DAA005D9100A46C8F040C8D91E0FEED31
+ F4B49FB3FF00C3EC063E12D21B9C60D8C3FF00C4D5FB4F83DE10B623ECFA1595
+ BE071E55BA2E3FF1DAF59D5CAAA4396AE13EE67CFD7C1E2EBAFE3687CEE9F0EE
+ C02204F17EBA8AB82AA8F6A8108C63680A00C6C4C7A6C4C7DC4DBDCFC05F0D69
+ BE04F101B0D3AFAE6ED2FEF65D418DD3444A48601195411ED50B88F71017E667
+ 278AF59FF8573E1F889DBA7C40FAED1FE15A3E1FF06E93A76A26E2DECE38A78F
+ 76D9154647CBFF00D73510AD96D252F6141C5B4D6E7152CAF14E4A6EADECD77E
+ E7B0D8E7EC56F9E0F96BFCAA7A8AD062D61E73F20E4FD2A5AF943F42B5B40A28
+ A2800A28A2800A28A2803FFFD9}
+ OnClick = Image2Click
+ end
+ object lblVersao: TLabel
+ Left = 395
+ Top = 81
+ Width = 72
+ Height = 23
+ Alignment = taRightJustify
+ Anchors = [akTop, akRight]
+ Caption = 'Version'
+ Color = clWhite
+ Font.Charset = ANSI_CHARSET
+ Font.Color = 6435072
+ Font.Height = -19
+ Font.Name = 'Verdana'
+ Font.Style = []
+ ParentColor = False
+ ParentFont = False
+ Transparent = True
+ Layout = tlCenter
+ end
+ end
+ object Panel2: TPanel
+ Left = 0
+ Top = 109
+ Width = 474
+ Height = 105
+ BevelOuter = bvNone
+ Color = clWhite
+ TabOrder = 1
+ object Label2: TLabel
+ Left = 8
+ Top = 8
+ Width = 109
+ Height = 13
+ Caption = 'Desenvolvido por :'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clBlack
+ Font.Height = -11
+ Font.Name = 'Verdana'
+ Font.Style = []
+ ParentFont = False
+ end
+ object Label3: TLabel
+ Left = 136
+ Top = 32
+ Width = 37
+ Height = 13
+ Caption = '( QmD )'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ParentFont = False
+ end
+ object Label8: TLabel
+ Left = 168
+ Top = 56
+ Width = 68
+ Height = 13
+ Caption = 'icq: 15630894'
+ end
+ object Label4: TLabel
+ Left = 16
+ Top = 56
+ Width = 143
+ Height = 13
+ Cursor = crHandPoint
+ Caption = 'qmd@usercontrol.com.br'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clBlue
+ Font.Height = -11
+ Font.Name = 'Verdana'
+ Font.Style = [fsUnderline]
+ ParentFont = False
+ OnClick = Label4Click
+ end
+ object Label5: TLabel
+ Left = 16
+ Top = 84
+ Width = 82
+ Height = 13
+ Cursor = crHandPoint
+ Caption = 'Canal #Delphi'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = 21248
+ Font.Height = -11
+ Font.Name = 'Verdana'
+ Font.Style = []
+ ParentFont = False
+ OnClick = Image2Click
+ end
+ object Label11: TLabel
+ Left = 104
+ Top = 84
+ Width = 84
+ Height = 13
+ Cursor = crHandPoint
+ Caption = 'irc.brasnet.org'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clGray
+ Font.Height = -11
+ Font.Name = 'Verdana'
+ Font.Style = [fsItalic]
+ ParentFont = False
+ end
+ object Label1: TLabel
+ Left = 16
+ Top = 32
+ Width = 108
+ Height = 13
+ Caption = 'Rodrigo Alves Cordeiro'
+ end
+ object Image3: TImage
+ Left = 424
+ Top = 56
+ Width = 30
+ Height = 16
+ Cursor = crHandPoint
+ AutoSize = True
+ Picture.Data = {
+ 0A544A504547496D61676502040000FFD8FFE000104A46494600010101004800
+ 480000FFDB0043000302020302020303030304030304050805050404050A0707
+ 06080C0A0C0C0B0A0B0B0D0E12100D0E110E0B0B1016101113141515150C0F17
+ 1816141812141514FFDB00430103040405040509050509140D0B0D1414141414
+ 1414141414141414141414141414141414141414141414141414141414141414
+ 14141414141414141414141414FFC00011080010001E03012200021101031101
+ FFC4001F0000010501010101010100000000000000000102030405060708090A
+ 0BFFC400B5100002010303020403050504040000017D01020300041105122131
+ 410613516107227114328191A1082342B1C11552D1F02433627282090A161718
+ 191A25262728292A3435363738393A434445464748494A535455565758595A63
+ 6465666768696A737475767778797A838485868788898A92939495969798999A
+ A2A3A4A5A6A7A8A9AAB2B3B4B5B6B7B8B9BAC2C3C4C5C6C7C8C9CAD2D3D4D5D6
+ D7D8D9DAE1E2E3E4E5E6E7E8E9EAF1F2F3F4F5F6F7F8F9FAFFC4001F01000301
+ 01010101010101010000000000000102030405060708090A0BFFC400B5110002
+ 0102040403040705040400010277000102031104052131061241510761711322
+ 328108144291A1B1C109233352F0156272D10A162434E125F11718191A262728
+ 292A35363738393A434445464748494A535455565758595A636465666768696A
+ 737475767778797A82838485868788898A92939495969798999AA2A3A4A5A6A7
+ A8A9AAB2B3B4B5B6B7B8B9BAC2C3C4C5C6C7C8C9CAD2D3D4D5D6D7D8D9DAE2E3
+ E4E5E6E7E8E9EAF2F3F4F5F6F7F8F9FAFFDA000C03010002110311003F00EC22
+ F12FC42F16F88A4B2D0D5AE56355DF2150B1C63FDA63C0FA753DB3567C57F193
+ 5DF84FE289BC3561A769FE33D7D2DD659E5D4B52B6B445C8DC2386DD9B7C8D8C
+ 60E7249C2A9AF21D3BF6BCB2F873E23BA8F4ED563B8B266FDED9CE85A22D800B
+ 0C1043600E41F4C835E77F1CBC5FE10F8C3E3DBBF16F877C4769692DEA45F68D
+ 3B5589A2963748C47942AACAEA4203C9041ED5F8EF0BE1DE3388254B889B8E0B
+ 924E2EF51273BC6CA6E0E2D2B7335AA8B764DBD11F3B4146182F6B85E6788E65
+ 7524ACA3AFC09DD3E9BEBD92DCFA7BC1BF10FC45F1B6C7C4571E1FB69BC39E23
+ D12758AFBC3F7243C6598B00639485DBCA499461C63AF35F3CFED1BF117C69A7
+ C96561A94F3595CC3236E85D0A10707F3FAD747F07FF00695F0CFC06F056A3A6
+ 0F11AF88F589D93ECD0A23C96968A32482EDB5893B8FCAA368C0E72493E2BF1F
+ 7E3643F15351B5BFB8D45EFEE9723EE61634E48551D00E4FE75857C3E2171262
+ 6860A2E597A6BD9B939B7F02BD9CB571E6BD9CAEFB4A4ACCAC452A32A54653BF
+ B777E7492E4DDDAFD13B5B45A79267FFD9}
+ OnClick = Image3Click
+ end
+ object Label12: TLabel
+ Left = 408
+ Top = 80
+ Width = 59
+ Height = 13
+ Cursor = crHandPoint
+ Caption = 'Curitiba - PR'
+ OnClick = Image3Click
+ end
+ end
+ object Panel3: TPanel
+ Left = 0
+ Top = 217
+ Width = 474
+ Height = 299
+ BevelOuter = bvNone
+ TabOrder = 2
+ object Label9: TLabel
+ Left = 6
+ Top = 9
+ Width = 163
+ Height = 13
+ Caption = 'Cr'#233'ditos e agradecimentos :'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clBlack
+ Font.Height = -11
+ Font.Name = 'Verdana'
+ Font.Style = []
+ ParentFont = False
+ end
+ object Label6: TLabel
+ Left = 77
+ Top = 271
+ Width = 154
+ Height = 13
+ Cursor = crHandPoint
+ Caption = 'http://www.usercontrol.net'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clBlue
+ Font.Height = -11
+ Font.Name = 'Verdana'
+ Font.Style = []
+ ParentFont = False
+ OnClick = Label6Click
+ end
+ object Label7: TLabel
+ Left = 6
+ Top = 271
+ Width = 68
+ Height = 13
+ Caption = 'Site oficial :'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clBlack
+ Font.Height = -11
+ Font.Name = 'Verdana'
+ Font.Style = []
+ ParentFont = False
+ end
+ object MemoAgrd: TMemo
+ Left = 6
+ Top = 24
+ Width = 463
+ Height = 228
+ Ctl3D = False
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clBlack
+ Font.Height = -11
+ Font.Name = 'Verdana'
+ Font.Style = []
+ Lines.Strings = (
+ 'Alexandre Oliveira Campioni - alexandre.rural@netsite.com.br'
+ 'Bernard Grandmougin'
+ 'Carlos Guerra'
+ 'Daniel Wszelaki'
+ 'Everton Ramos [BS2 Internet]'
+ 'Francisco Due'#241'as - fduenas@flashmail.com'
+ 'Germ'#225'n H. Cravero'
+ 'Luciano Almeida Pimenta [ClubeDelphi.net]'
+ 'Luiz Benevenuto - luiz@siffra.com'
+ 'Luiz Fernando Severnini'
+ 'Peter van Mierlo'
+ 'Rodolfo Ferezin Moreira - rodolfo.fm@bol.com.br'
+ 'Rodrigo Palhano (WertherOO)'
+ 'Ronald Marconi '
+ 'Sergiy Sekela (Dr.Web)'
+ 'Stefan Nawrath'
+ 'Vicente Barros Leonel [ Fknyght ]')
+ ParentCtl3D = False
+ ParentFont = False
+ ReadOnly = True
+ TabOrder = 1
+ end
+ object BitBtn1: TBitBtn
+ Left = 395
+ Top = 264
+ Width = 75
+ Height = 25
+ TabOrder = 0
+ Kind = bkOK
+ end
+ end
+ end
+ end
+end
diff --git a/official/2.20/Lib/D10/UCAboutXpStyle_U.dfm b/official/2.20/Lib/D10/UCAboutXpStyle_U.dfm
new file mode 100644
index 0000000..966218a
--- /dev/null
+++ b/official/2.20/Lib/D10/UCAboutXpStyle_U.dfm
@@ -0,0 +1,768 @@
+object UCAboutXpStyle: TUCAboutXpStyle
+ Left = 245
+ Top = 225
+ BorderStyle = bsDialog
+ Caption = 'About TUCXpStyle'
+ ClientHeight = 315
+ ClientWidth = 510
+ Color = clGray
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ OldCreateOrder = False
+ Position = poDesktopCenter
+ PixelsPerInch = 96
+ TextHeight = 13
+ object Image1: TImage
+ Left = -1
+ Top = 0
+ Width = 510
+ Height = 151
+ AutoSize = True
+ Picture.Data = {
+ 0A544A504547496D616765F54C0000FFD8FFE000104A46494600010101006000
+ 600000FFDB0043000302020302020303030304030304050805050404050A0707
+ 06080C0A0C0C0B0A0B0B0D0E12100D0E110E0B0B1016101113141515150C0F17
+ 1816141812141514FFDB00430103040405040509050509140D0B0D1414141414
+ 1414141414141414141414141414141414141414141414141414141414141414
+ 14141414141414141414141414FFC0001108009701FE03012200021101031101
+ FFC4001E000100020301010101010000000000000000070805060904030A0201
+ FFC4006A10000103030204020505080610110C03000102030400051106120708
+ 21311341091422325115617181911618234254A1B1C138A2B2B3B4D117333637
+ 4352556272737475769293D2192425262734355364848594A3A4C2C3E1283946
+ 476365828395B5C4F0D3E2F1FFC4001B01000203010101000000000000000000
+ 000003010204050607FFC4002F11000202010302050305000203000000000001
+ 021103041221053113223241513361D1141571A1C12353424381FFDA000C0301
+ 0002110311003F00E9738E2196D4B716942123254A380056264EB2B0C26FC491
+ 7AB7C74633B9E928401F69AF5DE5D0C5A65B8AF752DA89E80F97C0D561E235FA
+ 3A19214CB0A013B49F0539CF7AE5CA51846DF73AB8F1BC8E913B4AE3670F6115
+ 7AC6B9D3AC6DEFE25D184E3ED55798F1FF008623BF10F4BFFF00588FFE7D5174
+ DA205F6F9E2FA9C6280A395A994F4E9FD8D652E3656448663A2D709008202FC1
+ 6FE1FD857267D4B163E25DCEDE3E94F246D32EB7F27DE191008E21E9639E9D2F
+ 11FF00CFA238F7C3471CD89E2069852F3B768BBB19CFF8F54E34FE92B6352521
+ C87094E673D5A6C63ED456957DD4D618F26732CDBA0ADE123C341532DABDACFC
+ 366690BAA29729705FF6895D597FFF0093B70E338FBBCD39DF6FFBA8CE33FE35
+ 15C76E1C2319D7BA6C67B7FAAAC75FDB55129F668B6F8B1643916DE1A7901650
+ DC64A55BBE19DBD2B2AC3365D5B692C376F61A92C607BA91D73F1F0E96FAB457
+ B0FF00D91FCB2EEB5C6BE1F3E406F5B69F709EC137264FFDAAFBB7C5CD10EA82
+ 51ABAC8B51380133DA3FF6AA8459AD6B5CB7633B1A3A10DAB614A425473FE27E
+ BA99B41F0E60458C64AE3B2E3A06E095B68C7E8A44FAD6D7492172E8FB5D5967
+ C71034C28029D416C502768299683D7EA35FD7DDDE9CF2BE5BCFD12507F5D562
+ B8C88D69BAAD8716DB51969CA709091BBCFF0017A563634C8525C5A187512413
+ D46E49FCC40CD57F7A6FB240BA3DFB96D11AC6C4E0CA6ED0D43E67926BFD6F57
+ D91DCEDBAC538FFDA8155A6D96F5BECF8AC846D1FD0D4D006B60B3E9BD892EBC
+ 184ACF64A9BC83F652A5D724A554BFBFC959F4A8C78B764F4753DA4027E528C4
+ 0F30E835FE7DD45A3FAA51B1F1F105549E33EBA8F60868B4DA0B4BB83982B759
+ 4E437839FD58FAEBC9C24E27196DBD0EF31824A13B9525491848F2FA727A7D74
+ E7D626D5C52FEFF2443A4EE8DB6CB83F75367FEAA44FF2C9FE3AF92B59D852B0
+ 937885B8F978E9CFE9A8463AADD7C64B915C5141F34242143F58FB2B0726D2EC
+ 175C54656F5792DC73247ED6B37EFB91774BFBFC911E957EE586775DE9C61652
+ E5F6DE850EE152503F5D7C871134B904FDD0DB7A7FC291FC755851A6E3DE1F58
+ 9EA5A64FE3786B391FB5C57B9BD096FB7462F02EF5F74B8B041FA462A575E7EE
+ 97F7F918BA3DFB96355C4BD26804AB51DB001E66523F8EBFDFE495A4CA41FBA4
+ B5907FE168FE3AAC31EC51D9716B90DA568CF61839FDAD6B770532DDCA5210DE
+ F69006D6B03AFD7B6991EB97EC86AE8A9FBB2E08E25E93270351DB3FE748FE3A
+ 0E25E933FF00A476CFF9D23F8EA8ECE8724C80E368F0D39F733FFF005AF43B18
+ 21090B52724754E707F73575D6EDD522FF00B1C6AF732F0C5D7DA6A6AC263DFA
+ DCF28F64A24A09FD35916AF76F7D7B1A9AC38AF821C06B9FECDF9EB5CA546491
+ BC00BF0FCC8CFD18FCF52568BE27ADB948695B4277241F670475F8D7574FD423
+ 99D1CBD4F4E783B170B70DC13E66BFDAC5E9EB80B94469C42F202015271594AE
+ C3AF6389CFB8AAF3CCDF3B3A2396C5C7B3BCD49D57AE26FB30B4C5A0853E54A0
+ 7C32F2BAF84952B6A47452CEECA50A00E242E61B8BB1780FC17D59AEA5A03DF2
+ 4432B61950514BD216436C3676F5014EAD0927C8127CAB983E8E9B34BE38F1BF
+ 5BF10B544A7AFBAB58530512E504AB0B925DDEE818F65494B2109DB84A52A500
+ 318C3611B56CA4A4D3A458AB87359CDADEE4C3B958381DA7AD36390DA5C106F5
+ 7342A6804E4856E90C96CE3036A9A0410723C8677417A4C2D96CD64DE8FE34E8
+ B9FC2BBDAC27C39CE3864C1741253E21504828415020293BD1D0E56306ADCDAB
+ 435AEDD1D285B097DCEEA52C773518F329CA9E95E61787770B0CC8CDC4B906D4
+ BB74F08DCA89236E12B1D412338CA73ED0C8E9DC4DC5F0D11525CD9F0639D0E1
+ BDCB980B1F08AD32E4DF2FB7688263574B7782EDB5B498EB9294A9EF1324A9A4
+ 2540A12A49F111D7A9C4EF5C1CE4E74E5C742F3B5A72C1734F8174B4DC2E3024
+ A10AC843ADC79085804771B927AD7772092614724E496D3D7EAA89C547B13093
+ 9773EF4A5292305294A8014A528014A528014A528014A528014A528014A52801
+ 4A528014A528014A528014A528014A528014A528014A52A40C06BE9420E88BF4
+ 927686613CE67E184135456F3A8A45E9294A944E427775ECAC76FCE2AEDF174A
+ 870BF5484F552ADCFA40F89282055046E4FABB016BE8A24287CE0A40FD46B87D
+ 432CA12DABE0F45D330A9C1CBEFF008363D3D6C5379DC8C255D4AAB292105525
+ AC273B54304F4AC7596F01684A428249E80D643504B8F63B248B94A7C283693B
+ 5BC1F695E5F9EBCDA4E72ED6CF53CE38F0423C52D633CEAA94CC77D715B8FECE
+ 5B3DCD66B86ECC2976EDEF2A0BCEE7D616E3C83E20FAF1519CA71ED65A8F6B08
+ 5788FE54A48EFE67F40ACD9B3DC6C501515511E8E5E3B52EA8E06D1D7F557665
+ 0C7186D6B9150C9293E495AE136DD7E69F93EB43C409D8D3683EC835F7D22A8F
+ 02F315B65C0E2D6D1DE8FEBB06A0F4F8D6C4A521E586F3EF673D6B60D352661B
+ B09515F52D4C9DCAF2C0F3EFF366B93934D149C91D14DB4582B459D8877F75E7
+ 46E69C0167033ED549D1AECEBE8D90E394242701407CD5A3D8E47CA91A0BAD37
+ E1A1C4654AEE55D3E1DEB3D7176E08B4BD1E23A88CE280C3CB38090082AEBF46
+ 457127EAA664CA9B9A56642668F87AB6D2B44E0ACA8F5711F8BD73DFCAA37BE7
+ 09665910F3B67F582A410A4A93ED63A8ACDE9BBB7C88EACC490A929DE80E23C4
+ 2B42C9501DBEBCD4AEECC75B92E3214B6C2D093840C63EDAB37E1F090A92941D
+ 27C118692E233B6AB53CD6A080B624B40203D903C539C0FA3AFC6BEB7DE26DC5
+ EB67ABC1692C2923F0AE9EA5093F38E9D7B7D7595D53A75B97252DBE12B6DC23
+ 25CC7D23B57F08D090EDB6E9E979D2A664B44123DD49C647E7C509C65CC91A61
+ 1C6D6E6F923DD37A1AD3ADA4BBE24B79B928214EE1585AC13D719ACF46D1D078
+ 7D73F9454DBF3ED2973608CB2327C8124F4E8483F557F4F59CE9FB3D96F30B08
+ BA297EAEE20F675B07DEAF67132E4F46D24B9697521C4A90B085F441F686720D
+ 31F9DD2EC2E772957646C568E2B5AAF3735C18B1D36F58C270BDA9F13E615B05
+ D4088E34F2FD92AEC93E67155DF40CB99A875EDBAE122032E30959DAFA127674
+ 49CD4F3799CEDDDF71A1B5B61046C2E7551FEC7E1F5D2B263D8E8A4F1A849462
+ CF4BF3E2C58C1F6D285C83EF253D7BF4AC14EBBC99C5D63C3D8063667AF9FC2B
+ 0B263A92F80DBBEA8D15ED538B574C8AF72E4A3D7938783AB40CE5A3DFA521C7
+ E50F58AA3767D5A8373536579429903AA36E09F877A5B74E371E33B224379794
+ 7A823B75ACAB17495290DA83ADA5A1FD0CA7DB557FB72B9AC3186FDB4F4DC318
+ 3DEA8DEDE12149BF935CBBC76D8F690D25381DEB587ED91653A875F5F86A27D9
+ 3D71F3FE6AD8A715C8960281013D5408AC7CE8C62A5C71080E38EF40850C84D5
+ E0EDF61D16DAAB347D496E4A64267B237141DBF4A7B5601529F4294FB0A294EE
+ 49C8E9D8835BC5DADAE18BE1B89521D3D7C30462B013EDA96ADAB4A127784924
+ 63E6AEC69DB8E44D19B3C13C6D32E1701F52FDD0E978EBDDB949484A8E0F90A9
+ 3EA03E529E53BA29A2AF7B7A81FB0D4F95F4387314CF9D64E26D1493D2ED7F97
+ 66E5621448CA0966EBA8A243920E7AB61A7DE0075FE9D9477CF6FAEB9C7C9573
+ 38E72C9C5B62E935B54AD2B71D91EEF1DB46E70201250EB7D47B4824F4EC52A5
+ 8C64823AD3E90AE1C4BE267297AE215BD90FDC6DECB776650491911DC4B8EE00
+ 0727C20EE0799C7D35C15ED5BF1D38D18B25A959FA61D25AB2D1AEB4DDBAFF00
+ 61B83174B3DC194BF1A5C756E43883D88FD047704107A8ACBD700395BE7275DF
+ 2AD7970D85E45D34D4B792ECFD3D3947D5DE3D0296D91D5A74A46378C8384EE4
+ AC240AEC8F2D5CDFF0F79A0B378BA66E061DF996CB9334F5C0A5136380424AC2
+ 4121C6F253EDA491EDA42B6A8ED09941C47466A4571E2EF2C9A8ACFE908D3DC5
+ 5B4598AF474D8BE2DCEE2990D252CCC319E8FB4365616720304909232B273DF1
+ 7D607FB463FF006B4FE8A4A84C4E40448692EA41DC028763507733BCDA59B952
+ 836A9DA8F4C5EAE7679EB11D99D6C5475243D8512D14ADD4AF2128CE71B7A8EB
+ 9C810DB95225251B64F14AA4FC3EF4AAF0F389DAF34D693B3696D48C5C6F5706
+ 6087AE098EDB2C85AB0564A5D51381D718ABACDB89750168214923208AAB8B5D
+ CB269F63FAA5294B245294A9014A52A005294A005294A9014A52A005294A9014
+ A528014A528014A52A005294A005294A00533D71E75E6B95C63DA2DD2A74B752
+ C448CD29E79D59C2508482544FCC0035CC2D6DE98FBA41E253ACE9BD136F97A2
+ 633CA68AE73CE2674A4838F112A49D8DE7A9DA52BF2EA29AA2E5D8AB928F73A8
+ D4AD3F847C53B271A387B66D61A7DD52EDB73603C843980B6CFE321401385039
+ 07E8ADC2AB5458D5F8A08F17879A8118CE61B831F55506B9B498D150A2839421
+ 00EE49C66AFF00F11491A1AF653DFD5578FB2A8FDFA72E5C4530E3284A425009
+ C8F85797EA726B2A5F6FF59EC7A1F38DA7F3FE23496F50AE3BC84B696FBFE28C
+ 1AD3788FACA55C18303C5213B8A9601EC3BD66AED67762179F6CA94002AE9E55
+ 18C97C4A97BD6A25D51DA5241EC4E3F5D65D142E7B8EEE67CD1BAF082D0CCDD5
+ 487CAD4831D9F13281D76E3A9ADBB8D97A61EBAC1619756A6D0D6E08EC14318C
+ 9AC6704A422D37B9C879A0ADE9F0867E158CE2ABC976FD25686D450DA7C30AC1
+ C0EB56CF52CFC0AC78D7734B952965A6CE7F07BBAA6B6AD117443321F56DC851
+ 4A7183D8900D69689252868ED2AEBDB15B169E7DAF5D254141AFC6083839F2FC
+ F8AD538258CDB1EC59BE12DC5BBA3B2E329636C5E890839C03D056F1334F9996
+ F9B0C3AB0EBE92105CEA9FCD508E81873AD739BB95B66B4C3EE6416CA0942860
+ E428799C671F3E2A4699C50865BF010DBD1AE2DA76A5851CA94A3D329C7D35E5
+ B3636F25AEC67C89B9AA350976F89A0F5E438D2E629D891D80E3C86158255FF8
+ 77FAAA6E8DAC6CF7A6FD6203C5C3E1A7A295920640AAD9AB6DD2A2DE9B7A5BA0
+ C998129587BA9482467AF6ED598D28E2F4BCF90B8F95425128539B4E074E9D7E
+ 9C52B24177343C4A51B65925D9A3C94B6F78CDAD4A1D947A0AC56A3B00930DB8
+ ED3AA703609C21584AAB45D3FF0029CB5154590A74AB0A1B81DA067E7A926DF6
+ A2194C85A96EBED8F6920E13D7A79F7EF5CF9368E6497872E089EFBA52F4D371
+ 489676A5794A4F66FF00FDED512F10F51DE27DD16C3CE789158F60A3F157F1FC
+ DD6ACAF126E6AB7E9E79F61D687868EA85903AF61DEAB55A34FDC3883A83D59C
+ 7C223303C678B293920F4EFF005D74F49CC6CD78E52C91B245E0BEA3876DB74C
+ 80E7868525A0EB0D8503B727AFDBF0AD9F517146DD6CB4253B10673990907B8F
+ A4797D75156A6D00BD0B716E6D9964B6FA3C35B6B3ED363E3F4D78D16599227D
+ BE3BD8971E42FDEC12FF00C7DA3E63E8AD3979E467876ED9B1DCB532E021A71C
+ F1DF75F4788851FE56927E20D7F568E21DBECF15722E4F2D4EEEC165381D6B2C
+ FDB576D7150A486DF75253E0B4B4E709C839FABBFD550E6A4D1D77BAEA7BD214
+ 96D3EAE03CB08411B904E011F59149C58B1E54DE47436B8A2CDE8ABB2350DADE
+ BBC771B5E07B083DD23FFF002B231A5BD25E03D5B2544E17E5DAA02E1A710646
+ 8AB7A218693323A95B5C03A11F6D4C07513B74F01D8CBF05858C8420E0938F8D
+ 62CB81C65C7633CA0D3E0CA5E47AB4553AE101EF36D2327BFCD5AE35AA524A90
+ 5290A4F62A159B8E82E36B4AD41D4FE31CFB63E18AC24C8ECC4F18A90D023CDC
+ 193F6D2A0A99314D2E4F3C5B8B5789EE9791D53D96074AC6EA95B486DE01012A
+ 4B6A3803BF4358E8D2DA89752DA1C56C7D5D0A4109E9D7F556735134D9B64A59
+ C1CB0AC2BEAAEAE17FF2242B3FA192FF002909F1347B6B07185A958F9B06AC0D
+ 57DE51891A45B03DDEB560ABE8F15508FF0007CE327D491FCB8DA5D6D485A429
+ 0A182923208AE24F3F3C92DCB97BD633B5469A86ECAE1DDC9F2EB6A6D19F92DC
+ 5ABF942F1D9BC9C2147E64925401576E2B17A974CDB357D925DA6F1099B85BA5
+ B6A65E8F21B0B438850C292A4904104120823041A7425B5889C7723F33759AD1
+ BACEF9C3DD4F6ED45A6EE722CF7BB7BA1E8D362AF6ADB56307E9041208390412
+ 08209157DF9BDF460DC74C3F3B5470ADB336DC478AEE9D272E37D7DA31D64FB4
+ 3183E1ABAF43B4AB2948E7A4C86FDBE5BD16532E4692CACB6EB2EA4A56850382
+ 9503D41046306B626A4B831B4D773BBDC8EF37B0B9A9E1CADC9C86A06B5B3EC6
+ 6EF09BE887090763ED0C93B1783D0F54A92A1D4614A83BD32BFCE57447F7FCFF
+ 000772A84F22DC5999C20E66B475C1871C10EE9253669AD231875A90A4A13BB3
+ E4973C273A7FBDD5F1F4C5C84CAE06E83791EEB97DDC3EB8EE5276ED9AA1FBB7
+ 419CE0E58094F30DC3D20E0FCB51BF762BF43763FF0072227F6B15F9DCE5C6E0
+ C5AB8F1A0E64A70351D9BBC75AD4AF20162BA1BCDE73DDC66E09BF668563D14D
+ E92B2CAC98576BC78525D9C94A46EFC1A16435EF24E15857C40EA2A7245C9D22
+ B8E4A2B93A494AA53C897A4097CCA5D24E8FD596E62D7AB634612599114E199A
+ 804256769F7140A93ECE4E41E9D8D59CE35718F4F701B87574D65A99E5B76D82
+ 90036D0CB8F38A3843681F151E959DC5A7468524D59BD52AAC72DBCCFDD39B5D
+ 2B7DBE5AE4A7454589735408B1186D12E5A9094B6E171DDE0A46E4ACA4003A14
+ 9393DAA07E237A46F5CF2CDC6EBC684D736881AC6DB0DD42D17185FE9593EAEE
+ 00B465006DDE12A008E9D7AD4A836E88DEBB9D1FA5687C15E35696E3E68283AB
+ 349CEF5BB7C8CA56D2C6D763B83DE6DC4F9281FA8F7190735E8E2F717B4CF03B
+ 42CFD5BAB277A8DA6200094A7738E2CF44A109FC6513D8556B92D6AACDD295CF
+ 8E0FFA46AFBCCBF1A62E8CD3F6D8DA1EC8A65E90AB849C4B96EA5006109491B1
+ 2A39CE4E4601AFBF335CFA6B3E5278AD6CD2B32145D716D9D6862E6254B6C439
+ 08DCEBADAD20363691F822474E9BB0738C9BEC95D15DF1AB2EEDF388FA574CDF
+ EDB63BB6A3B5DB6F372514C2812A5B6DBD208EE108272AFAAB63AE50F11B8131
+ B9E69BA5F8BBA0351163C42989A8D13B719515F428A89404F4F6429294A7A0DA
+ 1273D6A76E6579BCE22728BA43482CDB2CBA921DC774360CFF001D32C065B465
+ 6EAF7616A56EEA40152E1ECBB95DFF0025E8A5734B823E955D4DC58E2EE93D31
+ 72D2B69B1DAE6BEA4CD92C3CE3AE14A5A5AB080AF32A48C0EA4E70324D65F9DA
+ F4836B7E086B4B469DD2A9B645B929A4CE9B124470F96195FF002B69C56EC788
+ A00A88481B4148CAB39A8F0E5744F891EE745A955C3928E6FA1735BA0E7CD910
+ 9BB3EA4B3BA966E3090E6E4614096DD467AED56D58C1F342AA30E2F7A486D70B
+ 8CF69E1670F2345BA5D265CDAB54BD4131798911C5B81076253D5D2924E7A819
+ E99EF51B1F62772AB2EF52A9AF321CD76AAE51D9D2B79B9BED6BDB05E652E33E
+ CBECB70A535B4056E68A06D50C743B877C7519C558BE07F1C34B7305A0A26ACD
+ 2730C880F12DBACBA025E8EE8F79B7139E847E7041A8DAD724A926E8DFE954A7
+ 9D6E74B5FF0028F7FB0B08B269CBFC0BE994E45043EDBACB6D29B002CEE214A2
+ 1C1D4003A1E9D6B40E58BD26FA9F8F5C70D2DA2EEBA5ED564B7CEF595499315D
+ 5AD6AD91DC5A1290AEDED253E756D8DAB237ABA3A2B4AA2FCE7F3E3AE7953E20
+ DB6C71B4FE9FBF41BA42F5F8CEB85F6DC6D1BCA36AF0AC28FB24E463BD627947
+ F48FEA1E6378CF0F49DDF4D5B6C36F36F7A438EC4756E2DC753B3681BBB0EA7A
+ 7D1D68D8EAC37C6E8BFD4AAEBCE5F1F35972D5C3D7B5BD96158EED6969D6232A
+ 14E43C1F2E38A20A82D2A09DA063A633DFAD52CB47A627595DA742812345D8AD
+ E24496DB727092EED65B2A4852B6ABA741B8E49C7D950A0DF281CD274CEAED2A
+ 8473A1CF27143845658371D19A23E4AD3139D4311B545E0B6E7AC38415ED4470
+ B2A482942B05C093D0E076AF07243E929B871A75C41D01C41B7C58B7B9CDAFD4
+ 6EF086C6DF7120ACB6B47641290A208382538C648A9F0DD591BE3745F7D41648
+ BA9AC372B44E6FC585708CE457DB3F8CDAD252A1F5826B8B9C4BF46571334BF1
+ 21FB5DA556FB869A79F598F785BE1B0D359E81C6FDEDD8FE942874EE2BAEBC6C
+ D4FA934470FAF1A934E7C94B5DA21489F219BA36E2C3A86DA52F6A0A14304EDC
+ 64E475AE66C8F4C46AD9ADB9EB5C39B03AF630D2C49786CFA41CE7CBE157C7BB
+ D8AE4DBEE5FBE50F85C383FC2CB6E988CA52E1C26B697549DBE2BAA254B5E3CB
+ 2A2A3F5D4E951A72DFC47778AFC15D23A9E536D3370B95B999329A613B509716
+ 904848F866A4BA4CBBF2323DB835DE22AFC3D0D7B563388AB3F9AA80DEE705CA
+ 5A8925B213D079F4AE80EBE478BA32F08C12151963A7D154B752E8D8B19F5361
+ C0038842B27A63A66BC8F58938E58B5F1FEB3D7F449349AFBFE08E2ED3242ED3
+ 251193ED29381D326A3087A5E4DDEE896DB1BA420A77E081B0E7CEA62BF31F21
+ 4079C6543784FB0A3DB3DAB0FA22CE5AB34D94A49F5B93953AEE33BB1D463ECA
+ CFA6CEF1C3F93D24E09CB93FDD1F6136F74CF43E85252F96D655D82803D2B50D
+ 59735CABCDC587093B95918E8922B69D0115C9B639A1D75494AE528A09CE49FA
+ 2B63BD70B53758119D6886E5B60E14A1D17918EBF6D2DE48F896D8463B484CC6
+ 298C858649483DC75AF569A608BA171D412D107A1F33838FCF59476D12EDD395
+ 6C782912413D4E02079D65EC3A525A2E6CFAC496A3A09C92E754E0FD15B326A1
+ 3850D8F637DD3A1C6E3BD295E2376F623F89BD23A6E1D719AD4ECBABA4BBAADA
+ BD38D87D80EEC4A8A4E00C1F3FA335B4710B595BED9A7DCB0468921A5A9AD9EB
+ 23A32BCF7CFD59FAEB4FBB5E2D32F4841B45B1A75831D616642540070EDC1F9E
+ B99096E4EC3FF2245E2AC46EE973B74C65E4BBE234970349EF8FA2B76D3F68B7
+ B1A61F4AD45D0E33BB628E46F1D718EFE555EA0DCE52A304C97D4E0424368524
+ E56067A60F6AB53C2ED35063E8E86B790E3AEBA3F08B70E4A0115932C631E0D1
+ 964A30B3E1A43504455A602D2B4B6ADBED369EC4038FD3523BF2DB910DC5A4F8
+ 4360EDD327CBF3D46FA6B45C7B729D4BD1D69DAB5EC513D36EEC8ADA5C92FF00
+ 889C84B71074C2FB2AB8F349BA89CBC9152E51AA714624ABBF0FE63694308900
+ A4656924F45827A8F9AAB3D9265CED12A5A84B7A1B8EE194ADB5042719F9EACC
+ 7102ED161C7B7B725C508AE384BDE1A804E3076F7F9F151D3B7C665DDD82C5B6
+ 09B521D0DA9529A39512703AE3E38AE8E9B74214C7E9B7422D334D8EE25F118A
+ E5CEB9BAE15655BF294E3DEADF20C8F90E334A6D41B6D61252F38921480481D3
+ EDAF91B2C5B45FE0DB5B7E332E3CB5A9C0D9010D82723AFCF5BF5FED90576F2C
+ 486D0B4A53B52AC6524791E9F3E299926FB0D9E457C9A6DD3C0BACB75975E2F1
+ 28DA24B44EF04F4E847D358C92FB9A4E4AEE2DCD85F846043711209538A48EB9
+ AC843D29F73B19D96C3EA7DC07294672939E9F9B39AD3F5469A9BAB1F5C453CC
+ 32C21217BF610ADD9EA2931A7C36554AFB183D4776B64C4B66CD11697CEE2F96
+ FDD2707AE2B7FE14AA46A0D2ED34F1523C370A50E118DC7CC7D95AB5A786CEC6
+ 43715BB8A487B207843DB3819207D952469980DE912CB0B904C46C6F4327DFDF
+ E75B32644D28240E6D2B332AB5C9B3DC19DC545B7BA0CF9D7F372652EF8C5C4E
+ E493B704742475AFE75BF112D56B87EB8F2C0776FB2D7880907E8A86EEBCC230
+ 90B4222AD4950CA5455D0AB3D6918F459323B8995E777C9BA5F6E519EDAC3458
+ 69C64FB49030AFAABCF2EE8F2A03ACBA308534A0147B7BA71505EABE3239704E
+ F662B319D27AAF2370EBF1AD6E47166F975532C2DFDAC15252427AE7A8F315DA
+ C1D372EF527D8C1AAD56C833A31CA4B6A6B49212B183D47C6AC0541FCAB4411B
+ 44C6DC72B280AFB454E15ED1764BE0F0B2929C9B4415CE1F33FF007A7F0D6D7A
+ B7EE6FEEA3D76EED5ABD53D7BD5366F65E73C4DFE1B99C7838C63F1B39E9D66D
+ 81399B9446A4C7712E34E24282927E233546BD317FB19F4D7F85B1BF81CCA95F
+ D1F1C558BC53E5AF4C3C891E34FB64745AE6A56E6F703CCA420959EF9527639D
+ 4F670536BCB62F779A8B26EB287DB287101683D0850CD523E7AB900B4F19ECB7
+ 2D65A3A12626BD8D1F7EC6484A6E6103A36E03D37E3D94AFA1F7428ED036DDFA
+ 1191D7B556326B944CA2A4B93F3256AB849B35DA24D8ABF0A5C5790F34BDA15B
+ 5695029383D0F503A1AEA3FA5625197CB6F0ED655B88BE919FF8BB955024E8B5
+ 6AFF00482DF2C76F61B53035F4E74B4956C488ECCC71D70248EDF836D58C7CD5
+ 703D2B51150F96FE1EA0F637E2AFFABB9F0AD6DF28CAB84CE7E72C0A09E61387
+ E0A10E055DD84ED706475563B7D7577BD2F36E442D1BC205F7756E5C772B3FD6
+ C7E95483961FD90BC3DFEFD46FDD8ABD9E98AFE63B83BFDB2E3FB98F5597AD12
+ 979594F79169F22DFCD46845C7756D15C8790B09510149F01C383F11900E3E6A
+ EA97A41797CD43CC5F02E044D3323FD57B5C84CE44353A50DCA4ECC292AEF923
+ 394E7CEB94BC927ECA4D05FDD4EFEF0E5750F9EBE75DEE57B4A592CFA722C5B8
+ EAFBCC62B6552C6F6A2B4001E229208C924F40703A79818A89DEE544C1ADAEC8
+ 6BD1A1C0BD79C12D4378BA6A76D56B62EC84C64D9144297B90A3F85731900819
+ 09C1390B5671D2AAF7A50483CE56AEC75FF4AC0FE0AD5495C8DF12F577319C78
+ BA3DC41D4F77D431A2C33353674CA54684F3BBD081B996B62368CE76E304F706
+ A1DF48A69D81A5B9ADD516FB6DB21D9E2A23C258890194B2D24AA33649094800
+ 124927A75249A95EBE486FC8592F43A6B59AC5D35B69A2E1F93CA9898119E9E2
+ 2C2904E3E86D3FFE8ACA7A66EFD7841E1ED992D2858961F94A787654818484FF
+ 008A735A47A1FBF9E46B3FEE789FBB72AF673C1CBA5AB98BE0F3B6D9535BB5DD
+ EDCEFACDB26B99294BD8C6C20770AEDE6479551BA98C49BC672B3D1C9FB282CD
+ FDC723F722A4BF4C18C7321A540E83EE422FF0B9758CE50F82FAC7803CC1DAEF
+ BAF74F4DB1D9DB69F8E272901C682D4001B8A09294919EA7E6ADF3D20FC32D53
+ CCDF1F2C379E1FD965DE6C51AC112DCEDDD6D9663078C87D67DA5804801D4E48
+ 070723C8D5ED6F17CECA305E88CD5972B5F16755D98341DB1CDB736FC852FAA5
+ 0F21D096C0F9D4971CFF00147C2A5EF4CFA128D1FC304A404A44D9B800607B8D
+ 5487C8BF296381701C5CA784EBDDC54872E129B528340201D8DA01F24EE575C6
+ 4EE39F2023DF4D17F323C30FEEE9BFBDB555BBC85E9AC6ECA1BC9FC2893F993D
+ 08CCD8E994C7AE95786B008DE96D6A41C1F82824FD557AB9E4F47F5FB8ABABA2
+ F10B464B8EA9F718EC3172832D4500ADB4840792AEB8F6128494E3F173E66A8D
+ F267FB27340E7A0F5D57EF4BAFD015B1A43F688C97109524B63A11D3B54E4938
+ B54571C54AD3397A787D71E44F94CD6D718171F13575ECB715D9ED82D16D4E1F
+ 0D286883DDB4A9C5839EA49F2E9546397B3FECF3C3B27A9FBA1807FEB08AEADF
+ A59F45AAEDCABB33E26C659B25F22CD75013EFA54971803ED781FAAB947CBE1C
+ 71DF877FE1040FE108AB45DC5B2B35B5D23A0DE978404709B853F1F5E959FF00
+ 268A847D15BC639DA138E3234B2E462CD7F8E7C4656B2078C8EA8291DB241232
+ 7CAA70F4BD67F913F0AB3DFD7A5FEF68AA6DC8A69C95A83998D2AE465148B72D
+ 739DC0FC448DBFA562AB1E71F25A5EBB2D97A6988373E1291D4166E7D7EB8D55
+ 5BD1FDFB2BB45F5C7FB6BAFF00C55DAB41E99470B8BE0F150C2BD5AE5919CF9C
+ 5AABFE8FF19E6BB467FC6FF82BB52BE9912F593C7A61C7FB2BF0F8F9FDCEFF00
+ DFAEA2AF46912399C8641C116D918FB5152AFA61FF009EBF0F7FC1EFFBF5D453
+ E8D419E66A263FA9923F4A2A17D3225EA3A19E955EBCA0DD3FBE70BF7CAE32E8
+ 477C1D6FA7DC284B811708EAD8B190AC389E847C2BB35E955FD88375FEF9C2FD
+ F2B8C5A2FF009B0B1FF7731FBE26AD8FD24CFBA3A93E945B734C728DA49F032B
+ 56A88C91E4123D5257415CDBE5FE63D6FE3A70F5F8EEAD97537F823736A29382
+ FA01191E44120FCC6BA5DE94DFD879A3BFC298DFC125D732F819FCFAF407F7FE
+ 07F08454C3B04FD48EF9F17E4AE5F2E1AE9D70E56AD3370CFF00CD9CAFCEA9EE
+ 6BF44BC55FD8D3AE3FC19B87F0672BF3B47B9AA62F72F97D8EF7F2143FF264D0
+ E7FF007547FDC5588AAF1C857EC63D0DFDEA8FFB8AB0F59E5EA6361E946035E9
+ DBA36EE725204751C838AA8BAB59726F86E2101C616DA13BFCFDDAB6DC474173
+ 42DF120804C55E0ABB76AA8F012A9288D15D52C7BA0EDEC3D935E33ADF134FED
+ FEB3D5F47928C5BFBFE08C38845943B6EB4994843606F7727AE31D3F3E2BEBA3
+ D12373D1B79F56436A20246770DA7CEB70D6DA46DEC843CEB0D3EF9514EE503B
+ 80F2AC5E988688D9F0C143D9C16D241183D2B84B23A47AF693E4C470CED8D6E7
+ 9125A7A3AD0F29C6D4E7BA52723352DC88A12DC65216971AE870923AE3AD60AD
+ B39CB6C971B94C36E282B0DA0A7BA6B291EF81E75D8EA31DB69209C0490479F4
+ AA4F74BCC51AA311A9B4369AB94A72F8F4794B7C27DA682BD8E95E16AD369B8C
+ F6018E3C30D24A49EC067CEB6393257704B512227C46D632E380744A6BDF1B4D
+ C18A5C5C605C46C0929C609EBE59A5AC93F704E8D6B5DE8CB76A48B1E2224350
+ C3683B4ABDD5F4F3A898E94BAE9C054D448F3586C93EE7422A739B6684A7D323
+ 290F23DD6DCC9049E9D857926C9B75C202E3CA8F21975B3B3647E815D6B4473B
+ 8AA2CB976451A4ED364D61203CD30EC3951D60ADB49C209CFC3CEACC599FF538
+ 8DB681B17B000DFC00AD1F4F6826ECC80B891501B7C83D46E77BE7A62A428B0C
+ B3BBC4C216947627AF6ACD9B26F62F3C9CD6D67C85F95295B8A125B49DA40E84
+ F95691C59E249D330D10E2B8CBF31406124FB9D4673F566BE9AEF5D46D0D6E32
+ 5A8C1F7D4086C1EC547A7EBCD57C72E53F55BE5E7A1176E7217EDAB19C27BF6A
+ AE9F4EE72DC8AE382AB3E3A83575DB5038F225AD4B6B1B928CFB1D3AFEAADAE7
+ 3F0ACBA76D4FB2B7A427C2F1DE69E57407CB1F5E2B5E5C1B75AAE8D437E5A64B
+ EE25414B6D40A1A3B4E01C7CFD2BD7628726F32A2C59090DC44A94D9757D51B5
+ 20AB1F9ABB3971C60BEE6BDADAB4481C3ED191F88F61917BBC05C48EAC6C5215
+ B547072307CBB79D48D6E9564D3F6965969A97794B87624A0EF29C7C456034FE
+ ABB63D1E3DAE3B6531228214C471BBC6383E43EDACCC2BB3E10E2AD76F7ED2C8
+ E8A4BAD8EBF3E7CAB90DCE52A68C192AFCCCFEE64D43C95C78F09E68AF070B09
+ F671D7B039F2AD4752EB4B059CA5B75C6D324821CC10950E9F3D681C65E2C8D2
+ 5714B16875E7EE2B07C5710E0211F1F3AAE770BDCED4D7171E794644870F449C
+ 939FA2BADA7E9B2D42F16E90A79563548B2372E37592D105286007DC49EAA460
+ 2D3F41A8F3557196EBA85C2C5B12194AC603BFD113F41ED5A35B7435C1DC3920
+ 351D048CEF07A0A9460F0EAD96C80CBEC3A6549233EC7BA3E35BDE1C1A77576C
+ BE29CB2AE51174B4DD24202A63EE4A59392544E457898B04EB9C92D31BF67E28
+ 524E0D49B798C994E25086835B3B93D2BD8C4B90A4350E3434EE5F40E8181F6D
+ 5DEA6B949169E9A37CB2354F09AF13565186DB3DCA9C4F415B3D9B84F02D610F
+ 4B53AA92D9DC0A7F95FD62A6FB0E9B459EDAD3D35689925DEBB413ECFDBD2BC9
+ AAE3B6A657E06C4A76125208CF6A547A86594D2464CFA786C69969796B5A4693
+ 88949CE53D3E8C54CF50372A2F29FD26D15FE2A309A9E6BD7C1DC533C0CD2536
+ 9144BD317FB19F4D7F85B1BF81CCAA8BCA8EB6E2B72568B5F1026E97977AE15E
+ A561A7AEB1A210B5B2D12A0DC803FA1AC270A055F835A5C4A4A82882DF60B881
+ C3AD39C4FB01B46A6B1DB2FD092E07DA62EB0DB94DB6E80521C4A56080A014A1
+ 91D70A23CEBCF69E1CDBA15B9C8D250994A73DE591D6B5466946999E506DD91F
+ E8CE75381FAE2C6C5D21F13B4E406DD1D63DE27B7024367B14A9B78A54307CF0
+ 41EE09183516F329E913D07C3DD3D22CBC38BB45E21F10EE294C6B5C2B19F5C8
+ EDBAE129438B7500A1783D9A412B5129184856E1B17107900E146B998A912747
+ 5A94B5385D52E32150D6B51CE4AD4C290559273D49C9EB59DE1AF297A538641A
+ 3A7B4DD96C0F21A31FD722454996A6CE32953EADCE281C0CE54724026A3C9DC9
+ 7BCAC9C8BF28D76D117093ABF581764EBABD0529EF15D2EAA234B505AC2D59F6
+ 9D5A802A51CE30003EFEEF67A62971A3706342DBDB79BF1DBBD6FF0004286FD9
+ E03A376DEF8C83D6AFE58B4FC5D3F17C18C8EA7DE591D546B11AD7867A6F5E20
+ AEEF63B5DC25F861A4C99B09B79C4A0124242949240C92703E27E346FF0036E6
+ 1B3CB47E7F796879B8BC7FD00EBCB4B4D22F31CA96B3B5291BC7524D5E8F4C1C
+ F8B2B4A7081966434F3A854F5A9B42C15241447C1207607CAAEDA7954D109567
+ E41B3E739EB6E64E3F6B5B4DF782BA5F51406D99F61B3CB7D2D86BD65F80D2DC
+ D89184A7714E700761D855DCD3699450693470D392E90D42E677423D21D44765
+ 325DDCE3AA094A7F00E7726AD77A5978277A9D7DD2DC51B5479172B03B6B6E04
+ C798095B514A49536AE8738585ABDAC63A0EBD6AFAA3957D128712B160B36E07
+ 23FD4E6BE39FE96A4C3A4A0C9D309B14A8CC396F434184301B01B4200C252138
+ C0007402A1E4F35A058F8A671AFD175A9ACBA738F539BBB4E6A13D32DC598DEB
+ 0A0942C8712B5024F4076A49FB6B1FE942B6CBFBEC7505DFD55EF92E7468822C
+ DD87C17F6474217B17D95B54920E0F422BA663923E1D41D546FF000B4A59D371
+ F13C5F194C0EFDBA27DDFCD5256B4E0B58B88BA5DBB26A2810EE509A4EC6E3BA
+ C24B681F374E9F554EF5BB711E1BAA396FE89FD5B66D31C47D50DDCEE4C44953
+ 1B88DC48AB24BD29616E652DA002564129181D7DA181560B9D6E76EF9CBBF32F
+ A5A3274E2EEF6481675C85C07E4F80879F7CE038140286F6C2149EC461C57CC6
+ ACCF0D395BD33C2A92AFB9AB641B2B255B94A88DE16AFAFBFE7F2AAFBE93AE17
+ 70F755E9AD30BBCDE26C4D7EA5391EC70AD90D53665C49C1536184904A73B7DA
+ C80091DC9C12D4A564D350A21877D2EB6992A52DFE0D975E51CA9DFBA300E73F
+ DCB5EA67D2F7699CFC666E7C259061255EDA9BD4016A4A7E212632771F98A87D
+ 3D2ABD593D1C7C5CBB5B5326422CD699273BA04C98A53C8C123AF8485A3CB3EF
+ 798F3E95EF6FD19FC57712B3EBDA751B4765497F2AFA3F014CA80BB99D40E56B
+ 9C9E18F324D49B769372459EFB15BF15EB25D1B4B720B7D8B88DAA525C483807
+ 69C8C8C84E466ABFA66AE5125E9BE1BC662532F496274DF1596DC0A5B7F836BD
+ E03A8FAEAA6702741EBBE5D39C4E1FDBEE56C544BC09E82929505B6F467029B7
+ 1C428770105CF9C104100F4AED0DFB84FA4F5E45F5D99A6ECCFCB969DEF4A7ED
+ ECADD59C6325452493F49F2A534A124C626E71699C2AE4F64350F994D08F3EE2
+ 1865135454E38A0948FC12FB935FA06B13EDC9B24075A712EB4B610A4AD07214
+ 368C10477A899BE55F44216951D3F66560E71F2735D7F6B52CD8ED4DD8ED5160
+ 3096DA8F19B4B4D34D20210842461290074000E981F0AACE4A45A10DA61789FC
+ 3DB5F15B87F7ED257A643D6EBB44722B830329DC301493E4A07041F222B876CF
+ 2FFAA7976E6BB4558B53C65B1199D490FD5AEA50511E534242085A547A038EE9
+ 27A7D1D4F7B2B53D7DC33B17116DEA8B78811E6248C61E6C2863EBFD22A213A2
+ 650DDC9CFDF4B7B427F0CF851122A9322699D20222B432EAC29B48CA52339191
+ 8FA48AF9FA3AF959BAE81439A9B50C27225FAE8021A88F2005468E0E7DACF50A
+ 51C1C74E83AD5DAB6F002C368095C6B64633520A44E90A5BEF246EC909538545
+ 033D7A56FDA6F4AC4D36C6D65214E9F79C3DEADBFCB446CF35B2877A5F784172
+ D4BC32D1FACAD8C3F2DAD3521D8B2DB693BBC361F08FC2ABA760B6909FFE3EDD
+ 3239EDCA26BFB2F0C3980D31A8F50BEE46B54453C975C6D853CA056CAD09F612
+ 093D543B03F457E82EE76D8F7780FC296D21F8CFA0A1C6D690A4A81F883DEA01
+ 85C96E81D3FAB1DD4166D376A8771714A529F4B03764904E01E83A807A54C722
+ 4A995941B95A39F7E956BBC8D67ABF87FA99986E46B149B41620392D0E3325F0
+ 17B94B5B2B4852139574DD851EB903A546DE8E09D1EDBCCA447A53ED456BE4D9
+ 09DEF2C2139CA3A64D765AFBC18D3DAA6D6D46BD5BE1DDDE6861B7674643BE18
+ F827703815ABC7E56744C7790E0D3F66514A82B06DCD63F7346F5B688F0DDD90
+ D7A556E90FEF50B94232D8F5D5DC612D31FC41E214F89DC2739C7CF5C6BD1A76
+ 6AEB2295ECA44E60927B0FC20AFD196A2E1969FD56D21577B15A2E7343619F59
+ 9905A75610338485292481D4F4F9CD6887956D13924582CC3273D2DACFF9B446
+ 6A2A8B4A0DBB2A97A51EE70E4F289A2D86A532EBCBD4B19E4B687015291EA92C
+ 6E03CC67A67B5734B822E258E33E8371C506DB45FA0A94B51C0481211924D7E8
+ 11FE0B69699618F6C9560B44B4C668311D6FC0697E0B79276A729F64649381D3
+ A9AD4C72A7A201CFC8367F8FFB9CD7F9B531C8A2A825072767AB8B17CB6A3963
+ D60EAA7C54B5234DDC10CACBC9DAEABD5DCE8939EA7E615F9E820E4F435FA486
+ 3861601A621D924D92D3320C2C98B19F84DAD960924929494E06727B0AD2E5F2
+ BBA265CA53C74F595009CED45B9903E8C6CA884D4499C1CA8D4F902B84695CB5
+ 68D61990D3AF316B8C1D6D0B0A52328E9B80EDD8F7F8558FAD2B87BC2DB470D4
+ 48459604180DC9C78DEA9190D1736E76EE290338C9EFF1ADD6932E5D978AA546
+ 075DB064E8FBB343DE5B0A48FA4D40568D3AC8F0FD8CA80415123B6075AB0BAA
+ 97E1E9F9AAC818479FD22A1B430E04890CA82C6CF7479D78DEB5CE44BEDFEB3D
+ 0F4EE22DFDFF000469C42D2D21F056DE47B794E3AF4A8EA05B5DB65D545D52D0
+ B3EEA87C71560E5296FB690EB7B5C190323351C6ACD312E09764A8EF49F68015
+ E69499EB70E5B7B59ABDCED4BD42036CC85B17103D951248E9D7CAB4AF90F5CC
+ 6B8069B5C4CEEDA54A049DA7A7E8ADC61DC4C675A7C2B6AC1C28F6C7956CAC4C
+ 7234DCA02DF5A91E275ED8EFDE98B234A8DD91453460AC56C9DEA0B79B92E264
+ 36EF86E241DA838F98F7A932D8526D8DA9CDA878FB215904FCFD2A20D493EF2F
+ CF44DB7A434DB6A2E142BDD52B18EA2A46B1EA06751DB1B717222A5D4B290EA5
+ A385B6BC8F2A5B7625D7B1F57ECCD37710EB6A53EA47B6AE8401F6D78AF210AB
+ 489259282B7463C3EAA3D6B2CF5CA1426D2B6A5A1D73042D25D4E7B7C3351DEA
+ 2E22B16B095A55E3785B8A5B477CE0FE8EFF0055536EE95168F62414EB26B4DB
+ 31BC429502318CE1C1918158F9F3DDBA9F15996A0E39DD1BC6F03E6A86237106
+ 35D58F94A5B894BC85FB6B50EE3B002BC175E34B6B9454CB0F96D92925C6801D
+ 323CEB47E8F237C149C6D998E3BDC936F62D0CA4BA5D2A20AD7D810335127DDE
+ 5CA338EFAB492DB8A1B14FB430540F4207D5595E24F18236BC8AC45540290DAF
+ 295EF1BC8A8E9FBB4661B221C57BC6F252BA81F1AF45A2D34B1C36BF914F22C6
+ A8D96E9291608495C8012978152024E54B57CF8AFB49E374D8F65896D80D23C2
+ 6D395AD43A951AD420D96E3A84B9225BCA4B0D8F63776AFE2D5A3644894B0B51
+ 2D249CABCBEDAEBF83812B9F73064CD9E52A8AE0DCF4B73037FD26F9718896D9
+ 009C9F19A2A359EBE736BAB6ED0D71D98B6B8285A76A9E69ADAA4FD1D7EAAD25
+ 9E1FADD24B3B8A867A94E4564F4C707255E9D5F8CE214D8392903E1D7F552251
+ D2A8B97B95587513971D8C1698B3CDD613DD9329C5F84A512E388EAA593DB1F5
+ E2A65D2BC3762D308489296D2C647B5B70FF007F23FA7E6CD7A2CDA45D622B71
+ 6325A6100819C104E3E7AD96269E98971E66E03C4013F82752B3815C2CDAA6E5
+ 51748EB62D36C5E7EE79A559A3788B545417929006D7BDA1D7A7956305BDD4C7
+ 7A4B6EE108596FF03D81F318EF5F55DBAED6A7169873025D5E410B1B8015F1B5
+ 3F2E2C59169212B716ADE5D48F694A3F0AC4E519BDD26687517C231A887016DA
+ D5214E3AEA88C249C67AF5ACD69C7DA8B316AF60464FB892324D6B33346498ED
+ B9233216FA578DBDF049C76FAEB69D37A4A47AB054A0E3408CE542A6538BE2CA
+ CDEF76CCE4C9C9237A5FC23EBE95AC5CDE6990F292B538B52158575C0E86B3FF
+ 0020998957B64251F0F3AC0DE6DE5B42D08F68849EFD28C35BD519B341786D96
+ BB946255A35B2AEE062A7FA807946FE6347F646A7EAFA1C3D11FE0F9964FA921
+ 4A52AE505294A005294A005294A005294A005294A005519E6F783FA96C7CCFF0
+ F78D56D66E379B05B11EA772890925E7618295A3C56DA1D549C39956D04FB39C
+ 1ABCD5F1971199CC2997DB4B8DABB850ABC5B44356A8D4B8773F4AEAAD350EEB
+ 629D06F111E4058951DD4BA32476241E87E20F6ACC5EAF160D3EDA55707A2462
+ BC86DA5005C74FF4A840F6967E64826B5CD41C16D2BA9B6A6EDA76C97C6D2772
+ 5176B7352424FCDBD2AC56534EE81B76958498567B6DB2C91123019B6C36D940
+ 1F3250902A6C1264097CE09A3887C7E81C529F00DB3E4F81F24D8EDEB6CA5F52
+ 54A517253E93EE1216A4A53DF69CAB04E059E83184386CB00E76240CD7CE2DB1
+ A8CB2E7575D3DDC59C9AF5D0DD90950A5294B2C294A500294A500294A500294A
+ 500294A500294A500294A500294A50061759A928D2F7152FDC4B5B8FD00D4536
+ D094C36C01B55D539CE7A8C13FA6A4AE26BC63F0FF00503A06E2986E1007D150
+ 0E93D64CC88C9641C8751BC2CE7A13B7F88D792EB4AA4A5F6FF59E87A745BC6D
+ AF9FC1B8CC82F83BB72719F88AC75DED8BB8475B2B50248DB8FA6BE0DCF74C9F
+ 0DB73C504E48CF6AD8ED90038FF8EB57D44F7AF25B99D872943CC45323844A72
+ 5B496DE050D2F77B43A107BFD82B6563872988B5A83EA505109C818484FD1527
+ 46B7894F2CB48E87F1ABD4EDA17E0293DD5E4314394AAD165AC72F59114FE1F3
+ 125E7192AF61092404E01271D3F3D47772E14DD6E0E25F8321105C4AF0E390B2
+ 85AC76EF8AB17234C17D1B8AB63A7B8CD63B502E3E9EB5AB0A2DB8D23C4596B0
+ 57B7CF148597237543F1EA377088465F0625C1611211707D6A09CAC3CF95E7A7
+ C315A35E786CE5BA24C9CFC86DD696DA89C1F7303F356EFA8B983B4B897530E3
+ 4D71D40C05A969083E5D7AF4A87B5C6B7BCDF6DAB67C12D32B077223FBB8FEB8
+ D74F041B96E3A11DFF001C119DB2C73EEF1A4356FDCF0F13A0292411B87956FB
+ 6BD0931FB64982FC35A54E246E52505206083E7F4564780D3A340BE2AD325487
+ 172523C270F749EF8FD5539B16B7A15D253CF603493B02493D4D6FCFA89E392A
+ 468DB17DCAD13B84EAB7C7019610EAB3951DBED8FA2BCCDE9B8AC29A48692144
+ E09574C7C7BD4F7A99952D7907C34AD5B029033D7E15EB621166D4A8CEDB6049
+ 46DDCE296DFE100EFD0D57F5F92A986CC776411728DE1C736C80D21C6C81F860
+ 9CA4FC6BED074D14458F11390A1925450769E9E7527A349B4C237C75B6DB2FFB
+ 4D343F13E35F1718F0169492168070ADA30695FAB95558F5084B948D3A158A53
+ 8EA5090E32067DB48C2718AD86D6D31684A51112B0F38704A8F43F1FCD9ACDCD
+ 2861A436DB8A2A5FF43C649AF569CD3E89EB744869C094F54FB26B2CF3B7EE3A
+ D2E0F8B4F2E24A694908527FAE4E466BF9D42F495CD4A565480E0F6423DD3D2B
+ D77584843DB4BBE12500E100FB47A5639B5ED8895788B71F493EF9E82937BB91
+ 52767DBE4F6A24065730A92E28FB5B4E4FCDD6B73B4E99B71B5098CB0953F8C9
+ 594E542B44811244B77129D25A51F2EBF4548365BA2AD519705921C514F53DF1
+ 4A92E444BB9AE5CD80E4B75236B6D14E4AD408015FA6BE36A49948719714D9F8
+ 14A8D7875219720C95FAC018EBB3B5602C825021DF115B15920E69908DA2866A
+ E6DFC9C54E256A0D1E84A4E0D609E71C9D16586D9DC94A09538A1D47D75B14A7
+ E3CE88862602000494A7B9C751F9C5787C2C5A6429A5ADB6CA140B6AFC6E95BF
+ 02A92179BE932C3728BD34627FB3353FD401CA41C68C40F3F115FA0D4FF5F458
+ 7A23FC1F2EC9F525FC8A5295728294A500294A500294A500294A500294A50029
+ 4A500294A500294A500294A500294A500294A500294A500294A500294A500294
+ A500294A500294A5006B1C4D5251C3FBF15FBBEA8BCFD18AAA5C3228951DF380
+ F488CB082C248CEDC60FD99156A78AEDA9EE1AEA54273B8C07718F8ED38AA43A
+ 56FB2B44EA489BB608D311B96E7E30240C75F2ED5E5FAC477349FC7E4F5BD1D2
+ 78A49FCFF88B2B6C8515A65C7DB8E42881952BA63EAAC8C209796144FE081F68
+ 76AF85AA78BDD892B8CE32F367016A4104823AF715E28125D91352DE0A101452
+ 7E720578E51B36E5B69D9245B222584A0B4E8008F748F9ABECF3AB49242C2F1E
+ 5DABCD063295190A4ABA247527A57D5961A5255E23A0FC46698934A91C19F2CF
+ 8B6CA663A3AF5EBECF6A87B8AAFB835E5BADD1D5B1A90CFB6547A6D1DFF8AA6A
+ 73C04290A092DAD27A7CF51DEADD29F2B712EC929C6C94351561431D0939C0A2
+ 38D2E59AB4B2719591C6BBE15427ADE972345851B6A14A56D6CA52B0013957E9
+ AAC1799EE5A4391D92B5B8EA8B692DF540CF4EDDFCEACEF1D353B4D990C21C79
+ 8311B536B40384E48C0FA7BD41FC2BB65926872FD7A9495C588B3B230580B715
+ E400F98F5FAABA586548F658B33943947CA3F0D17A1F48D9F50B4A5BB7832029
+ E23AF868CFEBCE3EBA9B34DDE6F9AD6229366B626330A482E3D756D5B56AF9B0
+ 3350D6A2D613F5C3F2DE65D4DBA034E6D6620E81783D323BF7C558CE5EF52AF5
+ 3E8E48949025425968A50AE99EDD479FD354D4BDFE7663D44DE3568C02F83E13
+ 706E6DCEE9297B30B31E36030547A1C83D7A6735919765F54448F05490CA8040
+ 52939560900D4877665725D5C7D981E6723A79D6BD756550E3292B47B27A83DF
+ B1CFEAAE0CB236C5432CA4AD9A7C6D35062C5FC232A76436BC85760135AAEA4D
+ 1AFCA96EC98ABF0D0E63281F8BD6A5D5BAD5D2CCDBA86D2951E87C89C1AC34E6
+ 5A84C871E412938C04F73429B66DC5964A2476CE920CA1A5CB4B892923F083A6
+ 3EBADB61C584C4C65B8CF3CB6D430A5EE181D2BED73BB34F470969054823DC70
+ 74358180E21943886095BAE286327D91D727A7D1436D969E46D59F5D5F62696F
+ A0B2C6E27FA2F98FAEB5A7EC186D3E1A56777C106A594C56E5DA92B0145C0076
+ E89FCF5AD5C24CA8AF2DBE9EAC074DA3AD5E3371542B1E693746A8842ADB1490
+ 9C383B6EFCFF009ABC5659A9B7EA17945EF11D713B8157400115994C59375277
+ ED4344F52AF7B1E7F9AB55BEA3E4DBB21D4A01009432C9EBD08233D3E9A747CE
+ AD9A5BB327A890268714846545272B4F6AD43D6DD8A434C7B8848055F039ADB1
+ 4FA9AB4B697595B4B4F5049C24E7E35AB4E770E2B6202B77C2B4E35EC4A56659
+ 9485B4DBAE0CA88E8A0735F39D7667D49D654A4B6B6D0ACA7CFB1AC0499EF426
+ 9B6D454A49C93B14322BC4BB8B0603EB736A5C2850255D55DB03B56FC70A9AA1
+ 59D56365B2E5246747B5FD9295F560D580A8039483FEB39AFA3153FD7D0609A8
+ 46FE0F9664FA92FE45294AB1414A528014AE5EFA49A0F183972E21DA389DA178
+ 8BAAE0E89BACC6C39017A85F7E3C3B982B77C34C57145263B886F706C85A014B
+ A921082DA0E2B8FF00E909D59CCFD93879C3EE02337DB2EAFD45F84BDC78396E
+ 6477D2AF623332C29386C6C71D71D0103C3F0F72903C66C35636E9A16E695A67
+ 55E95CEEE7CADBABF95BE4CF4740B17137594FD4AAD511D171D4F22F7244D98A
+ 5C4925690AF1096D9CA11B590768DA09DCBDCB5437A27835C75D77C9E48E39C0
+ E64B5932FB16E9D73569F93729A9496A23CEA1D0240924EE28656A48F0F05442
+ 49032B0285ABB073A75475D6954AFD197CDB6B2E663486ADB6EB9F027DEB4CBD
+ 188BD32DA1954C6A4178A52E348484254D9648DC900292A4829CA4A97637992B
+ ACDB172EFC50B95B65BF6FB8C3D2F73911A5C570B6EB0EA22B8A42D0B49052A4
+ 900820E4100D51C5A7B5964D35648F4AE3B7A36F9C5D748E632DFA4B5CEB5BB6
+ A3B06A96570507515DD4F2624B4A4AD85B6A7B71DCB295321B4A93BD4F233B8A
+ 102B29E934E73753AF8E2D68AE1D6AFBB69EB76946551EE12EC17272319739CD
+ AA750A5B2EE169682508C2929521CF1D27CA99E1BDDB4A788AACEBAD2AAA7259
+ C656ACDC88696E21712B55BEE311599EFDC6FB7B94E4875494CF7D080A5A8A96
+ B560210848CA89DA94824815A1DD3D30DC13B7DCE5C68F66D65738EC3CB6913A
+ 2DBE38664242880E2039212B09501901694AB07A80722A9B1DB48BEE556CBCF4
+ A8935BF343A1B46F2FAF719A3CB7F53689432C3E87AC894B8EBA975F430004B8
+ A461495AF0B4ACA5492950202814D57DFF0045EB81DF72FF002AFA9EABF5DF5C
+ F56F917E4D6BD6BC3D9BBD63778DE0F879F631E26FCFE26DF6A85193EC81C92E
+ ECBBB4A893487341A1B5F700AE7C5DD3F2DFB9E9BB65BA4DC26C56509F5D8CA6
+ 1A2EBD19C6CA804BC903B156D3B92A0A285254743E0D73F9C3EE38685E23EABB
+ 159F5244B7683B70B9DC9AB846610EBCD16DF730C843CA0A5623AFA28A464A7A
+ F7C46D64EE4597A540DCADF395A2F9B6FBA5FB90B65F6DDF207AB7AD7CB4C32D
+ 6FF1FC5D9B3C375CCE3C156738EE319EB89E6A1A69D304EF94294A5412294A50
+ 0294A500294A500294A500294A500294A500294A5006075DA3C4D1D7841190A8
+ CB49FA08AA8970D3312E311E8786D5236A437B8F6E991F9EADFEB48EE4BD2776
+ 659197571D6940F8AB1D07DB549A6DECE9DB9AD17561C6969202D49F6B181FD6
+ E7CEB87D474F2CCEE3F077FA7678E1836DFB990B16A5D43C342C5BA7C45BF6EF
+ 7CC98682129FECAA66D29AA1AB9418CFB2B8E1A7145654A58C80474EBF4E2A2F
+ 83C74E1E26198F7CBE3F1D246C5B6B84FB8920F43EEB66A3ABDF10787B6E79C5
+ E99D62EC5677E531DC852C003E390D1AF28F459E2EB6367565A9C59179A49174
+ E0C97E4B4A08701481D723D9FB6BE4FEA3B4C47C32F488A873CD45C0923EDAAB
+ 3A6B8DFA063C46D778E22DD5D91E6CB0C4C2D7D60B2335B943E3DF01D0905EBE
+ 29F7F1FCB9FB64C511FF0045578E9F3C552C6CE6CE5A784AB75FF04D53B8A5A6
+ E3A92DCC9B19948E9BBC618FB7B0AC5DE3891A74C03259B934EA8E705A792484
+ 8EBDF3508DD38AFC03BC2D5E3EA379B07FDEAD72C7FDCD69772D51C1D9D24B49
+ E21DCDAB66E196116F95850CF6FE52287A7D43FF00D6C662CDA58F36CC6F18EE
+ 32757EA57DBB0BCBB9879BDEB6A37E1979CF6C27269A7B8497F5DB9B6A458DD8
+ 65B6FC525E6168EA7B64918A96348F1C7805A350916CBAA23BE93B4C85DA2592
+ B1F1386B35B24CE6C783F2D95EED4A03AA504EE4DA660F673FDAE991D3EA231E
+ 31B37FEEB8A1C47B1A5E8BE0E263479F7ABCBB1DF8ECC3594B4D8DBB17B48ACC
+ F0D25AB4EDFEDF2E02A3FC99758C5A7191EF25690559FCD5EA47339C1C69F798
+ 46A2DD01D1871B72D730A57F5785580BAF1E782698CA6A25E5C002BF0662DBA5
+ 20A3CF232D0ACD3C5AA9AAF0990F5F8F3AF33268B8CF4B296C24A54F3FDC67A8
+ F3AC4DD3470BA21878CB7D0E039F0C2BD9350CDB3997D090E4786ABF95C727DA
+ 75DB7C92E11E58FC1F4EB8ADC3EFAFE1686523EE916481DBE4D97FFF001573DE
+ 83537C63647EAF1C784CCD5C63C1B2A1F5B6FAD4E23A6D27201F3E9E75849F7E
+ 79E5C64BAC91849500474208EF5A6CCE62386931609BC389714F1529C3064901
+ 3F47875E8FBE63876C3636DDC3EA41DA90AB7C9C14FF0093AB4743A9F7C6CD18
+ F5B8D2E59B17AC7AE16C784521215BB03B7435F2D37604DCAE0CA90BF612A255
+ E5E46B553CC0F0DA4AD4E397E7985107D96E049C7EF75F4B5F319C3CB1361B8D
+ 7B2E851CA96AB7C9DC3FE8EADFA1D47FD6CB4B5F8FB5937784DA5B75A48C3490
+ 024E3B9CD6BD7AB7A0C27A42405049DB9F9EB4A739A4E1D2E3A922FCB0A23FA9
+ F27BF97F43AF223996E1CAE3069CBF28823242ADF248DDFE4E8FD0EA3FEB62E1
+ ADC49F73F9BADE531DBF063F57067200ED5ABCB65E425A90FB8572B3F83707E2
+ 67FF000C8AFE6FFC6DE1FCA709897A0927F1C5BE4823FE8EB4DBBF16B4D3BE08
+ 8777504A540AF7447BAFED29D8F49A85C3C6CE8AD6616B99A465EFD3A6BA95A1
+ C756BD98CA770F8D79E1CD21AC21A517FC891D3E7FCD9AD66E3C47B1AEE46435
+ 784B8823AA4C37F07F6958FBBF106D32168F57BB3A3E21B8CEA47E74D7461A1C
+ AB9DAD0D8EAF057D446C37D4A5C5EC657E1EEF7C28E0D6A6A5F86F2925DC8F85
+ 7CA66ADB5CD6FDAB8A8280E998EEEE3F5EDAFE74D5B266A0B935E1B2B5B255D1
+ 58C647D75D3D3E9726E4E48C9ABD76358DA84932F77294D291A359DC31DFF454
+ FD51372F361167D30849053848C0352CD7AB4DB493F63E7926DC9B6294A5040A
+ 5294014D7D273CC5693E18F01AF7A12588378D61AB627ABC2B3C960480CB2560
+ 2A6389DC3C3D9B545A5F53E3210529506D653CE5E59B555EB91AE6834C5CB895
+ A2FE4B6A6C469120DEE2AC3F0214BDB99B1F6A54A0E213B92A48495603EC9095
+ 956DEA6EB2E40F87FC4CE3935C50D6F78D49ACEE2CBC1C66C97892C2ED6DB49C
+ 96A38650CA4F8282776C2A216725CF137AF76D1CCFF281A179B2B5D862EB076E
+ B05FB23CEB90E6D9E4A5A752971290E3642D0B414A8A1B3D53B816C60805414F
+ 8CA296D1328C9BB2B97A5FAEB0AFDCA868DB95B65B170B74CD510E4469715C4B
+ 8D3ED2E14B521685A490A4A8104107041CD40DCBCF0039A4E34728F67B368FE2
+ 5E9BB2F0AEF2CCB8ED5965294C4A0D7ADBA1F42DD6E229CDAB712E6407485216
+ 527D9253577B54F219A475BF00AC3C22BF6B1D6574D3762B8A2E16E952264654
+ D6128696D223073D5F05948757B4149527A242821294896F817C1AB2F2FDC2DB
+ 2E82D3D2674CB3DA7C6F01EB93885BEAF15E5BCADCA421093ED38A03091D00EF
+ DEA37A51A44ED6E56CD0B93CE52ECBCA3F0F26D8615CBEE82F1729665DC6F4E4
+ 34465BF81B5A6929054A0DA139212A5ABDA71D50C6FDA368E69FF6327173FC11
+ BB7F0376A51AC0EBFD1B0B88DA1751694B93AFB16EBEDBA45B24BB15412EA1A7
+ 9B536B282A040500A3824119C7434BBB76C6552A4715F859C05D4DC4EE4691AD
+ B42A6EB2359687D7F2644489660E2A538D3F1ADC952D843485385E6DC6D85821
+ 4909425D5752134E29F0175370C791A5EB6D749BAC7D65AE35FC6912E25E4389
+ 94DB4C46B8A52B7D0EA12E079C71C7D649528290A695D095575AF968E5A34C72
+ AFA167694D293AEB70B74CB8AEE6E3B7875B71D0EADB6DB2016DB40DB8693D31
+ 9C93D7E0E65F968D31CD468583A5355CEBADBEDD0EE28B9B6ED9DD6DB74BA86D
+ C6C025C6D636E1D574C672075F8BBC4E7EC27C3E0E6DF11FE5AFF41E385DF25F
+ AF7A8FDD13DF2AFAA6FF000FD5BD72E1B7C7DBD3C3F1FD5F1BBA6FF0FF001B6D
+ 64B93FE5E6F5CCEF2A137465938ED6FB069F725937FD1AC6928AEC88EFF8FE23
+ 2E3B277B6F39BC32D292E67184784090D148E8E70CB970D17C34E08DBB851EA5
+ F753A421789FE96D48D332FC7DF21523F0A9F0C215B5C5653ECF4DA9F319AAE9
+ A9BD10DC0EBEDF24CF81335669B8AF6DD96CB65C9B547670900ED2FB2E387241
+ 51DCB3D547181800DEB941B1F0C8B389BC06B2F2E7E8D5E34E90B2EBD83C400D
+ EA28EECC9905A435EA7244BB7B4E45710975CDAE23C20482411BC0291DCC35C2
+ 148FF42278D87033F75D1FAFFF0036D55D116B91BE1A5BF973BC705ED68BB5A7
+ 4BDE1E6255C25C799BE6C892DA985178ADD4AD0952CC66F704A023BED4A7358B
+ D37C81F0FB4C72E5AA382F16F1A91CD2FA8AE28B9CA96F4960CD43A9547500DA
+ C32101398ADF42827AABAF51814D57FF0049707FD154F913FF00CD91CC0FFCBF
+ FF00D9D8A8BBD1E4A03964E6FB240FF5A29FE0772AE97F2FBCA968BE5D38637A
+ D03665CED41A76F12DE97358D445993E2F8ACB6CB8D29296D0953650D0052527
+ 3956720E04231BD123C098F74BECA527523EC5C597DB8F09CB980D5B14E2B287
+ 1829405A94D8E890F29D491EF859EB46F8F21B5F041FE84AFF00D71FFC8FFF00
+ E6D750EA06E56F935D17CA4FDD2FDC85CEFB71F97FD5BD6BE5A7D9776781E2EC
+ D9E1B4DE33E32B39CF618C75CCF34B9B5295A2F0551A6294A52CB8A529400A52
+ 9400A529400A529400A529400A529400A529401F390C890CADB3D943151C5F38
+ 1F69BDC871E79B4952CF5E94A55E2E88B6BB1AACDE5534F4D7095B0820FCC2BC
+ AAE50F4D1491E023EC14A5129C976E03629F323E7F7A069BFC9D1F60A7DE81A6
+ FF002747D8294AAF893F921C547843EF40D37F93A3EC14FBD034DFE4E8FB0529
+ 47893F92C90FBD034DFE4E8FB053EF40D37F93A3EC14A54F8B3AAB21AA1F7A06
+ 9BFC9D1F60A7DE81A6FF002747D8294AAC6725EE2DFD98FBD034DFE4E8FB053E
+ F40D37F93A3EC14A53565922C9B5EE3EF40D37F93A3EC14FBD034DFE4E8FB052
+ 950F2C98393F91F7A069BFC9D1F60A7DE81A6FF2747D8294AAF8922ADB7EE3EF
+ 40D37F93A3EC14FBD034DFE4E8FB052947892215A7DC7DE81A6FF2747D829F7A
+ 069BFC9D1F60A52AAE72BBB34A4A7CC87DE81A6FF2747D82BFD4F283A6C281F5
+ 747D8294A66E73E6459422BD8FA7DE8DA691D4474123CB02B61B0F2F365B2ED2
+ 88C8494F6E8294A2EBD85CBCAF824EB3DA1BB347430C3612D81DC57BE94AA5D8
+ 376294A5410294A500294A500294A500294A500294A500294A500294A500294A
+ 500294A500294A500294A500294A500294A500294A500294A500294A500294A5
+ 007FFFD9}
+ end
+ object Label1: TLabel
+ Left = 40
+ Top = 192
+ Width = 377
+ Height = 57
+ AutoSize = False
+ Caption =
+ 'XP Menu is a none-visual component that changes the visual aspec' +
+ 'ts of menus, toolbars and many other controls to nearly the same' +
+ ' look and feel of MS Office XP. No code required, you do not hav' +
+ 'e to reconstruct menus or toolbars using controls other than tho' +
+ 'se shipped with Delphi.'
+ Color = clGray
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clSilver
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ ParentColor = False
+ ParentFont = False
+ WordWrap = True
+ end
+ object Label2: TLabel
+ Left = 48
+ Top = 160
+ Width = 218
+ Height = 13
+ Caption = 'TUCXpStyle component is based in TXPMenu'
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clSilver
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ ParentFont = False
+ end
+ object Label3: TLabel
+ Left = 40
+ Top = 264
+ Width = 236
+ Height = 13
+ Cursor = crHandPoint
+ Caption = 'Author: Khaled Shagrouni khaled@shagrouni.com'
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWhite
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ ParentFont = False
+ OnClick = Label3Click
+ end
+ object Label4: TLabel
+ Left = 40
+ Top = 288
+ Width = 274
+ Height = 13
+ Cursor = crHandPoint
+ Caption = 'http://www.shagrouni.com/english/software/xpmenu.html'
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = 16634037
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = [fsUnderline]
+ ParentFont = False
+ OnClick = Label4Click
+ end
+ object SpeedButton1: TSpeedButton
+ Left = 424
+ Top = 282
+ Width = 75
+ Height = 25
+ Caption = '&Close'
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFC066148E4019
+ 8E40198E40198E40198E40198E40198E40198E40198E40198E40198E40198E40
+ 198E40198E4019FF00FF8888886969696969696969696969696969696A6A6A69
+ 69696969696969696A6A6A6969696969696A6A6A696969FF00FFC06614F9F5F4
+ C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2
+ A5C3B2A58E4019FF00FF888888F8F8F8C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6
+ C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6696969FF00FFC06614FCFAFA
+ F9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCDFD0C7DFD0C7DCCB
+ C1C3B2A58E4019FF00FF888888FCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEAEAEAE7
+ E7E7E4E4E4E0E0E0DDDDDDDDDDDDD9D9D9C6C6C6696969FF00FFC06614FFFFFF
+ FCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCE2D4CCDFD0
+ C7C3B2A58E4019FF00FF888888FFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEA
+ EAEAE7E7E7E3E3E3E0E0E0E0E0E0DDDDDDC6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E5D9D1E2D4
+ CCC3B2A58E4019FF00FF888888FFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EE
+ EEEEEAEAEAE7E7E7E3E3E3E3E3E3E0E0E0C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E9DED7E5D9
+ D1C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1
+ F1F1EEEEEEEAEAEAE7E7E7E7E7E7E3E3E3C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F2EBE8EEE6E2ECE2DCECE2DCE9DE
+ D7C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFBFBFBF7
+ F7F7F1F1F1EEEEEEEAEAEAEAEAEAE7E7E7C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF0E9E5F0E9E5EDE4
+ DFC3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFB
+ FBFBF7F7F7F3F3F3F0F0F0F0F0F0ECECECC6C6C66A6A6AFF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF4EEEBF0E9
+ E5C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE
+ FEFEFBFBFBF7F7F7F3F3F3F3F3F3F0F0F0C6C6C66A6A6AFF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F78A9DE92546CD1D3F
+ C9193BC8183BC88194E1898989FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFEFEFEFAFAFAC6C6C6979797929292929292929292C0C0C0C06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFD3355DBF2F4FD4E6B
+ D94A67D8F2F4FD183BC8888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFEFEFEA1A1A1FAFAFAAAAAAAA8A8A8F9F9F9929292C066148E4019
+ 8E40198E40198E40198E40198E40198E40198E40198E40193C5CDD8296E4D9DF
+ F9CDD5F74C69D81A3CC88888886969696969696969696A6A6A69696969696969
+ 6969696969696969A5A5A5C1C1C1EDEDEDE7E7E7A8A8A8929292C06614ED9733
+ ED9733ED9733ED9733ED9733ED9733ED9733F6CA9AED97334563E16980E2E4E8
+ FBD8DEF9516DDA1F40C9888888ACACACACACACADADADADADADADADADACACACAD
+ ADADD5D5D5ADADADA8A8A8B6B6B6F2F2F2ECECECABABAB939393F810DCC06614
+ C06614C06614C06614C06614C06614C06614C06614C066144D6AE3F2F4FD667D
+ E26E85E2F2F4FD2749CEEF14EF88888888888888888888888889898988888888
+ 8888888888898989ACACACF9F9F9B5B5B5B9B9B9F9F9F9989898FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF9AABEF4D6AE34563
+ E14463DF3E5EDE8FA2EBFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFCFCFCFACACACA8A8A8A8A8A8A6A6A6C9C9C9}
+ NumGlyphs = 2
+ OnClick = SpeedButton1Click
+ end
+end
diff --git a/official/2.20/Lib/D10/UCEMailForm_U.dfm b/official/2.20/Lib/D10/UCEMailForm_U.dfm
new file mode 100644
index 0000000..2abfdac
--- /dev/null
+++ b/official/2.20/Lib/D10/UCEMailForm_U.dfm
@@ -0,0 +1,151 @@
+object UCEMailForm: TUCEMailForm
+ Left = 450
+ Top = 464
+ BorderStyle = bsDialog
+ Caption = 'Envio de Email'
+ ClientHeight = 34
+ ClientWidth = 303
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ FormStyle = fsStayOnTop
+ OldCreateOrder = False
+ Position = poScreenCenter
+ PixelsPerInch = 96
+ TextHeight = 13
+ object Panel1: TPanel
+ Left = 0
+ Top = 0
+ Width = 303
+ Height = 34
+ Align = alClient
+ BevelOuter = bvLowered
+ Color = clWhite
+ TabOrder = 0
+ object img: TImage
+ Left = 8
+ Top = 3
+ Width = 28
+ Height = 28
+ AutoSize = True
+ Picture.Data = {
+ 07544269746D6170760C0000424D760C00000000000036000000280000001C00
+ 00001C0000000100200000000000400C00000000000000000000000000000000
+ 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0098300000FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF009830000098300000FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00D76733009830000098300000983000009830000098300000DB8D
+ 630098300000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D7673300FBC4A100FFB3
+ 8B00FCAF8800F8AB8300F0A27A00E89A7100E092680098300000FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00D7673300FBC4A100FFB38B00FFB38B00FFB38B00F8AB8300F0A2
+ 7A00E89A7100E092680098300000FFFFFF00C7B2A30069473100694731006947
+ 3100694731006947310069473100694731006947310069473100694731006947
+ 310069473100694731006947310069473100B7A29300D7673300FBC4A100FFB3
+ 8B00FFB38B00FFB38B00FFB38B00F8AB8300F0A27A00E89A7100E09268009830
+ 0000C7B2A300DBC9BF00B7A29300B7A29300B7A29300B7A29300B7A29300B7A2
+ 9300B7A29300B7A29300B7A29300B7A29300B7A29300B7A29300B7A29300B7A2
+ 9300DDC5C200D7673300FBC4A100FFB38B00FFB38B00FFB38B00FFB38B00FFB3
+ 8B00F8AB8300F0A27A0098300000FFFFFF00C7B2A300DBC9BF00B7A29300E4D7
+ CF00E4D7CF00E4D7CF00E4D7CF00E4D7CF00E4D7CF00E4D7CF00E4D7CF00E4D7
+ CF00E4D7CF00E4D7CF00E4D7CF00E4D7CF00E4D7CF00D7673300FBC4A100FBC4
+ A100FBC4A100FBC4A100FBC4A100FBC4A100FFB38B0098300000FFFFFF00FFFF
+ FF00C7B2A300DECEC500DECEC500B7A29300E9DED700E9DED700E9DED700E9DE
+ D700E9DED700E9DED700E9DED700E9DED700E9DED700E9DED700E9DED700E9DE
+ D700E9DED700D7673300D7673300D7673300D7673300D7673300D7673300FBC4
+ A10098300000FFFFFF00FFFFFF00FFFFFF00C7B2A300E2D4CC00E2D4CC00E2D4
+ CC00B7A29300EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4
+ DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4
+ DF00DDC5C200E2D4CC00D767330098300000B7A29300FFFFFF00FFFFFF00FFFF
+ FF00C7B2A300E6D9D200E6D9D200E6D9D200E6D9D200B7A29300F0E9E500F0E9
+ E500F0E9E500F0E9E500F0E9E500F0E9E500F0E9E500F0E9E500F0E9E500F0E9
+ E500F0E9E500F0E9E500F0E9E500B7A29300E6D9D200E6D9D20098300000DDC5
+ C20069473100FFFFFF00FFFFFF00FFFFFF00C7B2A300EADFD900EADFD900EADF
+ D900EADFD900EADFD900B7A29300F4EFEC00F4EFEC00F4EFEC00F4EFEC00F4EF
+ EC00F4EFEC00F4EFEC00F4EFEC00F4EFEC00F4EFEC00F4EFEC00B7A29300EADF
+ D900EADFD900EADFD900EADFD900B7A2930069473100FFFFFF00FFFFFF00FFFF
+ FF00C7B2A300EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00B7A2
+ 9300F8F4F200F8F4F200F8F4F200F8F4F200F8F4F200F8F4F200F8F4F200F8F4
+ F200F8F4F200B7A29300EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00B7A2
+ 930069473100FFFFFF00FFFFFF00FFFFFF00C7B2A300F0E8E400F0E8E400F0E8
+ E400F0E8E400F0E8E400F0E8E400B7A29300B7A29300FCFAF900FCFAF900FCFA
+ F900FCFAF900FCFAF900FCFAF900FCFAF900B7A29300B7A29300F0E8E400F0E8
+ E400F0E8E400F0E8E400F0E8E400B7A2930069473100FFFFFF00FFFFFF00FFFF
+ FF00C7B2A300F3EDE900F3EDE900F3EDE900F3EDE900F3EDE900B7A29300DDC5
+ C200DDC5C200B7A29300DDC5C200FFFFFF00FFFFFF00FFFFFF00DDC5C200B7A2
+ 9300DDC5C200DDC5C200B7A29300F3EDE900F3EDE900F3EDE900F3EDE900B7A2
+ 930069473100FFFFFF00FFFFFF00FFFFFF00C7B2A300F6F1EF00F6F1EF00F6F1
+ EF00F6F1EF00B7A29300DDC5C200AFE0FB00A7DDFB00A0DAFC00C7B2A300B7A2
+ 9300B7A29300B7A29300C7B2A300DDC5C2006AC4FD0062C0FD005ABDFD00B7A2
+ 9300F6F1EF00F6F1EF00F6F1EF00B7A2930069473100FFFFFF00FFFFFF00FFFF
+ FF00C7B2A300F9F6F400F9F6F400F9F6F400B7A29300DDC5C200BDE7FB00B6E3
+ FB00AFE0FB00A7DDFB00A0DAFC0099D7FC0091D4FC008AD1FC0082CEFC007ACA
+ FD0072C7FD006AC4FD0062C0FD005ABDFD00B7A29300F9F6F400F9F6F400B7A2
+ 930069473100FFFFFF00FFFFFF00FFFFFF00C7B2A300FCFBFA00FCFBFA00B7A2
+ 9300C8B3A400CCEDFA00C5EAFB00BDE7FB00B6E3FB00AFE0FB00A7DDFB00A0DA
+ FC0099D7FC0091D4FC008AD1FC0082CEFC007ACAFD0072C7FD006AC4FD0062C0
+ FD005ABDFD00B7A29300FCFBFA00B7A2930069473100FFFFFF00FFFFFF00FFFF
+ FF00C7B2A300FFFFFF00B8A39400DDC5C200DBF3FA00D3F0FA00CCEDFA00C5EA
+ FB00BDE7FB00B6E3FB00AFE0FB00A7DDFB00A0DAFC0099D7FC0091D4FC008AD1
+ FC0082CEFC007ACAFD0072C7FD006AC4FD0062C0FD005ABDFD00B7A29300FFFF
+ FF0069473100FFFFFF00FFFFFF00FFFFFF00C7B2A300B7A29300DDC5C200DBF3
+ FA00DBF3FA00DBF3FA00D3F0FA00CCEDFA00C5EAFB00BDE7FB00B6E3FB00AFE0
+ FB00A7DDFB00A0DAFC0099D7FC0091D4FC008AD1FC0082CEFC007ACAFD0072C7
+ FD006AC4FD0062C0FD005ABDFD00B7A2930069473100FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00C7B2A300DBF3FA00DBF3FA00DBF3FA00DBF3FA00DBF3FA00D7F2
+ FA00D0EFFA00C8EBFA00C1E8FB00BAE5FB00B2E2FB00A7DDFB00A0DAFC0099D7
+ FC0091D4FC008AD1FC0082CEFC007ACAFD0072C7FD006AC4FD0062C0FD00B7A2
+ 930069473100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C7B2A300DBF3
+ FA00DBF3FA00DBF3FA00DBF3FA00DBF3FA00D7F2FA00D0EFFA00C8EBFA00C1E8
+ FB00BAE5FB00B2E2FB00ABDFFB00A4DBFC009CD8FC0095D6FC008ED3FC0086CF
+ FC007ECCFD0076C9FD00B7A2930069473100FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00C7B2A300DBF3FA00DBF3FA00DBF3FA00DBF3
+ FA00DBF3FA00D7F2FA00D0EFFA00C8EBFA00C1E8FB00BAE5FB00B2E2FB00ABDF
+ FB00A4DBFC009CD8FC0095D6FC008ED3FC0086CFFC00BCA7980069473100FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00C7B2A300DBF3FA00DBF3FA00DBF3FA00DBF3FA00DBF3FA00D7F2FA00D0EF
+ FA00C8EBFA00C1E8FB00BAE5FB00B2E2FB00ABDFFB00A4DBFC009CD8FC0095D6
+ FC00BBA6970073533E00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C7B2A300DBF3FA00DBF3
+ FA00DBF3FA00DBF3FA00DBF3FA00D7F2FA00D0EFFA00C8EBFA00C1E8FB00BAE5
+ FB00B2E2FB00ABDFFB00A4DBFC00B7A2930069473100FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00C7B2A300DBF3FA00DBF3FA00DBF3FA00DBF3FA00DBF3
+ FA00D7F2FA00D0EFFA00C8EBFA00C1E8FB00BAE5FB00B2E2FB00B7A293006947
+ 3100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C7B2
+ A300DBF3FA00DBF3FA00DBF3FA00DBF3FA00DBF3FA00D7F2FA00D0EFFA00C8EB
+ FA00C1E8FB00B7A2930069473100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C7B2A300C7B2A300C7B2A300C7B2
+ A300C7B2A300C7B2A300C7B2A300C7B2A300B7A2930069473100FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00}
+ end
+ object lbStatus: TLabel
+ Left = 48
+ Top = 14
+ Width = 66
+ Height = 14
+ Caption = 'Status email'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -12
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ParentFont = False
+ end
+ end
+end
diff --git a/official/2.20/Lib/D10/UCEditorForm_U.dfm b/official/2.20/Lib/D10/UCEditorForm_U.dfm
new file mode 100644
index 0000000..4c82d10
--- /dev/null
+++ b/official/2.20/Lib/D10/UCEditorForm_U.dfm
@@ -0,0 +1,1345 @@
+object UCEditorForm: TUCEditorForm
+ Left = 237
+ Top = 128
+ BorderStyle = bsDialog
+ Caption = 'User Control Editor'
+ ClientHeight = 524
+ ClientWidth = 594
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ OldCreateOrder = False
+ Position = poMainFormCenter
+ OnClose = FormClose
+ OnCreate = FormCreate
+ PixelsPerInch = 96
+ TextHeight = 13
+ object pnlBotoes: TPanel
+ Left = 0
+ Top = 479
+ Width = 594
+ Height = 45
+ Align = alBottom
+ BevelOuter = bvNone
+ TabOrder = 0
+ object btnOK: TBitBtn
+ Left = 219
+ Top = 7
+ Width = 75
+ Height = 25
+ TabOrder = 0
+ Kind = bkOK
+ end
+ object btnClose: TBitBtn
+ Left = 299
+ Top = 7
+ Width = 75
+ Height = 25
+ Caption = '&Fechar'
+ TabOrder = 1
+ Kind = bkClose
+ end
+ end
+ object Panel2: TPanel
+ Left = 0
+ Top = 0
+ Width = 594
+ Height = 73
+ Align = alTop
+ BevelOuter = bvNone
+ Color = clWhite
+ TabOrder = 1
+ object lbComponente: TLabel
+ Left = 5
+ Top = 27
+ Width = 230
+ Height = 19
+ Alignment = taCenter
+ AutoSize = False
+ Caption = 'Configura'#231#227'o B'#225'sica'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clBlack
+ Font.Height = -16
+ Font.Name = 'Tahoma'
+ Font.Style = [fsBold]
+ ParentFont = False
+ end
+ object Image1: TImage
+ Left = 220
+ Top = 0
+ Width = 374
+ Height = 73
+ Align = alRight
+ AutoSize = True
+ Picture.Data = {
+ 0A544A504547496D616765FE200000FFD8FFE000104A46494600010101004800
+ 480000FFDB0043000302020302020303030304030304050805050404050A0707
+ 06080C0A0C0C0B0A0B0B0D0E12100D0E110E0B0B1016101113141515150C0F17
+ 1816141812141514FFDB00430103040405040509050509140D0B0D1414141414
+ 1414141414141414141414141414141414141414141414141414141414141414
+ 14141414141414141414141414FFC00011080050017603012200021101031101
+ FFC4001F0000010501010101010100000000000000000102030405060708090A
+ 0BFFC400B5100002010303020403050504040000017D01020300041105122131
+ 410613516107227114328191A1082342B1C11552D1F02433627282090A161718
+ 191A25262728292A3435363738393A434445464748494A535455565758595A63
+ 6465666768696A737475767778797A838485868788898A92939495969798999A
+ A2A3A4A5A6A7A8A9AAB2B3B4B5B6B7B8B9BAC2C3C4C5C6C7C8C9CAD2D3D4D5D6
+ D7D8D9DAE1E2E3E4E5E6E7E8E9EAF1F2F3F4F5F6F7F8F9FAFFC4001F01000301
+ 01010101010101010000000000000102030405060708090A0BFFC400B5110002
+ 0102040403040705040400010277000102031104052131061241510761711322
+ 328108144291A1B1C109233352F0156272D10A162434E125F11718191A262728
+ 292A35363738393A434445464748494A535455565758595A636465666768696A
+ 737475767778797A82838485868788898A92939495969798999AA2A3A4A5A6A7
+ A8A9AAB2B3B4B5B6B7B8B9BAC2C3C4C5C6C7C8C9CAD2D3D4D5D6D7D8D9DAE2E3
+ E4E5E6E7E8E9EAF2F3F4F5F6F7F8F9FAFFDA000C03010002110311003F00FD52
+ DA2968A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2
+ 800A28A280129314EA2801980690A8A7919A6918A0040A29703DE8A5C52B00A3
+ 18A5A414B4C0422A3755352D3185260549A38D8739ACBBB82D70776EAD891335
+ 977908C1AC66B4378339CBE834C19DFE67E15CF5F43A1027779D5D06A76FC371
+ 5C86A96F8278AF36ABB743D3A4AFD4A772BE1B04EE37159D31F0B8CE5AE47E35
+ 46FE2C678AE7EF58464F19AF32752DD11EA429DFED33A573E14EED723F1A88BF
+ 84FF00BD75F9D7097BAC476F9DD139C7A62B3EF3C516569A72DE3966466D8100
+ F9B77A1F4AE7757FBA8E85497F333D2B7F84FF00BD75F9D1BFC27FDEBAFCEBC8
+ 1BE22582FF00CBB5D9FA22FF00F1552699E3FD3753BF8ACD56686690E17CD500
+ 13E9C1A9F6DFDD43F64BF999EB7BFC27FDEBAFCE8DFE13FEF5D7E75E47A87C43
+ D1F4FBD92D5A5925963387F2937007D2A23F12F460325A751D7988D1EDBFBA83
+ D92FE667B0EFF09FF7AEBF3A37F84FFBD75F9D7954FE39D1EDB4A8B507B922DE
+ 5E170A771F5E2AAC7F137C3EE3FE3EE45FADBC9FE147B6FEEA0F64BF999EBFBF
+ C27FDEBAFCE8DFE13FEF5D7E75E5FA678CB47D61E45B5BD5768D4BB0652B803A
+ 9E40A84F8FFC3C1CAFF6ADBE41C7DEA3DB7F7507B15FCCFEF3D5B7F84FFBD75F
+ 9D1BFC27FDEBAFCEBCD2CFC57A3DFCAB1C1A9DAC9231C2A0946E27D00A9E7D77
+ 4DB598C336A16D14A3AA3CCA187E19A3DB7F7507B15FCCFEF3D1E27F0A6E386B
+ AE9EB4579D5BF88F4A0E4FF695A631FF003D97FC68AB557FBA84E8FF00799F6F
+ D14515F667C48578AFED47FB58F843F64AF0BE8FAEF8BEC757D42DB54BC36504
+ 3A34514B287085CB1124B18DB85C6413C91C57B557E667FC16CF5069BC35F08B
+ 41882B5C5FEA779346A7824A2429D4F006661D7DBDE803F49347D622D6742B2D
+ 5638E5B782EAD92E563B850AE8ACA18061938201E79AF1CFD96BF6BDF08FED71
+ A46BFA978434AD774DB5D1AE23B69DB5B82188C8EEA5BE4F2E59338039CE3A8E
+ B5DFFC43BB83C1DF077C4B72A425B697A15CC80C996C2476EC79EE785AFCB9FD
+ 85F46F88FF00F0EF5F8D3A97C286963F1B5C6BE21B56B363F6A31C515B3CC21F
+ 493CB91F6E3924903E6DB401FAF1457E7A7FC13CEC3C3BE25D3EC7C6F17C70F8
+ 87ACF8CB44B694F8C3C19E24D51A4B7498C6EAE4DB3297DAAE772C9B9892B83B
+ 492A3C93E14FC51D5FF6CAD5BC69E37F1EF8B3E31693A1C7A8BD8E83A1FC32D3
+ 2FDED2C91515834B25BC32234A1644E1BE6E493F2B28A00FD67A2BF29A4F8C1F
+ 1E3C3DFB0B7C7AB3F185CF8E344D47C2F7FA58F0D78BF58B6BBD2F52BCB59B50
+ 4460257092310A9F31C96027DAC71815EFFF00B047C1DF889ACF87BC13F193C7
+ FF00167C41E26BBD4745096DE1E9EE5E4B38ED9D0089E42CC77CC400ECE46496
+ 20938CD007D91E24F12E95E0ED06FB5BD7350B6D2B48B189A7BABDBB90471428
+ 064B331E00AF8E6EBFE0AADF0FF56D5EEED3C0FE03F1F7C42B5B46227D4743D1
+ F740076203307C1E7EF2AF6FC392FF0082CF78BF57D13F67EF0BE8963349069B
+ AD6BAA97EC9902448E26748D8FA17C363D631E86BECDF82BF0DFC35F0A3E1778
+ 73C33E13B6B78744B2B2896192DD028B825413331FE2673F31249249EB4009F0
+ 57E2F693F1D3E1D69BE31D1AC752D2ECEF5E68CD8EB10082EEDDE295A3749630
+ CC15B284E327820F7AEE335F17FF00C144BF683F1B7C3DBCF865F0C3E1BEA3FD
+ 85E2CF885AA8B01AC0452D6B1192288042DC2B33CCBF375011B182411E47FB4F
+ 7C16F887FB117C2FB5F8B3E09F8E5E3AF10EADA75EDB26B361E28D40DE595F89
+ 1F696111E9F391C3163866C303C900FD2DA4AFCCBFDB1BE36FC4AF1F7C4AFD95
+ D3E17F89F56F085FF8DAC2DB54FB35B5ECB1DA319DADDD3ED31290264405B72B
+ 020AEE183922B8BFDB17E1FF00C62FD892F3C13F12346F8EFE2DF19EA1A96A62
+ CEEECF549A4F265976F981443E632344C10AF9647181827B007E9BFC48F8C1E0
+ EF84506972F8BF5EB7D15755BB5B1B1598333DCCEC40088AA092791D05762391
+ 5F969FF0534F86773AEFED57F01ED23F1BF88ADCF8C75986D16CD6EDBECFA291
+ 35A42B7166BD23918BB3B11CEE45356FF6EDB7F897FB3AFF00C339F81FC0DF16
+ 3C657DAB6A5AAEA513EABABEB33196FA469ECBC95BA2A40963432950AC080A48
+ C726803F5069335F9BDFB456ADF12BF61BF83DA7787343F893ACF8E3E23FC4BD
+ 6E3B74D775C3BFEC0422897ECE1CB040CD246173C28662390083F685FD9BBE24
+ 7ECABF042EFE2D785FE3F78F759F19E83E45CEAD0EB5A89B8D3EFD5A54470903
+ 676805C1C397C80470482003EBFF00DA37F6A3F0BFECC96BE179BC4BA66B5AA7
+ FC245A80D32CE3D1608A57129008DC1E44E39ED93ED5EC40EE00FAD7E5D7ED95
+ F14A4F8E3E0FFD8D3C4374134F9FC4FAD4379736711E165DF6A92140792AACED
+ 827B30CF5AFD451C28FA5007C6BE23FF0082A37C3BD03E2078ABC1F0780FE226
+ BDAA786B51B8D32F9F46D22DEE2212452B44CCA45C03B4B2360B0048EC3A57AC
+ 7ECC7FB63FC3DFDABACF566F07C9A8596A5A5328BCD27598161BA895890AF856
+ 752A4823218E08E71919F80BF65EF8A7E36F02FED0DFB53788FC01F0EA6F88FA
+ A5DF8A5D1F468AF85AC90C4F777CDE76E28DB82B0452A00CEFCE462BDC7F634F
+ D9DBC69F0C75BF8C5F1BFE30DCE9FF000DF57F1847707ECF1DC4489A5C72C865
+ 92777DC5130DB3682C4FCA77726803EFEC8CE296BF217F68DF8A3F0E349F873A
+ EDFF00C26F8C7F19BC75E3ED29A37FF84861D5EF64B0B502450E6E242B1C4232
+ ACC079631B99474241EE3E287ED25F17BE21F81FF664F857E1EF14CFE1CF177C
+ 45D2ADEF75AF135B7EEEE7C973B15D597054ED59246D855890002B93900FD41C
+ F04D78EFECF9FB517863F692BAF1941E1AD3359B0FF845B51FECCBC93568228D
+ 25972C0F945247C81B3BED3F30E39AE6BE05FEC872FC09F13C5ADDBFC5AF883E
+ 2B46B5782EF4AF12EAA2EACA66603122C7B46C652383927048CF35F99BF077F6
+ 88F137C38F83DE38F0A783E5934CF1DFC4EF1FCFA45B7882590DB5B69EB88449
+ 209BA47266E0004728096E0AAE403F6D5D720D52B88F703C57CFDAAF8234AF81
+ 3FB2F47E1FF881F1B3C43A34AE623A978E6F35A73A8CB3EE5774B692732140C1
+ 0A2A2293B37705896AFCF4F8FDF1D74CF056A3E0DF107ECF7F10FE2B6B178DAA
+ ADADE6B5E23BFBC9748BF623E58D85C01E63B1524AEDC60138CE312D5CA4EC7E
+ B6EA30641E335C9EAD66E413B49AF953E367C4AF885FB467ED8D3FECFF00E02F
+ 175E7C3FF0DF8774F1A9788F5CD24EDBE986D898AC520C1400CF120008F9998B
+ 6E002D79978CFE19EB3FB3EFEDA1F03BC1BE1AF8AFE3ED6348F105D25CEA969A
+ FEBCF32CCB14A494288114C6EAAC36B03DF9AE49D1E6D2E75C2B72EB63EC8D42
+ D5D890149FA5731AADAC9129DC8471DEBE5FF881F14F52F8E3FB58F8DBC0B7BA
+ EF8EF41F875E0D4F25ECFE1DE9D753DEDF5D0655633BDBC6EC91EEDE0646308B
+ 8192586A7ECFD71F107C3DF1C7C55E10B88FE206BBF0926D3FED3A46B7E3AD2E
+ EE1B8B49D550F95E74D1AE464C8BB78076A900739F3AA60DA8B95CF4A963173A
+ 8DB4D8F55D6530589FA570177765361203C6AECE14F4278AF40D7ADCBB380E40
+ 071D6B86D6745DD1A8128048DC0AB7415E1BDCF711CD6A17AD711A284085776E
+ 61DF3D3F2ACCFB535A5CDA4A8C77ACE9839E4722AD5E6892C793F6E7EBCE0D63
+ B69ACB9B87BB6985BCE8BB59F1927E607F4350C64F1EADE5CD70CD1ABC924E58
+ B9EA0066CE3EA71F954324E6595DB2CB131385CF41DA9B2F872EA646BC8A6115
+ BC929032C383DFF0EB43F873528ECBED4D707C8CECDF818CF5C50324D52F19B4
+ 9B488A868E3B99064807AAA9C7EA6A2BBD596E632208DA06F309C87E36E381D3
+ B63AD2CFA705F0FB34B3B3CA6E7098C7DEDA327F2C7D6A80D12F0410CEB3AEC9
+ 7215830EB9C629202DDADE4B0A4C530ED246C8FB8F6EA7F90FCAAB69D7F6B15A
+ 8596373212C77AB7418C0E3A7506A44D2AE6D512E259C3444942A1C020E3BFF9
+ E6B3EE74B9AD4C5FBC0AB28CA96C607247269812C37522CA926F3BD1832F3DFA
+ 8A20BCB792FEE1EEFCDD8DF364364E4E3D7E8696E743BFB7754255B70CA32302
+ AC0F420FF9EB556F6C26B3BC68DDB6C8A76B0E281D84D4DD3CD7113EE8836109
+ E0E314555786691701867D4D154897B9FB25451457DD9F0615F317EDD9FB175B
+ FED87E09D16D6DB595D07C4BA04D2CDA6DDCD11920612851245201C80DE5C677
+ 0CE0AF435F4ED1401F9EBE29F811FB6E7C4CF8793FC37F11F8EBC056BE1FBAB6
+ FB05FEB56E66379796F80ACACDE4F3BD7838542C0904F273EC3E05FD98FC7BFB
+ 2FFECD5A47827E08EB9A15E78BADB52FED1D46F7C556EE969A8EF5612AED8B73
+ 47D220B839C4782DC935F54D1401F10FECFF00FB22FC545FDA9F56F8E5F162FB
+ C27A6EA177A7BD89D0BC211CBE45CEE411969BCC1D3033C972C7192028159BF0
+ E7F655F8F7FB21F8A7C516DF04F56F077897E1D6B77CD7D1685E2B7B8867B291
+ 8019568860E15550B6EF9828F941E47DE145007C9BF1BBE04FC6DFDA23F647F1
+ 2F813C59AAF836D3C7BACEA104CBFD96D7316970DAC734522C459A3794B7EEC9
+ 2769E4819C0AF79F817E04BBF85FF05BC09E0FD40DABEA1A168765A6DD3D9126
+ 179A28112474255490CCA4E4804E7919AEE68A00F2BFDA5FF677F0E7ED3FF0A6
+ FF00C11E23696DA19644B9B4BFB700CB677299D92A83C1E199483D55D8646723
+ E5BF03FC14FDB53E07787ED7C19E14F1D780BC59E19B2416FA75EEBF1CEB736B
+ 08E1548099C28E80B49800007000AFBE28A00F8FBE3AFEC6DE38FDA0BE0FFC3F
+ 9FC41E34B0B4F8E1E0EBA7D46D3C49676FB6C8CCD207F2B68452117643B5F612
+ 0C5920EE6CF0DF107F65BFDA63F6AD8744F09FC67F15782BC3FE01D3AEE3B9BD
+ 4F08473B5DEA6C80804F98368C827BAA82C1B6315007DF545007C99F127F643F
+ 10F89BF6B3F833E3DD12E747B2F87FE01D2D6C8E9B35CCC2EF728982F95188CA
+ 1500C2325C13B4E470337BF6E6FD967C51FB4FC7F0DED7C3F79A3DA59F87F5B1
+ A96A3FDA9712C4D245F28DB17971BE588DDD4AF6E79E3EA5A2803E36FDB7FF00
+ 651F88FF0018BE25FC2DF88BF0CB55D1A0D7FC1571E72D8EB8EE90BB09525460
+ 555B23298653B72318354BE337ECA5F17BE3D78E3F677F17789753F080D43C0F
+ A9FF0069F88ACA092E12DE4DD7704CD1DAA989F70114213F78C3240C9E49AFB5
+ A8A00F9FBF6CEFD94ADFF6ADF86F65A4DBEAC7C3DE26D1AEC6A3A36ADB4B2C33
+ 01828E01076B71C8E54AA919C60F827C41FD9B3F6AEFDA4FC2B65F0EBE2878C7
+ C0BA2F81E39E27D4F52F0EC33BDF6A8B1B065DC8EA13EF2AB607963201C1C62B
+ EFCA2803E3BF8F7FB13EB1E39F1BFECD83C1B2E8963E0AF8557B0BDCDA6A934A
+ 2E27B7496D09540B132BB14B539DC572CDC9E491F6191C114B45007C7FFB177E
+ C89E36FD9E7E2FFC5FF1778AB52D0AF6D3C6579F6AB38B489E6778BF7F348448
+ 248900E255E85BA1FC7D4BF6C9F801A87ED33F0075EF02695AC268BA8DDC90DC
+ 5BCF3EEF21DE29038497682761C7500E08070718AF6EA2803E0ED7FF00661F8E
+ FE3FFD8FF50F8217DA5FC38F0CC70DA69F656979A6DE5CAA5CF913C723CB2010
+ 1D8CDE502700966624EDEFB1F1C7F60FF1378BFC13F05754F01F896C3C35F143
+ E18E996561697571BDECAE4411C63696DA5800E848250EE0CC1979E3ED9A2803
+ C1BE04C7FB464F79A8CBF175FC07159476061B0B5F0C8B9F366B9CAFEF676932
+ 02E01184EEC78E057CE5F0C3FE09A3AB59FEC65E32F845E38D4342B8F135EEBD
+ 36BFA26ABA6492CB0D9CFF006682388B33C48C3262757014FC8FC64F4FD06A28
+ 03F3DFE2E7EC47F1C7E32FC12F85FA6F8ABC45E13D5FC75F0FAF9DE159EEAE67
+ D3F5BB5222DBF6ADD0AB79A3C90872A430662581635D67C6DFD9A3E32FED1BA6
+ FC243E20B5F03785FF00E114F118D4AF74ED36FAE5A33669E408D623E472E42C
+ FF002FCAA0797C9C9DBF6D9E9514BF769303E1AF8CDFB2D7C48F0EFED5B77F1A
+ 3E077893C370789753B14835AF0EF8919C45345B563DDFBB058A3F90848CA9DD
+ 19218E481E05FD9DE339BFE0A9FF000B2D7C63E26D3FC4FE2B834B7B8D461D1A
+ 268AC34B3F67BC7FB3401C96D823D8FB9FE66694FA8AFB9FE3CFEC8FF0FF00E3
+ D789AC3C49E211AC69FE22B0B4FB0DBEABA26A525A4EB0EE66D9C641019D8F23
+ F88D731F06BF643F861FB386B97FAFF85B4EBEBDF135EC4F0CBAD6B578D75721
+ 18E5829202A93C6485C90304F5CE529A8ABB368C1C9D91E47E36FD9C7E22780B
+ F685F107C59F82FAFF0087E1B9F114623D6FC37E2712A5B5C1F972F1BC609C96
+ 50FC952096E483B6BB7F07FF00C2D478B56B9F89771E11B64758D74ED3FC2AF7
+ 1214396F31E7798724FC9B42718273CD7A9EAEE497393CD71BABBB156E49AF12
+ BD76E3CAD1EE50C3A52E64CE1356CF98C73EB5C76B9108A4DAA79C648C743FFE
+ AAEBF5C0E992B9CF3DABCF35ABABB47202E49E9953CD78EF73D8455D5EC05B5B
+ C6FE62E48E54BF24FB0F4FA135C4DE122F2E0E401F684079C7F09ABBA86A57A5
+ C8FBB838E10D6588A67B69A4663E679AAFEE7823A566CA35E5898E9913FDA588
+ DC40889E14FA819FE9DFE99D58F4991FC30938BA2A4B31F21BEE151CE47E22B8
+ B13DE200426476CA77A57BEBBCED2BB4F4236907E94EC05DD409FB2F04802688
+ F5F50C3FA5422DDA4D29A6FB50C472045B6CF232324E3F21F89A8E232DD59DD8
+ 98FCC4C65401D704E40FFBEAA9949F3900B0ED94CD219B1656F14BA44EED2482
+ 58183E09FDDE0F18FA9FE40D65EA058980EEC0194C7EBFFB3547299E2E1F838E
+ 8463FCFF00F5E9E13CFB52F23E595C6D53D48C75FE5400B730CCBA7DADC79EF2
+ 2312A149202107A0E7F954FABD835B7932995A7124633213BB6B775CFB7071D7
+ 9ACE5858703201F6C7144B1B4726D7C061C1C60E3FFD540CA52B10872790DDA8
+ A9EFAD96354084485802483800E3A73455AD897B9FB1F451457DD1F061505EDE
+ DBE9D6B2DD5DCF1DB5B44A5E49A670888A3A924F0054F5F3CFED75309DBE1DE9
+ 3A94EF6DE13D475E8A3D5E40FB10A0236ABB7653973CF1F2E7B567527C91722A
+ 2B99D8F4DD1FE3978035FD5E3D2F4FF17693757F236C8E14B95CC8D9C00A4F0C
+ 4F60339AD2F157C4EF09F81EF21B5D7FC43A7E9173347E6C715DCEA8CCB92320
+ 1ED906BCCFF69CF0C78374EF80FADB4FA769D66B6D6E3FB35A18923649F23CB1
+ 1631D4F503A8CF6AF318E7F10EAFF17BE1C4573A559EB3E251E038A792DF5872
+ 91CB2B3B06F30ED62AC0027A1E78E3AD73CAACE0F95EFA1A2826AE7D253FC5EF
+ 055B6836FADC9E29D297499E5304579F6A431348064A6ECFDE039C75A5F0F7C5
+ BF0678B2F64B4D1BC4DA6EA7751C4D33456D70AEC11719620761915F20FC5FF8
+ 4BA9FC2FF04682B7EFA75C6B9AEF8CC6A274FB2056CA12CADB6240403B464027
+ 1C020638C9FA374EB6F10E97E14F15DEF893C33E1DD0441A64CD04DA1C86491B
+ F76C5C3651703818C511AD37269AB581C2295D1E8BE17F19E85E36B192F740D5
+ AD357B48E4313CD67289155C004A923A1C107F1AB1A078934BF15581BDD22FE0
+ D46D048D119ADDC3AEE5386191DC1AF8EFE10492FECEBA6782FC5D24931F05F8
+ BEC92DF5757FBB6979F318A6F6565E3E9B89ED5ED1FB1B44E3F67FD0EE2460CF
+ 753DDCC5BB93F6891493EFF2D3A559CDA8B5ADBFCBFCC528249B477B75F187C1
+ 365E275F0ECDE27D363D6DA5100B3338DE2427010F60D9E3079C9157BC5DF11B
+ C31E028E27F10EBB63A479BFEAD2E660AEFEEABD48F702BC06DEC3FE19ABE234
+ B1EAB616BADF81BC61AC0787546895AEAC2EE424AA3E7974E3208E98247390D7
+ FE09E9FA778A3E3C7C57BFF12C50DE7892C75116B6305E00E60B205846D1AB67
+ 01805C91EA3A6EE45564DF2F5BFDDFE63E45BF43DC7C37F10BC35E30D2EE352D
+ 175CB1D4ECAD8133CB6D32B08B8CFCE3AAF009E7156B45F1768DE22D0CEB3A66
+ A76D7DA500E7ED90481A3C2E777CC3D3073F4AF997E274567E1CFDA32E3FE111
+ 8A18257F0A6A12EBF6F66A044408643099157A3171175E71B7D79DAFD9F751B5
+ D1FF00633B8BD17118686C753925F318611C3CD853E991B4E3AF3EF446B37271
+ 7D2FF8581C15AE7B45CFC5FF000559E8569AD4FE27D322D26EE468A0BC6B8511
+ 4AEBF7955BB918ABBE15F887E18F1C19D7C3FAF69FAC3C1CCA96770B2320EC48
+ 07207BD7C6DE15B655F85DFB3C59FD923964BCD7EEE631DC83E5B9170C006183
+ C1057B7415D1E836FA86B7A7FC54F899A7C36DE1BF14E9BA65CE88DE1FD2A3D8
+ F66C982F2BB0C6E7C2E548007CBDCAD66B11276D3FAB5C6E9A3E8FD77E38F807
+ C33AA49A76A5E2DD2AD6FA36DB2406E0168DBD1B19DA7D8E2A5D6BE33F817C39
+ A949A7EA9E2BD2AC2FA20ACF6F3DCAABA8650CA48F75607E84571DFB35F83BC2
+ 2BF05BC3971A7D8D8DEBDFD9A4D7F71246B23CB70C3F7A1D8E492AFB9707A018
+ AF2436BAD5D7ED7BF118786F43D135D923B0B557875890A431A886DC654856F9
+ B2318FAD5CAACD4632D35128C5B6BB1F56786FC51A478C34C5D4744D46DF54B1
+ 66282E2D640E85875191E95A958BE0FB4B9B3F0ED9A5F69F63A5DF32EEB8B5D3
+ 7FD4239EBB4E067B738ADAAEB57B6A64F70A2909C526EA621D45341A5CE68016
+ 8A28A0028A28A0043504C78A998D5699F8352CA4665F3F06B94D59F83CD747A8
+ 4A0035C8EAD36735C1599DF451CA6ACFF7AB92D4D861ABA5D525C93CFE15C96A
+ 92F04F7AF12AB3DDA48E4B597C0635E6FE2AB968A7B62A7E6DE4835E89AADD22
+ AB2B1C0279E33FE7BD79778AAE55AE611B8654312076E2B86476A29E9F756696
+ 98BB505C901495CF0E0066FC3191EF5957BA82C9772F908A232C4AA8E38CF1FA
+ 556B8B8263554E46DC649E9515B5F3DA5CA4E84ABA1CF071F5E6A063F509644B
+ 59B7864CC6C57231EBCF35957B7B25C5ECF2311BCED3D38FBA2AF6B3A925DBDC
+ CA5A42B22127CD604E7078CD624B701667E832A98CFF00BB40D1D16BFACDAC97
+ 28F64D09888236A2ED201C75F917FA9AAD7B7A9733FEEE268543124375E79C7B
+ 77FD2B0924000CB2E07239E95A775AF89558222A091104A0BEEDCCBFC43D3D3F
+ 1340CADA85DBC97A189C1F25003F4007F4AD1D5BC4C97D690C691324D16D1B88
+ CEEF9403D4F1C8381D0E7B62B1AEE50E6091082BB5813D7F88FF0088AABBC11C
+ 9183C60D03355ADEF0DB2DCC90CA203C6FDA42FE759AD73279ACCAC438C1DC09
+ CE6AECFAE3CDA65B59BB02B0B3156279C1C71598CE59B78FBA473ED4016F58D6
+ 66D426131762C5543193E6390B83C9F53CD1599338F2C73DF3CD156B621EE7EC
+ DD14515F747C18565789BC2DA478CF469F4AD6F4F8353D3E61F3C170BB94FA11
+ E847623915AB452693D181E57A47ECC7F0EF47BFB5BB5D124BC366C1AD60BFBD
+ 9EE61B7C74DB1C8E57D3A83D0576327C3CD025F1CC5E306B027C4515AFD892F3
+ CE93E58724EDD9BB675279C679AE8E8A954E0B6453937BB393F883F0AFC31F14
+ AD2CEDBC4DA69D461B394CD001712C251C8C6731B29E9EB597E1DF80DE09F0AC
+ 3AA45A669771047A9DA3D8DD07D46E64DF0BFDE51BE43B4FFB4B823B1AF40A28
+ 708B7CCD6A1CCED6B9CBDE7C32F0CEA1E034F065CE9693F869204B75B1791C80
+ 8841501F76EC82010739E3AD5DF07783747F00786ED340D06D3EC3A4DA6FF26D
+ FCC7936EE72EDF3392C72CC4F27BD6DD14F9527748577B1E61A57ECDBF0FF47D
+ 76CF55834691E6B193CEB382E2F26960B67C83BA38D9CA8E4647181DB1815A7E
+ 37F821E0EF883AAC5AAEADA511ABC4BB1351B3B892DA70BE85E3605B8C8E73C1
+ AEF28A9F670B5AC87CD2DEE721E07F849E13F87305DC7A0E8F15ABDDFF00C7CC
+ F2B34D34FECF2392C47278CE39E95C8CFF00B297C339EEA693FB06486DA6904B
+ 2D8417D3C76AEE3A1312B85F4E071C74AF5DA2874E0D59A41CD2EE723A87C28F
+ 0A6A571E199A6D1E356F0D36FD252091E24B53F2F44460A7EE2F0C0F4F735634
+ 9F86FE1DD0FC53ACF88AC74FF2356D65556FE513485270A00198CB6C078EA141
+ E4FA9CF4B9A322AB963BD8576795DC7ECC3F0EE5BF9AE61D1E6B18E77F327B3B
+ 1BE9E0B694FBC48E171DB0001567C43FB387C3DF15788AF75DD4B43965D56F48
+ 6B8B88B50B988C840007092003803A0AF4BDD499351ECA9FF2A1F34BB995E14F
+ 0AE99E09D06D745D1E07B6D3ADB779514933CA5773163F3392C7962793FA56A9
+ 3484D34B815A68B442DC7526EA85A5A6F99CF5A571D8B19A51CD5712548AF9A2
+ E1627A2981A9D9AA245A43416A8D9F14003BE0550BA97683534B2ED15937B738
+ 06B194AC6D0899FA95C601E6B8FD5AE3EF56D6A775D6B91D4EE09CF5AF2EB48F
+ 528C0C4D465C96FEB5CAEA90BCB9DA466B7AF9C9278358B73B893F29FCABC99B
+ B9ECD3470DAC786AF2EC10850E7D4D7253FC38D4AE2E49263452319DD5EB32AB
+ 7A1FCAABB23127E53F957233A923C3753F841AD198883CB9A3ECDBC0FE66B264
+ F83DE24278B65FC254FF001AFA17637F74FE546C6FEE9FCAA752AC7CEEBF073C
+ 4593BACF23DA58F9FF00C7AAFC9F07B57B848BFD1E48A5C618B49195FD1ABDE7
+ 637F74FE546C6FEE9FCA9582C7CEF71F077C41148CA962F30ECEB2C401FCDB35
+ 10F841E23FFA0549FF008110FF00F155F46EC6FEE9FCA8D8DFDD3F951619F3DB
+ FC2AF109B348468EFBD5890DF6A8BBFE3504FF00077C43184F2F4D798B282D99
+ E25DA7D3EF735F45EC6FEE9FCA8D8DFDD3F951603E71FF008543E25500FF0064
+ 06CF6FB4C7C7FE3D5249F0ABC4CF6EB18D0C295E770BA8B27FF1EAFA2B637F74
+ FE546C6FEE9FCA8B01F355CFC1EF15CBB443A2F18C906E62EBFF007D515F4D5B
+ A36F3F29E9E945689684B3FFD9}
+ end
+ end
+ object pnlCentro: TPanel
+ Left = 0
+ Top = 73
+ Width = 594
+ Height = 406
+ Align = alClient
+ BevelOuter = bvNone
+ TabOrder = 2
+ object PageControl: TPageControl
+ Left = 0
+ Top = 0
+ Width = 594
+ Height = 406
+ ActivePage = tabPrincipal
+ Align = alClient
+ Style = tsFlatButtons
+ TabOrder = 0
+ object tabPrincipal: TTabSheet
+ Caption = 'Principal'
+ object Panel5: TPanel
+ Left = 0
+ Top = 0
+ Width = 586
+ Height = 375
+ Align = alClient
+ BevelOuter = bvNone
+ TabOrder = 0
+ object Label5: TLabel
+ Left = 64
+ Top = 20
+ Width = 115
+ Height = 13
+ Caption = 'Identifica'#231#227'o Programa :'
+ end
+ object Label6: TLabel
+ Left = 47
+ Top = 276
+ Width = 132
+ Height = 13
+ Caption = 'Tabela de Usuarios/Perfis : '
+ end
+ object Label7: TLabel
+ Left = 69
+ Top = 213
+ Width = 110
+ Height = 13
+ Caption = 'Tabela de Permiss'#245'es :'
+ end
+ object Label29: TLabel
+ Left = 120
+ Top = 107
+ Width = 59
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'Criptografia :'
+ end
+ object Label30: TLabel
+ Left = 116
+ Top = 142
+ Width = 63
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'Encrypt Key :'
+ end
+ object Label32: TLabel
+ Left = 117
+ Top = 178
+ Width = 62
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'Login Mode :'
+ end
+ object edtApplicationID: TEdit
+ Left = 182
+ Top = 17
+ Width = 220
+ Height = 21
+ TabOrder = 0
+ end
+ object edtTableUsers: TEdit
+ Left = 182
+ Top = 268
+ Width = 220
+ Height = 21
+ TabOrder = 1
+ end
+ object edtTableRights: TEdit
+ Left = 182
+ Top = 205
+ Width = 220
+ Height = 21
+ TabOrder = 2
+ OnChange = edtTableRightsChange
+ end
+ object edtTabelaPermissoesEX: TEdit
+ Left = 182
+ Top = 233
+ Width = 220
+ Height = 21
+ Enabled = False
+ TabOrder = 3
+ Text = 'EX'
+ end
+ object ckAutoStart: TCheckBox
+ Left = 182
+ Top = 44
+ Width = 220
+ Height = 21
+ Caption = 'Iniciar Automaticamente'
+ TabOrder = 4
+ end
+ object btnTabelasPadrao: TButton
+ Left = 182
+ Top = 344
+ Width = 220
+ Height = 21
+ Caption = 'Tabelas Padr'#227'o'
+ TabOrder = 5
+ OnClick = btnTabelasPadraoClick
+ end
+ object ckValidationKey: TCheckBox
+ Left = 182
+ Top = 71
+ Width = 220
+ Height = 21
+ Caption = 'CheckValidationKey'
+ TabOrder = 6
+ end
+ object cbCriptografia: TComboBox
+ Left = 182
+ Top = 99
+ Width = 220
+ Height = 21
+ Style = csDropDownList
+ ItemHeight = 13
+ TabOrder = 7
+ Items.Strings = (
+ 'cPadrao'
+ 'cMD5')
+ end
+ object cbLoginMode: TComboBox
+ Left = 182
+ Top = 170
+ Width = 220
+ Height = 21
+ Style = csDropDownList
+ ItemHeight = 13
+ TabOrder = 8
+ Items.Strings = (
+ 'lmActive'
+ 'lmPassive')
+ end
+ object GroupBox3: TGroupBox
+ Left = 425
+ Top = 9
+ Width = 113
+ Height = 78
+ Caption = 'Not Allowed Items'
+ TabOrder = 9
+ object ckActionVisible: TCheckBox
+ Left = 12
+ Top = 24
+ Width = 89
+ Height = 17
+ Caption = 'Action Visible'
+ Checked = True
+ State = cbChecked
+ TabOrder = 0
+ end
+ object ckMenuVisible: TCheckBox
+ Left = 12
+ Top = 47
+ Width = 89
+ Height = 17
+ Caption = 'Menu Visible'
+ Checked = True
+ State = cbChecked
+ TabOrder = 1
+ end
+ end
+ object spedtEncryptKey: TSpinEdit
+ Left = 182
+ Top = 133
+ Width = 220
+ Height = 22
+ MaxValue = 0
+ MinValue = 0
+ TabOrder = 10
+ Value = 0
+ end
+ end
+ end
+ object tabControlRights: TTabSheet
+ Caption = 'Control Rights'
+ ImageIndex = 6
+ object Label33: TLabel
+ Left = 179
+ Top = 117
+ Width = 52
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'ActionList :'
+ end
+ object Label34: TLabel
+ Left = 129
+ Top = 159
+ Width = 102
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'ActionMainMenuBar :'
+ end
+ object Label35: TLabel
+ Left = 153
+ Top = 202
+ Width = 78
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'ActionManager :'
+ end
+ object Label36: TLabel
+ Left = 175
+ Top = 245
+ Width = 56
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'MainMenu :'
+ end
+ object cbActionList: TComboBox
+ Left = 237
+ Top = 113
+ Width = 220
+ Height = 21
+ Style = csDropDownList
+ ItemHeight = 13
+ TabOrder = 0
+ OnChange = ComboRightsChange
+ end
+ object cbActionMainMenuBar: TComboBox
+ Left = 237
+ Top = 155
+ Width = 220
+ Height = 21
+ Style = csDropDownList
+ ItemHeight = 13
+ TabOrder = 1
+ OnChange = ComboRightsChange
+ OnClick = ComboRightsChange
+ end
+ object cbActionManager: TComboBox
+ Left = 237
+ Top = 198
+ Width = 220
+ Height = 21
+ Style = csDropDownList
+ ItemHeight = 13
+ TabOrder = 2
+ OnChange = ComboRightsChange
+ end
+ object cbMainMenu: TComboBox
+ Left = 237
+ Top = 241
+ Width = 220
+ Height = 21
+ Style = csDropDownList
+ ItemHeight = 13
+ TabOrder = 3
+ OnChange = ComboRightsChange
+ end
+ end
+ object tabUser: TTabSheet
+ Caption = 'User'
+ ImageIndex = 3
+ object Label2: TLabel
+ Left = 172
+ Top = 122
+ Width = 36
+ Height = 13
+ Caption = 'Action :'
+ end
+ object Label27: TLabel
+ Left = 152
+ Top = 161
+ Width = 56
+ Height = 13
+ Caption = 'Menu Item :'
+ end
+ object cbUserAction: TComboBox
+ Left = 214
+ Top = 118
+ Width = 220
+ Height = 21
+ Style = csDropDownList
+ ItemHeight = 0
+ TabOrder = 0
+ OnChange = ComboActionMenuItem
+ OnClick = ComboActionMenuItem
+ end
+ object cbUserMenuItem: TComboBox
+ Left = 214
+ Top = 157
+ Width = 220
+ Height = 21
+ Style = csDropDownList
+ ItemHeight = 0
+ TabOrder = 1
+ OnChange = ComboActionMenuItem
+ OnClick = ComboActionMenuItem
+ end
+ object ckUserProtectAdministrator: TCheckBox
+ Left = 214
+ Top = 196
+ Width = 220
+ Height = 21
+ Caption = 'User Protect Administrator'
+ TabOrder = 2
+ end
+ object ckUserUsePrivilegedField: TCheckBox
+ Left = 214
+ Top = 236
+ Width = 220
+ Height = 21
+ Caption = 'Use Privileged Field'
+ TabOrder = 3
+ end
+ end
+ object tabUserProfile: TTabSheet
+ Caption = 'User Profile'
+ ImageIndex = 4
+ object Label3: TLabel
+ Left = 174
+ Top = 128
+ Width = 36
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'Action :'
+ end
+ object Label28: TLabel
+ Left = 154
+ Top = 181
+ Width = 56
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'Menu Item :'
+ end
+ object cbUserProfileAction: TComboBox
+ Left = 213
+ Top = 124
+ Width = 220
+ Height = 21
+ Style = csDropDownList
+ ItemHeight = 0
+ TabOrder = 0
+ OnChange = ComboActionMenuItem
+ OnClick = ComboActionMenuItem
+ end
+ object cbUserProfileMenuItem: TComboBox
+ Left = 213
+ Top = 177
+ Width = 220
+ Height = 21
+ Style = csDropDownList
+ ItemHeight = 0
+ TabOrder = 1
+ OnChange = ComboActionMenuItem
+ OnClick = ComboActionMenuItem
+ end
+ object ckUserProfileActive: TCheckBox
+ Left = 213
+ Top = 230
+ Width = 220
+ Height = 21
+ Caption = 'Active'
+ TabOrder = 2
+ end
+ end
+ object tabUserPasswordChange: TTabSheet
+ Caption = 'User Password Change'
+ ImageIndex = 5
+ object Label4: TLabel
+ Left = 126
+ Top = 252
+ Width = 108
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'Min Password Length :'
+ end
+ object Label31: TLabel
+ Left = 198
+ Top = 110
+ Width = 36
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'Action :'
+ end
+ object Label37: TLabel
+ Left = 178
+ Top = 157
+ Width = 56
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'Menu Item :'
+ end
+ object cbUserPasswordChangeAction: TComboBox
+ Left = 239
+ Top = 106
+ Width = 220
+ Height = 21
+ Style = csDropDownList
+ ItemHeight = 0
+ TabOrder = 0
+ OnChange = ComboActionMenuItem
+ OnClick = ComboActionMenuItem
+ end
+ object cbUserPasswordChangeMenuItem: TComboBox
+ Left = 239
+ Top = 153
+ Width = 220
+ Height = 21
+ Style = csDropDownList
+ ItemHeight = 0
+ TabOrder = 1
+ OnChange = ComboActionMenuItem
+ OnClick = ComboActionMenuItem
+ end
+ object ckUserPassowrdChangeForcePassword: TCheckBox
+ Left = 239
+ Top = 200
+ Width = 220
+ Height = 21
+ Caption = 'Force Password'
+ TabOrder = 2
+ end
+ object spedtUserPasswordChangeMinPasswordLength: TSpinEdit
+ Left = 239
+ Top = 247
+ Width = 220
+ Height = 22
+ MaxValue = 0
+ MinValue = 0
+ TabOrder = 3
+ Value = 0
+ end
+ end
+ object tabLogControl: TTabSheet
+ Caption = 'Log Control'
+ ImageIndex = 1
+ object Label25: TLabel
+ Left = 140
+ Top = 115
+ Width = 80
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'Tabela de Logs :'
+ end
+ object Label1: TLabel
+ Left = 164
+ Top = 75
+ Width = 56
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'Menu Item :'
+ end
+ object Label26: TLabel
+ Left = 184
+ Top = 35
+ Width = 36
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'Action :'
+ end
+ object Panel4: TPanel
+ Left = 0
+ Top = 205
+ Width = 586
+ Height = 170
+ Align = alBottom
+ BevelOuter = bvNone
+ Color = clWhite
+ TabOrder = 0
+ object Image4: TImage
+ Left = 20
+ Top = 28
+ Width = 25
+ Height = 24
+ Picture.Data = {
+ 07544269746D617076060000424D760600000000000036040000280000001800
+ 000018000000010008000000000040020000C40E0000C40E0000000100000000
+ 00000800000008080800310010004A08180031101800391821005A1821004A18
+ 290063292900522131006B21310039314200843142001042420018394A001042
+ 4A008C524A0031395200084252006B4A5200085252005A525200845252005A5A
+ 5A00635A5A006B5A5A00845A5A008C5A5A00635A6300845A63005A6363008463
+ 6300946363008C6B6B00A56B6B00086B7300426B730094737300396B7B009C7B
+ 7B00A57B7B00AD848400187B9400188C9C00298C9C0029949C002994A500B5A5
+ A500218CAD00089CAD0021A5AD0021ADAD009CA5B5007BB5B500089CBD00219C
+ BD0021B5BD00089CC60008BDC60010A5CE0018B5CE0008BDD60000B5DE0008B5
+ DE0010B5DE0008DEDE0000BDE70008BDE70000C6E70008C6E70018C6E70008CE
+ E70052CEE70000D6E70000DEE70018E7E70000BDEF0000C6EF0000CEEF0000D6
+ EF0018D6EF0000DEEF0008DEEF0063DEEF0000E7EF0008E7EF0010E7EF004AE7
+ EF0063E7EF0000EFEF004AEFEF0000C6F70000CEF7006BDEF70000E7F70094E7
+ F7009CE7F70000EFF70008F7F70010F7F700FF00FF0000D6FF0000DEFF0008DE
+ FF0000E7FF0008E7FF0000EFFF0008EFFF0010EFFF0000F7FF0008F7FF0010F7
+ FF0018F7FF0000FFFF0008FFFF0010FFFF0018FFFF0031FFFF0052FFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF007777777777777777777777777777777777777777777777777777772F1F1A
+ 1D1D1D1D1D1D1D1D1D1D1D1D1D1D161B77777777483B36363636363636393636
+ 36363636363930081B7777483F3E42424242424D3F37404C4242424242425B26
+ 10777753434D655C5C5C654E0F073446655C5C5C655C5C2429777777464D6765
+ 656565440104093C656565656C65431377777777534467676565654F12000E47
+ 656565676C5C2C277777777777464E69666565665E495E666565667067451C77
+ 77777777775D4E6769666666662A666666666970662E2977777777777777504F
+ 6C666666490B4F68666670674F1977777777777777775344676966683A063D6A
+ 666C6C662C28777777777777777777474F6B686A310C2B6A686F694715777777
+ 7777777777777753496B6B61230A26616B70682D287777777777777777777777
+ 505E6E540F0311496F6C5418777777777777777777777777585162410102053A
+ 706A322277777777777777777777777777526141000204386E52177777777777
+ 77777777777777777757515514010D4B6D332177777777777777777777777777
+ 777756616E4A746E551E7777777777777777777777777777777758546E72746D
+ 382077777777777777777777777777777777774B627573611E77777777777777
+ 77777777777777777777775A5975713825777777777777777777777777777777
+ 77777777636E6335777777777777777777777777777777777777777753765377
+ 7777777777777777777777777777777777777777775377777777777777777777
+ 7777}
+ end
+ object Label19: TLabel
+ Left = 60
+ Top = 28
+ Width = 320
+ Height = 13
+ Caption = 'O Componente n'#227'o grava nenhum log automaticamente!'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = [fsBold]
+ ParentFont = False
+ end
+ object Label20: TLabel
+ Left = 60
+ Top = 52
+ Width = 505
+ Height = 13
+ Caption =
+ 'Utilize o Metodo: Log(msg : String; nivel : Integer {0..3} = 0) ' +
+ 'para gravar registros no Log de mensagens'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ParentFont = False
+ end
+ object Label21: TLabel
+ Left = 68
+ Top = 76
+ Width = 16
+ Height = 13
+ Caption = 'Ex:'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ParentFont = False
+ end
+ object Label22: TLabel
+ Left = 92
+ Top = 76
+ Width = 175
+ Height = 13
+ Caption = 'UserControl1.Log('#39'Exemplo de Log'#39');'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ParentFont = False
+ end
+ object Label23: TLabel
+ Left = 280
+ Top = 76
+ Width = 285
+ Height = 65
+ Caption =
+ 'try'#13#10' ..'#13#10'except'#13#10' on e : Exception do ADOUserControl1.Log(e.M' +
+ 'essage, 3);'#13#10'end;'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ParentFont = False
+ end
+ object Label24: TLabel
+ Left = 92
+ Top = 108
+ Width = 162
+ Height = 13
+ Caption = 'UserControl1.Log('#39'Exemplo 2'#39', 1);'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ParentFont = False
+ end
+ end
+ object edtLogControlTableLog: TEdit
+ Left = 226
+ Top = 112
+ Width = 220
+ Height = 21
+ TabOrder = 1
+ end
+ object ckLogControlActive: TCheckBox
+ Left = 226
+ Top = 152
+ Width = 220
+ Height = 21
+ Caption = 'Active'
+ Checked = True
+ State = cbChecked
+ TabOrder = 2
+ end
+ object cbLogControlAction: TComboBox
+ Left = 226
+ Top = 32
+ Width = 220
+ Height = 21
+ Style = csDropDownList
+ ItemHeight = 0
+ TabOrder = 3
+ OnChange = ComboActionMenuItem
+ OnClick = ComboActionMenuItem
+ end
+ object cbLogControlMenuItem: TComboBox
+ Left = 226
+ Top = 72
+ Width = 220
+ Height = 21
+ Style = csDropDownList
+ ItemHeight = 0
+ TabOrder = 4
+ OnChange = ComboActionMenuItem
+ OnClick = ComboActionMenuItem
+ end
+ end
+ object tabLogin: TTabSheet
+ Caption = 'Login'
+ ImageIndex = 2
+ object Label14: TLabel
+ Left = 115
+ Top = 25
+ Width = 149
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'N'#250'mero m'#225'ximo de Tentativas :'
+ end
+ object Label15: TLabel
+ Left = 181
+ Top = 52
+ Width = 83
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'Get Login Name :'
+ end
+ object Label16: TLabel
+ Left = 136
+ Top = 350
+ Width = 79
+ Height = 13
+ Caption = 'Imagem Superior'
+ end
+ object Label17: TLabel
+ Left = 288
+ Top = 350
+ Width = 85
+ Height = 13
+ Caption = 'Imagem Esquerda'
+ end
+ object Label18: TLabel
+ Left = 440
+ Top = 350
+ Width = 72
+ Height = 13
+ Caption = 'Imagem Inferior'
+ end
+ object SpeedButton1: TSpeedButton
+ Left = 19
+ Top = 288
+ Width = 73
+ Height = 40
+ Caption = 'Visualizar'
+ Flat = True
+ Glyph.Data = {
+ 36030000424D3603000000000000360000002800000010000000100000000100
+ 18000000000000030000420B0000420B00000000000000000000FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFCC6701CC6701CC6701CC6701CC6701CC6701CC
+ 6701CC6701CC6701CC6701CC6701CC6701CC6701CC6701CC6701FF00FFCC6701
+ FFFFFFFFFFFFFFFAF5FFF3E6FEEBD5FEE3C3FEDCB5FED7ABFED7ABFED7ABFED7
+ ABFED7ABFED7ABCC6701FF00FFCC6701FFFFFFFFFFFFFFFFFFFFFAF5FFF3E6FE
+ EBD5FEE3C4FEDCB500C0C000C0C000C0C000C0C0FED7ABCC6701FF00FFCC6701
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFAF5FFF3E6FFEBD5FEE3C4FFFFFFFFFFFFFFFF
+ FF00C0C0FED7ABCC6701FF00FFCC6701FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FAF5FFF3E6FFEBD5FEE3C4FEDCB5FED7ABFED7ABFED7ABCC6701FF00FFCC6701
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF5FFF3E6FFEBD5FEE3C4FEDC
+ B5FED7ABFED7ABCC6701FF00FFCC6701FFFFFFFFFFFFFFFFFF80808080808080
+ 8080FFFFFF808080FFF3E6808080808080808080FED7ABCC6701FF00FFCC6701
+ 8080FF0000FF8080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF5FFF3E6FFEB
+ D5FEE3C4FEDCB5CC6701FF00FFCC67010000FF0000FF0000FFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFAF5FFF3E6FFEBD5FEE3C4CC6701FF00FFCC6701
+ 8080FF0000FF8080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA
+ F5FFF3E6FFEBD5CC6701FF00FFCC6701FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF5FFF3E6CC6701FF00FFCC6701
+ CC6701CC6701CC6701CC6701CC6701CC6701CC6701CC6701CC6701CC6701CC67
+ 01CC6701CC6701CC6701FF00FFFF00FFCC6701CC6701CC6701CC6701CC6701CC
+ 6701CC6701CC6701CC6701CC6701CC6701CC6701CC6701FF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF}
+ Layout = blGlyphTop
+ OnClick = SpeedButton1Click
+ end
+ object SpeedButton2: TSpeedButton
+ Left = 211
+ Top = 322
+ Width = 48
+ Height = 22
+ Caption = 'Limpar'
+ Flat = True
+ OnClick = SpeedButton2Click
+ end
+ object SpeedButton3: TSpeedButton
+ Left = 365
+ Top = 322
+ Width = 48
+ Height = 22
+ Caption = 'Limpar'
+ Flat = True
+ OnClick = SpeedButton3Click
+ end
+ object SpeedButton4: TSpeedButton
+ Left = 517
+ Top = 322
+ Width = 48
+ Height = 22
+ Caption = 'Limpar'
+ Flat = True
+ OnClick = SpeedButton4Click
+ end
+ object GroupBox1: TGroupBox
+ Left = 2
+ Top = 88
+ Width = 290
+ Height = 185
+ Caption = 'Login Inicial'
+ TabOrder = 0
+ object Label8: TLabel
+ Left = 14
+ Top = 24
+ Width = 42
+ Height = 13
+ Caption = 'Usu'#225'rio :'
+ end
+ object Label9: TLabel
+ Left = 19
+ Top = 55
+ Width = 37
+ Height = 13
+ Caption = 'Senha :'
+ end
+ object Label12: TLabel
+ Left = 25
+ Top = 87
+ Width = 31
+ Height = 13
+ Caption = 'Email :'
+ end
+ object lblInitialRights: TLabel
+ Left = -7
+ Top = 115
+ Width = 63
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'Initial Rights :'
+ end
+ object edtInitialLoginUser: TEdit
+ Left = 64
+ Top = 20
+ Width = 220
+ Height = 21
+ TabOrder = 0
+ end
+ object edtInitialLoginPassword: TEdit
+ Left = 64
+ Top = 51
+ Width = 220
+ Height = 21
+ TabOrder = 1
+ end
+ object edtInitialLoginEmail: TEdit
+ Left = 64
+ Top = 83
+ Width = 220
+ Height = 21
+ TabOrder = 2
+ end
+ object mmInitialRights: TMemo
+ Left = 64
+ Top = 115
+ Width = 220
+ Height = 62
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clGreen
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ ParentFont = False
+ TabOrder = 3
+ end
+ end
+ object GroupBox2: TGroupBox
+ Left = 295
+ Top = 88
+ Width = 290
+ Height = 185
+ Caption = 'Login Autom'#225'tico'
+ TabOrder = 1
+ object Label10: TLabel
+ Left = 13
+ Top = 44
+ Width = 42
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'Usu'#225'rio :'
+ end
+ object Label11: TLabel
+ Left = 18
+ Top = 81
+ Width = 37
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'Senha :'
+ end
+ object edtLoginAutoLoginUser: TEdit
+ Left = 56
+ Top = 40
+ Width = 220
+ Height = 21
+ TabOrder = 0
+ end
+ object edtLoginAutoLoginPassword: TEdit
+ Left = 56
+ Top = 77
+ Width = 220
+ Height = 21
+ TabOrder = 1
+ end
+ object ckLoginAutologinActive: TCheckBox
+ Left = 56
+ Top = 104
+ Width = 65
+ Height = 17
+ Caption = 'Ativo'
+ Checked = True
+ State = cbChecked
+ TabOrder = 2
+ end
+ object ckLoginAutoLoginMessageOnError: TCheckBox
+ Left = 33
+ Top = 127
+ Width = 225
+ Height = 17
+ Caption = 'Exibir mensagem padr'#227'o de erro se falhar ?'
+ TabOrder = 3
+ end
+ end
+ object cbGetLoginName: TComboBox
+ Left = 270
+ Top = 48
+ Width = 201
+ Height = 21
+ Style = csDropDownList
+ ItemHeight = 13
+ ItemIndex = 0
+ TabOrder = 2
+ Text = 'lnNone'
+ Items.Strings = (
+ 'lnNone'
+ 'lnUserName'
+ 'lnMachineName')
+ end
+ object Panel6: TPanel
+ Left = 143
+ Top = 280
+ Width = 65
+ Height = 65
+ BevelOuter = bvLowered
+ Color = clGray
+ TabOrder = 3
+ object imgTop: TImage
+ Left = 1
+ Top = 1
+ Width = 63
+ Height = 63
+ Cursor = crHandPoint
+ Align = alClient
+ Center = True
+ Proportional = True
+ Stretch = True
+ OnClick = ActionsExecute
+ end
+ end
+ object Panel7: TPanel
+ Left = 295
+ Top = 280
+ Width = 65
+ Height = 65
+ BevelOuter = bvLowered
+ Color = clGray
+ TabOrder = 4
+ object imgLeft: TImage
+ Left = 1
+ Top = 1
+ Width = 63
+ Height = 63
+ Cursor = crHandPoint
+ Align = alClient
+ Center = True
+ Proportional = True
+ Stretch = True
+ OnClick = ActionsExecute
+ end
+ end
+ object Panel8: TPanel
+ Left = 447
+ Top = 280
+ Width = 65
+ Height = 65
+ BevelOuter = bvLowered
+ Color = clGray
+ TabOrder = 5
+ object imgBottom: TImage
+ Left = 1
+ Top = 1
+ Width = 63
+ Height = 63
+ Cursor = crHandPoint
+ Align = alClient
+ Center = True
+ Proportional = True
+ Stretch = True
+ OnClick = ActionsExecute
+ end
+ end
+ object spedtMaxLoginAttempts: TSpinEdit
+ Left = 270
+ Top = 20
+ Width = 121
+ Height = 22
+ MaxValue = 0
+ MinValue = 0
+ TabOrder = 6
+ Value = 0
+ end
+ end
+ end
+ end
+ object OpenPictureDialog: TOpenPictureDialog
+ Left = 512
+ Top = 240
+ end
+ object ActionList: TActionList
+ Left = 545
+ Top = 240
+ object acCarregarFigura: TAction
+ Caption = 'Carregar Figura'
+ OnExecute = ActionsExecute
+ end
+ object acVisualizarTelaLogin: TAction
+ Caption = 'acVisualizarTelaLogin'
+ OnExecute = ActionsExecute
+ end
+ end
+end
diff --git a/official/2.20/Lib/D10/UCHist_Form.dfm b/official/2.20/Lib/D10/UCHist_Form.dfm
new file mode 100644
index 0000000..ad89169
--- /dev/null
+++ b/official/2.20/Lib/D10/UCHist_Form.dfm
@@ -0,0 +1,1309 @@
+object FrmHistorico: TFrmHistorico
+ Left = 99
+ Top = 127
+ BorderStyle = bsDialog
+ Caption = 'Historico de Tabelas'
+ ClientHeight = 453
+ ClientWidth = 813
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ OldCreateOrder = False
+ OnClose = FormClose
+ OnShow = FormShow
+ PixelsPerInch = 96
+ TextHeight = 13
+ object Panel1: TPanel
+ Left = 0
+ Top = 0
+ Width = 813
+ Height = 49
+ Align = alTop
+ Color = clWhite
+ TabOrder = 0
+ object Image1: TImage
+ Left = 1
+ Top = 1
+ Width = 48
+ Height = 47
+ Align = alLeft
+ Center = True
+ Picture.Data = {
+ 055449636F6E000001000C00101010000100040028010000C600000018181000
+ 01000400E8010000EE0100002020100001000400E8020000D603000030301000
+ 0100040068060000BE060000101000000100080068050000260D000018180000
+ 01000800C80600008E1200002020000001000800A80800005619000030300000
+ 01000800A80E0000FE210000101000000100200068040000A630000018180000
+ 01002000880900000E3500002020000001002000A8100000963E000030300000
+ 01002000A82500003E4F00002800000010000000200000000100040000000000
+ 8000000000000000000000000000000000000000000000000000800000800000
+ 0080800080000000800080008080000080808000C0C0C0000000FF0000FF0000
+ 00FFFF00FF000000FF00FF00FFFF0000FFFFFF00000780000000000000067E76
+ 00000000000C8E8E8E77000000068E87E8E77000000687E887E8E7000007E7C8
+ E88E8C00000788E87C87E000000E8888F8E8700000088E88FF8880000008E8CF
+ 6E888000000888E8F88E800000088FFFFFFFF7000008B3B7B888F700000B89BB
+ 9BBBB70000078B77B7B9B7000000000007787000E7FF0000E0FF0000E00F0000
+ E0070000E0030000E0030000E0070000E0070000E0070000E0070000E0070000
+ E0030000E0030000E0030000E0030000FF870000280000001800000030000000
+ 0100040000000000200100000000000000000000000000000000000000000000
+ 00008000008000000080800080000000800080008080000080808000C0C0C000
+ 0000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF0000000800
+ 000000000000000000006C86C8000000000000000000C768E8EC700000000000
+ 0000668E8E8E8EC7E00000000000C7E8E7E8E8E87C00000000006C888E87E8E8
+ E86000000000C8EE88E88C8E8E8E70000000678C6778E8E8E8E7EC000000CE86
+ 8ECF88888878C0000000688EF7E86E7E8E8C00000000C888686888C646800000
+ 000068888F8F8FFF888E00000000C88E68EF8F88F88700000000E88E787FFF8F
+ 88FC00000000C88EFE6F66E7E8F60000000068F7887F8886768E00000000CFF8
+ 88EFFFFFFFF700000000E88FFFFFFFFFFFF80000000078B3B38B88FFFFF80000
+ 000078B9B9B9BB3B3B88700000007B8BBBBB9BBBBBBBC000000078888988B8B9
+ B9BB7000000065717773573777776000000000000000000000000000FBFFFF00
+ F03FFF00F007FF00F0007F00F0003F00F0001F00F0000700F0000300F0000700
+ F0000F00F0001F00F0000F00F0000F00F0000F00F0000F00F0000F00F0000F00
+ F0000F00F0000F00F0000700F0000700F0000700F0000700FFFFFF0028000000
+ 2000000040000000010004000000000000020000000000000000000000000000
+ 0000000000000000000080000080000000808000800000008000800080800000
+ 80808000C0C0C0000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000
+ FFFFFF00000000000000000000000000000000000000006C7670000000000000
+ 00000000000007C8E8CEC7E000000000000000000000076678E8E8C767000000
+ 0000000000000EC7CE8E8E8E8EC6C80000000000000007C78E87E8E8E8E8E7C6
+ 00000000000006C68E8E8C8E78E8E8E7C0000000000008C788E88E8E8E78E8E8
+ E7000000000006CE8E87E888E8E7E8C8E7C80000000007E78CE7CE8E888E8E8E
+ 8E8C800000000C68868686888E8888E8E8EEC000000008CE86E8E788888E8E88
+ 8E5C0000000006C88E887CE86CE8888E8C8000000000086887C88E88E7646C68
+ 8600000000000CE8FFFE8688F8888E7C8C000000000007C8FE8F8F8F8F888888
+ E700000000000E6887E67E8FF8F8FF8F8E000000000007CFFE8CF888F8F8F888
+ F600000000000E788688E7EF8EF88FF8FE00000000000CE8FE8F8C8F666E67E8
+ 88700000000007CF8788FE7F888C8666C8E00000000006EFF8E867EFFFFFF88F
+ F8C0000000000C88FFFFFFFFFFFFFFFFFF700000000006888FFFFFFFFFFFFFFF
+ FF60000000000CB8B39B7B8888F8FFFFFF60000000000688B9BB9B9BBB3B8888
+ 8F800000000007B8BB9BBBB9B9BBBBBBBB78000000000CB888B9B9BBBBB9B9BB
+ 9B760000000006888B888B8B98BBBBBBBB37000000000773797B79B7B9898989
+ B786000000000077777C8C7C7C76767775780000000000000000000000000000
+ 00000000FFFFFFFFFC1FFFFFF801FFFFF8003FFFF80003FFF80000FFF800007F
+ F800003FF800000FF8000007F8000007F800000FF800001FF800003FF800003F
+ F800003FF800003FF800003FF800003FF800001FF800001FF800001FF800001F
+ F800001FF800001FF800001FF800000FF800000FF800000FF800000FFC00000F
+ FFFFFFFF28000000300000006000000001000400000000008004000000000000
+ 0000000000000000000000000000000000008000008000000080800080000000
+ 800080008080000080808000C0C0C0000000FF0000FF000000FFFF00FF000000
+ FF00FF00FFFF0000FFFFFF000000000000000000000000000000000000000000
+ 000000000000000008C668000000000000000000000000000000000000000000
+ 06C7C6C6C0000000000000000000000000000000000000007C688E867C6C7800
+ 00000000000000000000000000000000C6CE778E8E8EC6C67000000000000000
+ 00000000000000006C7767E8E8E8E8ECEC6C8000000000000000000000000000
+ C66C8E8C8E7E8E88E8EC6C670000000000000000000000006C6868E8E8E8C8E8
+ E78E8ECEC6C800000000000000000000C6C7C8E8E8C8E8E78E8E88E8766C6000
+ 00000000000000006C68E8E87E8E8E8E7E78E78E877C60000000000000000000
+ 6C67888E88E8E8E8E8E7E8E7EE8EC6000000000000000000C6C8E8E8E88E878E
+ 77E8E7E878E8EC6800000000000000006CE788888E88E8E88E878E8E7E8E88EC
+ 6000000000000000C6778EC6E88E888E88E8E8C8E8C8E8E8C600000000000000
+ 6CE88E68C6C67E88E88E88E8E8E8E77E8C60000000000000C6C887C86E88C888
+ 8E88E88E88E88E8E8EC80000000000006CE88E6E7C8E68E888888E88E88E8E87
+ EC670000000000006C7888678E686888E8E888E88E88E8EC6700000000000000
+ CE688ECFFF86C88E677E8888888E88C780000000000000006C78F86F888E6888
+ C6C66CE7E8888EC00000000000000000CECF8E66E6886E888E766646466E87C0
+ 00000000000000006C7FFFF888C6C88F8F8888E76C658E600000000000000000
+ 6E6FF8FF8FFF88888F8F8888888E87C00000000000000000CC7FFE7E88F8FF8F
+ 8888F8F8F888886000000000000000006ECFF86766E6E8F8FF8F888F88888EC0
+ 0000000000000000C68FFECF8888C88F8F8F8F888F8FF8600000000000000000
+ 6CEFF8786C8FE8FF8F8F8F8F88F88FC80000000000000000CE7FFE6E8E6F7EFF
+ FFF8FF8FF88F8F6800000000000000006C8FF8C7FF7E76FF666E888F8FF8F8EC
+ 0000000000000000CE7FF8EFFFF6C8FF6C66C666668E8F670000000000000008
+ 6CEFF7EFFFFF6E8F88E766C66C666F8C0000000000000008CE8FF8C668E88C8F
+ FFFFFF888E7C688C0000000000000008C68FF8F88E7C6EFFFFFFFFFFFFFFFF86
+ 0000000000000008CE88FFFFFFFFFFFFFFFFFFFFFFFFFF8C0000000000000008
+ C68FFFFFFFFFFFFFFFFFFFFFFFFFFFF68000000000000008CE7F888FFFFFFFFF
+ FFFFFFFFFFFFFFFCE0000000000000086388B9B3373888FFFFFFFFFFFFFFFFF6
+ 7000000000000008CBBFB3B9BB9BB9B3378788FFFFFFFFF8C000000000000008
+ CB88B9BB9BB9BB9BBBBBBB33B78788F8C000000000000008CBBF8B9BB9BB9BBB
+ 9B9B9BBBBBBBBB376000000000000008CB888B9B9BB9BB9BBBBBB9B9B9BBBBBB
+ C000000000000008CBB888BBB9BBB9BB9B9BBBBBBBB9BB9B6800000000000008
+ 698F8F8F8F88B8BBB9BB9B9BB9BBBBBB6C00000000000008CBB9B37B8B7B8888
+ 8F888B8BBBBB9BBB7600000000000000C7777797939799B939B9B9B79898B798
+ 7C000000000000006C6C46C6C6C66C6C66C6674767775776C700000000000000
+ 00000000000000888888C8C8C7C66C6800000000000000000000000000000000
+ 000000000000000000000000FFFFFFFFFFFF0000FF83FFFFFFFF0000FF807FFF
+ FFFF0000FF0003FFFFFF0000FF00007FFFFF0000FF000007FFFF0000FF000000
+ FFFF0000FF0000000FFF0000FF00000007FF0000FF00000007FF0000FF000000
+ 03FF0000FF00000000FF0000FF000000007F0000FF000000003F0000FF000000
+ 001F0000FF000000000F0000FF000000000F0000FF000000003F0000FF000000
+ 007F0000FF00000001FF0000FF00000001FF0000FF00000001FF0000FF000000
+ 01FF0000FF00000001FF0000FF00000001FF0000FF00000001FF0000FF000000
+ 00FF0000FF00000000FF0000FF00000000FF0000FF00000000FF0000FE000000
+ 00FF0000FE00000000FF0000FE00000000FF0000FE00000000FF0000FE000000
+ 007F0000FE000000007F0000FE000000007F0000FE000000007F0000FE000000
+ 007F0000FE000000007F0000FE000000007F0000FE000000003F0000FE000000
+ 003F0000FE000000003F0000FF000000003F0000FF000000003F0000FFFFFC00
+ 00FF0000FFFFFFFFFFFF00002800000010000000200000000100080000000000
+ 000100000000000000000000000100000001000000000000B45D2800B6612900
+ BB672D00C67436009B7E6E0079897500B0812F00B4853600D4823E00DC873B00
+ E08B3700E7983F00A08F6F00BD896800A5877600AD8A7600BF8F7000B4927D00
+ BE977E00D2864600C59C4E00CA9E4D00CC895100CC895600C99E5500DB945600
+ E89D4100E39D5E00CBA24F00CCA25100C6A15900DAAD5900EAA54A00E6AA5300
+ E8A45B00E3AD5B00FBBF5900CB8D6300C09E6500CA9E6500CEAA6100CAA66B00
+ D6AF6400D5B57100D5B57700DBBA7700D1B37C00E3A26500E6B86500E1B86900
+ E9AC7100E8AF7D00E3BB7500EFB67B00F2BA7F00FCC15A00FFC75F00FFC76000
+ FFC86200FFC96400FFCA6900FFCB6C00FFCC6F00FFCD7200FFCF7600FBCD7B00
+ FFD07900089DEE000B9DF20004A7FF0000ADFF0000B4FF0000BBFF001FBFF800
+ 28ACEF0038AFF3002DB2F40029BAF7004E96CC005FA9DF0070A2CD0073ADDC00
+ 4ABAEF0045ADF1004CBCFF0000C2FF0000CAFF0016C6F90000D1FB0000D1FF00
+ 67CFF5006CC8F10066CFFF00D0B68600DEBF9A00DEC28400DFC38800DDC49900
+ E6C78D00FFD38100FFD48400FFD78E00E7C09100E1C49100E1C89100E7C89000
+ E2C89700EBC29D00F9D79700FFDB9700E1CDAA00E8D4A600E5D2AA00E8D5AC00
+ EFDBB400EBDAB800ECD9B900F9E4BD008BD4F300B1DFF400EEE2CC00F2E3C400
+ F8E6C400F7E8CB00FFEDCD00FFF0D500FFF2DB00CFE6F400FFF4E000E2EEF700
+ FDF9F300F2F7FA00FFFDFA00FFFEFD0000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000261300000000000000
+ 000000000000000328210B1700000000000000000000000124393939251B090E
+ 000000000000000242403D3B39393922170000000000000432203164403D3B3B
+ 390A0000000000142B1E166D6E6664433D0C00000000001A2E63156A07081935
+ 23000000000000307C736A7B7D76682A1C00000000000033611E2F7B81817E7E
+ 3400000000000036607229741F2F62746C00000000000037706A2C72796F5E27
+ 5F000000000000688286868686868686831300000000005B45444B535B777880
+ 840E00000000005D5546474849565759590D00000000004F515250544C4D4E4A
+ 5806000000000000000000000012100F05000000E7FF0000E0FF0000E00F0000
+ E0070000E0030000E0030000E0070000E0070000E0070000E0070000E0070000
+ E0030000E0030000E0030000E0030000FF870000280000001800000030000000
+ 0100080000000000400200000000000000000000000100000001000000000000
+ 7A5E55005F6374006B61660066766F0062637000895302009C660A009C6A1600
+ A9730B0093583900B05F2D00BA662B00BE6A2E00A1702300A56B3B00AE683B00
+ AF6B3D00B26D3E00A8783000C24B0100C44E0200C7520300CA560500CC590600
+ CF5C0700D15F0800D3610900D5630A00D6660B00D8680C00D96E1100D5721D00
+ C86D2900CC6D2B00D3702100D6762200D97F2C00CF743700C87E3F00D0713000
+ D0753A00D2793C00C07E4B00D17A4200D37C4100D47E4400D47F4900B4801A00
+ B2832C00B5852C00B9882B00AD813500B3843300BF913300C3953500C0943900
+ C89A3800E4903400E8973A00BA904A00BD954C00B4845A00BE995800CB8A4B00
+ C4974400C59A4200C79C4E00C99B4800C98B5600D98D5D00C89F5000CE985600
+ CA9F5600D5985000CFA34F00CBA45600CCA65B00D2AA5300D6A85000D1AC5D00
+ D9AD5C00ECA24400EFAA4A00F2AC4A00F6BA5800F6BA5F00D9916200DC966900
+ D59D6A00C4937400C5967800DD9B7100C8A76C00D3AC6200D1AB6400D5B16100
+ D4B06A00D2B06D00DBB46C00C7A87500CDAE7700D7A27200D2B07000D4B27500
+ DDBA7700ECB86600E1BB7600F0BA7B00F8C15F00FDC35C00FFC75F00F7C36300
+ FAC36000FFC76000FFC86100FFC96500FFCA6900FFCC6E00EDC27100FFCD7200
+ FFCE7600FFD07A00FFD17E004C6A8C0062758000627E80006378900062878000
+ 72828600578AB0006085A7000091E700099AEF001498E50000B3EF0000A5FF00
+ 00AAFF0000AFFF001CABFF0000BCF70000B0FF0000B4FF0000B9FF0000BEFF00
+ 34A5E60020BEF00029B1FF0057B3E80077BEE90066B8F4007FBFF30000C1FE00
+ 00C7FF0001CCFF0019CCFF0005D7F90000D0FF0000D5FF0029CCFF003CCDFF00
+ 43CAF2004CCEFF0059CBFD0062C7FB0076C3F70079CCFB007FCEFF0063D3F200
+ D7BC8F00E2AC8800E3B68B00E4BA9100DCC28A00DCC59A00E9C68300E5C48900
+ F1CA8200FBCE8500FFD28100FDD38400FFD48600FFD58900FFD68C00E2C49000
+ E9CB9000E8C19A00E3CD9F00EACF9B00F4C99400EBD09F00FBD79500FFD89100
+ FFD99400FFDB9800FFDD9E00E5CEA000EAC6AD00E5D0A100ECD6AA00FDDDA100
+ F1D0AD00E6D3B100EDDAB400EBDBB800ECDDBA00EEDEBC00F3D2B000F8DAB000
+ EFE0BE00F9E2B70088C3CC0097C8EA008CC7F50092CDF70099DDFF00BBD6EE00
+ 99E0FA0099E2FF00D6D5CE00EBDDC200F7E7C700FBE0C100FFEAC500FFECC900
+ F9EACE00FFEDCD00F4EBD700F8EBD100FFEFD100F9EDD600FFF0D500FFF1D900
+ FFF2DD00FFF4DF00CFE2F300DBE9F600FFF4E100FFF6E600FAF4E900FFF7E900
+ FFF8EB00EFF5FB00FFFAF200FEFBF600FFFCF600FFFCF900FFFEFD0000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 005C000000000000000000000000000000000000000000002F274021295B0000
+ 0000000000000000000000000000000014113E7071533A202A00000000000000
+ 00000000000000001411486F6F6F6F6F6F522521460000000000000000000000
+ 14106A74746F6F6F6F6F6F714A0C000000000000000000001412B47B79767671
+ 746F6F6F6F5524000000000000000000162BB14F77B47B7B7676746F6F6F6F3B
+ 2E000000000000001645AF4B334451B7B67B7B797674746F542A000000000000
+ 1859B9305E6341C8C3C2C2B4B47B795524000000000000001866BC69DF5E43B0
+ 0735476BC2C2B22800000000000000001AABDD614C4732DFBE683C0E06136C00
+ 00000000000000001AACE4C7E1E9E1E7E4E1E1DFD2B0BD5A0000000000000000
+ 1ABACB50424D61EDE9E9E7E5E1E1D05700000000000000001EC9CD3937C468F1
+ F1EEEDE9E9E7E72E00000000000000001ACFCD60F66138F309323C5DA9CAE426
+ 00000000000000001FC9D14FC6CD36EFDCAE653F3408642E0000000000000000
+ 1FDEF3E3CDBBADF6F6F6F6F6F3F3F35700000000000000001FDBEBF2F6F6F6F6
+ F6F6F6F6F6F6F6AA000000000000000004D9858486919495D4D8ECF6F6F6F6C5
+ 000000000000000080D993888A8D8D909898908792A1A8D35800000000000000
+ 7ED7A78B888A8A8D90909899999E9E9C2E000000000000007D9697D5D6A5A7A4
+ A3A2A09F9B999E9E0F000000000000000B0A0A010101030505027C7F7F838281
+ 0D000000000000000000000000000000000000000000000000000000FBFFFF00
+ F03FFF00F007FF00F0007F00F0003F00F0001F00F0000700F0000300F0000700
+ F0000F00F0001F00F0000F00F0000F00F0000F00F0000F00F0000F00F0000F00
+ F0000F00F0000F00F0000700F0000700F0000700F0000700FFFFFF0028000000
+ 2000000040000000010008000000000000040000000000000000000000010000
+ 0001000000000000935D0600BC4F0E00BC500E0097620B009B6609009C6A1900
+ A9730A00A06E1A00A8741000AD7A1C00965D3F00AE5F2300BE632500A5762C00
+ AB7D2D00A9633A00BA6C3600A6773100C1530C00C0551000C55B1100C85F1300
+ CC641500CF681600CE661B00CF691F00D16C1B00D5701A00D9751B00DE7C1F00
+ C7672600CA652300C76B2600CD6A2500CC6B2C00D16F2A00D5762300D9792300
+ D0712F00CE6E3000C57E3D00C97E3C00D1733500D0743900825C4C008D614D00
+ AC6C4200B1724600AB775500B07E5600B97A5200D27A4100AE802B00B8862200
+ BB8B2700B4842D00BD8C2900B3863500BD8D3100B2883B00BB8D3800DC832D00
+ C08F3400C3933300C3953800C79B3B00E2862C00E78A2D00EA8D2E00E18C3600
+ EE933400E8983A00F49C3F00CCA03E00B88D4500B58D4B00BC954E00B3836400
+ BD947900DF8D4000C0954500C69A4500CC9E4A00DA914200D5994F00C0845300
+ C18A5400CA855900D4865400D6885400DA8E5700D68D5E00C49C5500CBA04400
+ CAA04D00D0A54600CDA55300CCA15900D7A95500D8A25B00D0AC5F00DFA95900
+ E7A64E00F0A84700F2AE4B00F5B55200F7BB5900F8BD5B00CD8D6300C48F6D00
+ CA936000C19E6000DA926400DC966800D19D6D00C99A7B00DF9F7600CEAA6100
+ CAAA6D00D3AD6500D1A56B00D5AE6900D5B36A00C8A77500DFA37500D2AF7400
+ DCAD7E00DBB47000D5B77A00D7B97E00DCB97900E0AD6000E3B76600EABE6D00
+ F7C05D00FEC65E00FFC76000FFC86400FFCB6B00F1C17200FFCD7300F4C97A00
+ FFD07B003C78B000517398004578A200628B80004284BF0043AAA8000389DD00
+ 2093DD002BB6C50029A8DD00008BE2000894E9002C9CEA003498E70000A9FC00
+ 16A7FE0001B6FD0036ABEF002FB8EE003DBDEE0022B6F9003ABAF300488CC700
+ 4DAAC00040A2E00055BBE90041B7FF0052BEFF0063B4E70001C9FD0017C9FF00
+ 00D3FF0023C7FE0035C5FE004FC4FC0071C4EB0060C7FC0079CAFA00D1B58500
+ DCB18600DCBD8300D6BB8900DEC28800DEC59200EAC58100EFCE8F00F6C88500
+ F2CB8D00FED38300F6D28D00FED58A00E4CB9400E7C39E00E4CB9A00EACE9D00
+ EED09900FAD79500FFD99400F0D29800FFDC9A00EBC2A100E1CAA200E0CEAF00
+ EDCDAC00ECD1A000E6D2AC00EBD6AC00F0D5A100F8D5A300FDDDA000F3DAAC00
+ EDCFB100EAD7B800F5DABA00F3E0B900FBE5BD0089C7EB0083C7F70099CDF700
+ 9ED7FC00A2D1EF00B4D3EC00AAD8F900B8DAF100AAE3FD00D5DCDF00EEDFC000
+ F5DDC500EFE0C300F3E3C300FEEAC400F4E4CB00F9E5CF00F3E8CF00FEECCB00
+ EFE5D100F4EAD400FDEED200FEEDD900FEF0D500FEF2DB00CAE0F200D6E6F400
+ F6EEE300FFF4E200F9F4E900FFF9EE00E7F1F900FEFDFB000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000002021232B4E0000000000000000000000000000000000
+ 0000000000000000006E13577C79542519277100000000000000000000000000
+ 00000000000000000034022F328489896A684826233400000000000000000000
+ 00000000000000000034022F578788888888888888693E1B235A000000000000
+ 00000000000000000034022F64898888888888888888886C672A0D1F00000000
+ 00000000000000000034032F8C8D8B8B8A89888888888888888866292C000000
+ 000000000000000000341430C0C08F8F8B8B8B8A888888888888886B43270000
+ 000000000000000000341556C185868EC0C08F8F8B8B8A8A8A8888888A691B72
+ 00000000000000000034166FBF37533F4163C2C0C08F8F8D8B8A8A88888A6A25
+ 6D0000000000000000341773CA3F533BBC38C8CBC8C2C2C28F8F8F8D8A8A8869
+ 22000000000000000034187FD3366180613BBDD5D5D5C8C2C2C2C08F8F8F4619
+ 000000000000000000341BB7D652EAEA7A0AC78305386283BCC1CBC2C2465800
+ 000000000000000000341CC4DA3F5378B838B8D65D350401080E4B7BBE220000
+ 000000000000000000341DCFF8F8DAC5784BC7EEEEEADBC77E4B0E12BF190000
+ 000000000000000000341DD7F0C5D2EEF8F3F3F3F0F3EEEEEAEAD6C7D4240000
+ 000000000000000000341ED8EB426537525DD2F8F8F3F8F3F3EEEEEEDA2B0000
+ 0000000000000000003443E7EB61BA39E8B8C5F8F8F8F8F3F8F3F3F3EE340000
+ 0000000000000000003444E7EC4060C55F82B9FACDD1E8ECF8F4F8F8F35B0000
+ 0000000000000000002C44EBEC4AF0FCBB3782FA070935384B70B9CDEC7D4F00
+ 0000000000000000002344EBF060D8E6EC7B76FAD8B9774D3C3506044CC43300
+ 0000000000000000002347EBFAC37B7B614178FAFCFCFAFCF7EFD8CED8E63400
+ 0000000000000000002349F2FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFAF92800
+ 0000000000000000002355E5E3F6FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC2800
+ 0000000000000000002399E49B9A9697A8ACDCE0E3F5F6FBFCFCFCFCFCFC3400
+ 00000000000000000023B0E4A49E9E9E9EA09E9EA0A2A2A3A9B3DCE1F6FC6D00
+ 00000000000000000023B0E4AB9E9E9E9EA0A0A0A0A0ADADADADAFAFAFAD9375
+ 00000000000000000023A4E4DFAA9F9E9E9E9EA0A0ADA0ADADADAFAFAFAF9559
+ 000000000000000000239FDDDEDEE2DFDDB5B4B2B1B1B1B0B0AEADADAFAF9811
+ 0000000000000000002492919190949494A69D9D9D9D9D9CA1A1A1A3A3A4A70C
+ 0000000000000000000031313131343434342C23242311101010102E2D0B2874
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000FFFFFFFFFC1FFFFFF801FFFFF8003FFFF80003FFF80000FFF800007F
+ F800003FF800000FF8000007F8000007F800000FF800001FF800003FF800003F
+ F800003FF800003FF800003FF800003FF800001FF800001FF800001FF800001F
+ F800001FF800001FF800001FF800000FF800000FF800000FF800000FFC00000F
+ FFFFFFFF28000000300000006000000001000800000000000009000000000000
+ 000000000001000000010000000000007B5E550062647200627D7500854F0000
+ 8B550100925B0000B8500E00B8511000976000009B6300009F6800009F6F1E00
+ A26A0000A36D0B00AB730700B27A0500A06D1800AB761400AD781600A2701F00
+ AF7D1E0093593900B45D2800BF652600B5602900BA642A00BE6B2C00A8792C00
+ B07E2300B86E3900AA7B3300C34D0100C3500600CA550500CC580600C4550C00
+ C8560800CF5C0800C7591100D7670C00CF651300C5611B00D26B1A00D6741F00
+ E4781200CB642100C16E2E00C86B2A00C3712F00DA7B2500CF6F3100C5743000
+ CA7A3200CE7D3800D3773800875B470093714100A8734F00AF7F5800B37E5100
+ CF7D4600D27A4100BB830700B5811C00BA871F00B4812500B9862500BC8A2700
+ BD8D2D00BF902F00AF843C00BD8E3400B5893C00B98E3C00BF923900C0891000
+ ED831600DE832B00C4952F00DC833200C4973B00EE962900E5923600CEA13F00
+ B58D4800B3805700BF865100BB95550094856100B78B6000BE8D6200BF976900
+ CB814100CB874800D88F4900C69A4400DB944400D6855100C89E5300C69F5E00
+ CE995A00E79F4600E29D4B00E2975400CEA64F00D0A14900CBA45A00D1A45100
+ D3A85400D3AB5B00DEA85900F0A94900F4B04E00E4A25E00F8B85300F3BC5F00
+ FBBF5900CE9A6000DA906100DC9B7100CCA76100D2AB6500D5B06500DCB36700
+ D5B16B00DAB56D00CEA27400C8A97300CBAE7A00D1AE7400D4AB7E00CFB07600
+ D4B47500DBBB7700D1B37C00DABC7C00E6A56100E4B06000E4B26900E3BA6D00
+ F0B66E00E2A27400E0B77000E3BE7C00F3B97800FFC75F00DEC17E00FCC66100
+ FFC86300FFCB6B00FFCE7300FACD7E00FFD07B001078BD00316EA8002570B600
+ 007ACF001075C7000078DF004197AC00769AB3000087DF000095DF002090D700
+ 0D80E100009EEB00009BFF002697ED003395E70000A2EF0000B5EF0000A8FE00
+ 00B7FE0033ADEF0026AFFF0026B7FF0033BFFF00408DCF004093D3005097D300
+ 40A8DF0070AADB00409FE90040AEE3004CB4E30046BAFF0066B3EF0000C0EF00
+ 15D0E90000C7FE0000D4FE0033D1FF004DC5FF0040D1FF0066CBFB0073CEFF00
+ 66D7FF0066E0FF00D4AC8300D8BB8500E1A68000E2B28F00E2B69900DDC08000
+ DEC79B00E7C68800F4CC8100F0C08B00F0CC8D00FECB8F00FFD38300F3D08F00
+ FFD68A00FFD88F00E5CA9400F0C29100E6D09F00FFD99300F8D69900FEDC9B00
+ DFCBA800E9CDA800F4CFA400E8D3AB00F1D7A700FFDEA100F0CFB400E9D7B800
+ FFE0A500FFE1AA00EFE0BF00FDE5BA0080B3DF008FBDE30080C1E7009FC6E700
+ 8CD3FF0099D2F800AFD0EB00BFD9EF00A6DCFF008CE0FF0099E2FF00B3E4FF00
+ FDEAC700EFE1D400FEEED100FEF2D900CCEAFD00DFECF700CCF0FF00FEF6E600
+ E6F0F900FFFDFB00000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000C92020337800000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000000000202A5E302420203E000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000003E202A878787765E2A20202762C90000000000000000000000000000
+ 00000000000000000000000000000000000000002020173B5A5C8F9294746632
+ 2920202062000000000000000000000000000000000000000000000000000000
+ 000000002020173A3A3C9292929292929292704E29202033C900000000000000
+ 00000000000000000000000000000000000000002020173A3A6F929292929292
+ 929292929273532B20202A620000000000000000000000000000000000000000
+ 000000002020173A3C9292929292929292929292929292949467372A20202E77
+ 00000000000000000000000000000000000000002020173A6595959492929292
+ 92929292929292949492928A571E18242E000000000000000000000000000000
+ 000000002020173A8B97969695959592929292929292929292929292926F3C19
+ 20000000000000000000000000000000000000002020173A98D3D39797969696
+ 95959292929292929292929292929261252A0000000000000000000000000000
+ 0000000020201956D5D3D3D3D3D3979797969695959492929292929292929292
+ 732C20620000000000000000000000000000000020251A5BDCCFDAD5D3D3D3D3
+ D3979797969695959592929292929292929253252E0000000000000000000000
+ 0000000020231B7FE26C0D436A8CD6D5D3D3D3D3D39797969696959592929292
+ 92929271292A000000000000000000000000000020261B83E66D417C48130B42
+ 6AD6D5D3D3D3D3D3979797969695959492929292732920000000000000000000
+ 0000000020261BC7E86D45D1136CD48F0BDCDCDADAD5D5D3D3D3D39797979696
+ 9595959295922B3E000000000000000000000000202634DEE86E0F0F4B0F8FE6
+ 09CEDCE2DCDCDADAD6D5D3D3D3D3D39797969695702B20770000000000000000
+ 00000000212831DEF57C0F6CE8CE0ED10ECEE6DCE2E2E2DCDCDADADAD5D3D3D3
+ D3D39750212E0000000000000000000000000000202834E0F57B48F5F5F57D13
+ 1DCEE86B06426390DBE2DCDCDCDADAD5D3D35021C90000000000000000000000
+ 00000000202835E4F77D43F5F5F5F5600BD7E86B090606060614497BD1DCDCDC
+ DA8D200000000000000000000000000000000000212D34FCF8D7100F40517DD9
+ 0E60F5F5D77949110605050504051F7BE2682000000000000000000000000000
+ 00000000202837FCF8F8F8E7D77D480F0D6BF5F5F5F5F5E8E1CC641C0505041C
+ E668200000000000000000000000000000000000202D37FCFCFCFCF8FCF8F8F8
+ E7F5F8F7F5F7F5F5F5F5F5E8F5D18155E8682000000000000000000000000000
+ 00000000202D35FEFCD77BCCE0F7FCFCF8F8F8F8F8F7F7F7F7F5F5F5F5F5F5E8
+ E8D0200000000000000000000000000000000000202D37FCFE863F51100F104B
+ 7AE0FCF8F8FCF8F8F7F7F7F7F5F5F5F5F5D82000000000000000000000000000
+ 00000000202D61FEFC8851FECE86E4854B85FCFCFCF8FCF8F8F8F8F7F8F7F7F7
+ F5DF200000000000000000000000000000000000214D72FEFE8854D7100FE7FC
+ 8785FCFCFCFCFCFCFCFCF8F8F8F8F7F7F7F721C9000000000000000000000000
+ 00000000202D72FEFE884C106E863FE7866BFEFCFCFCFCFCFCFCFCFCFCF8F8F8
+ F8F724C900000000000000000000000000000000204D89FEFE883F6DFEFE7A48
+ 7D4BFEFC0E424987C8E0F6FCFCFCFCFCF8FC373E000000000000000000000000
+ 00000000204D89FEFE884FFEFEFEFE450F51FEFE0F0D0D0B0B0B090B1C5580C8
+ E4FC3E35000000000000000000000000000000C9204D89FEFECE54FEFEFEFEFC
+ 4145FEFECD864A4A0B0B0B060906090606FC8E20000000000000000000000000
+ 000000C9204D89FEFE883F4C54698886C810E4FEFEFEFEFEFEFCE4DD8158470C
+ 06FCCA20000000000000000000000000000000C9204D91FEFEFCE7D9887E6060
+ 1045FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEE320000000000000000000000000
+ 000000C9204DD2FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFEFEFC
+ FEFCF620000000000000000000000000000000C9214DD2FEFEFEFEFEFEFEFEFE
+ FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE21C90000000000000000000000
+ 000000C92052A1FDE9F0F0FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+ FEFEFE303E0000000000000000000000000000C9219AC3F9A2A29D9D9EB2B4E9
+ ECF0FAFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE3E350000000000000000000000
+ 000000C920BEC6F9B0ACACACADACACAAA6A3A29DA4B3B6E9EFF0FEFEFEFEFEFE
+ FEFEFE78200000000000000000000000000000C920BEC6F9BAACACACACADACAD
+ ADADBEBEBEBEBEBEAAABA3A3B8B8EBEAF0F9FECB200000000000000000000000
+ 000000C920BEC3F9C3A7ACACACACADACADADACADADBEADBEBEBEBFBEBFBFBFBF
+ BFBCBCA0200000000000000000000000000000C920ADC3F9F1A7ACA7ACACACAC
+ ADACBEADADADBEADBEBEBEBEBFBEBFBFBFBFBFBD200000000000000000000000
+ 000000C920ACC3F9F9EDBAAFACACACACACADACADADADADBEBEBEBEBEBEBEBFBF
+ BFBFBFBF087800000000000000000000000000C920ACC4F9F9F9F9F9F9F4F3C4
+ C3C1B1B0ADADADADADBEBEBEBEBEBEBFBFBFBFBF393E00000000000000000000
+ 000000C920A7A8A9A9A9A9BBBBBBBBBBEEEEEEEEEEF9F3F3F2C3C3C2C0C0BFBE
+ BEBFBFBF032100000000000000000000000000002002020202029B9B9B9B9B9B
+ 9C9F9F9F9F9F9F9F9FA5A9A9A9A9B7BBBBAEAEB9592100000000000000000000
+ 000000003E212020202020202020202020202020202020081616161616160102
+ 0202382121770000000000000000000000000000000000000000000000000000
+ 0000C9C9C9C9C9C9773E3E3E3E3E3E2721212E78000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000FFFFFFFFFFFF0000FF83FFFFFFFF0000FF807FFF
+ FFFF0000FF0003FFFFFF0000FF00007FFFFF0000FF000007FFFF0000FF000000
+ FFFF0000FF0000000FFF0000FF00000007FF0000FF00000007FF0000FF000000
+ 03FF0000FF00000000FF0000FF000000007F0000FF000000003F0000FF000000
+ 001F0000FF000000000F0000FF000000000F0000FF000000003F0000FF000000
+ 007F0000FF00000001FF0000FF00000001FF0000FF00000001FF0000FF000000
+ 01FF0000FF00000001FF0000FF00000001FF0000FF00000001FF0000FF000000
+ 00FF0000FF00000000FF0000FF00000000FF0000FF00000000FF0000FE000000
+ 00FF0000FE00000000FF0000FE00000000FF0000FE00000000FF0000FE000000
+ 007F0000FE000000007F0000FE000000007F0000FE000000007F0000FE000000
+ 007F0000FE000000007F0000FE000000007F0000FE000000003F0000FE000000
+ 003F0000FE000000003F0000FF000000003F0000FF000000003F0000FFFFFC00
+ 00FF0000FFFFFFFFFFFF00002800000010000000200000000100200000000000
+ 4004000000000000000000000000000000000000000000000000000015080003
+ AF4D0CA383380684411A003E1508000500000000000000000000000000000000
+ 000000000000000000000000000000000000000000000000000000006C2B015A
+ BB672DFFCA9E65FFEAA54AFFDF862EF4BC6218BF83360378411A002C00000000
+ 000000000000000000000000000000000000000000000000000000008234016A
+ B45D28FFE3AD5BFFFFC75FFFFFC75FFFFFC75FFFFBBF59FFE89D41FFCF7428E4
+ 96430D9F2B11001E00000000000000000000000000000000000000008234016A
+ B66129FFFBCD7BFFFFCD72FFFFCA69FFFFC862FFFFC75FFFFFC75FFFFFC75FFF
+ E6AA53FFB6560EB22B110015000000000000000000000000000000008234016A
+ C67436FFE1B869FFDAAD59FFE6B865FFFFD381FFFFCF76FFFFCB6CFFFFC964FF
+ FFC760FFFCC15AFFD87822E2411A00310000000000000000000000008234016A
+ D28646FFD6AF64FFCCA251FFCA9E4DFFF9D797FFFFDB97FFFFD78EFFFFD484FF
+ FFD079FFFFCC6FFFE7973CFB6E2E036A0000000000000000000000008234016A
+ DB9456FFDBBA77FFE6C78DFFC59C4EFFE7C890FFB0812FFFB48536FFC99E55FF
+ E3BB75FFE8A45BFF411A0037000000000000000000000000000000008234016A
+ E3A265FFF7E8CBFFEFDBB4FFE2C897FFF8E6C4FFFFEDCCFFF9E4BDFFE1C491FF
+ CAA66BFFE39D5EFF15080005000000000000000000000000000000008234016A
+ E9AC71FFDFC388FFCBA24FFFD5B577FFF2E3C4FFFFF4E0FFFFF2DBFFFFF0D5FF
+ FFEECFFFE8AF7DFF411A001C000000000000000000000000000000008234016D
+ EFB67BFFDEC284FFE8D5ACFFCEAA61FFEBDAB8FFC6A159FFD1B37CFFDDC499FF
+ ECD9B9FFEBC29DFF411A003A000000000000000000000000000000008234017F
+ F2BA7FFFE8D4A6FFE1C891FFD5B571FFE5D2AAFFEEE2CCFFE1CDAAFFD0B686FF
+ C09E65FFDEBF9AFF6C2B015F000000000000000000000000000000008234017F
+ E7C091FFE2EEF7FFFFFFFFFFFFFFFEFFFFFEFEFFFFFEFDFFFFFEFCFFFFFDFBFF
+ FFFDF9FFFDF9F3FF82370684000000000000000000000000000000008234017F
+ 67CFF5FF0B9DF2FF089DEEFF28ACEFFF4ABAEFFF6CC8F1FF8BD4F3FFB1DFF4FF
+ CFE6F4FFF2F7FAFF9F5627A8000000000000000000000000000000008234017F
+ 66CFFFFF4CBCFFFF04A7FFFF00ADFFFF00B4FFFF00BBFFFF00C2FFFF00CAFFFF
+ 00D1FFFF00D1FBFF8A744CCD000000000000000000000000000000008234017D
+ 4E96CCFF70A2CDFF73ADDCFF5FA9DFFF45ADF1FF38AFF3FF2DB2F4FF29BAF7FF
+ 1FBFF8FF16C6F9FF758671F7000000000000000000000000000000002B110017
+ 411A0055411A00558234016A8234016A8234017A8234017F76360F8A72371394
+ 6A391D9A663A21A66C2B015F0000000000000000C1FF0000C03F0000C0070000
+ C0030000C0010000C0010000C0030000C0030000C0030000C0030000C0030000
+ C0030000C0030000C0030000C0030000C0030000280000001800000030000000
+ 0100200000000000600900000000000000000000000000000000000000000000
+ 00000000000000000000000031130020C44E028F622701573113001400000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000C44E02B7C87E3FFFCB8A4BFFC86D29FFC45208CB
+ 933A01876227014B311300100000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000006227011CC24B01FFAF6B3DFFB4845AFFF7C363FFFAC360FF
+ EFAA4AFFE49034FFD5721DFFC65306C7933A017B622701300000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000062270120C24B01FFAE683BFFCE9856FFFFC75FFFFFC75FFF
+ FFC75FFFFFC75FFFFFC75FFFFDC35CFFECA244FFD97F2CFFC75E15E7C44E02A3
+ 6227015F3113000C000000000000000000000000000000000000000000000000
+ 000000000000000062270120C24B01FFAE683BFFECB866FFFFC966FFFFC861FF
+ FFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFF8C15FFFD59850FF
+ BA662BFF933A017B000000000000000000000000000000000000000000000000
+ 000000000000000062270120C44E02FFB26D3EFFFDD384FFFFD17EFFFFCF77FF
+ FFCC6FFFFFCA68FFFFC863FFFFC760FFFFC75FFFFFC75FFFFFC75FFFFFC75FFF
+ F6BA58FFD6741FFB933A017F3113000400000000000000000000000000000000
+ 000000000000000062270120C75203FFC07E4BFFF1CA82FFD6A850FFEDC271FF
+ FFD587FFFFD280FFFFD079FFFFCD72FFFFCB6AFFFFC964FFFFC760FFFFC75FFF
+ FFC75FFFFFC75FFFE8973AFFC65306BF31130018000000000000000000000000
+ 000000000000000062270120CA5605FFC98B56FFE9C683FFCFA34FFFB9882BFF
+ C99B48FFD9AD5CFFFFD890FFFFD589FFFFD382FFFFD17BFFFFCE74FFFFCC6DFF
+ FFC966FFFFC861FFFFC75FFFF2AC4AFFC75507C7000000000000000000000000
+ 000000000000000062270120CC5906FFD59D6AFFE9CB90FFB4801AFFD3AC62FF
+ DBB46CFFC49744FFFDDDA1FFFFDD9EFFFFDB98FFFFD892FFFFD68CFFFFD485FF
+ FFD17EFFFFCF77FFF6BA5FFFD26C1AF7933A017F000000000000000000000000
+ 000000000000000062270120CF5C07FFD7A272FFEACF9BFFDDBA77FFFFEBC6FF
+ D1AB64FFC79C4EFFE5C489FF9C660AFFB38433FFCA9F56FFE1BB76FFFBD795FF
+ FFD994FFFBCE85FFC95A0EDB3113002000000000000000000000000000000000
+ 000000000000000062270120D15F08FFE3B68BFFF7E7C7FFD4B06AFFCBA456FF
+ C89F50FFB5852CFFFFEBC7FFEBD09FFFD4B275FFBA904AFFA17023FF895302FF
+ A87830FFF0BA7BFF6227017F0000000000000000000000000000000000000000
+ 000000000000000062270120D36109FFE4BA91FFF8EBD1FFECD6AAFFF8EACEFF
+ FFF3DDFFFAEBCFFFFFF0D5FFFFEFD1FFFFEDCDFFFFECC9FFFFEAC4FFF9E2B7FF
+ E2C490FFF4C994FF933A018B0000000000000000000000000000000000000000
+ 000000000000000062270120D5630AFFE8C19AFFEDDAB4FFD1AC5DFFC59A42FF
+ CCA65BFFD2B06EFFFFF4E1FFFFF3DEFFFFF2DAFFFFF0D7FFFFEFD2FFFFEECEFF
+ FFECCAFFF8DAB0FFC44E029F0000000000000000000000000000000000000000
+ 000000000000000062270120D6650BFFF1D0ACFFEDDDB9FFC89A38FFC39535FF
+ E5CEA0FFD2B070FFFFF8EBFFFFF7E9FFFFF6E6FFFFF5E2FFFFF4DFFFFFF2DCFF
+ FFF1D8FFFFF0D4FFC34E03BF0000000000000000000000000000000000000000
+ 000000000000000062270128D7670BFFF2D1AFFFEEDEBCFFD5B161FFFFFCF8FF
+ D2B16CFFC09439FFFFFBF3FFA9730BFFB2832CFFBD954CFFC8A76CFFD7BC8FFF
+ E6D3B1FFF9EDD6FFCA631FE30000000000000000000000000000000000000000
+ 000000000000000062270140D8680CFFF3D2B0FFEFE0BEFFD2AA53FFE5D0A1FF
+ EBDBB8FFBF9133FFFAF4E9FFEBDDC2FFDCC59AFFCDAE77FFBE9958FFAD8135FF
+ 9C6A16FFC7A875FFD37C41FF3113000800000000000000000000000000000000
+ 000000000000000062270140D9690CFFFBE0C1FFFDFBF7FFF4EBD7FFECDDBBFF
+ E3CD9FFFDCC28AFFFFFEFDFFFFFEFCFFFFFDFBFFFFFDF9FFFFFCF8FFFFFCF6FF
+ FFFBF5FFFFFAF2FFD99363FF6227012C00000000000000000000000000000000
+ 000000000000000062270140D96E11FFD6D5CEFFCFE2F3FFEFF5FBFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFEFFFFFFFEFFFFFEFEFFFFFEFDFFFFFEFCFFFFFDFBFF
+ FFFDFAFFFFFCF8FFE2AC88FF6227014F00000000000000000000000000000000
+ 00000000000000006227014066766FFF99E0FAFF099AEFFF0091E7FF1498E5FF
+ 34A5E6FF57B3E8FF77BEE9FF97C8EAFFBBD6EEFFDBE9F6FFFFFFFEFFFFFEFEFF
+ FFFEFDFFFFFEFCFFEAC6ADFF6227017300000000000000000000000000000000
+ 000000000000000062270140628780FF99E2FFFF29B1FFFF00A6FFFF00ABFFFF
+ 00B0FFFF00B5FFFF00B9FFFF00BEFFFF00C0FDFF00BCF7FF00B3EFFF20BEF0FF
+ 43CAF2FF63D3F2FF88C3CCFFC44E029700000000000000000000000000000000
+ 000000000000000062270140627E80FF99DDFFFF7FCEFFFF1CABFFFF00A5FFFF
+ 00AAFFFF00AFFFFF00B4FFFF00B9FFFF00BEFFFF00C2FFFF00C7FFFF00CCFFFF
+ 00D1FFFF00D6FFFF05D7F9FFC14E05BF00000000000000000000000000000000
+ 000000000000000062270140627580FF66B8F4FF7FBFF3FF8CC7F5FF92CDF7FF
+ 76C3F7FF79CCFBFF62C7FBFF59CBFDFF4CCEFFFF3CCDFFFF29CCFFFF19CCFFFF
+ 03CCFFFF00D0FFFF00D5FFFF9F622EEF00000000000000000000000000000000
+ 000000000000000062270120AB5520EF935839FF935839FF7A5E55FF7A5E55FF
+ 7A5E55FF6B6166FF626370FF626370FF5F6374FF4C6A8CFF637890FF637890FF
+ 6085A7FF578AB0FF728286FFB85B19E700000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000003113001062270120
+ 6227012062270124622701406227014062270140622701576227015F6227015F
+ 6227016B6227017F6227015B3113000C000000000000000000000000F0FFFF00
+ F00FFF00E001FF00E0001F00E0001F00E0000700E0000300E0000300E0000300
+ E0000700E0000F00E0000F00E0000F00E0000F00E0000F00E0000700E0000700
+ E0000700E0000700E0000700E0000700E0000700E0000700FE00070028000000
+ 2000000040000000010020000000000080100000000000000000000000000000
+ 000000000000000000000000000000000000000000000000000000006C2B0143
+ C44E0266411A003D411A00210000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000005722000EC45207E2
+ C76B26FFC65D15E7C44F03CB8234019B8234015C572200150000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000000015080005983C0192C1530CFF
+ C28B56FFC8A775FFD1A56BFFDA9142FFD57726FFCE6515FBC85809D7C44E029C
+ 6C2B0163411A0033411A00130000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000411A0013C44E02BDBC4F0EFF
+ AD6E44FFB07E56FFE0AD60FFFEC65FFFFBC45FFFF5B553FFF0A847FFE8983AFF
+ D97923FFC85809DDC44E02BD8234017882340138000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000411A0015C44E02BFBC4F0EFF
+ AC6B42FFC08A53FFF7C05DFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFF
+ FFC75FFFFDC35CFFF1AC4AFFDC832DFFD06C1DFFC65A10E6C45004AD983C015F
+ 411A003C2B11000A000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000411A0015C44E02BFBC4F0EFF
+ AC6B42FFD8A25BFFFFC761FFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFF
+ FFC75FFFFFC75FFFFFC75FFFFEC65FFFF8BD5BFFE7A64EFFC97E3CFFBD6122FB
+ C2570FE68234016D000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000411A0015C44E02BFBC500EFF
+ AC6C42FFF1C172FFFFCE73FFFFCC6CFFFFCA68FFFFC863FFFFC761FFFFC75FFF
+ FFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFDFA959FF
+ C57E3DFFC44F03C86C2B012F0000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000411A0015C44E02BFC05510FF
+ B17246FFFDD486FFFFD383FFFFD17DFFFFD078FFFFCD72FFFFCC6DFFFFCA67FF
+ FFC863FFFFC760FFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFF
+ F7BB59FFE0872DFDC85608D6823401512B110003000000000000000000000000
+ 0000000000000000000000000000000000000000411A0015C44E02BFC55B11FF
+ C08453FFF7D28CFFE3B766FFEABE6DFFF4C97AFFFFD485FFFFD281FFFFD17BFF
+ FFCF77FFFFCD70FFFFCB6BFFFFC966FFFFC862FFFFC760FFFFC75FFFFFC75FFF
+ FFC75FFFFFC75FFFF3AF4CFFD16917F7C55003982B1100150000000000000000
+ 0000000000000000000000000000000000000000411A0015C44E02BFC85F13FF
+ CA9360FFF0CD8BFFBB8929FFCC9E49FFC08F34FFC29137FFD7A955FFFFD68BFF
+ FFD586FFFFD280FFFFD17CFFFFCF75FFFFCD71FFFFCB6BFFFFCA66FFFFC862FF
+ FFC760FFFFC75FFFFFC75FFFF6B551FFD6731EFBAE45019C2B11001500000000
+ 0000000000000000000000000000000000000000411A0015C44E02BFCC6415FF
+ D19D6DFFF0D298FFC19133FFCC9F4BFFBD8D31FFEBC682FFB5842BFFFAD795FF
+ FFDB98FFFFD993FFFFD78EFFFFD689FFFFD484FFFFD27FFFFFD07AFFFFCE74FF
+ FFCC6FFFFFCA69FFFFC965FFFDC45EFFF3AF4DFFCA5B0CE6411A003C00000000
+ 0000000000000000000000000000000000000000411A0015C44E02BFCF6816FF
+ DCAD7EFFF0D5A1FFB88622FFCFA657FFDAB570FFCCA04FFFBB8D38FFEFCE8FFF
+ FCDCA0FFFFDEA0FFFFDD9CFFFFDA97FFFFD993FFFFD78EFFFFD689FFFFD484FF
+ FFD27FFFFFD079FFFFCE74FFE18C36FFCC5E0FF0983C01751508001100000000
+ 0000000000000000000000000000000000000000411A0015C44E02BFD26D18FF
+ DCB186FFF1D9ABFFC69941FFFDE9C4FFFFEAC4FFD3AE69FFAD7A1CFFEED099FF
+ DCB979FF9B6609FFB1812EFFCCA159FFDCB470FFE9C481FFF6D28FFFFFDA96FF
+ FFD891FFFDD388FFDF8D40FFAE4501A62B11001C000000000000000000000000
+ 0000000000000000000000000000000000000000411A0015C44E02BFD5701AFF
+ E7C39EFFF3E0B9FFC39438FFC79C47FFD3AD65FFDFBF83FFB6872FFFDFBE81FF
+ F3DAABFFC49C55FFAE802FFF97620AFF935D06FF9C6A19FFA7772AFFB98C44FF
+ D7AE6AFFF6C885FFCF691FFF2B11001800000000000000000000000000000000
+ 0000000000000000000000000000000000000000411A0015C44E02BFD8741BFF
+ EDCDACFFFFF4E1FFFFF3DEFFF4E2C0FFE5CC9BFFCEAA63FFC09545FFE6CB99FF
+ FFEDCDFFFFECC9FFFFEBC6FFFBE5BDFFECD1A0FFD2AF74FFB78D49FFA4762EFF
+ A67731FFF5C98FFFCE661DFF0000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000411A0015C44E02BFDA771CFF
+ EDCFB1FFF8ECD4FFE6CC98FFEBD5A9FFF8EACEFFFFF3DEFFFCEED5FFFDF0D6FF
+ FFF0D6FFFFEFD3FFFFEED0FFFFEDCCFFFFECCAFFFFEBC5FFFFEAC3FFF5DCAFFF
+ EACE9DFFF8D5A3FFD16F2AFF5722001500000000000000000000000000000000
+ 0000000000000000000000000000000000000000411A0015C44E02BFDE7C1FFF
+ EFD3B7FFF3E4C7FFC79B3BFFD0AC5FFFBD8D2AFFC59B47FFC8A052FFEBD7AFFF
+ FFF4E0FFFFF3DDFFFFF2DAFFFFF1D8FFFFF0D5FFFFEFD2FFFFEECFFFFFEDCBFF
+ FFECC9FFFADEB6FFD37633FF8234012A00000000000000000000000000000000
+ 0000000000000000000000000000000000000000411A0015C44E02BFE5862AFF
+ F4DCC3FFF3E6CBFFCFA751FFDEC288FFBF8F2AFFEFDFBFFFD9BC83FFE2CA9BFF
+ FFF6E7FFFFF6E4FFFFF5E2FFFFF4E0FFFFF3DDFFFFF2DAFFFFF1D8FFFFF0D5FF
+ FFEFD2FFFDEACAFFD67F41FF8234014700000000000000000000000000000000
+ 0000000000000000000000000000000000000000411A0015C44E02BFE78A2DFF
+ F6DFC8FFF3E8CFFFC79730FFCBA044FFE3CC9DFFC8A04CFFD7B97EFFD9BD85FF
+ FFF9EEFFE2CBA0FFE6D2ACFFEFE0C3FFF4E7CEFFFCF1DDFFFFF4E2FFFFF3DFFF
+ FFF3DCFFFFF2D9FFDA8E57FF8234016300000000000000000000000000000000
+ 0000000000000000000000000000000000000000411A001CC44E02C6E98C2EFF
+ F6E0C9FFF3E9D2FFCCA03EFFF5EBD7FFFFFCF9FFDEC592FFBB8B27FFD5B77AFF
+ FFFBF4FFA9730AFFA87410FFAF8028FFB38635FFB88E46FFC19E60FFD1B585FF
+ E0CAA4FFF5E7CEFFDFA375FF8234018600000000000000000000000000000000
+ 0000000000000000000000000000000000000000411A002AC44E02D4EB8E2FFF
+ F7E1CAFFF4EAD3FFD0A546FFEBD9B3FFEEDFC0FFF1E6CDFFD2B06CFFCDAA60FF
+ FCF8F1FFE6D4B3FFD6BB89FFCAAA6DFFBC954EFFB2883BFFAB7D2DFFA06E1AFF
+ 97630DFFB48D4DFFEBC2A1FF983C01AD15080003000000000000000000000000
+ 0000000000000000000000000000000000000000411A002AC44E02D4EE9334FF
+ F9E5CFFFF9F4E9FFE4CB94FFD8B76DFFD5B266FFCEA754FFC49638FFCFAB62FF
+ FCF9F4FFFFFDFAFFFFFDF9FFFFFCF8FFFDFAF4FFF5EEE0FFEFE5D1FFE7D8BEFF
+ E0CEAFFFE6D6BBFFF1D6BFFFC44E02BB411A0011000000000000000000000000
+ 0000000000000000000000000000000000000000411A002AC44E02D4F49C3FFF
+ FEEDD9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFEFF
+ FFFEFEFFFFFEFDFFFFFEFCFFFFFEFCFFFFFDFBFFFFFDFAFFFFFDF9FFFFFCF8FF
+ FFFCF7FFFFFBF5FFF7EFE6FFC34E03D1411A0027000000000000000000000000
+ 0000000000000000000000000000000000000000411A002AC44E02D4D5994FFF
+ D5DCDFFFB8D4EDFFD4E5F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFEFFFFFFFEFFFFFFFEFFFFFEFDFFFFFEFDFFFFFEFCFFFFFEFCFFFFFDFBFF
+ FFFDFAFFFFFCF9FFFFFCF8FFC55A15E2411A0038000000000000000000000000
+ 0000000000000000000000000000000000000000411A002AC44E02D429A8DDFF
+ AAE2FAFF0894E9FF008BE2FF0389DDFF2093DDFF40A2E0FF63B4E7FF86C5EBFF
+ A2D1EFFFB8DAF1FFCAE0F2FFD9E8F5FFE7F1F9FFFFFFFEFFFFFFFEFFFFFEFDFF
+ FFFEFDFFFFFEFCFFFFFEFBFFCE753BF4411A004A000000000000000000000000
+ 0000000000000000000000000000000000000000411A002AC44E02D422CDFEFF
+ AAE6FFFF24B0FFFF00A6FFFF00AAFFFF00AEFFFF00ADFBFF00ADF8FF00ABF4FF
+ 00A8F0FF0EB0F1FF20B8F2FF2FB8EEFF3DBDEEFF55BBE9FF71C4EBFF8DCAEBFF
+ B1D3ECFFD7E7F4FFF4F8FBFFD68D5EFF983C0163000000000000000000000000
+ 0000000000000000000000000000000000000000411A002AC44E02D422C2FFFF
+ AAE3FFFF52BEFFFF00A2FFFF00A6FFFF00A9FFFF00ADFFFF00B0FFFF00B4FFFF
+ 00B8FFFF00BBFFFF00BFFFFF00C3FFFF00C6FFFF00CAFFFF00CEFFFF00D1FFFF
+ 00D5FFFF00CFF9FF00C8F4FF628B80FFC44E028A000000000000000000000000
+ 0000000000000000000000000000000000000000411A002AC44E02D422B8FFFF
+ AAE1FFFF9ED9FFFF41B7FFFF10A8FFFF00A5FFFF00A9FFFF00ADFFFF00B0FFFF
+ 00B4FFFF00B8FFFF00BBFFFF00BFFFFF00C2FFFF00C6FFFF00CAFFFF00CDFFFF
+ 00D1FFFF00D5FFFF00D8FFFF43AAA8FFC14E04AD000000000000000000000000
+ 0000000000000000000000000000000000000000411A002AC44E02D41DA7FDFF
+ 83C7F7FF99CDF7FF99CEF7FFAAD8F9FF9ED5F9FF7FCAF9FF74CAFBFF60C7FCFF
+ 4FC4FCFF38C1FDFF38C7FFFF31C8FFFF26C8FFFF1DC9FFFF12C9FFFF0CCCFFFF
+ 01CCFFFF00D0FFFF00D4FFFF2BB6C5FFAE5B1CE2000000000000000000000000
+ 0000000000000000000000000000000000000000411A0027C44E02D14578A2FF
+ 507399FF527398FF3C78B0FF4284BFFF4284BFFF4284BFFF488CC7FF3395E7FF
+ 3395E7FF3899E7FF389CE9FF319BE9FF2C9CEAFF3FACEFFF34AAEFFF31ABEFFF
+ 3DB8F3FF38BCF4FF22B9F4FF4DAAC0FFAE5F23FF000000000000000000000000
+ 00000000000000000000000000000000000000002B11000382340158823401AA
+ 823401AA823401AA823401AAC44E02BFC44E02BFC44E02BFC44E02BFC44E02CA
+ C44E02D4C44E02D4C44E02D4B35114D8A35526E6A35526E9A35526E99E562CE9
+ 885A45F4825C4CFF935839F7C44E02CF983C0184000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000411A0015411A0015411A0015411A0015411A0020
+ 411A002A411A002A411A002A411A002E411A003C411A003F411A003F411A003F
+ 411A004A411A0055411A004D411A002515080005000000000000000000000000
+ 00000000FC3FFFFFF807FFFFF0003FFFF0000FFFF000007FF000007FF000003F
+ F000000FF0000007F0000003F0000003F0000003F000000FF000001FF000003F
+ F000001FF000001FF000001FF000001FF000001FF000000FF000000FF000000F
+ F000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000F
+ FFC0000F28000000300000006000000001002000000000008025000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000C44E0230C44E021000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000C44E0280C44E02FFC44E02FFC44E02CF
+ C44E028FC44E0250000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000C44E0220C44E02FFC56019FFCB8748FFC86E29FF
+ C5540AFFC44E02FFC44E02FFC44E02BFC44E0270C44E02300000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000C44E02BFC44E02FFC3621FFFD0B27DFFD0B37EFF
+ D1B37EFFCE9A60FFCB8141FFC7611AFFC44E02FFC44E02FFC44E02EFC44E02AF
+ C44E0280C44E0240000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0230C44E02FFC14A01FFB45D28FFAF7F58FFB78B60FF
+ BF9769FFE0B770FFFFC75FFFF9C563FFF3BC5FFFE79F46FFDA7B25FFCF6513FF
+ C44E02FFC44E02FFC44E02FFC44E02AFC44E0270C44E02200000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0240C44E02FFC04901FFB45D28FFA8734FFFA8734FFF
+ B37E51FFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFF
+ FFC75FFFF0A948FFDE832BFFCF6513FFC44E02FFC44E02FFC44E02CFC44E0280
+ C44E024000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0240C44E02FFC04901FFB45D28FFA8734FFFA8734FFF
+ DEA859FFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFF
+ FFC75FFFFFC75FFFFFC75FFFFFC75FFFF8B853FFE59236FFD06B1CFFC44E02FF
+ C44E02FFC44E02EFC44E02AFC44E0270C44E0220000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0240C44E02FFC04901FFB45D28FFA8734FFFB37E51FF
+ FFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFF
+ FFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFAC564FF
+ E29D4BFFCE7D38FFC7621AFFC44E02FFC44E02FFC44E02DFC44E029FC44E0230
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0240C44E02FFC04901FFB45D28FFA8734FFFCE995AFF
+ FFC965FFFFC862FFFFC760FFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFF
+ FFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFF
+ FFC75FFFFFC75FFFE4B060FFBF8651FFB86E39FFBF6526FFC3570FFFC44E02DF
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0240C44E02FFC04901FFB45D28FFA8734FFFE4B269FF
+ FFCE72FFFFCC6EFFFFCB6AFFFFCA66FFFFC863FFFFC861FFFFC75FFFFFC75FFF
+ FFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFF
+ FFC75FFFFFC75FFFFFC75FFFFFC75FFFDEA859FFB37E51FFB66129FFC44E02FF
+ C44E021000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0240C44E02FFC34D02FFB56029FFA8734FFFFACD7EFF
+ FFD27EFFFFD07AFFFFCF76FFFFCE73FFFFCD6FFFFFCB6BFFFFCA68FFFFC964FF
+ FFC861FFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFF
+ FFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFDB9444FFC85608FF
+ C44E02EFC44E0250000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0240C44E02FFC65004FFB8622AFFB38057FFFFD78CFF
+ FFD689FFFFD586FFFFD382FFFFD27FFFFFD17BFFFFD078FFFFCE74FFFFCD70FF
+ FFCC6DFFFFCB69FFFFC965FFFFC862FFFFC760FFFFC75FFFFFC75FFFFFC75FFF
+ FFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFF8B853FF
+ D6741FFFC44E02FFC44E02AFC44E021000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0240C44E02FFCA5505FFBA652BFFBE8D62FFFFDB97FF
+ F4CC81FFFFD891FFFFD78DFFFFD68AFFFFD587FFFFD483FFFFD380FFFFD17CFF
+ FFD079FFFFCF75FFFFCE72FFFFCC6EFFFFCB6AFFFFCA66FFFFC863FFFFC861FF
+ FFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFF
+ FFC75FFFE59236FFC85608FFC44E02DFC44E0230000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0240C44E02FFCC5806FFBC672BFFCEA274FFFFDEA1FF
+ D2A550FFA46C00FFB98625FFD0A149FFE7BC6CFFFFD88FFFFFD68BFFFFD588FF
+ FFD485FFFFD381FFFFD27EFFFFD07AFFFFCF76FFFFCE73FFFFCD6FFFFFCB6BFF
+ FFCA68FFFFC964FFFFC861FFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFF
+ FFC75FFFFFC75FFFF4B04EFFCF6513FFC44E02EFC44E02600000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0240C44E02FFCF5C08FFBD6A2CFFD4AB7EFFFFE2ABFF
+ D3A854FFB6831FFFDCB367FFBE8E33FFAB7614FF9D6500FFB48125FFCC9D48FF
+ FFD890FFFFD78CFFFFD689FFFFD586FFFFD382FFFFD27FFFFFD17BFFFFD078FF
+ FFCE74FFFFCD70FFFFCC6DFFFFCB69FFFFC965FFFFC862FFFFC760FFFFC75FFF
+ FFC75FFFFFC75FFFFFC75FFFFBBF59FFCF6513FFC44E02FFC44E026000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0240C44E02FFD26009FFBF6C2DFFD4AC83FFFFE5B4FF
+ D4AA59FFBD8B2BFFEECC8BFFAE7915FFD0A452FFF3D08FFFE0B86FFF9A6300FF
+ FFDC9AFFFFDB97FFFFDA94FFFFD891FFFFD78DFFFFD68AFFFFD587FFFFD483FF
+ FFD380FFFFD17CFFFFD079FFFFCF75FFFFCE72FFFFCC6EFFFFCB6AFFFFCA66FF
+ FFC863FFFFC861FFFFC75FFFFFC75FFFFFC75FFFD36C19FFC44E02BF00000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0240C44E02FFD4630AFFC16E2EFFE9CBA3FFFFE8BDFF
+ D4AC5DFFAE770BFFAC750BFFC09138FFA7710BFFDCB46BFFFFE1AAFF9B6400FF
+ ECC885FFFFDEA1FFFFDD9EFFFFDC9BFFFFDB98FFFFDA95FFFFD992FFFFD88FFF
+ FFD68BFFFFD588FFFFD485FFFFD381FFFFD27EFFFFD07AFFFFCF76FFFFCE73FF
+ FFCD6FFFFFCB6BFFFFCA68FFF0AA4BFFD36C19FFC44E02FFC44E029F00000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0240C44E02FFD7660BFFC3712FFFE9CDA9FFFFEBC5FF
+ D5AE62FFA97100FFCEA454FFFFE7BBFFE8C88BFFA7710BFFEDCD91FFA36D0BFF
+ E6C382FFFFE2ABFFF9D89DFFFFE0A5FFFFDFA2FFFFDE9FFFFFDC9CFFFFDB99FF
+ FFDA96FFFFD993FFFFD890FFFFD78CFFFFD689FFFFD586FFFFD382FFFFD27FFF
+ FFD17BFFFFD078FFDE8633FFC44E02FFC44E02DFC44E02600000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0240C44E02FFD9690DFFC47330FFE9CFAEFFFFEDCCFF
+ D6B065FFC09032FFFFEBC6FFFFEAC3FFFFE9C1FFD6B16CFFAC7817FFB07E23FF
+ E6C589FFFFE5B4FFCBA259FF965F00FFAF7E2AFFC89E53FFE3BE7CFFF8D699FF
+ FFDEA0FFFFDD9DFFFFDC9AFFFFDB97FFFFDA94FFFFD891FFFFD78DFFFFD68AFF
+ FFD587FFDA8032FFC44E02FFC44E028000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0240C44E02FFDB6C0EFFC67530FFE9D3BAFFFFF0D3FF
+ D6B269FFBC8A27FFFAE6C0FFFFEDCBFFFFECC9FFFFEBC6FFC49A4AFF9F6800FF
+ E7C88FFFFFE8BDFFCCA45DFF976000FF955E00FF935C00FF915A00FF8F5800FF
+ A2701FFFB6893EFFD3AA65FFF0CC8DFFFFDD9EFFFFDC9BFFFFDB98FFFFDA95FF
+ F0B66EFFC44E02FFC44E02700000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0240C44E02FFDE6F0FFFC77631FFFFF5E3FFFFF2DAFF
+ E1C387FFB37C0EFFAB7200FFB4801AFFC39640FFD2AD66FFE8CC98FFA7710DFF
+ C3994AFFFFEBC5FFFFEAC2FFE5C791FFCAA460FFB5893BFFA06D18FF905900FF
+ 8E5800FF8C5600FF8A5400FF875200FF8D590AFFAA7B33FFD0A764FFFFDE9FFF
+ E29550FFC44E02FF000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0240C44E02FFE07210FFC97832FFFFF7E7FFFFF4E0FF
+ FFF3DEFFFFF3DCFFF5E2BFFFE4CA95FFD4B06CFFBC8F36FFAA740DFFA26A00FF
+ CAA35BFFFFEDCCFFFFEDCAFFFFECC8FFFFEBC6FFFFEAC3FFFFE9C1FFF1D7A7FF
+ DCBB82FFC69F5EFFA8792FFF895300FF875100FF854F00FFA2722BFFFFE1A9FF
+ E29754FFC44E02FF000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0240C44E02FFE17411FFCA7A32FFFFF8EDFFFFF6E5FF
+ FFF5E4FFFFF5E2FFFFF4E0FFFFF4DFFFFFF3DDFFFFF2DBFFFFF2D9FFF3E0BDFF
+ F9E8C8FFFFF0D3FFFFEFD1FFFFEECFFFFFEECDFFFFEDCBFFFFECC9FFFFEBC6FF
+ FFEAC4FFFFEAC2FFFFE9BFFFFFE8BDFFE9CB98FFD1AE74FFBA9150FFFFE4B2FF
+ E29959FFC44E02FF000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0240C44E02FFE37611FFCB7B33FFFFFBF3FFFFF8EAFF
+ E3C991FFD5B065FFDDBF81FFEBD6ABFFFAEDD4FFFFF4E1FFFFF4DFFFFFF3DDFF
+ FFF3DCFFFFF2DAFFFFF1D8FFFFF1D6FFFFF0D4FFFFEFD2FFFFEED0FFFFEECEFF
+ FFEDCCFFFFECC9FFFFEBC7FFFFEBC5FFFFEAC2FFFFE9C0FFFFE8BDFFFFE7BBFF
+ F0C08BFFC44E02FFC44E02300000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0240C44E02FFE57812FFCC7D33FFFFFCF6FFFFF9EEFF
+ DBBB77FFB9830FFFC6993BFFB07700FFAE7500FFB17B0EFFBF9239FFCEAA63FF
+ E9D3A9FFFFF4E0FFFFF3DEFFFFF3DCFFFFF2DAFFFFF2D8FFFFF1D7FFFFF0D5FF
+ FFEFD3FFFFEFD1FFFFEECEFFFFEDCCFFFFEDCAFFFFECC8FFFFEBC6FFFFEAC3FF
+ F0C291FFC44E02FFC44E02400000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0240C44E02FFE77A13FFD88F49FFFFFCF8FFFFFBF2FF
+ DBBC79FFC89C3CFFFFF9EFFFE2C894FFD7B776FFEBD7B1FFD5B575FFBF923AFF
+ D3B373FFFFF6E5FFFFF5E4FFFFF5E2FFFFF4E0FFFFF4DFFFFFF3DDFFFFF2DBFF
+ FFF2D9FFFFF1D7FFFFF0D5FFFFF0D3FFFFEFD1FFFFEECFFFFFEECDFFFFEDCBFF
+ F4CFA4FFC44E02FFC44E02400000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0240C44E02FFE87C14FFE4A25EFFFFFDFAFFFFFCF6FF
+ DCBD7AFFCA9D3DFFE3CB97FFB37900FFB17800FFF0E1C2FFFFF9EEFFD5B577FF
+ D4B476FFFFF8EAFFFFF7E9FFFFF7E7FFFFF6E6FFFFF6E4FFFFF5E3FFFFF4E1FF
+ FFF4DFFFFFF3DDFFFFF3DCFFFFF2DAFFFFF1D8FFFFF1D6FFFFF0D4FFFFEFD2FF
+ FFEED0FFC44E02FFC44E02800000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0240C44E02FFE97E14FFE5A35FFFFFFEFCFFFFFDF8FF
+ DDBE7CFFBD860FFFB77D00FFD1AB5CFFD8BA7AFFB57F0FFFF0E2C4FFD5B679FF
+ CAA45AFFFFF9EEFFFFF9EDFFFFF8ECFFFFF8EBFFFFF7E9FFFFF7E8FFFFF6E6FF
+ FFF6E5FFFFF5E3FFFFF5E1FFFFF4E0FFFFF3DEFFFFF3DCFFFFF2DAFFFFF2D8FF
+ FFF1D7FFC25007FFC44E02800000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0240C44E02FFEA8015FFE5A460FFFFFEFDFFFFFEFBFF
+ DDBF7DFFBA8000FFD3AE5DFFFFFDF8FFFFFCF7FFCEA95DFFBF8F2EFFD1AF6BFF
+ C1953DFFFFFBF2FFFFFAF1FFA56D00FFAF7D1EFFB88D3BFFCFB076FFD4B884FF
+ E6D2AFFFF2E4CBFFFFF6E7FFFFF6E5FFFFF5E4FFFFF5E2FFFFF4E0FFFFF4DFFF
+ FFF3DDFFD37738FFC44E02BF0000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0260C44E02FFEC8116FFE6A561FFFFFFFEFFFFFEFDFF
+ DEC07EFFC8992FFFFFFEFBFFFFFDFAFFFFFDFAFFFFFDF9FFBF902FFFAF7600FF
+ C1963EFFFFFCF6FFFFFBF5FFAC770FFFA46C00FFA26A00FFA06800FF9E6600FF
+ 9C6400FF9A6200FF986000FFA97B2CFFB58D48FFC8A973FFD5BB8FFFEAD8B9FF
+ FFF5E3FFCF7C43FFC44E02CF0000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0280C44E02FFED8216FFE7A662FFFFFFFFFFFFFFFEFF
+ DFC17FFFCEA13FFFFFFEFDFFFFFEFCFFFFFEFCFFFFFEFBFFFAF5EBFFBA871FFF
+ BD8F2FFFFFFDF8FFFFFCF8FFDEC79BFFD2B47BFFBA8F3EFFB98E3DFF9F6700FF
+ 9D6500FF9B6400FF996200FF976000FF955E00FF935C00FF905A00FF8E5800FF
+ FFF7E8FFE2A274FFC44E02FF0000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0280C44E02FFED8316FFE7A762FFFFFFFFFFFFFFFFFF
+ DFC27FFFBE8300FFC08910FFCB9F3FFFCEA64FFFDBBD7EFFDABC7EFFD8BB7EFF
+ AF7600FFEBDBBCFFFFFDFAFFFFFDF9FFFFFDF9FFFFFDF8FFFFFCF7FFFFFCF6FF
+ F9F2E6FFE6D6B8FFDFCBA8FFCBAE7AFFBD995BFFAF843CFF9F6F1EFF905900FF
+ FFF8ECFFE2B28FFFC44E02FFC44E022000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0280C44E02FFEE8417FFF3B978FFFFFFFFFFFFFFFFFF
+ F7F0DFFFEFE0BFFFE6D09FFFDDC080FFD8B76FFFC99D40FFC79C40FFB37900FF
+ C0912FFFFFFEFDFFFFFEFCFFFFFEFCFFFFFEFBFFFFFDFAFFFFFDFAFFFFFDF9FF
+ FFFDF8FFFFFCF7FFFFFCF6FFFFFCF6FFFFFBF5FFFFFBF4FFFFFBF3FFFFFAF2FF
+ FFFAF0FFF0CFB4FFC44E02FFC44E024000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0280C44E02FFEF8517FFFECB8FFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF
+ FFFFFEFFFFFFFEFFFFFEFEFFFFFEFDFFFFFEFDFFFFFEFCFFFFFEFCFFFFFEFBFF
+ FFFDFAFFFFFDFAFFFFFDF9FFFFFDF8FFFFFCF8FFFFFCF7FFFFFCF6FFFFFBF5FF
+ FFFBF4FFEFE1D4FFC44E02FFC44E027000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0280C44E02FFEF8617FFFECC8FFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFEFFFFFFFEFFFFFFFEFFFFFFFEFFFFFEFDFFFFFEFDFF
+ FFFEFCFFFFFEFCFFFFFEFBFFFFFEFBFFFFFDFAFFFFFDF9FFFFFDF9FFFFFDF8FF
+ FFFCF7FFFFFCF6FFC25007FFC44E028000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0280C44E02FFEE9629FF769AB3FFE6F0F9FF80B3DFFF
+ BFD9EFFFBFD9EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFEFF
+ FFFFFEFFFFFEFDFFFFFEFDFFFFFEFDFFFFFEFCFFFFFEFCFFFFFEFBFFFFFDFAFF
+ FFFDFAFFFFFDF9FFC8692BFFC44E02BF00000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0280C44E02FF1078BDFF66CDF1FFCCE9FBFF0087DFFF
+ 0088DFFF0078CFFF0079CFFF1075C7FF408DCFFF5097D3FF80B3DFFF9FC6E7FF
+ BFD9EFFFDFECF7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFEFFFFFFFEFFFFFFFEFFFFFEFEFFFFFEFDFFFFFEFDFFFFFEFCFF
+ FFFEFCFFFFFEFBFFCF7F4AFFC44E02CF00000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0280C44E02FF00C7FBFF66E0FFFFCCECFFFF26B2FFFF
+ 00A7FFFF00A9FFFF00ACFFFF00AEFFFF00B1FFFF00A9F7FF00A2EFFF009EEBFF
+ 0090DFFF0091DFFF007DCFFF2090D7FF4093D3FF70AADBFF80B3DFFFAFD0EBFF
+ BFD9EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFEFFFFFFFEFFFFFFFEFF
+ FFFEFDFFFFFEFDFFDC9D74FFC44E02FF00000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0280C44E02FF00C5FFFF66DBFFFFCCECFFFF40B9FFFF
+ 00A4FFFF00A7FFFF00A9FFFF00ABFFFF00AEFFFF00B0FFFF00B3FFFF00B5FFFF
+ 00B8FFFF00BAFFFF00BCFFFF00BFFFFF00C1FFFF00C4FFFF00BAF7FF00B0EFFF
+ 00B2EFFF009ADFFF009BDFFF40AEE3FF40A8DFFF80C1E7FF8FBDE3FFBFD9EFFF
+ CFE3F2FFFFFFFEFFE2B699FFC44E02FFC44E0220000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0280C44E02FF00BCFFFF66D6FFFFCCEBFFFF66C6FFFF
+ 00A1FFFF00A4FFFF00A6FFFF00A9FFFF00ABFFFF00ADFFFF00B0FFFF00B2FFFF
+ 00B5FFFF00B7FFFF00BAFFFF00BCFFFF00BEFFFF00C1FFFF00C3FFFF00C6FFFF
+ 00C8FFFF00CBFFFF00CDFFFF00D0FFFF00D2FFFF00D4FFFF00D7FFFF00D2FBFF
+ 00BEEFFF00C0EFFF4197ACFFC44E02FFC44E0240000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0280C44E02FF00B3FFFF66D2FFFFCCEBFFFFA6DCFFFF
+ 009EFFFF00A1FFFF00A3FFFF00A6FFFF00A8FFFF00ABFFFF00ADFFFF00B0FFFF
+ 00B2FFFF00B4FFFF00B7FFFF00B9FFFF00BCFFFF00BEFFFF00C1FFFF00C3FFFF
+ 00C5FFFF00C8FFFF00CAFFFF00CDFFFF00CFFFFF00D1FFFF00D4FFFF00D6FFFF
+ 00D9FFFF00DBFFFF15D0E9FFC44E02FFC44E0270000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0280C44E02FF00AAFFFF66CDFFFFCCEAFFFFCCEBFFFF
+ 8CD3FFFF4DBBFFFF26AFFFFF00A3FFFF00A5FFFF00A8FFFF00AAFFFF00ADFFFF
+ 00AFFFFF00B2FFFF00B4FFFF00B6FFFF00B9FFFF00BBFFFF00BEFFFF00C0FFFF
+ 00C2FFFF00C5FFFF00C7FFFF00CAFFFF00CCFFFF00CFFFFF00D1FFFF00D4FFFF
+ 00D6FFFF00D8FFFF00DBFFFFB8500EFFC44E028F000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0280C44E02FF00A1FFFF73CDFFFFCCEAFFFFCCEAFFFF
+ CCEBFFFFCCEBFFFFCCECFFFFCCECFFFFB3E4FFFF99DBFFFF73CFFFFF66CCFFFF
+ 4DC5FFFF33BFFFFF26BDFFFF00B4FFFF00B6FFFF00B8FFFF00BBFFFF00BDFFFF
+ 00C0FFFF00C2FFFF00C5FFFF00C7FFFF00CAFFFF00CCFFFF00CEFFFF00D1FFFF
+ 00D3FFFF00D6FFFF00D8FFFF937141FFC44E02BF000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0280C44E02FF0098FFFF2697EDFF3394E7FF3395E7FF
+ 3395E7FF3395E7FF66B2EFFF66B2EFFF66B2EFFF66B2EFFF66B3EFFF99D0F7FF
+ 99D1F7FF99D1F7FF99D1F7FF99D2F7FFCCF0FFFF99E2FFFF99E3FFFF8CE0FFFF
+ 66D8FFFF66D9FFFF40D1FFFF33D0FFFF33D2FFFF0DCCFFFF00CBFFFF00CEFFFF
+ 00D0FFFF00D3FFFF00D5FFFF627D75FFC44E02FF000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0270C44E02FF626B7BFF626371FF626371FF626371FF
+ 626371FF316EA8FF316EA8FF316EA8FF316EA8FF316EA8FF316EA8FF2570B6FF
+ 0078DFFF0078DFFF0078DFFF0078DFFF0078DFFF0078DFFF0078DFFF0078DFFF
+ 0D80E1FF3397E7FF3397E7FF3397E7FF3397E7FF409FE9FF66B6EFFF66B7EFFF
+ 33ADEFFF33AEEFFF4CB4E3FF948561FFC44E02FF000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0210C44E02BFC44E02FFC44E02FFC44E02FFC44E02FF
+ C44E02FFC44E02FFC44E02FFC44E02FFC44E02FFC44E02FFC44E02FFC44E02FF
+ C44E02FFC44E02FFC44E02FFC44E02FFC44E02FFC44E02FFB85110FF935939FF
+ 935939FF935939FF935939FF935939FF935939FF7B5E55FF626371FF626371FF
+ 626371FF875B47FFC44E02FFC44E02FFC44E029F000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0240C44E0240C44E0240C44E0240C44E0240C44E0240
+ C44E0250C44E0280C44E0280C44E0280C44E0280C44E0280C44E0280C44E029F
+ C44E02BFC44E02BFC44E02BFC44E02BFC44E02BFC44E02BFC44E02EFC44E02FF
+ C44E02FFC44E02DFC44E028FC44E023000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000FFCFFFFFFFFF0000FF81FFFFFFFF0000FF001FFF
+ FFFF0000FF0001FFFFFF0000FE00001FFFFF0000FE000003FFFF0000FE000000
+ 3FFF0000FE00000007FF0000FE00000007FF0000FE00000003FF0000FE000000
+ 01FF0000FE000000007F0000FE000000003F0000FE000000001F0000FE000000
+ 000F0000FE000000000F0000FE000000000F0000FE000000001F0000FE000000
+ 007F0000FE00000000FF0000FE00000001FF0000FE00000001FF0000FE000000
+ 01FF0000FE00000000FF0000FE00000000FF0000FE00000000FF0000FE000000
+ 00FF0000FE00000000FF0000FE00000000FF0000FE00000000FF0000FE000000
+ 00FF0000FE000000007F0000FE000000007F0000FE000000007F0000FE000000
+ 007F0000FE000000007F0000FE000000007F0000FE000000007F0000FE000000
+ 003F0000FE000000003F0000FE000000003F0000FE000000003F0000FE000000
+ 003F0000FE000000003F0000FE000000003F0000FE000000003F0000FFFE0000
+ 007F0000FFFFFFFFFFFF0000}
+ end
+ object LabelDescricao: TLabel
+ Left = 49
+ Top = 1
+ Width = 193
+ Height = 47
+ Align = alLeft
+ Caption = 'Hist'#243'rico de Tabelas'
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clNavy
+ Font.Height = -19
+ Font.Name = 'MS Sans Serif'
+ Font.Style = [fsBold]
+ ParentFont = False
+ Layout = tlCenter
+ end
+ end
+ object Panel2: TPanel
+ Left = 0
+ Top = 49
+ Width = 177
+ Height = 404
+ Align = alLeft
+ BevelOuter = bvNone
+ TabOrder = 1
+ object LabelUser: TLabel
+ Left = 7
+ Top = 8
+ Width = 36
+ Height = 13
+ Caption = '&Usu'#225'rio'
+ FocusControl = ComboUser
+ end
+ object LabelForm: TLabel
+ Left = 7
+ Top = 56
+ Width = 48
+ Height = 13
+ Caption = '&Formul'#225'rio'
+ FocusControl = ComboForm
+ end
+ object LabelEvento: TLabel
+ Left = 7
+ Top = 104
+ Width = 34
+ Height = 13
+ Caption = '&Evento'
+ FocusControl = ComboEvento
+ end
+ object LabelTabela: TLabel
+ Left = 7
+ Top = 152
+ Width = 33
+ Height = 13
+ Caption = '&Tabela'
+ FocusControl = ComboTabela
+ end
+ object ComboUser: TComboBox
+ Left = 7
+ Top = 24
+ Width = 163
+ Height = 21
+ Style = csDropDownList
+ ItemHeight = 13
+ TabOrder = 0
+ OnChange = ComboUserChange
+ end
+ object ComboForm: TComboBox
+ Left = 7
+ Top = 72
+ Width = 163
+ Height = 21
+ Style = csDropDownList
+ ItemHeight = 13
+ TabOrder = 1
+ OnChange = ComboUserChange
+ end
+ object BitBtn1: TBitBtn
+ Left = 16
+ Top = 304
+ Width = 145
+ Height = 25
+ Caption = '&Aplicar Filtro'
+ Enabled = False
+ TabOrder = 2
+ OnClick = BitBtn1Click
+ Glyph.Data = {
+ 36050000424D3605000000000000360400002800000010000000100000000100
+ 08000000000000010000530B0000530B0000000100000001000000310000004A
+ 0000005A0000006B0000007B0000219C390018AD390021AD390029BD390021AD
+ 4A0031CE4A0031CE5A0039D65A0039DE63004AEF6B004AEF730052EF730052EF
+ 7B006BF78C00FF00FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00131313131313
+ 1313020213131313131313131313131313030902131313131313131313131313
+ 030D090213131313131313131313131303120902131313131313131313131313
+ 0312090213131313131313131313131303120902131313131313131313131313
+ 0312090213131313131313131313131303120902131313131313131313131303
+ 120D09000213131313131313131303120D0D0501000213131313131313031210
+ 0E0D070401000213131313130312110F0D0B0909040100021313130312110C0A
+ 0806090909040100021303030303030303030303030303030303131313131313
+ 1313131313131313131313131313131313131313131313131313}
+ end
+ object BitBtn2: TBitBtn
+ Left = 16
+ Top = 336
+ Width = 145
+ Height = 25
+ Caption = '&Excluir Hist'#243'rico'
+ TabOrder = 3
+ OnClick = BitBtn2Click
+ Glyph.Data = {
+ 36030000424D3603000000000000360000002800000010000000100000000100
+ 18000000000000030000120B0000120B00000000000000000000FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FF1877EA1574E0FF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF1776E615
+ 73E7136FDC126ED30F6AC9FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FF1676CA268BE5278CEB2184E3116CCF0C67C40B64BB0962
+ B4075CA9FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF258BD83EABEE45
+ B4F72687DD3DAAF41E80D50F69BF065BAA0458A004579A035495FF00FFFF00FF
+ FF00FFFF00FF01500A319CF739A4F41B6DC448B7FA2687DD41ADFA3BA7F81F81
+ D4197ACC065B9F025291FF00FFFF00FFFF00FF0B6344185F6901500A166AD425
+ 81CE1160C02889E340ACFE359EF23CA6FF3CA6FF2D95EFFF00FFFF00FFFF00FF
+ 06630925AC461CB62F1CB62F1CB62F01500A01500A196DA32380E12C8FEB38A3
+ FF38A1FFFF00FFFF00FFFF00FF096D111C9A3147F77936E5541CB62F0E912D12
+ 805B1CB62F1CB62F01500A01500AFF00FFFF00FFFF00FFFF00FFFF00FF1C982F
+ 18902935E05D21C2390CA015008600008300068E0F1DA6572D9197FF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FF035A0617992811AA1D018202007B0004
+ 8A0B005D01005D01FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ 1387232AD149048807005C00005D01046D0AFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FF0E78182CD44D068C09005400FF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF08690E2BCE49
+ 07960D005800FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FF0D82170C9D15005E00FF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF0B8913006501
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF}
+ end
+ object BitBtn3: TBitBtn
+ Left = 16
+ Top = 368
+ Width = 145
+ Height = 25
+ Caption = '&Fechar'
+ TabOrder = 4
+ OnClick = BitBtn3Click
+ Glyph.Data = {
+ 36030000424D3603000000000000360000002800000010000000100000000100
+ 18000000000000030000120B0000120B00000000000000000000FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FF824B4B4E1E1FFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF824B4B824B4BA64B4BA9
+ 4D4D4E1E1FFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ 824B4B824B4BB64F50C24F50C54D4EB24D4E4E1E1F824B4B824B4B824B4B824B
+ 4B824B4B824B4BFF00FFFF00FFFF00FF824B4BD45859CB5556C95455C95253B7
+ 4F524E1E1FFE8B8CFB9A9CF8AAABF7B5B6F7B5B6824B4BFF00FFFF00FFFF00FF
+ 824B4BD75C5DD05A5BCF595ACF5758BD53564E1E1F23B54A13C14816BD480CBC
+ 41F7B5B6824B4BFF00FFFF00FFFF00FF824B4BDD6364D75F60D55E5FD55C5DC2
+ 575A4E1E1F2AB44D1CBF4C1EBC4C13BC45F7B5B6824B4BFF00FFFF00FFFF00FF
+ 824B4BE36869DD6566DA6364DE6667C6595B4E1E1F26B14916BC481BBB4910BB
+ 43F7B5B6824B4BFF00FFFF00FFFF00FF824B4BEB6D6EE26768E67E7FFAD3D4CC
+ 6E704E1E1FA5D89750D16F42C9662DC758F7B5B6824B4BFF00FFFF00FFFF00FF
+ 824B4BF27374E96C6DEB8182FCD1D3CF6E704E1E1FFFF2CCFFFFD7FFFFD4E6FC
+ C7F7B5B6824B4BFF00FFFF00FFFF00FF824B4BF87879F07576EE7273F07374D1
+ 65664E1E1FFCEFC7FFFFD5FFFFD3FFFFD7F7B5B6824B4BFF00FFFF00FFFF00FF
+ 824B4BFE7F80F77A7BF6797AF77779D76B6B4E1E1FFCEFC7FFFFD5FFFFD3FFFF
+ D5F7B5B6824B4BFF00FFFF00FFFF00FF824B4BFF8384FC7F80FB7E7FFE7F80DA
+ 6E6F4E1E1FFCEFC7FFFFD5FFFFD3FFFFD5F7B5B6824B4BFF00FFFF00FFFF00FF
+ 824B4BFF8889FF8283FF8182FF8283E073744E1E1FFCEFC7FFFFD5FFFFD3FFFF
+ D5F7B5B6824B4BFF00FFFF00FFFF00FF824B4B824B4BE27576FE8182FF8687E5
+ 76774E1E1FFAEBC5FCFBD1FCFBCFFCFBD1F7B5B6824B4BFF00FFFF00FFFF00FF
+ FF00FFFF00FF824B4B9C5657CB6C6DCF6E6E4E1E1F824B4B824B4B824B4B824B
+ 4B824B4B824B4BFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF824B4B82
+ 4B4B4E1E1FFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF}
+ end
+ object ComboEvento: TComboBox
+ Left = 7
+ Top = 120
+ Width = 163
+ Height = 21
+ Style = csDropDownList
+ ItemHeight = 13
+ TabOrder = 5
+ OnChange = ComboUserChange
+ end
+ object ComboTabela: TComboBox
+ Left = 7
+ Top = 168
+ Width = 163
+ Height = 21
+ Style = csDropDownList
+ ItemHeight = 13
+ TabOrder = 6
+ OnChange = ComboUserChange
+ end
+ end
+ object Panel3: TPanel
+ Left = 177
+ Top = 49
+ Width = 636
+ Height = 404
+ Align = alClient
+ BevelOuter = bvNone
+ TabOrder = 2
+ object Splitter1: TSplitter
+ Left = 0
+ Top = 89
+ Width = 636
+ Height = 3
+ Cursor = crVSplit
+ Align = alBottom
+ end
+ object DBMemo1: TDBMemo
+ Left = 0
+ Top = 248
+ Width = 636
+ Height = 156
+ Align = alBottom
+ DataField = 'Obs'
+ DataSource = DataSource1
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Courier New'
+ Font.Style = []
+ ParentFont = False
+ ScrollBars = ssBoth
+ TabOrder = 0
+ end
+ object DBGrid1: TDBGrid
+ Left = 0
+ Top = 0
+ Width = 636
+ Height = 89
+ Align = alClient
+ DataSource = DataSource1
+ Options = [dgTitles, dgIndicator, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgRowSelect, dgAlwaysShowSelection, dgConfirmDelete, dgCancelOnExit]
+ ReadOnly = True
+ TabOrder = 1
+ TitleFont.Charset = DEFAULT_CHARSET
+ TitleFont.Color = clWindowText
+ TitleFont.Height = -11
+ TitleFont.Name = 'MS Sans Serif'
+ TitleFont.Style = []
+ Columns = <
+ item
+ Expanded = False
+ FieldName = 'UserName'
+ Title.Caption = 'Usu'#225'rio'
+ Width = 157
+ Visible = True
+ end
+ item
+ Expanded = False
+ FieldName = 'FormCaption'
+ Title.Caption = 'Formul'#225'rio'
+ Width = 157
+ Visible = True
+ end
+ item
+ Expanded = False
+ FieldName = 'Evento'
+ Title.Caption = 'Evento '
+ Width = 79
+ Visible = True
+ end
+ item
+ Expanded = False
+ FieldName = 'EventDate'
+ Title.Caption = 'Data do Evento'
+ Width = 65
+ Visible = True
+ end
+ item
+ Expanded = False
+ FieldName = 'EventTime'
+ Title.Caption = 'Hora do Evento'
+ Width = 65
+ Visible = True
+ end
+ item
+ Expanded = False
+ FieldName = 'TableName'
+ Width = 84
+ Visible = True
+ end>
+ end
+ object StringGrid1: TStringGrid
+ Left = 0
+ Top = 92
+ Width = 636
+ Height = 156
+ Align = alBottom
+ ColCount = 3
+ DefaultColWidth = 220
+ DefaultRowHeight = 21
+ FixedCols = 0
+ RowCount = 2
+ Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goRangeSelect, goRowSelect]
+ TabOrder = 2
+ ColWidths = (
+ 169
+ 220
+ 220)
+ end
+ end
+ object DataSource1: TDataSource
+ OnDataChange = DataSource1DataChange
+ Left = 224
+ Top = 121
+ end
+end
diff --git a/official/2.20/Lib/D10/UCLock.res b/official/2.20/Lib/D10/UCLock.res
new file mode 100644
index 0000000..4a1f3ae
Binary files /dev/null and b/official/2.20/Lib/D10/UCLock.res differ
diff --git a/official/2.20/Lib/D10/UCObjSel_U.dfm b/official/2.20/Lib/D10/UCObjSel_U.dfm
new file mode 100644
index 0000000..4da08b2
Binary files /dev/null and b/official/2.20/Lib/D10/UCObjSel_U.dfm differ
diff --git a/official/2.20/Lib/D10/UserPermis_U.dfm b/official/2.20/Lib/D10/UserPermis_U.dfm
new file mode 100644
index 0000000..1bf5356
--- /dev/null
+++ b/official/2.20/Lib/D10/UserPermis_U.dfm
@@ -0,0 +1,650 @@
+object UserPermis: TUserPermis
+ Left = 255
+ Top = 154
+ BorderStyle = bsDialog
+ Caption = 'Seguran'#231'a'
+ ClientHeight = 522
+ ClientWidth = 542
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ OldCreateOrder = False
+ OnDestroy = FormDestroy
+ OnShow = FormShow
+ PixelsPerInch = 96
+ TextHeight = 13
+ object Panel1: TPanel
+ Left = 0
+ Top = 0
+ Width = 542
+ Height = 35
+ Align = alTop
+ BevelOuter = bvNone
+ Color = clWhite
+ TabOrder = 0
+ object LbDescricao: TLabel
+ Left = 44
+ Top = 12
+ Width = 205
+ Height = 18
+ Margins.Bottom = 0
+ Caption = 'Permiss'#245'es do Usu'#225'rio:'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -16
+ Font.Name = 'Verdana'
+ Font.Style = [fsBold]
+ ParentFont = False
+ end
+ object Image1: TImage
+ Left = 8
+ Top = 4
+ Width = 28
+ Height = 28
+ AutoSize = True
+ Picture.Data = {
+ 07544269746D6170760C0000424D760C00000000000036000000280000001C00
+ 00001C0000000100200000000000400C00000000000000000000000000000000
+ 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FEFEFE00F9F9F900F1F1F100EAEA
+ EA00E3E3E300E0E0E000DEDEDE00DFDFDF00E1E1E100E4E4E400E8E8E800ECEC
+ EC00F0F0F000F5F5F500FAFAFA00FEFEFE00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F6F6F600C5C7
+ C5008E9F91006E8A70005E815C00527B4F004E7C4A004B7C48004A7C47004B7B
+ 48004C7C4A004E7B4C0050795000557854005B7A5C00677F6A007C897E00A2A2
+ A200D4D4D400FAFAFA00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00F2F4F30074967100487638004E7C35004E8334004B893300488E
+ 31004592300044962F0043972F0043982F0043972F004494300047903100498C
+ 32004C863400507F35004E7A360047703900526C5200A9A9A900FAFAFA00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0094B3910058743900537B
+ 36004E8334004A8A33004690310043962F00409B2E003E9F2D003DA12D003DA1
+ 2D003DA02D003F9D2E0042992F0045933000488D32004C863400517F35005577
+ 3700567039005A725A00E6E6E600FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00688D5B0055783700508035004B8833004790310043982F003F9E
+ 2D003BA42C0039A82B0037AB2A0037AB2A0038AA2B003AA62C003DA12D00419B
+ 2E0045943000498C32004D843400527C36005773380054724D00DEDEDE00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF005E875100527C36004D84
+ 3400488D320044962F003F9E2E003BA52C0037AC2A0034B1290032B4280032B5
+ 280033B3280035AE290039A82B003DA12D00419A2F00469131004B8933005080
+ 35005577370056775100E4E4E400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00729A6800507F35004B88330046913100419A2E003CA32C0037AB
+ 2A0033B328002FB927002DBE25002CBF25002EBC260031B6270035AF29003AA7
+ 2B003F9E2D0044953000498C32004E833400537A37006F8C6E00F2F2F200FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A5C6A700508136004A8A
+ 3300449330003F9D2E003AA62B0035AF290030B827002BBF250035B237002BBB
+ 2B0029C324002DBC260033B4280037AB2A003DA12D0042982F00478F31004D85
+ 34004A7B3600B0BCB200FDFDFD00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00F6FAF70058904D00498B3200449530003E9E2D0039A82B0034B2
+ 28002EBB26004BA34E00DEE0DF00DDEADF0044BB47002BC0250031B6270036AD
+ 2A003CA32C00419A2F00479031004C86340072997100F1F1F100FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D4E4D6004A8E
+ 3D00449530003E9E2D0039A82B0034B129002FA92C00A4B0A700E5E6E600E8E9
+ E900CFDED20035B3340031B6270036AC2A003CA32C0041992F00468F31005E95
+ 5B00E5E7E500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00D2E4D4004E984500409C2E003AA52C0035AE
+ 2900518B5400989B9F00798A96006B7F8C00757E85005B7F5D002D9E240038A9
+ 2A003DA12D0040952F0070A46F00E9ECEA00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00EDF4EF007BB57B003A9D2E00319131004F7C93004992C5004A98CF004897
+ CE004592C800437DA400235437002C7F22004B9B4500AECAB000F9F9F900FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00BDD3C7004C90
+ AF0052A0D60052A0D500519FD4004F9DD3004C9AD1004997CE00438CBF004363
+ 6700C1C2C100FDFDFD00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00F5F6F70072ABD00056A4D90056A4D90056A4D90055A3D80054A2
+ D70052A0D5004F9DD3004B99D000468DC000727D8400E7E7E700FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A2C4DC005AA6DB005BA8
+ DC005BA8DC005BA8DC005AA7DB0058A5DA0056A4D90053A1D600509ED4004B9A
+ D0004C7FA500ADADAD00FDFDFD00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00E9EEF4005FA7D7005EABDF005FACE0005FACE0005FACE0005EABDF005CA9
+ DD005AA7DB0057A4D90054A2D700509ED4004A95CA0076828B00F0F0F000FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00ADCDE20060ACE00061AEE20063B0
+ E30063B0E30063B0E30061AEE2005FACE0005DAADE005AA7DC0056A4D90053A1
+ D600B7A293006947310069473100694731006947310069473100694731006947
+ 3100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF007EB5DA0063B0E30065B2E50067B4E70068B4E70067B4E60065B2E50063B0
+ E30060ADE1005DAADE0059A7DB0055A3D800B7A29300FFFFFF00FCFDFF005476
+ FF00E4E9FF00FFFFFF00FFFFFF0069473100FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FAFBFC0064AAD80066B3E60069B5E8006BB7
+ E9006CB8EA006BB7E90069B5E80066B3E60062AFE3005FACE0005BA8DC0057A5
+ DA00B7A29300FFFFFF00B4C3FF000033FF002450FF00FCFDFF00FFFFFF006947
+ 3100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00EDF2
+ F50062A9D9005696BF00538EB5005E9FC9006BB4E3006EBAEC006CB8EA0069B5
+ E70064B1E40060ADE1005DAADE0059A6DB00B7A29300FFFFFF004066FF000C3D
+ FF000033FF009CB0FF00FFFFFF0069473100FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00F1F5F9004F8FB9004385AF004485AE003F79
+ 9D003E708F004B7FA00062A5D10069B5E60066B3E60062AFE2005EABDF0059A7
+ DB00B7A293008CA3FF000033FF00708DFF006483FF001846FF00F0F3FF006947
+ 3100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF005490B8004D94C1004F96C3005097C3004E95C200488BB5003D7192004375
+ 95005B9FCD0061AEE1005DAADE004C8FBC00B7A2930088A0FF001C49FF00E4E9
+ FF00F0F3FF00204DFF006080FF0069473100FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0084B1CD00569ECB0058A0CE0059A1
+ CE00579FCC00539BC8004E95C2004689B300386A8A00447B9F004786B0003C7F
+ A900B7A29300FFFFFF00FFFFFF00FFFFFF00FFFFFF009CB0FF000C3DFF006080
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00C3D8E5005EA5D30061AAD80062ABD9005FA8D6005BA3D100559DCA004E95
+ C200478DB9003D7DA6003C7FAA003D82AD00B7A29300B7A29300B7A29300B7A2
+ 9300B7A29300B7A293009CB0FF001443FF006080FF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FCFDFE0079B1D5006AB4E2006AB5
+ E30067B1DF0062ABD9005BA3D000539AC7004B91BE004388B4003D82AD003C81
+ AC0062849A00ECECEC00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF009CB0
+ FF00345DFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00DDE9F00075B9E40073BEED006EB9E80067B1DF005FA7D500569E
+ CB004D94C100458BB7003D82AE005584A200D8DBDD00FEFEFE00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF009CB0FF00486DFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D8E7F1007FBF
+ E80072BDEC0069B3E20061A9D70058A0CD004F96C2004689B5006994B000DCDF
+ E300FEFEFE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF009CB0FF007893FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00F4F7FA00B2D0E30085B8D80070A9CE0071A6
+ C70087AFC900C3D1DB00FAFAFA00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00}
+ end
+ object lbUser: TLabel
+ Left = 257
+ Top = 12
+ Width = 54
+ Height = 18
+ Margins.Bottom = 0
+ Caption = 'Admin'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clBlue
+ Font.Height = -16
+ Font.Name = 'Verdana'
+ Font.Style = [fsBold]
+ ParentFont = False
+ end
+ end
+ object Panel3: TPanel
+ Left = 445
+ Top = 35
+ Width = 97
+ Height = 487
+ Align = alRight
+ BevelOuter = bvNone
+ TabOrder = 1
+ object BtLibera: TBitBtn
+ Left = 8
+ Top = 80
+ Width = 81
+ Height = 25
+ Caption = '&Liberar'
+ TabOrder = 0
+ OnClick = BtLiberaClick
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000C8D0D4C8D0D4
+ C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0
+ D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8
+ D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D49FBFD0
+ 0060900060900060900060900060900060900060900060900060900060900060
+ 909FBFD0C8D0D4C8D0D4C8D0D4C2C8CB8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D
+ 8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8DC2C8CBC8D0D4C8D0D4C8D0D40090C8
+ 98D8F80090C80090C80090C80090C80090C80090C80090C80090C80090C80090
+ C8006090C8D0D4C8D0D4C8D0D4B5B5B5E7E7E7B6B6B6B5B5B5B5B5B5B5B5B5B5
+ B5B5B5B5B5B6B6B6B5B5B5B5B5B5B5B5B58D8D8DC8D0D4C8D0D4C8D0D40090C8
+ D7EFFD7ACEF774CCF66EC9F55494A840404045879B4EBBF146B7EF42B5EF0090
+ C8006090C8D0D4C8D0D4C8D0D4B5B5B5F5F5F5E1E1E1E0E0E0DDDDDDB1B1B166
+ 6666A7A7A7D5D5D5D3D3D3D2D2D2B5B5B58D8D8DC8D0D4C8D0D4C8D0D40090C8
+ D7EFFD83D2F87DD0F777CDF671CAF540404063C5F45AC1F352BDF14AB9F00090
+ C8006090C8D0D4C8D0D4C8D0D4B5B5B5F5F5F5E3E3E3E2E2E2E0E0E0DFDFDF66
+ 6666DBDBDBD8D8D8D7D7D7D4D4D4B6B6B68D8D8DC8D0D4C8D0D4C8D0D40090C8
+ D7EFFD89D5F983D2F87DD0F740404040404040404063C5F45AC1F352BDF10090
+ C8006090C8D0D4C8D0D4C8D0D4B5B5B5F6F6F6E5E5E5E3E3E3E2E2E267676766
+ 6666666666DCDCDCD9D9D9D6D6D6B6B6B68D8D8DC8D0D4C8D0D4C8D0D40090C8
+ D7EFFD8FD8FA89D5F983D2F862AABE40404062AABE6BC8F563C5F45AC1F30090
+ C8006090C8D0D4C8D0D4C8D0D4B5B5B5F6F6F6E7E7E7E5E5E5E3E3E3C2C2C266
+ 6666C2C2C2DDDDDDDCDCDCD9D9D9B6B6B68D8D8DC8D0D4C8D0D4C8D0D40090C8
+ D7EFFD95DBFB8FD8FA89D5F983D2F87DD0F777CDF671CAF56BC8F563C5F40090
+ C8006090C8D0D4C8D0D4C8D0D4B6B6B6F5F5F5E9E9E9E7E7E7E5E5E5E3E3E3E2
+ E2E2E0E0E0DFDFDFDDDDDDDCDCDCB5B5B58D8D8DC8D0D4C8D0D4C8D0D40090C8
+ 98D8F8D7EFFDD7EFFDD7EFFDD7EFFDD7EFFDD7EFFDD7EFFDD7EFFDD7EFFD98D8
+ F8006090C8D0D4C8D0D4C8D0D4B5B5B5E7E7E7F6F6F6F6F6F6F6F6F6F6F6F6F6
+ F6F6F6F6F6F6F6F6F6F6F6F5F5F5E7E7E78D8D8DC8D0D4C8D0D4C8D0D49FBFD0
+ 028DC70090C80090C80090C80090C80090C80090C80090C80090C80090C80090
+ C89FBFD0C8D0D4C8D0D4C8D0D4C2C8CBB4B4B4B6B6B6B6B6B6B6B6B6B5B5B5B5
+ B5B5B5B5B5B6B6B6B6B6B6B5B5B5B5B5B5C2C8CBC8D0D4C8D0D4C8D0D4C8D0D4
+ C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D40090C860C8F8006090C8D0
+ D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8
+ D0D4C8D0D4B6B6B6DDDDDD8D8D8DC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4
+ C8D0D40090C8006090006090C8D0D4C8D0D4C8D0D40090C860C8F8006090C8D0
+ D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4B6B6B68D8D8D8D8D8DC8D0D4C8
+ D0D4C8D0D4B6B6B6DDDDDD8D8D8DC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4
+ C8D0D40090C8D7EFFD0060909FBFD0C8D0D49FBFD00090C860C8F8006090C8D0
+ D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4B5B5B5F6F6F68D8D8DC2C8CBC8
+ D0D4C2C8CBB5B5B5DDDDDD8D8D8DC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4
+ C8D0D47FB1CDD7EFFD98D8F800609000609000609098D8F860C8F8367EA3C8D0
+ D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4BDC2C4F5F5F5E7E7E78D8D8D8E
+ 8E8E8D8D8DE7E7E7DDDDDD9EA0A1C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4
+ C8D0D49FBFD07FB1CDD7EFFDD7EFFDD7EFFDD7EFFD4DB9EC367EA39FBFD0C8D0
+ D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C2C8CBBDC2C4F6F6F6F6F6F6F6
+ F6F6F6F6F6D3D3D39EA0A1C2C8CBC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4
+ C8D0D4C8D0D49FBFD07FB1CD0090C80090C80090C87FB1CD9FBFD0C8D0D4C8D0
+ D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C2C8CBBDC2C4B5B5B5B5
+ B5B5B5B5B5BDC2C4C2C8CBC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4}
+ NumGlyphs = 2
+ end
+ object BtBloqueia: TBitBtn
+ Left = 8
+ Top = 133
+ Width = 81
+ Height = 25
+ Caption = '&Bloquear'
+ TabOrder = 1
+ OnClick = BtBloqueiaClick
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000C8D0D4C8D0D4
+ C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0
+ D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8
+ D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D49FBFD0
+ 0060900060900060900060900060900060900060900060900060900060900060
+ 909FBFD0C8D0D4C8D0D4C8D0D4C2C8CB8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D
+ 8D8D8D8D8D8E8E8E8D8D8D8D8D8D8D8D8DC2C8CBC8D0D4C8D0D4C8D0D40090C8
+ 98D8F80090C80090C80090C80090C80090C80090C80090C80090C80090C80090
+ C8006090C8D0D4C8D0D4C8D0D4B6B6B6E7E7E7B5B5B5B6B6B6B5B5B5B5B5B5B5
+ B5B5B6B6B6B5B5B5B5B5B5B6B6B6B6B6B68D8D8DC8D0D4C8D0D4C8D0D40090C8
+ D7EFFD7ACEF774CCF66EC9F55494A840404045879B4EBBF146B7EF42B5EF0090
+ C8006090C8D0D4C8D0D4C8D0D4B5B5B5F5F5F5E1E1E1E0E0E0DDDDDDB1B1B166
+ 6666A7A7A7D5D5D5D3D3D3D2D2D2B6B6B68D8D8DC8D0D4C8D0D4C8D0D40090C8
+ D7EFFD83D2F87DD0F777CDF671CAF540404063C5F45AC1F352BDF14AB9F00090
+ C8006090C8D0D4C8D0D4C8D0D4B6B6B6F6F6F6E3E3E3E2E2E2E0E0E0DFDFDF66
+ 6666DCDCDCD9D9D9D7D7D7D4D4D4B6B6B68D8D8DC8D0D4C8D0D4C8D0D40090C8
+ D7EFFD89D5F983D2F87DD0F740404040404040404063C5F45AC1F352BDF10090
+ C8006090C8D0D4C8D0D4C8D0D4B5B5B5F5F5F5E5E5E5E3E3E3E2E2E266666666
+ 6666666666DCDCDCD8D8D8D6D6D6B5B5B58D8D8DC8D0D4C8D0D4C8D0D40090C8
+ D7EFFD8FD8FA89D5F983D2F862AABE40404062AABE6BC8F563C5F45AC1F30090
+ C8006090C8D0D4C8D0D4C8D0D4B6B6B6F6F6F6E7E7E7E6E6E6E3E3E3C2C2C267
+ 6767C2C2C2DDDDDDDBDBDBD9D9D9B6B6B68D8D8DC8D0D4C8D0D4C8D0D40090C8
+ D7EFFD95DBFB8FD8FA89D5F983D2F87DD0F777CDF671CAF56BC8F563C5F40090
+ C8006090C8D0D4C8D0D4C8D0D4B5B5B5F6F6F6E9E9E9E7E7E7E6E6E6E3E3E3E2
+ E2E2E0E0E0DFDFDFDDDDDDDBDBDBB6B6B68D8D8DC8D0D4C8D0D4C8D0D40090C8
+ 98D8F8D7EFFDD7EFFDD7EFFDD7EFFDD7EFFDD7EFFDD7EFFDD7EFFDD7EFFD98D8
+ F8006090C8D0D4C8D0D4C8D0D4B5B5B5E7E7E7F6F6F6F6F6F6F6F6F6F6F6F6F6
+ F6F6F6F6F6F6F6F6F6F6F6F6F6F6E7E7E78D8D8DC8D0D4C8D0D4C8D0D49FBFD0
+ 0090C80090C80090C80090C80090C80090C80090C80090C80090C80090C80090
+ C89FBFD0C8D0D4C8D0D4C8D0D4C2C8CBB5B5B5B6B6B6B6B6B6B5B5B5B6B6B6B5
+ B5B5B6B6B6B6B6B6B5B5B5B5B5B5B6B6B6C2C8CBC8D0D4C8D0D4C8D0D4C8D0D4
+ C8D0D40090C8D7EFFD006090C8D0D4C8D0D4C8D0D40090C860C8F8006090C8D0
+ D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4B5B5B5F5F5F58D8D8DC8D0D4C8
+ D0D4C8D0D4B5B5B5DDDDDD8D8D8DC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4
+ C8D0D40090C8D7EFFD0060909FBFD0C8D0D49FBFD00090C860C8F8006090C8D0
+ D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4B5B5B5F6F6F68D8D8DC2C8CBC8
+ D0D4C2C8CBB5B5B5DEDEDE8D8D8DC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4
+ C8D0D47FB1CDD7EFFD98D8F800609000609000609060C8F860C8F8367EA3C8D0
+ D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4BDC2C4F6F6F6E7E7E78D8D8D8D
+ 8D8D8D8D8DDEDEDEDDDDDD9EA0A1C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4
+ C8D0D49FBFD07FB1CDD7EFFDD7EFFDD7EFFDD7EFFD60C8F8367EA39FBFD0C8D0
+ D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C2C8CBBDC2C4F6F6F6F6F6F6F6
+ F6F6F6F6F6DDDDDD9EA0A1C2C8CBC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4
+ C8D0D4C8D0D49FBFD07FB1CD0090C80090C80090C87FB1CD9FBFD0C8D0D4C8D0
+ D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C2C8CBBDC2C4B5B5B5B5
+ B5B5B6B6B6BDC2C4C2C8CBC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4
+ C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0
+ D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8
+ D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4}
+ NumGlyphs = 2
+ end
+ object BtGrava: TBitBtn
+ Left = 8
+ Top = 186
+ Width = 81
+ Height = 25
+ Caption = '&Gravar'
+ TabOrder = 2
+ OnClick = BtGravaClick
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF
+ 6D422F6D422F6D422F6D422F6D422F6D422F6D422F6D422F6D422F6D422F6D42
+ 2F6D422F6D422F6D422FFF00FFFF00FF69696969696969696969696969696969
+ 6969696969696969696969696969696969696969696969696969FF00FFCE726F
+ D19792CB8E8A715A48C0B2ABC4BCB8CAC1BCCAC1BCCAC1BCCAC1BC8C76679443
+ 409443409443406D422FFF00FF9A9A9AB4B4B4AEAEAE7D7D7DC6C6C6CECECED2
+ D2D2D2D2D2D2D2D2D2D2D2969696707070707070707070696969FF00FFCE726F
+ D79F9BD19792715A482E1F185F5046FFFFFFFFFFFFFFFFFFF0E4DE8C76679747
+ 449443409443406D422FFF00FF9A9A9ABBBBBBB5B5B57C7C7C434343747474FF
+ FFFFFFFFFFFFFFFFECECEC969696747474707070707070696969FF00FFCE726F
+ DDA8A3D79F9B715A480A0A0A36241BFFFFFFF7F1EEF0E4DEE1CABD8C76679E50
+ 4D9747449443406D422FFF00FF9A9A9AC1C1C1BBBBBB7D7D7D2A2A2A4A4A4AFF
+ FFFFF6F6F6ECECECD8D8D89595957C7C7C757575707070696969FF00FFCE726F
+ E3B0ABDDA8A3715A48715A48715A48715A48715A48715A48715A48715A48A459
+ 569E504D9747446D422FFF00FF9A9A9AC8C8C8C1C1C17D7D7D7D7D7D7D7D7D7C
+ 7C7C7D7D7D7D7D7D7D7D7D7D7D7D8383837C7C7C747474696969FF00FFCE726F
+ EDBDB8E7B5B0E0ACA7DAA49FD49B97CB8E8AC58682BF7E79B97571B26B68AB62
+ 5FA459569E504D6D422FFF00FF9A9A9AD2D2D2CCCCCCC4C4C4BEBEBEB8B8B8AE
+ AEAEA8A8A8A1A1A19A9A9A9292928B8B8B8484847B7B7B696969FF00FFCE726F
+ F0C1BCEDBDB8E7B5B0E0ACA7DAA49FD49B97CE938EC88A86C2827EBC7975B26B
+ 68AB625FA459566D422FFF00FF9A9A9AD4D4D4D2D2D2CBCBCBC4C4C4BFBFBFB8
+ B8B8B1B1B1ABABABA5A5A59D9D9D9292928B8B8B848484696969FF00FFCE726F
+ F0C1BCF0C1BCC8635CC8635CC8635CC8635CC8635CC8635CC8635CC8635CC863
+ 5CB5706CAE67636D422FFF00FF9A9A9AD4D4D4D5D5D58E8E8E8E8E8E8E8E8E8E
+ 8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E9696968E8E8E696969FF00FFCE726F
+ F0C1BCC8635CFAF5F3F6EEEAF2E7E2EEE2DAEBDCD3E7D6CBE4D0C4E1CABDE1CA
+ BDC8635CB5706C6D422FFF00FF9A9A9AD4D4D48E8E8EF8F8F8F3F3F3EEEEEEEA
+ EAEAE6E6E6E1E1E1DDDDDDD8D8D8D8D8D88E8E8E969696676767FF00FFCE726F
+ F0C1BCC8635CFFFFFFFCF8F7F8F1EEF4EAE6F0E4DEECDFD6E9D9CFE6D3C8E2CD
+ C0C8635CBC79756D422FFF00FF9A9A9AD5D5D58E8E8EFFFFFFFAFAFAF6F6F6F1
+ F1F1ECECECE7E7E7E3E3E3DFDFDFDADADA8E8E8E9D9D9D696969FF00FFCE726F
+ F0C1BCC8635CFFFFFFFFFFFFFCF8F7F8F1EEF4EAE6F0E4DEECDFD6E9D9CFE6D3
+ C8C8635CC2827E6D422FFF00FF9A9A9AD4D4D48D8D8DFFFFFFFFFFFFFBFBFBF6
+ F6F6F0F0F0ECECECE7E7E7E3E3E3DFDFDF8E8E8EA5A5A5696969FF00FFCE726F
+ F0C1BCC8635CFFFFFFFFFFFFFFFFFFFCF8F7F8F1EEF4EAE6F0E4DEECDFD6E9D9
+ CFC8635CC88A866D422FFF00FF9A9A9AD4D4D48E8E8EFFFFFFFFFFFFFFFFFFFB
+ FBFBF5F5F5F1F1F1ECECECE8E8E8E3E3E38E8E8EABABAB696969FF00FFCE726F
+ F0C1BCC8635CFFFFFFFFFFFFFFFFFFFFFFFFFCF8F7F8F1EEF4EAE6F0E4DEECDF
+ D6C8635CD197926D422FFF00FF9A9A9AD4D4D48E8E8EFFFFFFFFFFFFFFFFFFFF
+ FFFFFBFBFBF6F6F6F1F1F1ECECECE7E7E78E8E8EB5B5B5696969FF00FFCE726F
+ F0C1BCC8635CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF8F7F8F1EEF4EAE6F0E4
+ DEC8635C0A0A0A6D422FFF00FF9A9A9AD4D4D48E8E8EFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFBFBFBF6F6F6F1F1F1ECECEC8E8E8E2A2A2A676767FF00FFCE726F
+ F0C1BCC8635CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF8F7F8F1EEF4EA
+ E6C8635CC88A866D422FFF00FF9A9A9AD5D5D58E8E8EFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFBFBFBF5F5F5F1F1F18E8E8EABABAB696969FF00FFCE726F
+ CE726FCE726FCE726FCE726FCE726FCE726FCE726FCE726FCE726FCE726FCE72
+ 6FCE726FCE726FCE726FFF00FF9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+ 9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A}
+ NumGlyphs = 2
+ end
+ object BtCancel: TBitBtn
+ Left = 8
+ Top = 240
+ Width = 81
+ Height = 25
+ Caption = '&Cancelar'
+ TabOrder = 3
+ OnClick = BtCancelClick
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFC066148E4019
+ 8E40198E40198E40198E40198E40198E40198E40198E40198E40198E40198E40
+ 198E40198E4019FF00FF8888886969696969696969696969696969696A6A6A69
+ 69696969696969696A6A6A6969696969696A6A6A696969FF00FFC06614F9F5F4
+ C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2
+ A5C3B2A58E4019FF00FF888888F8F8F8C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6
+ C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6696969FF00FFC06614FCFAFA
+ F9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCDFD0C7DFD0C7DCCB
+ C1C3B2A58E4019FF00FF888888FCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEAEAEAE7
+ E7E7E4E4E4E0E0E0DDDDDDDDDDDDD9D9D9C6C6C6696969FF00FFC06614FFFFFF
+ FCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCE2D4CCDFD0
+ C7C3B2A58E4019FF00FF888888FFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEA
+ EAEAE7E7E7E3E3E3E0E0E0E0E0E0DDDDDDC6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E5D9D1E2D4
+ CCC3B2A58E4019FF00FF888888FFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EE
+ EEEEEAEAEAE7E7E7E3E3E3E3E3E3E0E0E0C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E9DED7E5D9
+ D1C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1
+ F1F1EEEEEEEAEAEAE7E7E7E7E7E7E3E3E3C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F2EBE8EEE6E2ECE2DCECE2DCE9DE
+ D7C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFBFBFBF7
+ F7F7F1F1F1EEEEEEEAEAEAEAEAEAE7E7E7C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF0E9E5F0E9E5EDE4
+ DFC3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFB
+ FBFBF7F7F7F3F3F3F0F0F0F0F0F0ECECECC6C6C66A6A6AFF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF4EEEBF0E9
+ E5C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE
+ FEFEFBFBFBF7F7F7F3F3F3F3F3F3F0F0F0C6C6C66A6A6AFF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F78A9DE92546CD1D3F
+ C9193BC8183BC88194E1898989FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFEFEFEFAFAFAC6C6C6979797929292929292929292C0C0C0C06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFD3355DBF2F4FD4E6B
+ D94A67D8F2F4FD183BC8888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFEFEFEA1A1A1FAFAFAAAAAAAA8A8A8F9F9F9929292C066148E4019
+ 8E40198E40198E40198E40198E40198E40198E40198E40193C5CDD8296E4D9DF
+ F9CDD5F74C69D81A3CC88888886969696969696969696A6A6A69696969696969
+ 6969696969696969A5A5A5C1C1C1EDEDEDE7E7E7A8A8A8929292C06614ED9733
+ ED9733ED9733ED9733ED9733ED9733ED9733F6CA9AED97334563E16980E2E4E8
+ FBD8DEF9516DDA1F40C9888888ACACACACACACADADADADADADADADADACACACAD
+ ADADD5D5D5ADADADA8A8A8B6B6B6F2F2F2ECECECABABAB939393F810DCC06614
+ C06614C06614C06614C06614C06614C06614C06614C066144D6AE3F2F4FD667D
+ E26E85E2F2F4FD2749CEEF14EF88888888888888888888888889898988888888
+ 8888888888898989ACACACF9F9F9B5B5B5B9B9B9F9F9F9989898FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF9AABEF4D6AE34563
+ E14463DF3E5EDE8FA2EBFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFCFCFCFACACACA8A8A8A8A8A8A6A6A6C9C9C9}
+ NumGlyphs = 2
+ end
+ end
+ object PC: TPageControl
+ Left = 0
+ Top = 35
+ Width = 445
+ Height = 487
+ ActivePage = PageMenu
+ Align = alClient
+ Style = tsFlatButtons
+ TabOrder = 2
+ object PageMenu: TTabSheet
+ Caption = 'Itens do Menu'
+ ExplicitLeft = 0
+ ExplicitTop = 0
+ ExplicitWidth = 0
+ ExplicitHeight = 0
+ object TreeMenu: TTreeView
+ Left = 0
+ Top = 0
+ Width = 437
+ Height = 456
+ Align = alClient
+ Ctl3D = True
+ Images = ImageList1
+ Indent = 19
+ ParentCtl3D = False
+ ReadOnly = True
+ RightClickSelect = True
+ TabOrder = 0
+ OnClick = TreeMenuClick
+ OnCollapsing = TreeMenuCollapsing
+ OnExpanding = TreeMenuCollapsing
+ OnKeyPress = TreeMenuKeyPress
+ OnMouseUp = TreeMenuMouseUp
+ end
+ end
+ object PageAction: TTabSheet
+ Caption = 'A'#231#245'es'
+ ImageIndex = 1
+ ExplicitLeft = 0
+ ExplicitTop = 0
+ ExplicitWidth = 0
+ ExplicitHeight = 0
+ object TreeAction: TTreeView
+ Left = 0
+ Top = 0
+ Width = 437
+ Height = 456
+ Align = alClient
+ Ctl3D = True
+ Images = ImageList1
+ Indent = 19
+ ParentCtl3D = False
+ ReadOnly = True
+ RightClickSelect = True
+ TabOrder = 0
+ OnClick = TreeActionClick
+ OnCollapsing = TreeMenuCollapsing
+ OnExpanding = TreeMenuCollapsing
+ OnKeyPress = TreeMenuKeyPress
+ end
+ end
+ object PageControls: TTabSheet
+ Caption = 'Controles'
+ ImageIndex = 2
+ ExplicitLeft = 0
+ ExplicitTop = 0
+ ExplicitWidth = 0
+ ExplicitHeight = 0
+ object TreeControls: TTreeView
+ Left = 0
+ Top = 0
+ Width = 437
+ Height = 456
+ Align = alClient
+ Ctl3D = True
+ Images = ImageList1
+ Indent = 19
+ ParentCtl3D = False
+ ReadOnly = True
+ RightClickSelect = True
+ TabOrder = 0
+ OnClick = TreeControlsClick
+ OnCollapsing = TreeMenuCollapsing
+ OnExpanding = TreeMenuCollapsing
+ OnKeyPress = TreeMenuKeyPress
+ end
+ end
+ end
+ object ImageList1: TImageList
+ Left = 360
+ Top = 8
+ Bitmap = {
+ 494C010103000400040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
+ 0000000000003600000028000000400000001000000001002000000000000010
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000084848400C6DEC600C6DE
+ C600C6DEC600C6DEC600C6DEC600C6DEC600C6DEC600C6DEC600C6DEC600C6DE
+ C600C6DEC6000000000000000000000000000000000084848400C6DEC600C6DE
+ C600C6DEC600C6DEC600C6DEC600C6DEC600C6DEC600C6DEC600C6DEC600C6DE
+ C600C6DEC6000000000000000000000000000000000084848400C6DEC600C6DE
+ C600C6DEC600C6DEC600C6DEC600C6DEC600C6DEC600C6DEC600C6DEC600C6DE
+ C600C6DEC6000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000084848400848484000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000C6DEC6000000000000000000000000000000000084848400848484000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000C6DEC600000000000000000000000000000000008484840084848400C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6DEC6000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000084848400848484000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000C6DEC6000000000000000000000000000000000084848400848484000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000C6DEC600000000000000000000000000000000008484840084848400C6C6
+ C600C6C6C600C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6DEC6000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000084848400848484000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000C6DEC6000000000000000000000000000000000084848400848484000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000C6DEC600000000000000000000000000000000008484840084848400C6C6
+ C600C6C6C600848484008484840084848400C6C6C600C6C6C600C6C6C600C6C6
+ C600C6DEC6000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000084848400848484000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000C6DEC6000000000000000000000000000000000084848400848484000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000C6DEC600000000000000000000000000000000008484840084848400C6C6
+ C6008484840084848400848484008484840084848400C6C6C600C6C6C600C6C6
+ C600C6DEC6000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000084848400848484000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000C6DEC6000000000000000000000000000000000084848400848484000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000C6DEC600000000000000000000000000000000008484840084848400C6C6
+ C6008484840084848400C6C6C600848484008484840084848400C6C6C600C6C6
+ C600C6DEC6000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000084848400848484000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000C6DEC6000000000000000000000000000000000084848400848484000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000C6DEC600000000000000000000000000000000008484840084848400C6C6
+ C60084848400C6C6C600C6C6C600C6C6C600848484008484840084848400C6C6
+ C600C6DEC6000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000084848400848484000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000C6DEC6000000000000000000000000000000000084848400848484000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000C6DEC600000000000000000000000000000000008484840084848400C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008484840084848400C6C6
+ C600C6DEC6000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000084848400848484000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000C6DEC6000000000000000000000000000000000084848400848484000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000C6DEC600000000000000000000000000000000008484840084848400C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60084848400C6C6
+ C600C6DEC6000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000084848400848484000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000C6DEC6000000000000000000000000000000000084848400848484000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000C6DEC600000000000000000000000000000000008484840084848400C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6DEC6000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000084848400848484008484
+ 8400848484008484840084848400848484008484840084848400848484008484
+ 8400C6DEC6000000000000000000000000000000000084848400848484008484
+ 8400848484008484840084848400848484008484840084848400848484008484
+ 8400C6DEC6000000000000000000000000000000000084848400848484008484
+ 8400848484008484840084848400848484008484840084848400848484008484
+ 8400C6DEC6000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000084848400848484008484
+ 8400848484008484840084848400848484008484840084848400848484008484
+ 8400848484000000000000000000000000000000000084848400848484008484
+ 8400848484008484840084848400848484008484840084848400848484008484
+ 8400848484000000000000000000000000000000000084848400848484008484
+ 8400848484008484840084848400848484008484840084848400848484008484
+ 8400848484000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000424D3E000000000000003E000000
+ 2800000040000000100000000100010000000000800000000000000000000000
+ 000000000000000000000000FFFFFF00FFFFFFFFFFFF0000FFFFFFFFFFFF0000
+ FFFFFFFFFFFF000080078007800700009FF79FF7800700009FF79DF780070000
+ 9FF798F7800700009FF79077800700009FF79237800700009FF7971780070000
+ 9FF79F97800700009FF79FD7800700009FF79FF7800700008007800780070000
+ 8007800780070000FFFFFFFFFFFF000000000000000000000000000000000000
+ 000000000000}
+ end
+end
diff --git a/official/2.20/Lib/D10/UsersLogged_U.dfm b/official/2.20/Lib/D10/UsersLogged_U.dfm
new file mode 100644
index 0000000..d7e1efe
--- /dev/null
+++ b/official/2.20/Lib/D10/UsersLogged_U.dfm
@@ -0,0 +1,263 @@
+object frmUsersLogged: TfrmUsersLogged
+ Left = 238
+ Top = 239
+ BorderStyle = bsDialog
+ Caption = 'Usu'#225'rios logados no Sistema'
+ ClientHeight = 311
+ ClientWidth = 586
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ OldCreateOrder = False
+ Position = poDesktopCenter
+ OnClose = FormClose
+ OnCreate = FormCreate
+ OnDestroy = FormDestroy
+ OnShow = FormShow
+ PixelsPerInch = 96
+ TextHeight = 13
+ object DBGrid: TDBGrid
+ Left = 0
+ Top = 35
+ Width = 586
+ Height = 242
+ Align = alClient
+ DataSource = dsDados
+ Options = [dgTitles, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgRowSelect, dgAlwaysShowSelection, dgConfirmDelete, dgCancelOnExit]
+ ReadOnly = True
+ TabOrder = 0
+ TitleFont.Charset = DEFAULT_CHARSET
+ TitleFont.Color = clWindowText
+ TitleFont.Height = -11
+ TitleFont.Name = 'MS Sans Serif'
+ TitleFont.Style = []
+ Columns = <
+ item
+ Expanded = False
+ FieldName = 'UserName'
+ Title.Alignment = taCenter
+ Title.Caption = 'Nome'
+ Width = 159
+ Visible = True
+ end
+ item
+ Expanded = False
+ FieldName = 'Login'
+ Title.Alignment = taCenter
+ Width = 123
+ Visible = True
+ end
+ item
+ Expanded = False
+ FieldName = 'MACHINENAME'
+ Title.Alignment = taCenter
+ Title.Caption = 'Computador'
+ Width = 150
+ Visible = True
+ end
+ item
+ Expanded = False
+ FieldName = 'DATA'
+ Title.Alignment = taCenter
+ Title.Caption = 'Data'
+ Width = 130
+ Visible = True
+ end>
+ end
+ object Panel1: TPanel
+ Left = 0
+ Top = 0
+ Width = 586
+ Height = 35
+ Align = alTop
+ BevelOuter = bvNone
+ Color = clWhite
+ TabOrder = 1
+ object lbDescricao: TLabel
+ Left = 46
+ Top = 12
+ Width = 149
+ Height = 18
+ Margins.Bottom = 0
+ Caption = 'Usu'#225'rios logados'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -16
+ Font.Name = 'Verdana'
+ Font.Style = [fsBold]
+ ParentFont = False
+ end
+ object Image2: TImage
+ Left = 7
+ Top = 4
+ Width = 28
+ Height = 28
+ AutoSize = True
+ Picture.Data = {
+ 07544269746D617066090000424D660900000000000036000000280000001C00
+ 00001C000000010018000000000030090000C40E0000C40E0000000000000000
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7F7EFEFEFE7E7E7E7E7E7
+ DEDEDEDEDEDEE7E7E7E7E7E7EFEFEFEFEFEFF7F7F7F7F7F7FFFFFFFFFFFFFFFF
+ FFFFFFFFEFF7FF84C6E7E7F7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7F7C6
+ C6C68C9C946B8C735A845A527B4A4A7B4A4A7B4A4A7B424A7B4A4A7B4A4A7B4A
+ 527B52527B525A7B5A637B6B7B8C7BA5A5A5D6D6D6FFFFFF9CD6EF7BE7F77BB5
+ D6E7EFEFF7F7F7FFFFFFFFFFFFF7F7F77394734A73394A7B314A84314A8C314A
+ 8C31429431429429429429429C294294294294314294314A8C314A8C3163BDDE
+ B5CEDE4A8C31527B31E7E7E77BB5CE52CEE7317BAD7B737B847373ADADADFFFF
+ FF94B5945A7339527B314A84314A8C31429431429429429C29399C2939A52939
+ A52939A529399C29429C294294319CD6EF7BEFF7398CBD8C8C9494737B946363
+ 73637321A5D6297BAD845A63945252846B6BFFFFFF6B8C5A527B315284314A8C
+ 31429431429C29399C2939A52939AD2931AD2931AD2939AD2939A52939A52942
+ 9C2994B5C642BDE71884BD846B7BBD6B6BB56B63AD636B42ADD6318CBD8C5A63
+ 9C5A5A735252FFFFFF5A8452527B314A84314A8C31429429399C2939A52931AD
+ 2931B52931B52931B52931B52931AD2939AD2939AD29B573734294C6299CCE84
+ 6B84C66B6BBD6B6BB56B6B6384A55284A5A56363A55A5A845252FFFFFF739C6B
+ 527B314A8C31429431429C2939A52931AD2931B52929BD2129BD2129BD2129BD
+ 2131B52131AD29CE9C9CDE7B7B7B8CA542ADD6947384CE7373C66B6BBD6B6BB5
+ 6363A55A5AA56363AD7373947373FFFFFFA5C6A55284314A8C31429431399C29
+ 39A52931AD2931BD2129BD2131B53129BD2929C62129BD2131B529CEADADE77B
+ 7BD67B7B947B8CBD7373BD7373B57373B58484C6A5A5DEB5B5DEBDBDDEBDBD9C
+ 8484FFFFFFF7FFF75A944A4A8C31429431399C2939AD2931B52929BD214AA54A
+ DEE7DEDEEFDE42BD4229C62131B52139AD29B57B7BCEA5A5D6BDBDDEC6C6E7CE
+ CEE7C6C6DEB5B5DEA5A5DEB5B5E7C6C6D6ADADB59C9CFFFFFFFFFFFFD6E7D64A
+ 8C39429431399C2939AD2931B52929AD29A5B5A5E7E7E7EFEFEFCEDED631B531
+ 31B52131AD29C69C9CF7EFEFF7DEDEE7B5B5E7B5B5E7BDBDEFCECEEFD6D6E7CE
+ CEE7C6C6B58C8CE7E7E7FFFFFFFFFFFFFFFFFFD6E7D64A9C42429C2939A52931
+ AD29528C529C9C9C7B8C946B7B8C737B845A7B5A299C2139AD2939AD29C6A5A5
+ E7D6D6F7E7E7EFDEDEE7B5B5DEADADE7B5B5D6BDBDBD9494E7DEDEFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFEFF7EF7BB57B399C293194314A7B944A94C64A9CCE4A
+ 94CE4294CE427BA5215231297B214A9C42F7EFEFDEC6C6C6ADADC6A5A5CEA5A5
+ BD9C9CA584848C7B7BE7E7E7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFBDD6C64A94AD52A5D652A5D6529CD64A9CD64A9CD64A94CE428CBD42
+ 6363C6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFADB5B5A5A5A5737373DEDEDE
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7F773ADD652A5DE52A5
+ DE52A5DE52A5DE52A5D652A5D64A9CD64A9CD6428CC6737B84E7E7E7FFFFFFFF
+ FFFFD6D6D6ADADAD8C9494B5B5B58C9494EFEFEFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFA5C6DE5AA5DE5AADDE5AADDE5AADDE5AA5DE5AA5DE52A5
+ DE52A5D6529CD64A9CD64A7BA5ADADADFFFFFFC6CECE9C9C9CBDBDBDB5B5B5B5
+ B5B5EFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFF75AA5D6
+ 5AADDE5AADE75AADE75AADE75AADDE5AADDE5AA5DE52A5DE52A5D6529CD64A94
+ CE73848CF7F7F7F7F7F7ADB5B5C6C6C6EFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFADCEE763ADE763ADE763B5E763B5E763B5E7
+ 63ADE75AADE75AADDE5AA5DE52A5DE52A5D64A9CD65A7B94DEDEDEFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFF7BB5DE63B5E763B5E763B5E76BB5E763B5E763B5E763B5E763ADE75AADDE
+ 5AA5DE52A5DE529CD64A84ADC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63ADDE63B5E76BB5EF6B
+ B5EF6BBDEF6BB5EF6BB5EF63B5E763ADE75AADE75AADDE52A5DE52A5D64A8CBD
+ BDBDBDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFEFF7F763ADDE5294BD528CB55A9CCE6BB5E76BBDEF6BBDEF6B
+ B5E763B5E763ADE75AADDE5AA5DE52A5D64A94C6BDBDBDFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7FF4A8C
+ BD4284AD4284AD397B9C39738C4A7BA563A5D66BB5E763B5E763ADE75AADDE5A
+ A5DE52A5D64A8CB5C6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5294BD4A94C64A94C65294C64A94
+ C64A8CB53973944273945A9CCE63ADE75AADDE4A8CBD39739C39637BD6D6D6FF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF84B5CE529CCE5AA5CE5AA5CE529CCE529CCE4A94C6428CB5396B
+ 8C427B9C4284B5397BAD3984AD5A7B8CEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6DEE75AA5D6
+ 63ADDE63ADDE5AADD65AA5D6529CCE4A94C6428CBD397BA5397BAD3984AD397B
+ A5A5ADADFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7BB5D66BB5E76BB5E763B5DE63ADDE
+ 5AA5D6529CC64A94BD428CB53984AD3984AD63849CEFEFEFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFDEEFF773BDE773BDEF6BBDEF63B5DE5AA5D6529CCE4A94C6428CB5
+ 3984AD5284A5DEDEDEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDEE7F77B
+ BDEF73BDEF6BB5E763ADD65AA5CE4A94C6428CB56B94B5DEDEE7FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFB5D6E784BDDE73ADCE73
+ A5C684ADCEC6D6DEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF}
+ end
+ end
+ object Panel3: TPanel
+ Left = 0
+ Top = 277
+ Width = 586
+ Height = 34
+ Align = alBottom
+ BevelOuter = bvNone
+ TabOrder = 2
+ DesignSize = (
+ 586
+ 34)
+ object BtExit: TBitBtn
+ Left = 484
+ Top = 6
+ Width = 95
+ Height = 25
+ Caption = '&Fechar'
+ TabOrder = 2
+ Kind = bkClose
+ end
+ object BitMsg: TBitBtn
+ Left = 287
+ Top = 6
+ Width = 95
+ Height = 25
+ Anchors = [akTop, akRight]
+ Caption = '&Mensagem'
+ TabOrder = 0
+ OnClick = BitMsgClick
+ Glyph.Data = {
+ 42020000424D4202000000000000420000002800000010000000100000000100
+ 1000030000000002000000000000000000000000000000000000007C0000E003
+ 00001F0000001F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7CD3001F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7CD300D300
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C9A19D300D300D3003B32
+ D3001F7C1F7CD8520D190D190D190D190D190D1915369A19FE4ABF429D3E5C36
+ 3B32D3001F7CD8521A5F964A964A964A964A964A964A9A191F53DF46BF429D3E
+ 5C365B32D300D852964A3B5F3B5F3B5F3B5F3B5F3B5F9A191F531F53BF429D3E
+ 9D3ED3001F7CD8527C6B964A7D6B7D6B7D6B7D6B7D6B9A199A199A199A19DF46
+ D3001F7C1F7CD8529D739D73964ADF7BDF7BDF7BDF7BDF7BDF7BDF7B9A19D300
+ 964A1F7C1F7CD852DF7BDF7B964A964AFF7FFF7FFF7FFF7F1536964AD3007C6B
+ 0D191F7C1F7CD852FF7F964AB97F977F964A964A964A964A0D7FEA7E964A964A
+ 0D191F7C1F7CD852964ADB7FDB7FB97F977F757F537F517F2F7F0D7FEA7E1536
+ 0D191F7C1F7CD852DB7FDB7FDB7FDB7FB97F977F757F537F517F2F7F0D7FEA7E
+ 0D191F7C1F7C1F7CD852DB7FDB7FDB7FDB7FB97F977F757F537F517F2F7F4E21
+ 1F7C1F7C1F7C1F7C1F7CD856DB7FDB7FDB7FDB7FB97F977F757F537F0D191F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7CD852DB7FDB7FDB7FDB7FB97F977F0D191F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7CD852D852D852D852D852D8521F7C1F7C1F7C
+ 1F7C1F7C1F7C}
+ end
+ object BitRefresh: TBitBtn
+ Left = 386
+ Top = 6
+ Width = 95
+ Height = 25
+ Anchors = [akTop, akRight]
+ Caption = '&Atualizar'
+ TabOrder = 1
+ OnClick = BitRefreshClick
+ Glyph.Data = {
+ 42020000424D4202000000000000420000002800000010000000100000000100
+ 1000030000000002000000000000000000000000000000000000007C0000E003
+ 00001F0000001F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7CD9560D190D190D190D190D190D190D190D190D190D190D19
+ 0D190D191F7C1F7CD956964A964A964A964A964A964A964A964A964A964A964A
+ 964A0D191F7C1F7C8049FF7FDF7BBE77D9569D6F7D6F7C6B964A3B633B5F3B5F
+ 964A0D191F7C1F7CB05E8049FF7FDF7BD956BE739D6F7D6F964A5C673B633B5F
+ 964A0D191F7C1F7CD956B05E8049D956D956964A964A964A964A964A964A964A
+ 964A0D191F7C1F7CD956B05EDA7F8049D956DF7BBE77BE73964A7D6F7C6B5C67
+ 964A0D191F7C1F7CD956FF7FB05E527F8049FF7FDF7BBE77964A9D6F7D6F7C6B
+ 964A0D191F7C1F7CD956D956B05EDA7F207F8049D956D956964A964A964A964A
+ 964A0D191F7C8049804980498049FF7FDA7F207F8049FF7FD956DE77BE779D6F
+ 964A0D191F7C1F7CB05E207F207F207FFF7FDA7F207F8049D956DF7BDE77BE77
+ 964A0D191F7C1F7CB05EDA7FFF7FFF7F207F207F207F207F8049004C004C004C
+ 004C004C1F7C1F7CC07CB05EFF7FFF7F207F8049804980498049867E477E087E
+ E97D004C1F7C1F7CC07CB05EDA7FFF7F987F207F8049C07CC07CC07CC07CC07C
+ C07CC07C1F7C1F7C1F7C1F7CB05EFF7FFE7FB77F207F80491F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7CB05EA04980498049804980491F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C}
+ end
+ end
+ object dsDados: TDataSource
+ Left = 132
+ Top = 144
+ end
+end
diff --git a/official/2.20/Lib/D10/ViewLog_U.dfm b/official/2.20/Lib/D10/ViewLog_U.dfm
new file mode 100644
index 0000000..490d4c6
--- /dev/null
+++ b/official/2.20/Lib/D10/ViewLog_U.dfm
@@ -0,0 +1,894 @@
+object ViewLog: TViewLog
+ Left = 202
+ Top = 147
+ BorderStyle = bsDialog
+ Caption = 'Seguran'#231'a'
+ ClientHeight = 573
+ ClientWidth = 792
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ OldCreateOrder = False
+ Position = poDefault
+ OnClose = FormClose
+ OnCreate = FormCreate
+ OnShow = FormShow
+ PixelsPerInch = 96
+ TextHeight = 13
+ object Splitter1: TSplitter
+ Left = 177
+ Top = 35
+ Height = 538
+ Beveled = True
+ end
+ object Panel1: TPanel
+ Left = 0
+ Top = 0
+ Width = 792
+ Height = 35
+ Align = alTop
+ BevelOuter = bvNone
+ Color = clWhite
+ TabOrder = 0
+ object lbDescricao: TLabel
+ Left = 49
+ Top = 12
+ Width = 133
+ Height = 18
+ Caption = 'Log do Sistema'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -16
+ Font.Name = 'Verdana'
+ Font.Style = [fsBold]
+ ParentFont = False
+ end
+ object Image1: TImage
+ Left = 8
+ Top = 4
+ Width = 28
+ Height = 28
+ AutoSize = True
+ Picture.Data = {
+ 07544269746D6170760C0000424D760C00000000000036000000280000001C00
+ 00001C0000000100200000000000400C00000000000000000000000000000000
+ 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00E5E0DC00885D40006947310069473100885D
+ 4000E5E0DC00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E5E0DC006947
+ 3100B7A29300B7A29300B7A29300B7A2930069473100E5E0DC00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00E5E0DC0069473100B7A29300E4D7CF00E3D5CD00E1D3CB00E0D1
+ C800B7A2930069473100E5E0DC00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E5E0DC0069473100B7A29300E7DB
+ D400E5D9D200E4D7CF00E3D5CD00E1D3CB00E0D1C800B7A2930069473100E5E0
+ DC00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E5E0
+ DC0069473100B7A29300E9DFD900E8DDD700E7DBD4009830000098300000E3D5
+ CD00E1D3CB00E0D1C800B7A2930069473100E5E0DC00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00E5E0DC0069473100B7A29300EDE4DF00EBE2DD00EAE0
+ DA0098300000C8600000C860000098300000E3D5CD00E1D3CB00E0D1C800B7A2
+ 930069473100E5E0DC00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E5E0DC0069473100B7A2
+ 9300EFE8E300EEE6E100EDE4DF0098300000C8600000F57E4600F5794000C860
+ 000098300000E3D6CE00E1D3CB00E0D1C800B7A2930069473100E5E0DC00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00E5E0DC0069473100B7A29300F2ECE800F1EAE600EFE8E30097300000C35D
+ 0000E6825000E37B4A00E2774300E3733E00BE5B0000962F0000E3D6CE00E2D4
+ CC00E1D2C900B7A2930069473100E5E0DC00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00E5E0DC0069473100B7A29300F5F0ED00F3EE
+ EB00F2ECE80098300000C55E0000E0865A00BE6F4700AC613C00AA5C3700B25E
+ 3500CD683800C05C000098300000E3D6CE00E2D4CC00E1D2C900B7A293006947
+ 3100E5E0DC00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E5E0DC006947
+ 3100B7A29300F6F2EF00F6F2EF00F5F0ED0098300000C8600000F49C6E00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00CF6D3E00EE794100C86000009830
+ 0000E3D6CE00E2D4CC00E1D2C900B7A2930069473100E5E0DC00FFFFFF00FFFF
+ FF00FFFFFF00E5E0DC0069473100B7A29300F6F2EF00F9F7F500F8F5F3009830
+ 0000C8600000F8A77B00F7A17500EEA07800FFFFFF00FFFFFF00FFFFFF00AE6C
+ 4C00DE794800F3804800F57C4300C860000098300000E3D6CE00E2D4CC00E1D2
+ C900B7A2930069473100E5E0DC00FFFFFF00E5E0DC0069473100B7A29300F6F2
+ EF00FCFBFA00FBF9F80098300000C8600000F9B18700F9AC8100F8A77B00F09D
+ 7100FFFFFF00FFFFFF00FFFFFF00AA634000E3804F00F6865000F5814900F57C
+ 4300C860000098300000E3D6CE00E2D4CC00E1D2C900B7A2930069473100E5E0
+ DC00B7A29300D0BBAC00F6F2EF00FFFFFF00FDFDFD00A3370500C8600000FABA
+ 9300FAB58D00F9B18700F9AC8100F0A27700FFFFFF00FFFFFF00FFFFFF00AA66
+ 4400E4855600F68B5600F6865000F5814900F57C4300C860000098300000E3D6
+ CE00E2D4CC00E1D2C900B7A29300885D4000B7A29300F6F2EF00FFFFFF00FFFF
+ FF00C8600000F68B5600FBC39F00FBBF9900FABA9300FAB58D00F9B18700F1A7
+ 7D00FFFFFF00FFFFFF00FFFFFF00AA694800E4885B00F7905D00F68B5600F686
+ 5000F5814900F57C4300C860000098300000E4D7CF00E3D5CD00B7A293006947
+ 3100D0BBAC00FFFFFF00FFFFFF00FFFFFF00C8600000FBC39F00FBC39F00FBC3
+ 9F00FBC19C00FBBD9600F9B78F00EBA88200FFFFFF00FFFFFF00FFFFFF00AA6E
+ 4E00E48F6400F7976600F7926000F68D5900F6885300F6834D00C86000009830
+ 0000E5D9D200E4D7CF00B7A2930069473100D0BBAC00F6F2EF00FFFFFF00FFFF
+ FF00FFFFFF00C8600000FBC39F00FBC39F00FBC39F00FBC19C00F7BA9400E2A9
+ 8700FFFFFF00FFFFFF00FFFFFF00AD735400E6946A00F79B6C00F7976600F792
+ 6000F68D5900C860000098300000E8DDD700E7DBD400E5D9D200B7A29300885D
+ 4000ECE4DE00D0BBAC00F6F2EF00FFFFFF00FFFFFF00FFFFFF00C8600000FBC3
+ 9F00FBC39F00FBC39F00F8BF9A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C083
+ 6100E99B7100F8A07200F79B6C00F7976600C860000098300000EBE1DC00E9DF
+ D900E8DDD700B7A2930069473100E5E0DC00FFFFFF00ECE4DE00D0BBAC00F6F2
+ EF00FFFFFF00FFFFFF00FFFFFF00C8600000FBC39F00FBC39F00FAC29E00F7C2
+ 9F00F0C2A600ECCEBC00F8EFE900DA987300F1A57A00F8A57800F8A07200C860
+ 000098300000EDE5E000ECE3DE00EBE1DC00B7A2930069473100E5E0DC00FFFF
+ FF00FFFFFF00FFFFFF00ECE4DE00D0BBAC00F6F2EF00FFFFFF00FFFFFF00FFFF
+ FF00C8600000FBC39F00FBC39F00F8C19D00E5B08F00C4937500B8886A00D296
+ 7400F0A87F00F9AA7E00C860000098300000F1EAE600EFE8E300EEE6E100B7A2
+ 930069473100E5E0DC00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00ECE4
+ DE00D0BBAC00F6F2EF00FFFFFF00FFFFFF00FFFFFF00C8600000FBC39F00F5BE
+ 9B00EDD7C900FFFFFF00D0BFB400BD8B6D00ECA98200C860000098300000F3EE
+ EB00F2ECE800F1EAE600B7A2930069473100E5E0DC00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00ECE4DE00D0BBAC00F6F2EF00FFFF
+ FF00FFFFFF00FFFFFF00C8600000F6BF9C00FFFFFF00FFFFFF00FFFFFF00C796
+ 7700BF5B000098300000F6F2EF00F5F0ED00F3EEEB00B7A2930069473100E5E0
+ DC00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00ECE4DE00D0BBAC00F6F2EF00FFFFFF00FFFFFF00FFFFFF00C65F
+ 0000F8E0D000FFFFFF00EDD7C900B8580000952F0000F9F6F400F7F4F200F6F2
+ EF00B7A2930069473100E5E0DC00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00ECE4DE00D0BB
+ AC00F6F2EF00FFFFFF00FFFFFF00FFFFFF00C65F0000F6BF9C00F0885400962F
+ 0000FAF9F800FAF8F700F6F2EF00B7A2930069473100E5E0DC00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00ECE4DE00D0BBAC00F6F2EF00FFFFFF00FFFF
+ FF00FFFFFF00C8600000C8600000FFFFFF00FDFDFD00F6F2EF00B7A293006947
+ 3100E5E0DC00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00ECE4DE00D0BBAC00F6F2EF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00F6F2EF00B7A2930069473100E5E0DC00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00ECE4DE00E2C0B100F6F2
+ EF00FFFFFF00FFFFFF00FFFFFF00F6F2EF00B7A2930069473100E5E0DC00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00ECE4DE00D0BBAC00F6F2EF00FFFFFF00F6F2EF00D0BB
+ AC0069473100E5E0DC00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00ECE4
+ DE00D0BBAC00D0BBAC00B7A29300B7A29300E5E0DC00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00}
+ end
+ end
+ object Panel2: TPanel
+ Left = 0
+ Top = 35
+ Width = 177
+ Height = 538
+ Align = alLeft
+ BevelOuter = bvNone
+ TabOrder = 1
+ object lbUsuario: TLabel
+ Left = 16
+ Top = 24
+ Width = 42
+ Height = 13
+ Caption = 'Usu'#225'rio :'
+ end
+ object Bevel1: TBevel
+ Left = 8
+ Top = 72
+ Width = 161
+ Height = 2
+ Style = bsRaised
+ end
+ object lbData: TLabel
+ Left = 16
+ Top = 88
+ Width = 29
+ Height = 13
+ Caption = 'Data :'
+ end
+ object Bevel2: TBevel
+ Left = 8
+ Top = 176
+ Width = 161
+ Height = 2
+ Style = bsRaised
+ end
+ object lbNivel: TLabel
+ Left = 16
+ Top = 200
+ Width = 69
+ Height = 13
+ Caption = 'N'#237'vel m'#237'nimo :'
+ end
+ object Bevel3: TBevel
+ Left = 8
+ Top = 256
+ Width = 161
+ Height = 2
+ Style = bsRaised
+ end
+ object btfiltro: TBitBtn
+ Left = 38
+ Top = 272
+ Width = 101
+ Height = 31
+ Caption = 'Aplicar filtro'
+ Enabled = False
+ TabOrder = 4
+ OnClick = btfiltroClick
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFA68B7A694731FF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFA8A8A86C
+ 6C6CFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFA68B7AB09888694731FF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFA7A7A7B1
+ B1B16B6B6BFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFA68B7ADCCCC286624D694731FF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFA7A7A7DA
+ DADA8585856C6C6CFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFA68B7ADECFC686624D694731FF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFA7A7A7DC
+ DCDC8484846C6C6CFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFA68B7ADFD1C886624D694731FF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFA7A7A7DD
+ DDDD8585856B6B6BFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFA68B7AE1D3CB86624D694731FF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFA7A7A7DF
+ DFDF8585856B6B6BFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFA68B7AE2D6CE86624D694731FF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFA7A7A7E2
+ E2E28585856C6C6CFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFA68B7AE4D8D086624D694731FF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFA8A8A8E3
+ E3E38585856C6C6CFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFA68B7AFFFFFFDACABFBDA69686624D694731FF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFA7A7A7FFFFFFD8
+ D8D8BDBDBD8484846C6C6CFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFA68B7AFFFFFFF0F0F0E1D4CCD1BBADB4937E86624D694731FF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFA7A7A7FFFFFFF5F5F5E0
+ E0E0CDCDCDAEAEAE8585856C6C6CFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ FF00FFA68B7AFFFFFFF0F0F0ECE4E0E6DBD5DFD1C7CFB9AABE9F8A86624D6947
+ 31FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFA7A7A7FFFFFFF5F5F5ECECECE5
+ E5E5DEDEDECBCBCBB7B7B78585856B6B6BFF00FFFF00FFFF00FFFF00FFFF00FF
+ A68B7AFFFFFFF0F0F0F5F0EEF1EAE7ECE3DEE6DBD5DCCDC2CFB9AAB4937E8662
+ 4D694731FF00FFFF00FFFF00FFFF00FFA7A7A7FFFFFFF5F5F5F5F5F5F0F0F0EC
+ ECECE6E6E6DADADACBCBCBAEAEAE8585856B6B6BFF00FFFF00FFFF00FFA68B7A
+ FFFFFFF0F0F0F3EEEAF0E9E5EDE6E1E5D9D1E5D9D1E2D6CEDED0C6CFB9AABE9F
+ 8A86624D694731FF00FFFF00FFA7A7A7FFFFFFF5F5F5F3F3F3F0F0F0EDEDEDE4
+ E4E4E3E3E3E2E2E2DDDDDDCBCBCBB7B7B78585856C6C6CFF00FFFF00FFB39A89
+ B39A89B39A89B39A89B39A89B39A89B39A89B39A89B39A89B39A89B39A89B39A
+ 89B39A89B39A89FF00FFFF00FFB4B4B4B3B3B3B3B3B3B3B3B3B4B4B4B3B3B3B3
+ B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3FF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF}
+ NumGlyphs = 2
+ end
+ object btfecha: TBitBtn
+ Left = 38
+ Top = 352
+ Width = 101
+ Height = 31
+ Caption = 'Fechar'
+ TabOrder = 5
+ OnClick = btfechaClick
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFC066148E4019
+ 8E40198E40198E40198E40198E40198E40198E40198E40198E40198E40198E40
+ 198E40198E4019FF00FF8888886969696969696969696969696969696A6A6A69
+ 69696969696969696A6A6A6969696969696A6A6A696969FF00FFC06614F9F5F4
+ C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2
+ A5C3B2A58E4019FF00FF888888F8F8F8C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6
+ C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6696969FF00FFC06614FCFAFA
+ F9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCDFD0C7DFD0C7DCCB
+ C1C3B2A58E4019FF00FF888888FCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEAEAEAE7
+ E7E7E4E4E4E0E0E0DDDDDDDDDDDDD9D9D9C6C6C6696969FF00FFC06614FFFFFF
+ FCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCE2D4CCDFD0
+ C7C3B2A58E4019FF00FF888888FFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEA
+ EAEAE7E7E7E3E3E3E0E0E0E0E0E0DDDDDDC6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E5D9D1E2D4
+ CCC3B2A58E4019FF00FF888888FFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EE
+ EEEEEAEAEAE7E7E7E3E3E3E3E3E3E0E0E0C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E9DED7E5D9
+ D1C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1
+ F1F1EEEEEEEAEAEAE7E7E7E7E7E7E3E3E3C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F2EBE8EEE6E2ECE2DCECE2DCE9DE
+ D7C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFBFBFBF7
+ F7F7F1F1F1EEEEEEEAEAEAEAEAEAE7E7E7C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF0E9E5F0E9E5EDE4
+ DFC3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFB
+ FBFBF7F7F7F3F3F3F0F0F0F0F0F0ECECECC6C6C66A6A6AFF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF4EEEBF0E9
+ E5C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE
+ FEFEFBFBFBF7F7F7F3F3F3F3F3F3F0F0F0C6C6C66A6A6AFF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F78A9DE92546CD1D3F
+ C9193BC8183BC88194E1898989FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFEFEFEFAFAFAC6C6C6979797929292929292929292C0C0C0C06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFD3355DBF2F4FD4E6B
+ D94A67D8F2F4FD183BC8888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFEFEFEA1A1A1FAFAFAAAAAAAA8A8A8F9F9F9929292C066148E4019
+ 8E40198E40198E40198E40198E40198E40198E40198E40193C5CDD8296E4D9DF
+ F9CDD5F74C69D81A3CC88888886969696969696969696A6A6A69696969696969
+ 6969696969696969A5A5A5C1C1C1EDEDEDE7E7E7A8A8A8929292C06614ED9733
+ ED9733ED9733ED9733ED9733ED9733ED9733F6CA9AED97334563E16980E2E4E8
+ FBD8DEF9516DDA1F40C9888888ACACACACACACADADADADADADADADADACACACAD
+ ADADD5D5D5ADADADA8A8A8B6B6B6F2F2F2ECECECABABAB939393F810DCC06614
+ C06614C06614C06614C06614C06614C06614C06614C066144D6AE3F2F4FD667D
+ E26E85E2F2F4FD2749CEEF14EF88888888888888888888888889898988888888
+ 8888888888898989ACACACF9F9F9B5B5B5B9B9B9F9F9F9989898FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF9AABEF4D6AE34563
+ E14463DF3E5EDE8FA2EBFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFCFCFCFACACACA8A8A8A8A8A8A6A6A6C9C9C9}
+ NumGlyphs = 2
+ end
+ object btexclui: TBitBtn
+ Left = 38
+ Top = 312
+ Width = 101
+ Height = 31
+ Caption = 'Excluir Log'
+ TabOrder = 6
+ OnClick = btexcluiClick
+ Glyph.Data = {
+ 36050000424D3605000000000000360400002800000010000000100000000100
+ 08000000000000010000220B0000220B000000010000000100000031DE000031
+ E7000031EF000031F700FF00FF000031FF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00040404040404
+ 0404040404040404000004000004040404040404040404000004040000000404
+ 0404040404040000040404000000000404040404040000040404040402000000
+ 0404040400000404040404040404000000040000000404040404040404040400
+ 0101010004040404040404040404040401010204040404040404040404040400
+ 0201020304040404040404040404030201040403030404040404040404050203
+ 0404040405030404040404040303050404040404040303040404040303030404
+ 0404040404040403040403030304040404040404040404040404030304040404
+ 0404040404040404040404040404040404040404040404040404}
+ end
+ object ComboUsuario: TComboBox
+ Left = 16
+ Top = 40
+ Width = 145
+ Height = 21
+ Style = csDropDownList
+ ItemHeight = 13
+ TabOrder = 0
+ OnChange = ComboUsuarioChange
+ end
+ object data1: TDateTimePicker
+ Left = 16
+ Top = 104
+ Width = 89
+ Height = 21
+ Date = 37615.000000000000000000
+ Time = 37615.000000000000000000
+ TabOrder = 1
+ OnChange = data1Change
+ end
+ object data2: TDateTimePicker
+ Left = 16
+ Top = 136
+ Width = 89
+ Height = 21
+ Date = 37615.000000000000000000
+ Time = 37615.000000000000000000
+ TabOrder = 2
+ OnChange = ComboUsuarioChange
+ end
+ object ComboNivel: TComboBox
+ Left = 16
+ Top = 216
+ Width = 145
+ Height = 24
+ Style = csOwnerDrawFixed
+ ItemHeight = 18
+ TabOrder = 3
+ OnChange = ComboUsuarioChange
+ OnDrawItem = ComboNivelDrawItem
+ Items.Strings = (
+ 'Faible'
+ 'Moyen'
+ 'Haut'
+ 'Critique')
+ end
+ end
+ object Panel3: TPanel
+ Left = 180
+ Top = 35
+ Width = 612
+ Height = 538
+ Align = alClient
+ BevelOuter = bvNone
+ TabOrder = 2
+ DesignSize = (
+ 612
+ 538)
+ object DBGrid1: TDBGrid
+ Left = 3
+ Top = 6
+ Width = 608
+ Height = 529
+ Anchors = [akLeft, akTop, akRight, akBottom]
+ Ctl3D = True
+ DataSource = DataSource1
+ DefaultDrawing = False
+ Options = [dgTitles, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgConfirmDelete, dgCancelOnExit]
+ ParentCtl3D = False
+ ReadOnly = True
+ TabOrder = 0
+ TitleFont.Charset = DEFAULT_CHARSET
+ TitleFont.Color = clWindowText
+ TitleFont.Height = -11
+ TitleFont.Name = 'MS Sans Serif'
+ TitleFont.Style = []
+ OnDrawColumnCell = DBGrid1DrawColumnCell
+ Columns = <
+ item
+ Expanded = False
+ Visible = True
+ end
+ item
+ Expanded = False
+ Visible = True
+ end
+ item
+ Expanded = False
+ Visible = True
+ end
+ item
+ Expanded = False
+ Visible = True
+ end
+ item
+ Expanded = False
+ Visible = True
+ end>
+ end
+ end
+ object DataSource1: TDataSource
+ Left = 440
+ end
+ object ImageList1: TImageList
+ Left = 136
+ Top = 153
+ Bitmap = {
+ 494C010104000900040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
+ 0000000000003600000028000000400000003000000001002000000000000030
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000DEDEDE00DEDEDE00DEDEDE00D6D6D600000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000E7C4B300E7C4B300E7C4B300D6B9AE00000000000000
+ 000000000000000000000000000000000000000000000000000000A4EB000088
+ C8000088C8000088C8000088C8000088C8000088C8000088C8000088C8000088
+ C8000088C8000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000DEDEDE00F1F1F100E0E0E000E0E0E000F1F1F100D6D6D6000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000E7C4B300F2E7E100CAD0D600CAD0D600F2E7E100D6B9AE000000
+ 000000000000000000000000000000000000000000002DBCFF0040D6F00015C1
+ E60015C1E60015C1E60013C0E2003471890011BFDE0015C1E60015C1E60015C1
+ E60015C1E60000A4EB00000000000000000000000000000000000000FF000000
+ FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000
+ FF000000FF000000FF0000000000000000000000000000000000000000000000
+ 0000DEDEDE00F1F1F100FEFEFE00B5B5B500ACACAC00D1D1D100F1F1F100D6D6
+ D600000000000000000000000000000000000000000000000000000000000000
+ 0000E7C4B300F2E7E100FEFEFE00D0805D00C4695200BFB9B900F2E7E100D6B9
+ AE00000000000000000000000000000000000000000078CCE80066E5F8002ECB
+ EC002DCAEB002CCAEB003471890031001000347189002BC8EA002BC8EA002BC8
+ EA0013B9DD002DBCFF000000000000000000000000000000FF000000FF000000
+ FF000000FF000000FF000000FF0000000000000000000000FF000000FF000000
+ FF000000FF000000FF000000FF0000000000000000000000000000000000DEDE
+ DE00F1F1F100FEFEFE00B5B5B500ACACAC00A8A8A800ACACAC00D1D1D100F1F1
+ F100D6D6D600000000000000000000000000000000000000000000000000E7C4
+ B300F2E7E100FEFEFE00D0805D00C46E5200BF694C00C4695200BFB9B900F2E7
+ E100D6B9AE0000000000000000000000000000000000000000002DBCFF0040D6
+ F00039CEEC0038CDEB002DC8E2003471890021C4DA0036CAEA0035CAEA0035CA
+ EA0000A4EB0000000000000000000000000000000000000000000000FF000000
+ FF000000FF000000FF000000FF0000000000000000000000FF000000FF000000
+ FF000000FF000000FF0000000000000000000000000000000000DEDEDE00F1F1
+ F100FEFEFE00B5B5B500ACACAC00F5F5F500F5F5F500EFEFEF00A8A8A800D1D1
+ D100F1F1F100D6D6D60000000000000000000000000000000000E7C4B300F2E7
+ E100FEFEFE00D0805D00C46E5200F8EDE700F8EDE700F8E1D600BF694C00BFB9
+ B900F2E7E100D6B9AE000000000000000000000000000000000078CCE80066E5
+ F8003ACEEC0039CEEC0038CDEB003471890037CBEA0036CAEA0036CAEA0013B9
+ DD002DBCFF0000000000000000000000000000000000000000000000FF000000
+ FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000
+ FF000000FF000000FF00000000000000000000000000DEDEDE00F1F1F100FEFE
+ FE00B5B5B500ACACAC00ACACAC00ACACAC00F5F5F500ACACAC00ACACAC00A8A8
+ A800D1D1D100F1F1F100D6D6D6000000000000000000E7C4B300F2E7E100FEFE
+ FE00D0805D00C46E5200C46E5200C46E5200F8EDE700C46E5200C46E5200BF69
+ 4C00BFB9B900F2E7E100D6B9AE00000000000000000000000000000000002DBC
+ FF0040D6F0003BCFED0017BACC003100100017BACC0037CAEA0036CAEA0000A4
+ EB00000000000000000000000000000000000000000000000000000000000000
+ FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000
+ FF000000FF0000000000000000000000000000000000E5E5E500FEFEFE00B5B5
+ B500B0B0B000ACACAC00ACACAC00ACACAC00F5F5F500ACACAC00ACACAC00ACAC
+ AC00A8A8A800D1D1D100D6D6D6000000000000000000EDD0C400FEFEFE00D080
+ 5D00CA7A5700C46E5200C46E5200C46E5200F8EDE700C46E5200C46E5200C46E
+ 5200BF694C00BFB9B900D6B9AE000000000000000000000000000000000078CC
+ E80066E5F8003CD0ED001796A700310010001796A70037CBEA0013B9DD002DBC
+ FF00000000000000000000000000000000000000000000000000000000000000
+ FF000000FF000000FF000000FF0000000000000000000000FF000000FF000000
+ FF000000FF0000000000000000000000000000000000E5E5E500FFFFFF00EBEB
+ EB00C4C4C400B0B0B000ACACAC00ACACAC00F5F5F500ACACAC00ACACAC00ACAC
+ AC00B5B5B500E0E0E000D6D6D6000000000000000000EDD0C400FFFFFF00F8E1
+ CA00E1A27400CA7A5700C46E5200C46E5200F8EDE700C46E5200C46E5200C46E
+ 5200D0805D00CAD0D600D6B9AE00000000000000000000000000000000000000
+ 00002DBCFF0040D6F0003471890031001000286F7D0038CCEB0000A4EB000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000FF000000FF000000FF0000000000000000000000FF000000FF000000
+ FF000000000000000000000000000000000000000000DEDEDE00F1F1F100FFFF
+ FF00EBEBEB00C4C4C400B0B0B000F5F5F500F5F5F500ACACAC00ACACAC00B5B5
+ B500F1F1F100F1F1F100D6D6D6000000000000000000E7C4B300F2E7E100FFFF
+ FF00F8E1CA00E1A27400CA7A5700F8EDE700F8EDE700C46E5200C46E5200D080
+ 5D00E7EDED00F2E7E100D6B9AE00000000000000000000000000000000000000
+ 000078CCE80066E5F80034718900310010003471890013B9DD002DBCFF000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000FF000000FF000000FF0000000000000000000000FF000000FF000000
+ FF00000000000000000000000000000000000000000000000000DEDEDE00F1F1
+ F100FFFFFF00EBEBEB00C4C4C400B0B0B000CDCDCD00ACACAC00B5B5B500FEFE
+ FE00F1F1F100DBDBDB0000000000000000000000000000000000E7C4B300F2E7
+ E100FFFFFF00F8E1CA00E1A27400CA7A5700E7AE8500C46E5200D0805D00FEFE
+ FE00F2E7E100E1C4B30000000000000000000000000000000000000000000000
+ 0000000000002DBCFF0030B3CA002B5768002396A70000A4EB00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000FF000000FF0000000000000000000000FF000000FF000000
+ 000000000000000000000000000000000000000000000000000000000000DEDE
+ DE00F1F1F100FFFFFF00EBEBEB00C4C4C400F5F5F500B5B5B500FEFEFE00F1F1
+ F100DBDBDB00000000000000000000000000000000000000000000000000E7C4
+ B300F2E7E100FFFFFF00F8E1CA00E1A27400F8EDE700D0805D00FEFEFE00F2E7
+ E100E1C4B3000000000000000000000000000000000000000000000000000000
+ 00000000000078CCE80066E5F8003ACFEC0013B9DD002DBCFF00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000FF000000FF0000000000000000000000FF000000FF000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000DEDEDE00F1F1F100FFFFFF00EBEBEB00B5B5B500FEFEFE00F1F1F100DBDB
+ DB00000000000000000000000000000000000000000000000000000000000000
+ 0000E7C4B300F2E7E100FFFFFF00F8E1CA00D0805D00FEFEFE00F2E7E100E1C4
+ B300000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000002DBCFF0066E5F80000A4EB0000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000FF000000FF000000FF000000FF00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000DEDEDE00F1F1F100FFFFFF00FEFEFE00F1F1F100DBDBDB000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000E7C4B300F2E7E100FFFFFF00FEFEFE00F2E7E100E1C4B3000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000078CCE8003DD2EE002DBCFF0000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000FF000000FF000000FF000000FF00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000DEDEDE00DEDEDE00DBDBDB00DBDBDB00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000E7C4B300E7C4B300E1C4B300E1C4B300000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000002DBCFF000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000FF000000FF0000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000424D3E000000000000003E000000
+ 2800000040000000300000000100010000000000800100000000000000000000
+ 000000000000000000000000FFFFFF0000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000FFFFFFFFFFFFFFFFFC3FFC3FC007FFFF
+ F81FF81F8003C003F00FF00F80038001E007E007C007C003C003C003C007C003
+ 80018001E00FE00780018001E00FE00780018001F01FF00F80018001F01FF00F
+ C003C003F83FF81FE007E007F83FF81FF00FF00FFC7FFC3FF81FF81FFC7FFC3F
+ FC3FFC3FFEFFFE7FFFFFFFFFFFFFFFFF00000000000000000000000000000000
+ 000000000000}
+ end
+end
diff --git a/official/2.20/Lib/D10/pckMD5.bpl b/official/2.20/Lib/D10/pckMD5.bpl
new file mode 100644
index 0000000..a5b8d22
Binary files /dev/null and b/official/2.20/Lib/D10/pckMD5.bpl differ
diff --git a/official/2.20/Lib/D10/pckMD5.dcp b/official/2.20/Lib/D10/pckMD5.dcp
new file mode 100644
index 0000000..1075e6d
Binary files /dev/null and b/official/2.20/Lib/D10/pckMD5.dcp differ
diff --git a/official/2.20/Lib/D10/pckUCADOConn.bpl b/official/2.20/Lib/D10/pckUCADOConn.bpl
new file mode 100644
index 0000000..6f485a4
Binary files /dev/null and b/official/2.20/Lib/D10/pckUCADOConn.bpl differ
diff --git a/official/2.20/Lib/D10/pckUCADOConn.dcp b/official/2.20/Lib/D10/pckUCADOConn.dcp
new file mode 100644
index 0000000..47f7bc0
Binary files /dev/null and b/official/2.20/Lib/D10/pckUCADOConn.dcp differ
diff --git a/official/2.20/Lib/D10/pckUCBDEConn.bpl b/official/2.20/Lib/D10/pckUCBDEConn.bpl
new file mode 100644
index 0000000..2ebca22
Binary files /dev/null and b/official/2.20/Lib/D10/pckUCBDEConn.bpl differ
diff --git a/official/2.20/Lib/D10/pckUCBDEConn.dcp b/official/2.20/Lib/D10/pckUCBDEConn.dcp
new file mode 100644
index 0000000..c8c1dc0
Binary files /dev/null and b/official/2.20/Lib/D10/pckUCBDEConn.dcp differ
diff --git a/official/2.20/Lib/D10/pckUCDBXConn.bpl b/official/2.20/Lib/D10/pckUCDBXConn.bpl
new file mode 100644
index 0000000..1eb826e
Binary files /dev/null and b/official/2.20/Lib/D10/pckUCDBXConn.bpl differ
diff --git a/official/2.20/Lib/D10/pckUCDBXConn.dcp b/official/2.20/Lib/D10/pckUCDBXConn.dcp
new file mode 100644
index 0000000..48f33cd
Binary files /dev/null and b/official/2.20/Lib/D10/pckUCDBXConn.dcp differ
diff --git a/official/2.20/Lib/D10/pckUCDataConnector.bpl b/official/2.20/Lib/D10/pckUCDataConnector.bpl
new file mode 100644
index 0000000..f6426b0
Binary files /dev/null and b/official/2.20/Lib/D10/pckUCDataConnector.bpl differ
diff --git a/official/2.20/Lib/D10/pckUCDataConnector.dcp b/official/2.20/Lib/D10/pckUCDataConnector.dcp
new file mode 100644
index 0000000..36e0f64
Binary files /dev/null and b/official/2.20/Lib/D10/pckUCDataConnector.dcp differ
diff --git a/official/2.20/Lib/D10/pckUCIBXConn.bpl b/official/2.20/Lib/D10/pckUCIBXConn.bpl
new file mode 100644
index 0000000..1d65f1d
Binary files /dev/null and b/official/2.20/Lib/D10/pckUCIBXConn.bpl differ
diff --git a/official/2.20/Lib/D10/pckUCIBXConn.dcp b/official/2.20/Lib/D10/pckUCIBXConn.dcp
new file mode 100644
index 0000000..3510fc7
Binary files /dev/null and b/official/2.20/Lib/D10/pckUCIBXConn.dcp differ
diff --git a/official/2.20/Lib/D10/pckUCMidasConn.bpl b/official/2.20/Lib/D10/pckUCMidasConn.bpl
new file mode 100644
index 0000000..3bd8f97
Binary files /dev/null and b/official/2.20/Lib/D10/pckUCMidasConn.bpl differ
diff --git a/official/2.20/Lib/D10/pckUCMidasConn.dcp b/official/2.20/Lib/D10/pckUCMidasConn.dcp
new file mode 100644
index 0000000..d412932
Binary files /dev/null and b/official/2.20/Lib/D10/pckUCMidasConn.dcp differ
diff --git a/official/2.20/Lib/D10/pckUserControl_DT.bpl b/official/2.20/Lib/D10/pckUserControl_DT.bpl
new file mode 100644
index 0000000..30104ad
Binary files /dev/null and b/official/2.20/Lib/D10/pckUserControl_DT.bpl differ
diff --git a/official/2.20/Lib/D10/pckUserControl_DT.dcp b/official/2.20/Lib/D10/pckUserControl_DT.dcp
new file mode 100644
index 0000000..1685047
Binary files /dev/null and b/official/2.20/Lib/D10/pckUserControl_DT.dcp differ
diff --git a/official/2.20/Lib/D10/pckUserControl_RT.bpl b/official/2.20/Lib/D10/pckUserControl_RT.bpl
new file mode 100644
index 0000000..e96a99b
Binary files /dev/null and b/official/2.20/Lib/D10/pckUserControl_RT.bpl differ
diff --git a/official/2.20/Lib/D10/pckUserControl_RT.dcp b/official/2.20/Lib/D10/pckUserControl_RT.dcp
new file mode 100644
index 0000000..61fe1f6
Binary files /dev/null and b/official/2.20/Lib/D10/pckUserControl_RT.dcp differ
diff --git a/official/2.20/Packages/BDS2006.bdsgroup b/official/2.20/Packages/BDS2006.bdsgroup
new file mode 100644
index 0000000..5a58426
--- /dev/null
+++ b/official/2.20/Packages/BDS2006.bdsgroup
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+ pckMD5.bdsproj
+ pckUCDataConnector.bdsproj
+ pckUserControl_RT.bdsproj
+ pckUserControl_DT.bdsproj
+ pckMD5.bpl pckUCDataConnector.bpl pckUserControl_RT.bpl pckUserControl_DT.bpl
+
+
+
+
+
+
diff --git a/official/2.20/Packages/BDS2006.config b/official/2.20/Packages/BDS2006.config
new file mode 100644
index 0000000..c8f2834
--- /dev/null
+++ b/official/2.20/Packages/BDS2006.config
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/official/2.20/Packages/Connectors/CommonConnectors_BDS2006.bdsgroup b/official/2.20/Packages/Connectors/CommonConnectors_BDS2006.bdsgroup
new file mode 100644
index 0000000..f663687
--- /dev/null
+++ b/official/2.20/Packages/Connectors/CommonConnectors_BDS2006.bdsgroup
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ UCADOConn\pckUCADOConn.bdsproj
+ UCBDEConn\pckUCBDEConn.bdsproj
+ UCDBXConn\pckUCDBXConn.bdsproj
+ UCIBXConn\pckUCIBXConn.bdsproj
+ UCMidasConn\pckUCMidasConn.bdsproj
+ pckUCADOConn.bpl pckUCBDEConn.bpl pckUCDBXConn.bpl pckUCIBXConn.bpl pckUCMidasConn.bpl
+
+
+
+
diff --git a/official/2.20/Packages/Connectors/UCADOConn/UCADOConn.pas b/official/2.20/Packages/Connectors/UCADOConn/UCADOConn.pas
new file mode 100644
index 0000000..da90afa
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCADOConn/UCADOConn.pas
@@ -0,0 +1,114 @@
+{-----------------------------------------------------------------------------
+ Unit Name: UCADOConn
+ Author: QmD
+ Date: 08-nov-2004
+ Purpose: ADO Support
+
+ registered in UCReg.pas
+-----------------------------------------------------------------------------}
+
+unit UCADOConn;
+
+interface
+
+uses
+ ADODB,
+ Classes,
+ DB,
+ SysUtils,
+ UCDataConnector;
+
+type
+ TUCADOConn = class(TUCDataConnector)
+ private
+ FConnection: TADOConnection;
+ procedure SetADOConnection(Value: TADOConnection);
+ protected
+ procedure Notification(AComponent: TComponent; Operation: TOperation); override;
+ public
+ function GetDBObjectName: String; override;
+ function GetTransObjectName: String; override;
+ function UCFindDataConnection: Boolean; override;
+ function UCFindTable(const Tablename: String): Boolean; override;
+ function UCGetSQLDataset(FSQL: String): TDataset; override;
+ procedure UCExecSQL(FSQL: String); override;
+ published
+ property Connection: TADOConnection read FConnection write SetADOConnection;
+ end;
+
+implementation
+
+{ TUCADOConn }
+
+procedure TUCADOConn.SetADOConnection(Value: TADOConnection);
+begin
+ if FConnection <> Value then
+ FConnection := Value;
+ if FConnection <> nil then
+ FConnection.FreeNotification(Self);
+end;
+
+procedure TUCADOConn.Notification(AComponent: TComponent; Operation: TOperation);
+begin
+ if (Operation = opRemove) and (AComponent = FConnection) then
+ FConnection := nil;
+ inherited Notification(AComponent, Operation);
+end;
+
+function TUCADOConn.UCFindTable(const TableName: String): Boolean;
+var
+ TempList: TStringList;
+begin
+ try
+ TempList := TStringList.Create;
+ FConnection.GetTableNames(TempList, True);
+ TempList.Text := UpperCase(TempList.Text);
+ Result := TempList.IndexOf(UpperCase(TableName)) > -1;
+ finally
+ FreeAndNil(TempList);
+ end;
+end;
+
+function TUCADOConn.UCFindDataConnection: Boolean;
+begin
+ Result := Assigned(FConnection) and (FConnection.Connected);
+end;
+
+function TUCADOConn.GetDBObjectName: String;
+begin
+ if Assigned(FConnection) then
+ begin
+ if Owner = FConnection.Owner then
+ Result := FConnection.Name
+ else
+ begin
+ Result := FConnection.Owner.Name + '.' + FConnection.Name;
+ end;
+ end
+ else
+ Result := '';
+end;
+
+function TUCADOConn.GetTransObjectName: String;
+begin
+ Result := '';
+end;
+
+procedure TUCADOConn.UCExecSQL(FSQL: String);
+begin
+ FConnection.Execute(FSQL);
+end;
+
+function TUCADOConn.UCGetSQLDataset(FSQL: String): TDataset;
+begin
+ Result := TADOQuery.Create(nil);
+ with Result as TADOQuery do
+ begin
+ Connection := FConnection;
+ SQL.Text := FSQL;
+ Open;
+ end;
+end;
+
+end.
+
diff --git a/official/2.20/Packages/Connectors/UCADOConn/UCADOConnReg.pas b/official/2.20/Packages/Connectors/UCADOConn/UCADOConnReg.pas
new file mode 100644
index 0000000..32c5c62
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCADOConn/UCADOConnReg.pas
@@ -0,0 +1,19 @@
+unit UCADOConnReg;
+
+interface
+
+uses
+ Classes,
+ UCADOConn;
+
+procedure Register;
+
+implementation
+
+procedure Register;
+begin
+ RegisterComponents('UC Connectors', [TUCADOConn]);
+end;
+
+end.
+
diff --git a/official/2.20/Packages/Connectors/UCADOConn/pckUCADOConn.bdsproj b/official/2.20/Packages/Connectors/UCADOConn/pckUCADOConn.bdsproj
new file mode 100644
index 0000000..d9f1634
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCADOConn/pckUCADOConn.bdsproj
@@ -0,0 +1,492 @@
+
+
+
+
+
+
+
+
+
+
+
+ pckUCADOConn.dpk
+
+
+ 7.0
+
+
+ 8
+ 0
+ 1
+ 1
+ 0
+ 0
+ 1
+ 1
+ 1
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ True
+ True
+ WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+
+ False
+
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ False
+ False
+ False
+ True
+ True
+ True
+ True
+ True
+ True
+
+
+
+ 3
+ 0
+ False
+ 1
+ False
+ False
+ False
+ 16384
+ 1048576
+ 4194304
+ User Control ADO Connectors
+
+
+
+ ..\..\..\Lib\D10
+ ..\..\..\Lib\D10
+ ..\..\..\Lib\D10
+ ..\..\..\Lib\D10
+
+
+
+ False
+
+
+
+
+
+ False
+
+
+ True
+ False
+
+
+
+ $00000000
+ C:\Arquivos de programas\Borland\Delphi7\Bin\
+
+
+ True
+ False
+ 1
+ 0
+ 0
+ 0
+ False
+ False
+ False
+ False
+ False
+ 1046
+ 1252
+
+
+
+
+ 1.0.0.0
+
+
+
+
+
+ 1.0.0.0
+
+
+
+
+
diff --git a/official/2.20/Packages/Connectors/UCADOConn/pckUCADOConn.cfg b/official/2.20/Packages/Connectors/UCADOConn/pckUCADOConn.cfg
new file mode 100644
index 0000000..5a54e49
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCADOConn/pckUCADOConn.cfg
@@ -0,0 +1,44 @@
+-$A8
+-$B-
+-$C+
+-$D+
+-$E-
+-$F-
+-$G+
+-$H+
+-$I+
+-$J-
+-$K-
+-$L+
+-$M-
+-$N+
+-$O+
+-$P+
+-$Q-
+-$R-
+-$S-
+-$T-
+-$U-
+-$V+
+-$W-
+-$X+
+-$YD
+-$Z1
+-cg
+-AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+-H+
+-W+
+-M
+-$M16384,1048576
+-K$00400000
+-N0"C:\WINDOWS\Temp"
+-LE"D:\Documentos\Borland Studio Projects\Bpl"
+-LN"D:\Documentos\Borland Studio Projects\Bpl"
+-U";C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib"
+-O";C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib"
+-I";C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib"
+-R";C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib"
+-Z
+-w-UNSAFE_TYPE
+-w-UNSAFE_CODE
+-w-UNSAFE_CAST
diff --git a/official/2.20/Packages/Connectors/UCADOConn/pckUCADOConn.dpk b/official/2.20/Packages/Connectors/UCADOConn/pckUCADOConn.dpk
new file mode 100644
index 0000000..92d149f
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCADOConn/pckUCADOConn.dpk
@@ -0,0 +1,36 @@
+package pckUCADOConn;
+
+{$R *.res}
+{$ALIGN 8}
+{$ASSERTIONS ON}
+{$BOOLEVAL OFF}
+{$DEBUGINFO ON}
+{$EXTENDEDSYNTAX ON}
+{$IMPORTEDDATA ON}
+{$IOCHECKS ON}
+{$LOCALSYMBOLS ON}
+{$LONGSTRINGS ON}
+{$OPENSTRINGS ON}
+{$OPTIMIZATION ON}
+{$OVERFLOWCHECKS OFF}
+{$RANGECHECKS OFF}
+{$REFERENCEINFO ON}
+{$SAFEDIVIDE OFF}
+{$STACKFRAMES OFF}
+{$TYPEDADDRESS OFF}
+{$VARSTRINGCHECKS ON}
+{$WRITEABLECONST OFF}
+{$MINENUMSIZE 1}
+{$IMAGEBASE $400000}
+{$DESCRIPTION 'User Control ADO Connectors'}
+{$IMPLICITBUILD OFF}
+
+requires
+ pckUCDataConnector,
+ adortl;
+
+contains
+ UCADOConn in 'UCADOConn.pas',
+ UCADOConnReg in 'UCADOConnReg.pas';
+
+end.
diff --git a/official/2.20/Packages/Connectors/UCADOConn/pckUCADOConn.drc b/official/2.20/Packages/Connectors/UCADOConn/pckUCADOConn.drc
new file mode 100644
index 0000000..7642ac9
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCADOConn/pckUCADOConn.drc
@@ -0,0 +1,14 @@
+/* VER180
+ Generated by the Borland Delphi Pascal Compiler
+ because -GD or --drc was supplied to the compiler.
+
+ This file contains compiler-generated resources that
+ were bound to the executable.
+ If this file is empty, then no compiler-generated
+ resources were bound to the produced executable.
+*/
+
+STRINGTABLE
+BEGIN
+END
+
diff --git a/official/2.20/Packages/Connectors/UCADOConn/pckUCADOConn.res b/official/2.20/Packages/Connectors/UCADOConn/pckUCADOConn.res
new file mode 100644
index 0000000..a3a102a
Binary files /dev/null and b/official/2.20/Packages/Connectors/UCADOConn/pckUCADOConn.res differ
diff --git a/official/2.20/Packages/Connectors/UCAstaConn/UCAstaConn.pas b/official/2.20/Packages/Connectors/UCAstaConn/UCAstaConn.pas
new file mode 100644
index 0000000..abf4425
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCAstaConn/UCAstaConn.pas
@@ -0,0 +1,113 @@
+{-----------------------------------------------------------------------------
+ Unit Name: UCAstaConn
+ Author: QmD
+ Date: 24-nov-2004
+ Purpose: Asta 3 Support
+
+ registered in UCAstaReg.pas
+-----------------------------------------------------------------------------}
+
+unit UCAstaConn;
+
+interface
+
+uses
+ SysUtils, Classes, UCBase, DB, AstaDrv2, AstaClientDataset, ScktComp,
+ AstaCustomSocket, AstaClientSocket,AstaDBTypes;
+type
+ TUCAstaConn = class(TUCDataConn)
+ private
+ FAstaClientSocket: TAstaClientSocket;
+ procedure SetFAstaClientSocket(const Value: TAstaClientSocket);
+ protected
+ procedure Notification(AComponent: TComponent; Operation: TOperation);override;
+ public
+ function GetDBObjectName : String; override;
+ function GetTransObjectName : String; override;
+ function UCFindDataConnection : Boolean; override;
+ function UCFindTable(const Tablename : String) : Boolean; override;
+ function UCGetSQLDataset(FSQL : String) : TDataset;override;
+ procedure UCExecSQL(FSQL: String);override;
+ published
+ property AstaClientSocket : TAstaClientSocket read FAstaClientSocket write SetFAstaClientSocket;
+ end;
+
+implementation
+
+{ TUCAstaConn }
+
+procedure TUCAstaConn.SetFAstaClientSocket(
+ const Value: TAstaClientSocket);
+begin
+ FAstaClientSocket := Value;
+ if Value <> nil then Value.FreeNotification(Self);
+end;
+
+procedure TUCAstaConn.Notification(AComponent: TComponent;
+ Operation: TOperation);
+begin
+ if (Operation = opRemove) and (AComponent = FAstaClientSocket) then
+ begin
+ FAstaClientSocket := nil;
+ end;
+ inherited Notification(AComponent, Operation);
+end;
+
+function TUCAstaConn.UCFindTable(const TableName: String): Boolean;
+var
+ TempQuery : TAstaClientDataSet;
+begin
+ TempQuery := TAstaClientDataset.Create(nil);
+ TempQuery.AstaClientSocket := FAstaClientSocket;
+ TempQuery.MetaDataRequest := mdTables;
+ TempQuery.Open;
+ Result := TempQuery.Locate('TableName',UpperCase(TableName),[]);
+ TempQuery.Close;
+ FreeAndNil(TempQuery);
+end;
+
+
+function TUCAstaConn.UCFindDataConnection: Boolean;
+begin
+ Result := Assigned(FAstaClientSocket) and (FAstaClientSocket.Active);
+end;
+
+function TUCAstaConn.GetDBObjectName: String;
+begin
+ if Assigned(FAstaClientSocket) then
+ begin
+ if Owner = FAstaClientSocket.Owner then Result := FAstaClientSocket.Name
+ else begin
+ Result := FAstaClientSocket.Owner.Name+'.'+FAstaClientSocket.Name;
+ end;
+ end else Result := '';
+end;
+
+function TUCAstaConn.GetTransObjectName: String;
+begin
+ Result := '';
+end;
+
+procedure TUCAstaConn.UCExecSQL(FSQL: String);
+begin
+ with TAstaClientDataset.Create(nil) do
+ begin
+ AstaClientSocket := FAstaClientSocket;
+ SQL.text := FSQL;
+ ExecSQL;
+ Free;
+ end;
+end;
+
+function TUCAstaConn.UCGetSQLDataset(FSQL: String): TDataset;
+begin
+ Result := TAstaClientDataset.Create(nil);
+ with Result as TAstaClientDataset do
+ begin
+ AstaClientSocket := FAstaClientSocket;
+ SQL.text := FSQL;
+ Open;
+ end;
+end;
+
+end.
diff --git a/official/2.20/Packages/Connectors/UCAstaConn/UCAstaConnReg.pas b/official/2.20/Packages/Connectors/UCAstaConn/UCAstaConnReg.pas
new file mode 100644
index 0000000..225400c
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCAstaConn/UCAstaConnReg.pas
@@ -0,0 +1,17 @@
+unit UCAstaReg;
+
+interface
+
+uses Classes;
+
+procedure Register;
+
+implementation
+
+uses UCAstaConn;
+
+procedure Register;
+begin
+ RegisterComponents('UC Connectors', [TUCAstaConn]);
+end;
+end.
diff --git a/official/2.20/Packages/Connectors/UCBDEConn/UCBDEConn.pas b/official/2.20/Packages/Connectors/UCBDEConn/UCBDEConn.pas
new file mode 100644
index 0000000..89b0fd7
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCBDEConn/UCBDEConn.pas
@@ -0,0 +1,127 @@
+{-----------------------------------------------------------------------------
+ Unit Name: UCBDEConn
+ Author: QmD
+ Date: 10-nov-2004
+ Purpose: BDE Support
+
+ registered in UCReg.pas
+-----------------------------------------------------------------------------}
+
+unit UCBDEConn;
+
+interface
+
+{$I '..\..\Source\UserControl.inc'}
+
+uses
+ Classes,
+ DB,
+ DBTables,
+ SysUtils,
+ UCDataConnector;
+
+type
+ TUCBDEConn = class(TUCDataConnector)
+ private
+ FConnection: TDatabase;
+ procedure SetFDatabase(Value: TDatabase);
+ protected
+ procedure Notification(AComponent: TComponent; Operation: TOperation); override;
+ public
+ function GetDBObjectName: String; override;
+ function GetTransObjectName: String; override;
+ function UCFindDataConnection: Boolean; override;
+ function UCFindTable(const Tablename: String): Boolean; override;
+ function UCGetSQLDataset(FSQL: String): TDataset; override;
+ procedure UCExecSQL(FSQL: String); override;
+ published
+ property Connection: TDatabase read FConnection write SetFDatabase;
+ end;
+
+implementation
+
+{ TUCBDEConn }
+
+procedure TUCBDEConn.SetFDatabase(Value: TDatabase);
+begin
+ if FConnection <> Value then
+ FConnection := Value;
+ if FConnection <> nil then
+ FConnection.FreeNotification(Self);
+end;
+
+procedure TUCBDEConn.Notification(AComponent: TComponent; Operation: TOperation);
+begin
+ if (Operation = opRemove) and (AComponent = FConnection) then
+ FConnection := nil;
+ inherited Notification(AComponent, Operation);
+end;
+
+function TUCBDEConn.UCFindTable(const TableName: String): Boolean;
+var
+ Lista: TStringList;
+begin
+ Lista := TStringList.Create;
+{$IFDEF DELPHI5}
+ FConnection.Session.GetTableNames(FDatabase.Databasename,'*.db*', False, False, Lista);
+{$ELSE}
+ FConnection.GetTableNames(Lista);
+{$ENDIF}
+ Result := Lista.IndexOf(TableName) > -1;
+ FreeAndNil(Lista);
+end;
+
+function TUCBDEConn.UCFindDataConnection: Boolean;
+begin
+ Result := Assigned(FConnection) and (FConnection.Connected);
+end;
+
+function TUCBDEConn.GetDBObjectName: String;
+begin
+ if Assigned(FConnection) then
+ begin
+ if Owner = FConnection.Owner then
+ Result := FConnection.Name
+ else
+ begin
+ Result := FConnection.Owner.Name + '.' + FConnection.Name;
+ end;
+ end
+ else
+ Result := '';
+end;
+
+function TUCBDEConn.GetTransObjectName: String;
+begin
+ Result := '';
+end;
+
+procedure TUCBDEConn.UCExecSQL(FSQL: String);
+begin
+ with TQuery.Create(nil) do
+ begin
+ DatabaseName := FConnection.DatabaseName;
+ SQL.Text := FSQL;
+ ExecSQL;
+ Free;
+ end;
+
+end;
+
+function TUCBDEConn.UCGetSQLDataset(FSQL: String): TDataset;
+var
+ TempQuery: TQuery;
+begin
+ TempQuery := TQuery.Create(nil);
+
+ with TempQuery do
+ begin
+ DatabaseName := FConnection.DatabaseName;
+ SQL.Text := FSQL;
+ Open;
+ end;
+ Result := TempQuery;
+end;
+
+end.
+
diff --git a/official/2.20/Packages/Connectors/UCBDEConn/UCBDEConnReg.pas b/official/2.20/Packages/Connectors/UCBDEConn/UCBDEConnReg.pas
new file mode 100644
index 0000000..943d623
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCBDEConn/UCBDEConnReg.pas
@@ -0,0 +1,20 @@
+unit UCBDEConnReg;
+
+interface
+
+uses
+ Classes;
+
+procedure Register;
+
+implementation
+
+uses
+ UCBDEConn;
+
+procedure Register;
+begin
+ RegisterComponents('UC Connectors', [TUCBDEConn]);
+end;
+
+end.
diff --git a/official/2.20/Packages/Connectors/UCBDEConn/pckUCBDEConn.bdsproj b/official/2.20/Packages/Connectors/UCBDEConn/pckUCBDEConn.bdsproj
new file mode 100644
index 0000000..4426646
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCBDEConn/pckUCBDEConn.bdsproj
@@ -0,0 +1,492 @@
+
+
+
+
+
+
+
+
+
+
+
+ pckUCBDEConn.dpk
+
+
+ 7.0
+
+
+ 8
+ 0
+ 1
+ 1
+ 0
+ 0
+ 1
+ 1
+ 1
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ True
+ True
+ WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+
+ False
+
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ False
+ False
+ False
+ True
+ True
+ True
+ True
+ True
+ True
+
+
+
+ 3
+ 0
+ False
+ 1
+ False
+ False
+ False
+ 16384
+ 1048576
+ 4194304
+ User Control BDE Connector
+
+
+
+ ..\..\..\Lib\D10
+ ..\..\..\Lib\D10
+ ..\..\..\Lib\D10
+ ..\..\..\Lib\D10
+
+
+
+ False
+
+
+
+
+
+ False
+
+
+ True
+ False
+
+
+
+ $00000000
+ C:\Arquivos de programas\Borland\Delphi7\Bin\
+
+
+ True
+ False
+ 1
+ 0
+ 0
+ 0
+ False
+ False
+ False
+ False
+ False
+ 1046
+ 1252
+
+
+
+
+ 1.0.0.0
+
+
+
+
+
+ 1.0.0.0
+
+
+
+
+
diff --git a/official/2.20/Packages/Connectors/UCBDEConn/pckUCBDEConn.cfg b/official/2.20/Packages/Connectors/UCBDEConn/pckUCBDEConn.cfg
new file mode 100644
index 0000000..512ff4e
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCBDEConn/pckUCBDEConn.cfg
@@ -0,0 +1,43 @@
+-$A8
+-$B-
+-$C+
+-$D+
+-$E-
+-$F-
+-$G+
+-$H+
+-$I+
+-$J-
+-$K-
+-$L+
+-$M-
+-$N+
+-$O+
+-$P+
+-$Q-
+-$R-
+-$S-
+-$T-
+-$U-
+-$V+
+-$W-
+-$X+
+-$YD
+-$Z1
+-cg
+-AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+-H+
+-W+
+-M
+-$M16384,1048576
+-K$00400000
+-N0"C:\WINDOWS\Temp"
+-LE"D:\Documentos\Borland Studio Projects\Bpl"
+-LN"D:\Documentos\Borland Studio Projects\Bpl"
+-U";C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib"
+-O";C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib"
+-I";C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib"
+-R";C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib"
+-w-UNSAFE_TYPE
+-w-UNSAFE_CODE
+-w-UNSAFE_CAST
diff --git a/official/2.20/Packages/Connectors/UCBDEConn/pckUCBDEConn.dpk b/official/2.20/Packages/Connectors/UCBDEConn/pckUCBDEConn.dpk
new file mode 100644
index 0000000..4c1dd8d
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCBDEConn/pckUCBDEConn.dpk
@@ -0,0 +1,36 @@
+package pckUCBDEConn;
+
+{$R *.res}
+{$ALIGN 8}
+{$ASSERTIONS ON}
+{$BOOLEVAL OFF}
+{$DEBUGINFO ON}
+{$EXTENDEDSYNTAX ON}
+{$IMPORTEDDATA ON}
+{$IOCHECKS ON}
+{$LOCALSYMBOLS ON}
+{$LONGSTRINGS ON}
+{$OPENSTRINGS ON}
+{$OPTIMIZATION ON}
+{$OVERFLOWCHECKS OFF}
+{$RANGECHECKS OFF}
+{$REFERENCEINFO ON}
+{$SAFEDIVIDE OFF}
+{$STACKFRAMES OFF}
+{$TYPEDADDRESS OFF}
+{$VARSTRINGCHECKS ON}
+{$WRITEABLECONST OFF}
+{$MINENUMSIZE 1}
+{$IMAGEBASE $400000}
+{$DESCRIPTION 'User Control BDE Connector'}
+{$IMPLICITBUILD ON}
+
+requires
+ pckUCDataConnector,
+ bdertl;
+
+contains
+ UCBDEConn in 'UCBDEConn.pas',
+ UCBDEConnReg in 'UCBDEConnReg.pas';
+
+end.
diff --git a/official/2.20/Packages/Connectors/UCBDEConn/pckUCBDEConn.drc b/official/2.20/Packages/Connectors/UCBDEConn/pckUCBDEConn.drc
new file mode 100644
index 0000000..7642ac9
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCBDEConn/pckUCBDEConn.drc
@@ -0,0 +1,14 @@
+/* VER180
+ Generated by the Borland Delphi Pascal Compiler
+ because -GD or --drc was supplied to the compiler.
+
+ This file contains compiler-generated resources that
+ were bound to the executable.
+ If this file is empty, then no compiler-generated
+ resources were bound to the produced executable.
+*/
+
+STRINGTABLE
+BEGIN
+END
+
diff --git a/official/2.20/Packages/Connectors/UCBDEConn/pckUCBDEConn.res b/official/2.20/Packages/Connectors/UCBDEConn/pckUCBDEConn.res
new file mode 100644
index 0000000..a3a102a
Binary files /dev/null and b/official/2.20/Packages/Connectors/UCBDEConn/pckUCBDEConn.res differ
diff --git a/official/2.20/Packages/Connectors/UCDBISAMConn/UCDBISAMConn.pas b/official/2.20/Packages/Connectors/UCDBISAMConn/UCDBISAMConn.pas
new file mode 100644
index 0000000..35e4049
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCDBISAMConn/UCDBISAMConn.pas
@@ -0,0 +1,128 @@
+{-----------------------------------------------------------------------------
+ Unit Name: UCDBISAMConn
+ Changed: Carlos Guerra
+ Date: 01-dez-2004
+ Author: QmD
+ Purpose: DBISAM Support
+
+ registered in UCDBISAMReg.pas
+-----------------------------------------------------------------------------}
+
+unit UCDBISAMConn;
+
+interface
+
+uses
+ SysUtils, Classes, UCBase, DB, dbisamtb;
+
+type
+ TUCDBISAMConn = class(TUCDataConn)
+ private
+ FConnection : TDBISAMDatabase;
+ FSessionName: TDBISAMSession; //Carlos Guerra 12/01/2004
+ procedure SetFDatabase(Value : TDBISAMDatabase);
+ procedure SetFSessionName(const Value: TDBISAMSession); //Carlos Guerra 12/01/2004
+ protected
+ procedure Notification(AComponent: TComponent; Operation: TOperation);override;
+ public
+ function GetDBObjectName : String; override;
+// function GetTransObjectName : String; override;
+ function UCFindDataConnection : Boolean; override;
+ function UCFindTable(const Tablename : String) : Boolean; override;
+ function UCGetSQLDataset(FSQL : String) : TDataset;override;
+ procedure UCExecSQL(FSQL: String);override;
+ published
+ property Connection : TDBISAMDatabase read FConnection write SetFDatabase;
+ property SessionName : TDBISAMSession read FSessionName write SetFSessionName; //Carlos Guerra 12/01/2004
+ end;
+
+implementation
+
+{ TUCDBISAMConn }
+
+procedure TUCDBISAMConn.SetFDatabase(Value: TDBISAMDatabase);
+begin
+ if FConnection <> Value then FConnection := Value;
+ if FConnection <> nil then FConnection.FreeNotification(Self);
+end;
+
+procedure TUCDBISAMConn.SetFSessionName(const Value: TDBISAMSession);
+begin
+ FSessionName := Value;
+ if Value <> nil then Value.FreeNotification(Self);
+end;
+
+
+procedure TUCDBISAMConn.Notification(AComponent: TComponent;
+ Operation: TOperation);
+begin
+ if (Operation = opRemove) and (AComponent = FConnection) then
+ begin
+ FConnection := nil;
+ end;
+ inherited Notification(AComponent, Operation);
+end;
+
+function TUCDBISAMConn.UCFindTable(const TableName: String): Boolean;
+var
+ Lista : TStringList;
+begin
+ Lista := TStringList.Create;
+
+ FConnection.Session.GetTableNames(FConnection.RemoteDatabase,Lista);
+ Result := Lista.IndexOf(TableName) > -1;
+ FreeAndNil(Lista);
+end;
+
+function TUCDBISAMConn.UCFindDataConnection: Boolean;
+begin
+ Result := Assigned(FConnection) and (FConnection.Connected);
+end;
+
+function TUCDBISAMConn.GetDBObjectName: String;
+begin
+ if Assigned(FConnection) then
+ begin
+ if Owner = FConnection.Owner then Result := FConnection.Name
+ else begin
+ Result := FConnection.Owner.Name+'.'+FConnection.Name;
+ end;
+ end else Result := '';
+end;
+
+{function TUCDBISAMConn.GetTransObjectName: String;
+begin
+ Result := '';
+end;}
+
+procedure TUCDBISAMConn.UCExecSQL(FSQL: String);
+begin
+ with TDBISAMQuery.Create(nil) do
+ begin
+ //DatabaseName := FConnection.DatabaseName; //Cancel by Carlos Guerra 12/01/2004
+ DatabaseName := FConnection.RemoteDatabase; //Carlos Guerra 12/01/2004
+ SessionName := FConnection.SessionName; //Carlos Guerra 12/01/2004
+ SQL.text := FSQL;
+ ExecSQL;
+ Free;
+ end;
+
+end;
+
+function TUCDBISAMConn.UCGetSQLDataset(FSQL: String): TDataset;
+var
+ TempQuery : TDBISAMQuery;
+begin
+ TempQuery := TDBISAMQuery.Create(nil);
+ TempQuery.SessionName := FConnection.SessionName; //Carlos Guerra 12/01/2004
+ TempQuery.DatabaseName := FConnection.RemoteDatabase; //Carlos Guerra 12/01/2004
+ with TempQuery do
+ begin
+ //DatabaseName := FConnection.DatabaseName; //Cancel by Carlos Guerra 12/01/2004
+ SQL.text := FSQL;
+ Open;
+ end;
+ Result := TempQuery;
+end;
+
+end.
diff --git a/official/2.20/Packages/Connectors/UCDBISAMConn/UCDBISAMConnReg.pas b/official/2.20/Packages/Connectors/UCDBISAMConn/UCDBISAMConnReg.pas
new file mode 100644
index 0000000..cd9fe75
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCDBISAMConn/UCDBISAMConnReg.pas
@@ -0,0 +1,17 @@
+unit UCDBISAMReg;
+
+interface
+
+uses Classes;
+
+procedure Register;
+
+implementation
+
+uses UCDBISAMConn;
+
+procedure Register;
+begin
+ RegisterComponents('UC Connectors', [TUCDBISAMConn]);
+end;
+end.
diff --git a/official/2.20/Packages/Connectors/UCDBXConn/UCDBXConn.pas b/official/2.20/Packages/Connectors/UCDBXConn/UCDBXConn.pas
new file mode 100644
index 0000000..50e5dc3
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCDBXConn/UCDBXConn.pas
@@ -0,0 +1,122 @@
+{-----------------------------------------------------------------------------
+ Unit Name: UCDBXConn
+ Author: QmD
+ Date: 08-nov-2004
+ Purpose: ADO Support
+
+ registered in UCDBXReg.pas
+-----------------------------------------------------------------------------}
+
+unit UCDBXConn;
+
+interface
+
+uses
+ Classes,
+ DB,
+ SimpleDS,
+ SqlExpr,
+ SysUtils,
+ UCDataConnector;
+
+type
+ TUCDBXConn = class(TUCDataConnector)
+ private
+ FConnection: TSQLConnection;
+ FSchema: String;
+ procedure SetSQLConnection(Value: TSQLConnection);
+ protected
+ procedure Notification(AComponent: TComponent; Operation: TOperation); override;
+ public
+ function GetDBObjectName: String; override;
+ function GetTransObjectName: String; override;
+ function UCFindDataConnection: Boolean; override;
+ function UCFindTable(const Tablename: String): Boolean; override;
+ function UCGetSQLDataset(FSQL: String): TDataset; override;
+ procedure UCExecSQL(FSQL: String); override;
+ published
+ property Connection: TSQLConnection read FConnection write SetSQLConnection;
+ property SchemaName: String read FSchema write FSchema;
+ end;
+
+implementation
+
+{ TUCDBXConn }
+
+procedure TUCDBXConn.SetSQLConnection(Value: TSQLConnection);
+begin
+ if FConnection <> Value then
+ FConnection := Value;
+ if FConnection <> nil then
+ FConnection.FreeNotification(Self);
+end;
+
+procedure TUCDBXConn.Notification(AComponent: TComponent; Operation: TOperation);
+begin
+ if (Operation = opRemove) and (AComponent = FConnection) then
+ FConnection := nil;
+ inherited Notification(AComponent, Operation);
+end;
+
+function TUCDBXConn.UCFindTable(const TableName: String): Boolean;
+var
+ TempList: TStringList;
+begin
+ try
+ TempList := TStringList.Create;
+ if SchemaName <> '' then
+ FConnection.GetTableNames(TempList, SchemaName)
+ else
+ FConnection.GetTableNames(TempList);
+ TempList.Text := UpperCase(TempList.Text);
+ Result := TempList.IndexOf(UpperCase(TableName)) > -1;
+ finally
+ FreeAndNil(TempList);
+ end;
+end;
+
+function TUCDBXConn.UCFindDataConnection: Boolean;
+begin
+ Result := Assigned(FConnection) and (FConnection.Connected);
+end;
+
+function TUCDBXConn.GetDBObjectName: String;
+begin
+ if Assigned(FConnection) then
+ begin
+ if Owner = FConnection.Owner then
+ Result := FConnection.Name
+ else
+ begin
+ Result := FConnection.Owner.Name + '.' + FConnection.Name;
+ end;
+ end
+ else
+ Result := '';
+end;
+
+function TUCDBXConn.GetTransObjectName: String;
+begin
+ Result := '';
+end;
+
+procedure TUCDBXConn.UCExecSQL(FSQL: String);
+begin
+// FConnection.Execute(FSQL, nil); // by vicente barros leonel
+ FConnection.ExecuteDirect(FSQL);
+end;
+
+function TUCDBXConn.UCGetSQLDataset(FSQL: String): TDataset;
+begin
+ Result := TSimpleDataSet.Create(nil);
+ with Result as TSimpleDataSet do
+ begin
+ Connection := FConnection;
+ DataSet.CommandText := FSQL;
+ SchemaName := FSchema;
+ Open;
+ end;
+end;
+
+end.
+
diff --git a/official/2.20/Packages/Connectors/UCDBXConn/UCDBXConnReg.pas b/official/2.20/Packages/Connectors/UCDBXConn/UCDBXConnReg.pas
new file mode 100644
index 0000000..7aebf23
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCDBXConn/UCDBXConnReg.pas
@@ -0,0 +1,21 @@
+unit UCDBXConnReg;
+
+interface
+
+uses
+ Classes;
+
+procedure Register;
+
+implementation
+
+uses
+ UCDBXConn;
+
+procedure Register;
+begin
+ RegisterComponents('UC Connectors', [TUCDBXConn]);
+end;
+
+end.
+
diff --git a/official/2.20/Packages/Connectors/UCDBXConn/pckUCDBXConn.bdsproj b/official/2.20/Packages/Connectors/UCDBXConn/pckUCDBXConn.bdsproj
new file mode 100644
index 0000000..a1b97ff
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCDBXConn/pckUCDBXConn.bdsproj
@@ -0,0 +1,492 @@
+
+
+
+
+
+
+
+
+
+
+
+ pckUCDBXConn.dpk
+
+
+ 7.0
+
+
+ 8
+ 0
+ 1
+ 1
+ 0
+ 0
+ 1
+ 1
+ 1
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ True
+ True
+ WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+
+ False
+
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ False
+ False
+ False
+ True
+ True
+ True
+ True
+ True
+ True
+
+
+
+ 3
+ 0
+ False
+ 1
+ False
+ False
+ False
+ 16384
+ 1048576
+ 4194304
+ User Control DBX Connectors
+
+
+
+ ..\..\..\Lib\D10
+ ..\..\..\Lib\D10
+ ..\..\..\Lib\D10
+ ..\..\..\Lib\D10
+
+
+
+ False
+
+
+
+
+
+ False
+
+
+ True
+ False
+
+
+
+ $00000000
+ C:\Arquivos de programas\Borland\Delphi7\Bin\
+
+
+ True
+ False
+ 1
+ 0
+ 0
+ 0
+ False
+ False
+ False
+ False
+ False
+ 1046
+ 1252
+
+
+
+
+ 1.0.0.0
+
+
+
+
+
+ 1.0.0.0
+
+
+
+
+
diff --git a/official/2.20/Packages/Connectors/UCDBXConn/pckUCDBXConn.cfg b/official/2.20/Packages/Connectors/UCDBXConn/pckUCDBXConn.cfg
new file mode 100644
index 0000000..5a54e49
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCDBXConn/pckUCDBXConn.cfg
@@ -0,0 +1,44 @@
+-$A8
+-$B-
+-$C+
+-$D+
+-$E-
+-$F-
+-$G+
+-$H+
+-$I+
+-$J-
+-$K-
+-$L+
+-$M-
+-$N+
+-$O+
+-$P+
+-$Q-
+-$R-
+-$S-
+-$T-
+-$U-
+-$V+
+-$W-
+-$X+
+-$YD
+-$Z1
+-cg
+-AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+-H+
+-W+
+-M
+-$M16384,1048576
+-K$00400000
+-N0"C:\WINDOWS\Temp"
+-LE"D:\Documentos\Borland Studio Projects\Bpl"
+-LN"D:\Documentos\Borland Studio Projects\Bpl"
+-U";C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib"
+-O";C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib"
+-I";C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib"
+-R";C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib"
+-Z
+-w-UNSAFE_TYPE
+-w-UNSAFE_CODE
+-w-UNSAFE_CAST
diff --git a/official/2.20/Packages/Connectors/UCDBXConn/pckUCDBXConn.dpk b/official/2.20/Packages/Connectors/UCDBXConn/pckUCDBXConn.dpk
new file mode 100644
index 0000000..05fa12c
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCDBXConn/pckUCDBXConn.dpk
@@ -0,0 +1,38 @@
+package pckUCDBXConn;
+
+{$R *.res}
+{$ALIGN 8}
+{$ASSERTIONS ON}
+{$BOOLEVAL OFF}
+{$DEBUGINFO ON}
+{$EXTENDEDSYNTAX ON}
+{$IMPORTEDDATA ON}
+{$IOCHECKS ON}
+{$LOCALSYMBOLS ON}
+{$LONGSTRINGS ON}
+{$OPENSTRINGS ON}
+{$OPTIMIZATION ON}
+{$OVERFLOWCHECKS OFF}
+{$RANGECHECKS OFF}
+{$REFERENCEINFO ON}
+{$SAFEDIVIDE OFF}
+{$STACKFRAMES OFF}
+{$TYPEDADDRESS OFF}
+{$VARSTRINGCHECKS ON}
+{$WRITEABLECONST OFF}
+{$MINENUMSIZE 1}
+{$IMAGEBASE $400000}
+{$DESCRIPTION 'User Control DBX Connectors'}
+{$IMPLICITBUILD OFF}
+
+requires
+ pckUCDataConnector,
+ dsnap,
+ dbxcds,
+ dbexpress;
+
+contains
+ UCDBXConn in 'UCDBXConn.pas',
+ UCDBXConnReg in 'UCDBXConnReg.pas';
+
+end.
diff --git a/official/2.20/Packages/Connectors/UCDBXConn/pckUCDBXConn.drc b/official/2.20/Packages/Connectors/UCDBXConn/pckUCDBXConn.drc
new file mode 100644
index 0000000..7642ac9
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCDBXConn/pckUCDBXConn.drc
@@ -0,0 +1,14 @@
+/* VER180
+ Generated by the Borland Delphi Pascal Compiler
+ because -GD or --drc was supplied to the compiler.
+
+ This file contains compiler-generated resources that
+ were bound to the executable.
+ If this file is empty, then no compiler-generated
+ resources were bound to the produced executable.
+*/
+
+STRINGTABLE
+BEGIN
+END
+
diff --git a/official/2.20/Packages/Connectors/UCDBXConn/pckUCDBXConn.res b/official/2.20/Packages/Connectors/UCDBXConn/pckUCDBXConn.res
new file mode 100644
index 0000000..a3a102a
Binary files /dev/null and b/official/2.20/Packages/Connectors/UCDBXConn/pckUCDBXConn.res differ
diff --git a/official/2.20/Packages/Connectors/UCFIBConn/UCFIBConn.pas b/official/2.20/Packages/Connectors/UCFIBConn/UCFIBConn.pas
new file mode 100644
index 0000000..557326e
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCFIBConn/UCFIBConn.pas
@@ -0,0 +1,120 @@
+{-----------------------------------------------------------------------------
+ Unit Name: UCFIBConn
+ Author: QmD
+ Date: 08-nov-2004
+ Purpose: FIB Support
+
+ registered in UCReg.pas
+-----------------------------------------------------------------------------}
+
+unit UCFIBConn;
+
+interface
+
+uses
+ SysUtils, Classes, UCBase, DB, pFIBDatabase, pFIBDataset;
+
+type
+ TUCFIBConn = class(TUCDataConn)
+ private
+ FConnection : TpFIBDatabase;
+ FTransaction: TpFIBTransaction;
+ procedure SetFTransaction(const Value: TpFIBTransaction);
+ procedure SetFConnection(const Value: TpFIBDatabase);
+ protected
+ procedure Notification(AComponent: TComponent; Operation: TOperation);override;
+ public
+ function GetDBObjectName : String; override;
+ function GetTransObjectName : String; override;
+ function UCFindDataConnection : Boolean; override;
+ function UCFindTable(const Tablename : String) : Boolean; override;
+ function UCGetSQLDataset(FSQL : String) : TDataset; override;
+ procedure UCExecSQL(FSQL: String);override;
+ published
+ property Connection : TpFIBDatabase read FConnection write SetFConnection;
+ property Transaction : TpFIBTransaction read FTransaction write SetFTransaction;
+ end;
+
+implementation
+
+{ TUCFIBConn }
+
+procedure TUCFIBConn.SetFTransaction(const Value: TpFIBTransaction);
+begin
+ FTransaction := Value;
+ if Value <> nil then Value.FreeNotification(Self);
+end;
+
+procedure TUCFIBConn.SetFConnection(const Value: TpFIBDatabase);
+begin
+ if FConnection <> Value then FConnection := Value;
+ if FConnection <> nil then FConnection.FreeNotification(Self);
+end;
+
+procedure TUCFIBConn.Notification(AComponent: TComponent;
+ Operation: TOperation);
+begin
+ if (Operation = opRemove) and (AComponent = FConnection) then FConnection := nil;
+ if (Operation = opRemove) and (AComponent = FTransaction) then FTransaction := nil;
+ inherited Notification(AComponent, Operation);
+end;
+
+function TUCFIBConn.UCFindTable(const TableName: String): Boolean;
+var
+ TempList : TStringList;
+begin
+ try
+ TempList := TStringList.Create;
+ FConnection.GetTableNames(TempList,False);
+ TempList.Text := UpperCase(TempList.Text);
+ Result := TempList.IndexOf(UpperCase(TableName)) > -1;
+ finally
+ FreeAndNil(TempList);
+ end;
+end;
+
+function TUCFIBConn.UCFindDataConnection: Boolean;
+begin
+ Result := Assigned(FConnection) and (FConnection.Connected);
+end;
+
+function TUCFIBConn.GetDBObjectName: String;
+begin
+ if Assigned(FConnection) then
+ begin
+ if Owner = FConnection.Owner then Result := FConnection.Name
+ else begin
+ Result := FConnection.Owner.Name+'.'+FConnection.Name;
+ end;
+ end else Result := '';
+end;
+
+function TUCFIBConn.GetTransObjectName: String;
+begin
+ if Assigned(FTransaction) then
+ begin
+ if Owner = FTransaction.Owner then Result := FTransaction.Name
+ else begin
+ Result := FTransaction.Owner.Name+'.'+FTransaction.Name;
+ end;
+ end else Result := '';
+end;
+
+procedure TUCFIBConn.UCExecSQL(FSQL: String);
+begin
+ FConnection.Execute(FSQL);
+end;
+
+function TUCFIBConn.UCGetSQLDataset(FSQL: String): TDataset;
+begin
+ Result := TpFIBDataset.Create(nil);
+ with Result as TpFIBDataset do
+ begin
+ Database := FConnection;
+ Transaction := FTransaction;
+ SelectSQL.text := FSQL;
+ Open;
+ end;
+end;
+
+end.
diff --git a/official/2.20/Packages/Connectors/UCFIBConn/UCFIBConnReg.pas b/official/2.20/Packages/Connectors/UCFIBConn/UCFIBConnReg.pas
new file mode 100644
index 0000000..f7387bb
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCFIBConn/UCFIBConnReg.pas
@@ -0,0 +1,17 @@
+unit UCFIBReg;
+
+interface
+
+uses Classes;
+
+procedure Register;
+
+implementation
+
+uses UCFIBConn;
+
+procedure Register;
+begin
+ RegisterComponents('UC Connectors', [TUCFIBConn]);
+end;
+end.
diff --git a/official/2.20/Packages/Connectors/UCIBOConn/UCIBOConn.pas b/official/2.20/Packages/Connectors/UCIBOConn/UCIBOConn.pas
new file mode 100644
index 0000000..42a11f8
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCIBOConn/UCIBOConn.pas
@@ -0,0 +1,111 @@
+{-----------------------------------------------------------------------------
+ Unit Name: UCIBOConn
+ Author: QmD
+ Date: 22-nov-2004
+ Purpose: IBO Dataset Support
+
+ registered in UCIBOReg.pas
+-----------------------------------------------------------------------------}
+
+unit UCIBOConn;
+
+interface
+
+uses
+ Classes,
+ DB,
+ IB_Components,
+ IBODataset,
+ SysUtils,
+ UCDataConnector;
+
+type
+ TUCIBOConn = class(TUCDataConnector)
+ private
+ FConnection: TIBODatabase;
+ procedure SetIBOConnection(const Value: TIBODatabase);
+ protected
+ procedure Notification(AComponent: TComponent; Operation: TOperation); override;
+ public
+ function GetDBObjectName: String; override;
+ function UCFindDataConnection: Boolean; override;
+ function UCFindTable(const Tablename: String): Boolean; override;
+ function UCGetSQLDataset(FSQL: String): TDataset; override;
+ procedure UCExecSQL(FSQL: String); override;
+ published
+ property Connection: TIBODatabase read FConnection write SetIBOConnection;
+ end;
+
+implementation
+
+{ TUCIBOConn }
+
+
+procedure TUCIBOConn.SetIBOConnection(const Value: TIBODatabase);
+begin
+ if FConnection <> Value then
+ FConnection := Value;
+ if FConnection <> nil then
+ FConnection.FreeNotification(Self);
+end;
+
+procedure TUCIBOConn.Notification(AComponent: TComponent; Operation: TOperation);
+begin
+ if (Operation = opRemove) and (AComponent = FConnection) then
+ FConnection := nil;
+ inherited Notification(AComponent, Operation);
+end;
+
+function TUCIBOConn.UCFindTable(const TableName: String): Boolean;
+begin
+ with TIBOQuery.Create(nil) do
+ begin
+ IB_Connection := FConnection;
+ SQL.Text := 'SELECT RDB$RELATION_NAME FROM RDB$RELATIONS WHERE RDB$SYSTEM_FLAG = 0 and RDB$RELATION_NAME = ' + QuotedStr(Uppercase(TableName));
+ Open;
+ Result := FieldByName('RDB$RELATION_NAME').AsString = Uppercase(TableName);
+ Close;
+ Free;
+ end;
+end;
+
+function TUCIBOConn.UCFindDataConnection: Boolean;
+begin
+ Result := Assigned(FConnection) and (FConnection.Connected);
+end;
+
+function TUCIBOConn.GetDBObjectName: String;
+begin
+ if Assigned(FConnection) then
+ begin
+ if Owner = FConnection.Owner then
+ Result := FConnection.Name
+ else
+ begin
+ Result := FConnection.Owner.Name + '.' + FConnection.Name;
+ end;
+ end
+ else
+ Result := '';
+end;
+
+
+procedure TUCIBOConn.UCExecSQL(FSQL: String);
+begin
+ FConnection.DefaultTransaction.ExecuteImmediate(FSQL);
+ FConnection.DefaultTransaction.Commit;
+end;
+
+function TUCIBOConn.UCGetSQLDataset(FSQL: String): TDataset;
+begin
+ Result := TIBOQuery.Create(nil);
+ with Result as TIBOQuery do
+ begin
+ IB_Connection := FConnection;
+ SQL.Text := FSQL;
+ Open;
+ end;
+end;
+
+end.
+
diff --git a/official/2.20/Packages/Connectors/UCIBOConn/UCIBOConnReg.pas b/official/2.20/Packages/Connectors/UCIBOConn/UCIBOConnReg.pas
new file mode 100644
index 0000000..f8c4eb9
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCIBOConn/UCIBOConnReg.pas
@@ -0,0 +1,18 @@
+unit UCIBOConnReg;
+
+interface
+
+uses Classes;
+
+procedure Register;
+
+implementation
+
+uses UCIBOConn;
+
+procedure Register;
+begin
+ RegisterComponents('UC Connectors', [TUCIBOConn]);
+end;
+
+end.
diff --git a/official/2.20/Packages/Connectors/UCIBOConn/pckIBOConn.cfg b/official/2.20/Packages/Connectors/UCIBOConn/pckIBOConn.cfg
new file mode 100644
index 0000000..10bc6f1
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCIBOConn/pckIBOConn.cfg
@@ -0,0 +1,42 @@
+-$A8
+-$B-
+-$C+
+-$D+
+-$E-
+-$F-
+-$G+
+-$H+
+-$I+
+-$J-
+-$K-
+-$L+
+-$M-
+-$N+
+-$O+
+-$P+
+-$Q-
+-$R-
+-$S-
+-$T-
+-$U-
+-$V+
+-$W-
+-$X+
+-$YD
+-$Z1
+-cg
+-AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+-H+
+-W+
+-M
+-$M16384,1048576
+-K$00400000
+-LE"c:\arquivos de programas\borland\delphi7\Projects\Bpl"
+-LN"c:\arquivos de programas\borland\delphi7\Projects\Bpl"
+-U";C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib"
+-O";C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib"
+-I";C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib"
+-R";C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib"
+-w-UNSAFE_TYPE
+-w-UNSAFE_CODE
+-w-UNSAFE_CAST
diff --git a/official/2.20/Packages/Connectors/UCIBOConn/pckIBOConn.dpk b/official/2.20/Packages/Connectors/UCIBOConn/pckIBOConn.dpk
new file mode 100644
index 0000000..6671069
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCIBOConn/pckIBOConn.dpk
@@ -0,0 +1,32 @@
+package pckIBOConn;
+
+{$R *.res}
+{$ALIGN 8}
+{$ASSERTIONS ON}
+{$BOOLEVAL OFF}
+{$DEBUGINFO ON}
+{$EXTENDEDSYNTAX ON}
+{$IMPORTEDDATA ON}
+{$IOCHECKS ON}
+{$LOCALSYMBOLS ON}
+{$LONGSTRINGS ON}
+{$OPENSTRINGS ON}
+{$OPTIMIZATION ON}
+{$OVERFLOWCHECKS OFF}
+{$RANGECHECKS OFF}
+{$REFERENCEINFO ON}
+{$SAFEDIVIDE OFF}
+{$STACKFRAMES OFF}
+{$TYPEDADDRESS OFF}
+{$VARSTRINGCHECKS ON}
+{$WRITEABLECONST OFF}
+{$MINENUMSIZE 1}
+{$IMAGEBASE $400000}
+{$DESCRIPTION 'User Control IBO Connector'}
+{$IMPLICITBUILD ON}
+
+contains
+ UCIBOConn in 'UCIBOConn.pas',
+ UCIBOConnReg in 'UCIBOConnReg.pas';
+
+end.
diff --git a/official/2.20/Packages/Connectors/UCIBOConn/pckIBOConn.res b/official/2.20/Packages/Connectors/UCIBOConn/pckIBOConn.res
new file mode 100644
index 0000000..a3a102a
Binary files /dev/null and b/official/2.20/Packages/Connectors/UCIBOConn/pckIBOConn.res differ
diff --git a/official/2.20/Packages/Connectors/UCIBXConn/UCIBXConn.pas b/official/2.20/Packages/Connectors/UCIBXConn/UCIBXConn.pas
new file mode 100644
index 0000000..a817678
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCIBXConn/UCIBXConn.pas
@@ -0,0 +1,149 @@
+{-----------------------------------------------------------------------------
+ Unit Name: UCIBXConn
+ Author: QmD
+ Date: 08-nov-2004
+ Purpose: IBX Support
+
+ registered in UCReg.pas
+-----------------------------------------------------------------------------}
+
+unit UCIBXConn;
+
+interface
+
+uses
+ Classes,
+ DB,
+ IBDataBase,
+ IBQuery,
+ SysUtils,
+ UCDataConnector;
+
+type
+ TUCIBXConn = class(TUCDataConnector)
+ private
+ FConnection: TIBDatabase;
+ FTransaction: TIBTransaction;
+ procedure SetFTransaction(const Value: TIBTransaction);
+ procedure SetIBXConnection(const Value: TIBDatabase);
+ protected
+ procedure Notification(AComponent: TComponent; Operation: TOperation); override;
+ public
+ function GetDBObjectName: String; override;
+ function GetTransObjectName: String; override;
+ function UCFindDataConnection: Boolean; override;
+ function UCFindTable(const Tablename: String): Boolean; override;
+ function UCGetSQLDataset(FSQL: String): TDataset; override;
+ procedure UCExecSQL(FSQL: String); override;
+ published
+ property Connection: TIBDatabase read FConnection write SetIBXConnection;
+ property Transaction: TIBTransaction read FTransaction write SetFTransaction;
+ end;
+
+implementation
+
+{ TUCIBXConn }
+
+procedure TUCIBXConn.Notification(AComponent: TComponent; Operation: TOperation);
+begin
+ if (Operation = opRemove) and (AComponent = FConnection) then
+ FConnection := nil;
+ if (Operation = opRemove) and (AComponent = FTransaction) then
+ FTransaction := nil;
+ inherited Notification(AComponent, Operation);
+end;
+
+function TUCIBXConn.UCFindTable(const TableName: String): Boolean;
+var
+ TempList: TStringList;
+begin
+ try
+ TempList := TStringList.Create;
+ FConnection.GetTableNames(TempList, False);
+ TempList.Text := UpperCase(TempList.Text);
+ Result := TempList.IndexOf(UpperCase(TableName)) > -1;
+ finally
+ FreeAndNil(TempList);
+ end;
+end;
+
+function TUCIBXConn.UCFindDataConnection: Boolean;
+begin
+ Result := Assigned(FConnection) and (FConnection.Connected);
+end;
+
+function TUCIBXConn.GetDBObjectName: String;
+begin
+ if Assigned(FConnection) then
+ begin
+ if Owner = FConnection.Owner then
+ Result := FConnection.Name
+ else
+ begin
+ Result := FConnection.Owner.Name + '.' + FConnection.Name;
+ end;
+ end
+ else
+ Result := '';
+end;
+
+function TUCIBXConn.GetTransObjectName: String;
+begin
+ if Assigned(FTransaction) then
+ begin
+ if Owner = FTransaction.Owner then
+ Result := FTransaction.Name
+ else
+ begin
+ Result := FTransaction.Owner.Name + '.' + FTransaction.Name;
+ end;
+ end
+ else
+ Result := '';
+end;
+
+procedure TUCIBXConn.UCExecSQL(FSQL: String);
+begin
+ with TIBQuery.Create(nil) do
+ begin
+ Database := FConnection;
+ Transaction := FTransaction;
+ if not Transaction.Active then
+ Transaction.Active := True;
+ SQL.Text := FSQL;
+ ExecSQL;
+ FTransaction.Commit;
+ Free;
+ end;
+end;
+
+function TUCIBXConn.UCGetSQLDataset(FSQL: String): TDataset;
+begin
+ Result := TIBQuery.Create(nil);
+ with Result as TIBQuery do
+ begin
+ Database := FConnection;
+ Transaction := FTransaction;
+ SQL.Text := FSQL;
+ Open;
+ end;
+end;
+
+
+procedure TUCIBXConn.SetFTransaction(const Value: TIBTransaction);
+begin
+ FTransaction := Value;
+ if Value <> nil then
+ Value.FreeNotification(Self);
+end;
+
+procedure TUCIBXConn.SetIBXConnection(const Value: TIBDatabase);
+begin
+ if FConnection <> Value then
+ FConnection := Value;
+ if FConnection <> nil then
+ FConnection.FreeNotification(Self);
+end;
+
+end.
+
diff --git a/official/2.20/Packages/Connectors/UCIBXConn/UCIBXConnReg.pas b/official/2.20/Packages/Connectors/UCIBXConn/UCIBXConnReg.pas
new file mode 100644
index 0000000..7eb0997
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCIBXConn/UCIBXConnReg.pas
@@ -0,0 +1,20 @@
+unit UCIBXConnReg;
+
+interface
+
+uses
+ Classes;
+
+procedure Register;
+
+implementation
+
+uses
+ UCIBXConn;
+
+procedure Register;
+begin
+ RegisterComponents('UC Connectors', [TUCIBXConn]);
+end;
+
+end.
diff --git a/official/2.20/Packages/Connectors/UCIBXConn/pckUCIBXConn.bdsproj b/official/2.20/Packages/Connectors/UCIBXConn/pckUCIBXConn.bdsproj
new file mode 100644
index 0000000..e6f330a
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCIBXConn/pckUCIBXConn.bdsproj
@@ -0,0 +1,492 @@
+
+
+
+
+
+
+
+
+
+
+
+ pckUCIBXConn.dpk
+
+
+ 7.0
+
+
+ 8
+ 0
+ 1
+ 1
+ 0
+ 0
+ 1
+ 1
+ 1
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ True
+ True
+ WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+
+ False
+
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ False
+ False
+ False
+ True
+ True
+ True
+ True
+ True
+ True
+
+
+
+ 3
+ 0
+ False
+ 1
+ False
+ False
+ False
+ 16384
+ 1048576
+ 4194304
+ User Control IBX Connector
+
+
+
+ ..\..\..\Lib\D10
+ ..\..\..\Lib\D10
+ ..\..\..\Lib\D10
+ ..\..\..\Lib\D10
+
+
+
+ False
+
+
+
+
+
+ False
+
+
+ True
+ False
+
+
+
+ $00000000
+ C:\Arquivos de programas\Borland\Delphi7\Bin\
+
+
+ True
+ False
+ 1
+ 0
+ 0
+ 0
+ False
+ False
+ False
+ False
+ False
+ 1046
+ 1252
+
+
+
+
+ 1.0.0.0
+
+
+
+
+
+ 1.0.0.0
+
+
+
+
+
diff --git a/official/2.20/Packages/Connectors/UCIBXConn/pckUCIBXConn.cfg b/official/2.20/Packages/Connectors/UCIBXConn/pckUCIBXConn.cfg
new file mode 100644
index 0000000..512ff4e
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCIBXConn/pckUCIBXConn.cfg
@@ -0,0 +1,43 @@
+-$A8
+-$B-
+-$C+
+-$D+
+-$E-
+-$F-
+-$G+
+-$H+
+-$I+
+-$J-
+-$K-
+-$L+
+-$M-
+-$N+
+-$O+
+-$P+
+-$Q-
+-$R-
+-$S-
+-$T-
+-$U-
+-$V+
+-$W-
+-$X+
+-$YD
+-$Z1
+-cg
+-AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+-H+
+-W+
+-M
+-$M16384,1048576
+-K$00400000
+-N0"C:\WINDOWS\Temp"
+-LE"D:\Documentos\Borland Studio Projects\Bpl"
+-LN"D:\Documentos\Borland Studio Projects\Bpl"
+-U";C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib"
+-O";C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib"
+-I";C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib"
+-R";C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib"
+-w-UNSAFE_TYPE
+-w-UNSAFE_CODE
+-w-UNSAFE_CAST
diff --git a/official/2.20/Packages/Connectors/UCIBXConn/pckUCIBXConn.dpk b/official/2.20/Packages/Connectors/UCIBXConn/pckUCIBXConn.dpk
new file mode 100644
index 0000000..4511021
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCIBXConn/pckUCIBXConn.dpk
@@ -0,0 +1,36 @@
+package pckUCIBXConn;
+
+{$R *.res}
+{$ALIGN 8}
+{$ASSERTIONS ON}
+{$BOOLEVAL OFF}
+{$DEBUGINFO ON}
+{$EXTENDEDSYNTAX ON}
+{$IMPORTEDDATA ON}
+{$IOCHECKS ON}
+{$LOCALSYMBOLS ON}
+{$LONGSTRINGS ON}
+{$OPENSTRINGS ON}
+{$OPTIMIZATION ON}
+{$OVERFLOWCHECKS OFF}
+{$RANGECHECKS OFF}
+{$REFERENCEINFO ON}
+{$SAFEDIVIDE OFF}
+{$STACKFRAMES OFF}
+{$TYPEDADDRESS OFF}
+{$VARSTRINGCHECKS ON}
+{$WRITEABLECONST OFF}
+{$MINENUMSIZE 1}
+{$IMAGEBASE $400000}
+{$DESCRIPTION 'User Control IBX Connector'}
+{$IMPLICITBUILD ON}
+
+requires
+ pckUCDataConnector,
+ ibxpress;
+
+contains
+ UCIBXConn in 'UCIBXConn.pas',
+ UCIBXConnReg in 'UCIBXConnReg.pas';
+
+end.
diff --git a/official/2.20/Packages/Connectors/UCIBXConn/pckUCIBXConn.drc b/official/2.20/Packages/Connectors/UCIBXConn/pckUCIBXConn.drc
new file mode 100644
index 0000000..7642ac9
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCIBXConn/pckUCIBXConn.drc
@@ -0,0 +1,14 @@
+/* VER180
+ Generated by the Borland Delphi Pascal Compiler
+ because -GD or --drc was supplied to the compiler.
+
+ This file contains compiler-generated resources that
+ were bound to the executable.
+ If this file is empty, then no compiler-generated
+ resources were bound to the produced executable.
+*/
+
+STRINGTABLE
+BEGIN
+END
+
diff --git a/official/2.20/Packages/Connectors/UCIBXConn/pckUCIBXConn.res b/official/2.20/Packages/Connectors/UCIBXConn/pckUCIBXConn.res
new file mode 100644
index 0000000..a3a102a
Binary files /dev/null and b/official/2.20/Packages/Connectors/UCIBXConn/pckUCIBXConn.res differ
diff --git a/official/2.20/Packages/Connectors/UCMDOConn/UCMDOConn.pas b/official/2.20/Packages/Connectors/UCMDOConn/UCMDOConn.pas
new file mode 100644
index 0000000..0f07703
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCMDOConn/UCMDOConn.pas
@@ -0,0 +1,149 @@
+{-----------------------------------------------------------------------------
+ Unit Name: UCMDOConn
+ Author: Alexandre Oliveira - 05/11/2004
+ Change: QmD
+ Date: 10-nov-2004
+ Purpose: MDO Support
+
+ registered in UCMDOReg.pas
+-----------------------------------------------------------------------------}
+
+unit UCMDOConn;
+
+interface
+
+uses
+ Classes,
+ DB,
+ MDODatabase,
+ MDOQuery,
+ SysUtils,
+ UCDataConnector;
+
+type
+ TUCMDOConn = class(TUCDataConnector)
+ private
+ FConnection: TMDODatabase;
+ FTransaction: TMDOTransaction;
+ procedure SetFTransaction(const Value: TMDOTransaction);
+ procedure SetMDOConnection(const Value: TMDODatabase);
+ protected
+ procedure Notification(AComponent: TComponent; Operation: TOperation); override;
+ public
+ function GetDBObjectName: String; override;
+ function GetTransObjectName: String; override;
+ function UCFindDataConnection: Boolean; override;
+ function UCFindTable(const Tablename: String): Boolean; override;
+ function UCGetSQLDataset(FSQL: String): TDataset; override;
+ procedure UCExecSQL(FSQL: String); override;
+ published
+ property Connection: TMDODatabase read FConnection write SetMDOConnection;
+ property Transaction: TMDOTransaction read FTransaction write SetFTransaction;
+ end;
+
+implementation
+
+{ TUCMDOConn }
+
+procedure TUCMDOConn.SetFTransaction(const Value: TMDOTransaction);
+begin
+ FTransaction := Value;
+ if Value <> nil then
+ Value.FreeNotification(Self);
+end;
+
+procedure TUCMDOConn.SetMDOConnection(const Value: TMDODatabase);
+begin
+ if FConnection <> Value then
+ FConnection := Value;
+ if FConnection <> nil then
+ FConnection.FreeNotification(Self);
+end;
+
+procedure TUCMDOConn.Notification(AComponent: TComponent; Operation: TOperation);
+begin
+ if (Operation = opRemove) and (AComponent = FConnection) then
+ FConnection := nil;
+ if (Operation = opRemove) and (AComponent = FTransaction) then
+ FTransaction := nil;
+ inherited Notification(AComponent, Operation);
+end;
+
+function TUCMDOConn.UCFindTable(const TableName: String): Boolean;
+var
+ TempList: TStringList;
+begin
+ try
+ TempList := TStringList.Create;
+ FConnection.GetTableNames(TempList, False);
+ TempList.Text := UpperCase(TempList.Text);
+ Result := TempList.IndexOf(UpperCase(TableName)) > -1;
+ finally
+ FreeAndNil(TempList);
+ end;
+end;
+
+function TUCMDOConn.UCFindDataConnection: Boolean;
+begin
+ Result := Assigned(FConnection) and (FConnection.Connected);
+end;
+
+function TUCMDOConn.GetDBObjectName: String;
+begin
+ if Assigned(FConnection) then
+ begin
+ if Owner = FConnection.Owner then
+ Result := FConnection.Name
+ else
+ begin
+ Result := FConnection.Owner.Name + '.' + FConnection.Name;
+ end;
+ end
+ else
+ Result := '';
+end;
+
+function TUCMDOConn.GetTransObjectName: String;
+begin
+ if Assigned(FTransaction) then
+ begin
+ if Owner = FTransaction.Owner then
+ Result := FTransaction.Name
+ else
+ begin
+ Result := FTransaction.Owner.Name + '.' + FTransaction.Name;
+ end;
+ end
+ else
+ Result := '';
+end;
+
+procedure TUCMDOConn.UCExecSQL(FSQL: String);
+begin
+ with TMDOQuery.Create(nil) do
+ begin
+ Database := FConnection;
+ Transaction := FTransaction;
+ if not Transaction.Active then
+ Transaction.Active := True;
+ SQL.Text := FSQL;
+ ExecSQL;
+ FTransaction.Commit;
+ Free;
+ end;
+end;
+
+function TUCMDOConn.UCGetSQLDataset(FSQL: String): TDataset;
+begin
+ Result := TMDOQuery.Create(nil);
+ with Result as TMDOQuery do
+ begin
+ Database := FConnection;
+ Transaction := FTransaction;
+ SQL.Text := FSQL;
+ Open;
+ end;
+end;
+
+end.
+
diff --git a/official/2.20/Packages/Connectors/UCMDOConn/UCMDOConnReg.pas b/official/2.20/Packages/Connectors/UCMDOConn/UCMDOConnReg.pas
new file mode 100644
index 0000000..7b41340
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCMDOConn/UCMDOConnReg.pas
@@ -0,0 +1,17 @@
+unit UCMDOConnReg;
+
+interface
+
+uses Classes;
+
+procedure Register;
+
+implementation
+
+uses UCMDOConn;
+
+procedure Register;
+begin
+ RegisterComponents('UC Connectors', [TUCMDOConn]);
+end;
+end.
diff --git a/official/2.20/Packages/Connectors/UCMDOConn/pckUCMDOConn.bdsproj b/official/2.20/Packages/Connectors/UCMDOConn/pckUCMDOConn.bdsproj
new file mode 100644
index 0000000..d712089
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCMDOConn/pckUCMDOConn.bdsproj
@@ -0,0 +1,177 @@
+
+
+
+
+
+
+
+
+
+
+
+ pckUCMDOConn.dpk
+
+
+ 7.0
+
+
+ 8
+ 0
+ 1
+ 1
+ 0
+ 0
+ 1
+ 1
+ 1
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ True
+ True
+ WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+
+ False
+
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ False
+ False
+ False
+ True
+ True
+ True
+ True
+ True
+ True
+
+
+
+ 0
+ 0
+ False
+ 1
+ False
+ False
+ False
+ 16384
+ 1048576
+ 4194304
+ User Control MDO Connector
+
+
+
+
+
+
+
+
+
+
+ False
+
+
+
+
+
+ False
+
+
+ True
+ False
+
+
+
+ $00000000
+
+
+
+ True
+ False
+ 1
+ 0
+ 0
+ 0
+ False
+ False
+ False
+ False
+ False
+ 1046
+ 1252
+
+
+
+
+ 1.0.0.0
+
+
+
+
+
+ 1.0.0.0
+
+
+
+
+
+
diff --git a/official/2.20/Packages/Connectors/UCMDOConn/pckUCMDOConn.cfg b/official/2.20/Packages/Connectors/UCMDOConn/pckUCMDOConn.cfg
new file mode 100644
index 0000000..1b27aab
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCMDOConn/pckUCMDOConn.cfg
@@ -0,0 +1,39 @@
+-$A8
+-$B-
+-$C+
+-$D+
+-$E-
+-$F-
+-$G+
+-$H+
+-$I+
+-$J-
+-$K-
+-$L+
+-$M-
+-$N+
+-$O+
+-$P+
+-$Q-
+-$R-
+-$S-
+-$T-
+-$U-
+-$V+
+-$W-
+-$X+
+-$YD
+-$Z1
+-cg
+-AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+-H+
+-W+
+-M
+-$M16384,1048576
+-K$00400000
+-LE"D:\Documentos\Borland Studio Projects\Bpl"
+-LN"D:\Documentos\Borland Studio Projects\Bpl"
+-Z
+-w-UNSAFE_TYPE
+-w-UNSAFE_CODE
+-w-UNSAFE_CAST
diff --git a/official/2.20/Packages/Connectors/UCMDOConn/pckUCMDOConn.dpk b/official/2.20/Packages/Connectors/UCMDOConn/pckUCMDOConn.dpk
new file mode 100644
index 0000000..6e8946f
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCMDOConn/pckUCMDOConn.dpk
@@ -0,0 +1,40 @@
+package pckUCMDOConn;
+
+{$R *.res}
+{$ALIGN 8}
+{$ASSERTIONS ON}
+{$BOOLEVAL OFF}
+{$DEBUGINFO ON}
+{$EXTENDEDSYNTAX ON}
+{$IMPORTEDDATA ON}
+{$IOCHECKS ON}
+{$LOCALSYMBOLS ON}
+{$LONGSTRINGS ON}
+{$OPENSTRINGS ON}
+{$OPTIMIZATION ON}
+{$OVERFLOWCHECKS OFF}
+{$RANGECHECKS OFF}
+{$REFERENCEINFO ON}
+{$SAFEDIVIDE OFF}
+{$STACKFRAMES OFF}
+{$TYPEDADDRESS OFF}
+{$VARSTRINGCHECKS ON}
+{$WRITEABLECONST OFF}
+{$MINENUMSIZE 1}
+{$IMAGEBASE $400000}
+{$DESCRIPTION 'User Control MDO Connector'}
+{$IMPLICITBUILD OFF}
+
+requires
+ rtl,
+ pckUCDataConnector,
+ vcl,
+ vclactnband,
+ vcldb,
+ RCLMDO2005;
+
+contains
+ UCMDOConnReg in 'UCMDOConnReg.pas',
+ UCMDOConn in 'UCMDOConn.pas';
+
+end.
diff --git a/official/2.20/Packages/Connectors/UCMDOConn/pckUCMDOConn.res b/official/2.20/Packages/Connectors/UCMDOConn/pckUCMDOConn.res
new file mode 100644
index 0000000..fd84fb8
Binary files /dev/null and b/official/2.20/Packages/Connectors/UCMDOConn/pckUCMDOConn.res differ
diff --git a/official/2.20/Packages/Connectors/UCMidasConn/UCMidasConn.pas b/official/2.20/Packages/Connectors/UCMidasConn/UCMidasConn.pas
new file mode 100644
index 0000000..7274978
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCMidasConn/UCMidasConn.pas
@@ -0,0 +1,182 @@
+{-----------------------------------------------------------------------------
+ Unit Name: UCMidasConn
+ Author : Luiz Benevenuto
+ Date : 31/07/2005
+ Purpose : Midas Suporte ( DataSnap )
+ E-mail : luiz@siffra.com
+ URL : www.siffra.com
+ UC : www.usercontrol.com.br
+ Forum : http://www.usercontrol.com.br/modules.php?name=Forums
+
+ registered in UCMidasConnReg.pas
+-----------------------------------------------------------------------------}
+
+unit UCMidasConn;
+
+interface
+
+{$I '..\..\Source\UserControl.inc'}
+
+uses
+ Classes,
+ DB,
+ DBClient,
+ SysUtils,
+ UCDataConnector;
+
+type
+ TBancoDados = (bdFirebird, bdMSSQL, bdOracle, bdPostgreSQL, bdMySQL, bdParadox);
+
+ TUCMidasConn = class(TUCDataConnector)
+ private
+ FResultado: OleVariant;
+ FSQLStmt: String;
+ FParams: OleVariant;
+ FOwnerData: OleVariant;
+ FRecsOut: Integer;
+ FConnection: TCustomRemoteServer;
+ FProviderName: String;
+ FBancoDados: TBancoDados;
+ procedure SetConnection(const Value: TCustomRemoteServer);
+ procedure SetProviderName(const Value: String);
+ protected
+ procedure Notification(AComponent: TComponent; Operation: TOperation); override;
+ public
+ function GetDBObjectName: String; override;
+ function GetTransObjectName: String; override;
+ function UCFindDataConnection: Boolean; override;
+ function UCFindTable(const Tablename: String): Boolean; override;
+ function UCGetSQLDataset(FSQL: String): TDataset; override;
+ procedure UCExecSQL(FSQL: String); override;
+ published
+ property Connection: TCustomRemoteServer read FConnection write SetConnection;
+ property ProviderName: String read FProviderName write SetProviderName;
+ property BancoDados: TBancoDados read FBancoDados write FBancoDados;
+ end;
+
+const
+ // Select para as tabelas de sistema !!! Para outro tipo de banco implemente aqui !!!!!
+
+ // Para banco novo !!!
+ // Não esquecer de colocar em TBancoDados, o tipo de banco !!!!!!
+ // Não esquecer de colocar no 'case' de UCFindTable
+
+ SQL_Firebird =
+ 'SELECT ' +
+ ' UPPER(RDB$RELATIONS.RDB$RELATION_NAME) RDB$RELATION_NAME ' +
+ 'FROM ' +
+ ' RDB$RELATIONS ' +
+ 'WHERE ' +
+ ' RDB$RELATIONS.RDB$FLAGS = 1 AND UPPER(RDB$RELATIONS.RDB$RELATION_NAME) = ' +
+ ' UPPER(''%s'')';
+
+ SQL_MSSQL = '';
+
+ SQL_Oracle = '';
+
+ SQL_PostgreSQL =
+ 'SELECT ' +
+ ' UPPER(PG_CLASS.RELNAME) ' +
+ 'FROM ' +
+ ' PG_CLASS ' +
+ 'WHERE ' +
+ ' PG_CLASS.RELKIND = ''r'' AND ' +
+ ' UPPER(PG_CLASS.RELNAME) LIKE UPPER(''%s'')';
+
+ SQL_MySQL = '';
+
+ SQL_Paradox = '';
+
+implementation
+
+uses
+ Midas,
+ Provider;
+
+{ TUCMidasConn }
+
+function TUCMidasConn.GetDBObjectName: String;
+begin
+ if Assigned(FConnection) then
+ begin
+ if Owner = FConnection.Owner then
+ Result := FConnection.Name
+ else
+ Result := FConnection.Owner.Name + '.' + FConnection.Name;
+ end
+ else
+ Result := '';
+end;
+
+function TUCMidasConn.GetTransObjectName: String;
+begin
+ Result := '';
+end;
+
+procedure TUCMidasConn.Notification(AComponent: TComponent; Operation: TOperation);
+begin
+ if (Operation = opRemove) and (AComponent = FConnection) then
+ FConnection := nil;
+ inherited Notification(AComponent, Operation);
+end;
+
+procedure TUCMidasConn.SetConnection(const Value: TCustomRemoteServer);
+begin
+ if FConnection <> Value then
+ FConnection := Value;
+ if FConnection <> nil then
+ FConnection.FreeNotification(Self);
+end;
+
+procedure TUCMidasConn.SetProviderName(const Value: String);
+begin
+ FProviderName := Value;
+end;
+
+procedure TUCMidasConn.UCExecSQL(FSQL: String);
+begin
+ IAppServer(FConnection.GetServer).AS_Execute(FProviderName, FSQL, FParams, FOwnerData);
+end;
+
+function TUCMidasConn.UCFindDataConnection: Boolean;
+begin
+ Result := Assigned(FConnection) and (FConnection.Connected);
+end;
+
+function TUCMidasConn.UCFindTable(const Tablename: String): Boolean;
+begin
+ case FBancoDados of
+ bdFirebird: FSQLStmt := SQL_Firebird;
+ bdMSSQL: FSQLStmt := SQL_MSSQL;
+ bdOracle: FSQLStmt := SQL_Oracle;
+ bdPostgreSQL: FSQLStmt := SQL_PostgreSQL;
+ bdMySQL: FSQLStmt := SQL_MySQL;
+ bdParadox: FSQLStmt := SQL_Paradox;
+ end;
+
+ FSQLStmt := Format(FSQLStmt, [Tablename]);
+
+ FResultado := IAppServer(FConnection.GetServer).AS_GetRecords(FProviderName, -1, FRecsOut, 0, FSQLStmt, FParams, FOwnerData);
+
+ Result := FRecsOut > 0;
+end;
+
+function TUCMidasConn.UCGetSQLDataset(FSQL: String): TDataset;
+begin
+ Result := TClientDataSet.Create(Self);
+
+ with TClientDataSet(Result) do
+ begin
+ if FConnection is TConnectionBroker then
+ ConnectionBroker := TConnectionBroker(FConnection)
+ else
+ RemoteServer := FConnection;
+
+ ProviderName := FProviderName;
+ CommandText := FSQL;
+ Open;
+ end;
+end;
+
+end.
+
diff --git a/official/2.20/Packages/Connectors/UCMidasConn/UCMidasConnReg.pas b/official/2.20/Packages/Connectors/UCMidasConn/UCMidasConnReg.pas
new file mode 100644
index 0000000..cb9a254
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCMidasConn/UCMidasConnReg.pas
@@ -0,0 +1,74 @@
+unit UCMidasConnReg;
+
+interface
+
+{$I '..\..\Source\UserControl.inc'}
+
+uses
+ Classes,
+ DesignEditors,
+ DesignIntf,
+ TypInfo;
+
+type
+ TUCProviderNameProperty = class(TStringProperty)
+ function GetAttributes: TPropertyAttributes; override;
+ procedure GetValues(Proc: TGetStrProc); override;
+ end;
+
+procedure Register;
+
+implementation
+
+uses
+ Midas,
+ UCMidasConn,
+ Variants;
+
+procedure Register;
+begin
+ RegisterComponents('UC Connectors', [TUCMidasConn]);
+ RegisterPropertyEditor(TypeInfo(String), TUCMidasConn, 'ProviderName', TUCProviderNameProperty);
+end;
+
+{ TUCProviderNameProperty }
+
+function TUCProviderNameProperty.GetAttributes: TPropertyAttributes;
+begin
+ Result := [paValueList];
+end;
+
+procedure TUCProviderNameProperty.GetValues(Proc: TGetStrProc);
+var
+ Componente: TComponent;
+ Lista: variant;
+ I: Integer;
+begin
+ Componente := TComponent(GetComponent(0));
+
+ if not Assigned(Componente) then
+ Exit;
+
+ if not (Componente is TUCMidasConn) then
+ Exit;
+
+ if not Assigned(TUCMidasConn(Componente).Connection) then
+ Exit;
+
+ with TUCMidasConn(Componente) do
+ begin
+
+ try
+ Lista := IAppServer(Connection.GetServer).AS_GetProviderNames;
+ except
+ end;
+
+ if VarIsArray(Lista) and (VarArrayDimCount(Lista) = 1) then
+ for I := VarArrayLowBound(Lista, 1) to VarArrayHighBound(Lista, 1) do
+ Proc(Lista[I]);
+
+ end;
+end;
+
+end.
+
diff --git a/official/2.20/Packages/Connectors/UCMidasConn/pckUCMidasConn.bdsproj b/official/2.20/Packages/Connectors/UCMidasConn/pckUCMidasConn.bdsproj
new file mode 100644
index 0000000..63b94d1
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCMidasConn/pckUCMidasConn.bdsproj
@@ -0,0 +1,495 @@
+
+
+
+
+
+
+
+
+
+
+
+ pckUCMidasConn.dpk
+
+
+ 7.0
+
+
+ 8
+ 0
+ 1
+ 1
+ 0
+ 0
+ 1
+ 1
+ 1
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ True
+ True
+ WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+
+ False
+
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ False
+ False
+ False
+ True
+ True
+ True
+ True
+ True
+ True
+
+
+
+ 3
+ 0
+ False
+ 1
+ False
+ False
+ False
+ 16384
+ 1048576
+ 4194304
+ User Control Midas Connector
+
+
+
+ ..\..\..\Lib\D10
+ ..\..\..\Lib\D10
+ ..\..\..\Lib\D10
+ ..\..\..\Lib\D10
+
+
+
+ False
+
+
+
+
+
+ False
+
+
+ True
+ False
+
+
+
+ $00000000
+ C:\Arquivos de programas\Borland\Delphi7\Bin\
+
+
+ True
+ False
+ 1
+ 0
+ 0
+ 0
+ False
+ False
+ False
+ False
+ False
+ 1046
+ 1252
+
+
+
+
+ 1.0.0.0
+
+
+
+
+
+ 1.0.0.0
+
+
+ TeeChart Components
+ JVCL BDE Components
+
+
+
+
diff --git a/official/2.20/Packages/Connectors/UCMidasConn/pckUCMidasConn.cfg b/official/2.20/Packages/Connectors/UCMidasConn/pckUCMidasConn.cfg
new file mode 100644
index 0000000..5a54e49
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCMidasConn/pckUCMidasConn.cfg
@@ -0,0 +1,44 @@
+-$A8
+-$B-
+-$C+
+-$D+
+-$E-
+-$F-
+-$G+
+-$H+
+-$I+
+-$J-
+-$K-
+-$L+
+-$M-
+-$N+
+-$O+
+-$P+
+-$Q-
+-$R-
+-$S-
+-$T-
+-$U-
+-$V+
+-$W-
+-$X+
+-$YD
+-$Z1
+-cg
+-AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+-H+
+-W+
+-M
+-$M16384,1048576
+-K$00400000
+-N0"C:\WINDOWS\Temp"
+-LE"D:\Documentos\Borland Studio Projects\Bpl"
+-LN"D:\Documentos\Borland Studio Projects\Bpl"
+-U";C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib"
+-O";C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib"
+-I";C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib"
+-R";C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib"
+-Z
+-w-UNSAFE_TYPE
+-w-UNSAFE_CODE
+-w-UNSAFE_CAST
diff --git a/official/2.20/Packages/Connectors/UCMidasConn/pckUCMidasConn.dof b/official/2.20/Packages/Connectors/UCMidasConn/pckUCMidasConn.dof
new file mode 100644
index 0000000..43de243
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCMidasConn/pckUCMidasConn.dof
@@ -0,0 +1,139 @@
+[FileVersion]
+Version=7.0
+[Compiler]
+A=8
+B=0
+C=1
+D=1
+E=0
+F=0
+G=1
+H=1
+I=1
+J=0
+K=0
+L=1
+M=0
+N=1
+O=1
+P=1
+Q=0
+R=0
+S=0
+T=0
+U=0
+V=1
+W=0
+X=1
+Y=1
+Z=1
+ShowHints=1
+ShowWarnings=1
+UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+NamespacePrefix=
+SymbolDeprecated=1
+SymbolLibrary=1
+SymbolPlatform=1
+UnitLibrary=1
+UnitPlatform=1
+UnitDeprecated=1
+HResultCompat=1
+HidingMember=1
+HiddenVirtual=1
+Garbage=1
+BoundsError=1
+ZeroNilCompat=1
+StringConstTruncated=1
+ForLoopVarVarPar=1
+TypedConstVarPar=1
+AsgToTypedConst=1
+CaseLabelRange=1
+ForVariable=1
+ConstructingAbstract=1
+ComparisonFalse=1
+ComparisonTrue=1
+ComparingSignedUnsigned=1
+CombiningSignedUnsigned=1
+UnsupportedConstruct=1
+FileOpen=1
+FileOpenUnitSrc=1
+BadGlobalSymbol=1
+DuplicateConstructorDestructor=1
+InvalidDirective=1
+PackageNoLink=1
+PackageThreadVar=1
+ImplicitImport=1
+HPPEMITIgnored=1
+NoRetVal=1
+UseBeforeDef=1
+ForLoopVarUndef=1
+UnitNameMismatch=1
+NoCFGFileFound=1
+MessageDirective=1
+ImplicitVariants=1
+UnicodeToLocale=1
+LocaleToUnicode=1
+ImagebaseMultiple=1
+SuspiciousTypecast=1
+PrivatePropAccessor=1
+UnsafeType=0
+UnsafeCode=0
+UnsafeCast=0
+[Linker]
+MapFile=0
+OutputObjs=0
+ConsoleApp=1
+DebugInfo=0
+RemoteSymbols=0
+MinStackSize=16384
+MaxStackSize=1048576
+ImageBase=4194304
+ExeDescription=User Control Midas Connector
+[Directories]
+OutputDir=
+UnitOutputDir=
+PackageDLLOutputDir=
+PackageDCPOutputDir=
+SearchPath=
+Packages=vcl;rtl;vclx;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;indy;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;visualclx;visualdbclx;vclactnband;vclshlctrls;IntrawebDB_50_70;Intraweb_50_70;Rave50CLX;Rave50VCL;dclOfficeXP;RCLMDO70;IndyCore70;IndySystem70;IndyProtocols70;TeeUI77;Tee77;TeeDB77;TeeLanguage77;TeePro77;TeeGL77;TeeQR77;frx7;frxADO7;frxBDE7;frxDB7;frxDBX7;frxe7;frxIBX7;frxTee7;fs7;fsADO7;fsBDE7;fsDB7;fsIBX7;fsTee7
+Conditionals=
+DebugSourceDirs=
+UsePackages=0
+[Parameters]
+RunParams=
+HostApplication=
+Launcher=
+UseLauncher=0
+DebugCWD=
+[Language]
+ActiveLang=
+ProjectLang=
+RootDir=C:\Arquivos de programas\Borland\Delphi7\Bin\
+[Version Info]
+IncludeVerInfo=1
+AutoIncBuild=0
+MajorVer=1
+MinorVer=0
+Release=0
+Build=0
+Debug=0
+PreRelease=0
+Special=0
+Private=0
+DLL=0
+Locale=1046
+CodePage=1252
+[Version Info Keys]
+CompanyName=
+FileDescription=
+FileVersion=1.0.0.0
+InternalName=
+LegalCopyright=
+LegalTrademarks=
+OriginalFilename=
+ProductName=
+ProductVersion=1.0.0.0
+Comments=
+[Excluded Packages]
+c:\arquivos de programas\borland\delphi7\Bin\dcltee70.bpl=TeeChart Components
+c:\arquivos de programas\borland\delphi7\Bin\dcldss70.bpl=Borland Decision Cube Components
diff --git a/official/2.20/Packages/Connectors/UCMidasConn/pckUCMidasConn.dpk b/official/2.20/Packages/Connectors/UCMidasConn/pckUCMidasConn.dpk
new file mode 100644
index 0000000..adaef7f
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCMidasConn/pckUCMidasConn.dpk
@@ -0,0 +1,39 @@
+package pckUCMidasConn;
+
+{$R *.res}
+{$ALIGN 8}
+{$ASSERTIONS ON}
+{$BOOLEVAL OFF}
+{$DEBUGINFO ON}
+{$EXTENDEDSYNTAX ON}
+{$IMPORTEDDATA ON}
+{$IOCHECKS ON}
+{$LOCALSYMBOLS ON}
+{$LONGSTRINGS ON}
+{$OPENSTRINGS ON}
+{$OPTIMIZATION ON}
+{$OVERFLOWCHECKS OFF}
+{$RANGECHECKS OFF}
+{$REFERENCEINFO ON}
+{$SAFEDIVIDE OFF}
+{$STACKFRAMES OFF}
+{$TYPEDADDRESS OFF}
+{$VARSTRINGCHECKS ON}
+{$WRITEABLECONST OFF}
+{$MINENUMSIZE 1}
+{$IMAGEBASE $400000}
+{$DESCRIPTION 'User Control Midas Connector'}
+{$IMPLICITBUILD OFF}
+
+requires
+ designide,
+ dbrtl,
+ dsnap,
+ rtl,
+ pckUCDataConnector;
+
+contains
+ UCMidasConn in 'UCMidasConn.pas',
+ UCMidasConnReg in 'UCMidasConnReg.pas';
+
+end.
diff --git a/official/2.20/Packages/Connectors/UCMidasConn/pckUCMidasConn.dproj b/official/2.20/Packages/Connectors/UCMidasConn/pckUCMidasConn.dproj
new file mode 100644
index 0000000..63902d7
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCMidasConn/pckUCMidasConn.dproj
@@ -0,0 +1,108 @@
+
+
+ {8fed7c75-8e0d-4aa3-a33b-65582db4fefb}
+ pckUCMidasConn.dpk
+ Debug
+ AnyCPU
+ DCC32
+ C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\pckUCMidasConn.bpl
+
+
+ 7.0
+ False
+ False
+ 0
+ C:\WINDOWS\Temp
+ C:\WINDOWS\Temp
+ C:\WINDOWS\Temp
+ ;C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib
+ ;C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib
+ ;C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib
+ ;C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib
+ RELEASE
+
+
+ 7.0
+ C:\WINDOWS\Temp
+ C:\WINDOWS\Temp
+ C:\WINDOWS\Temp
+ ;C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib
+ ;C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib
+ ;C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib
+ ;C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib
+
+
+ Delphi.Personality
+ Package
+
+
+ False
+ True
+ False
+
+
+ User Control Midas Connector
+ False
+ False
+ False
+
+
+ C:\Arquivos de programas\Borland\Delphi7\Bin\
+
+
+ True
+ False
+ 1
+ 0
+ 0
+ 0
+ False
+ False
+ False
+ False
+ False
+ 1046
+ 1252
+
+
+
+
+ 1.0.0.0
+
+
+
+
+
+ 1.0.0.0
+
+
+
+
+
+
+
+
+
+ TeeChart Components
+ JVCL BDE Components
+
+
+ pckUCMidasConn.dpk
+
+
+
+
+
+
+ MainSource
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/official/2.20/Packages/Connectors/UCMidasConn/pckUCMidasConn.drc b/official/2.20/Packages/Connectors/UCMidasConn/pckUCMidasConn.drc
new file mode 100644
index 0000000..7642ac9
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCMidasConn/pckUCMidasConn.drc
@@ -0,0 +1,14 @@
+/* VER180
+ Generated by the Borland Delphi Pascal Compiler
+ because -GD or --drc was supplied to the compiler.
+
+ This file contains compiler-generated resources that
+ were bound to the executable.
+ If this file is empty, then no compiler-generated
+ resources were bound to the produced executable.
+*/
+
+STRINGTABLE
+BEGIN
+END
+
diff --git a/official/2.20/Packages/Connectors/UCMidasConn/pckUCMidasConn.res b/official/2.20/Packages/Connectors/UCMidasConn/pckUCMidasConn.res
new file mode 100644
index 0000000..a3a102a
Binary files /dev/null and b/official/2.20/Packages/Connectors/UCMidasConn/pckUCMidasConn.res differ
diff --git a/official/2.20/Packages/Connectors/UCMyDACConn/UCMyDACConn.pas b/official/2.20/Packages/Connectors/UCMyDACConn/UCMyDACConn.pas
new file mode 100644
index 0000000..bea3aae
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCMyDACConn/UCMyDACConn.pas
@@ -0,0 +1,106 @@
+{-----------------------------------------------------------------------------
+ Unit Name: UCMyDACConn
+ Author: QmD
+ Date: 22-nov-2004
+ Purpose: MyDAC Support
+
+ registered in UCMyDACReg.pas
+-----------------------------------------------------------------------------}
+
+unit UCMyDACConn;
+
+interface
+
+uses
+ SysUtils, Classes, UCBase, DB, DBAccess, MyAccess, MemDS;
+
+type
+ TUCMyDACConn = class(TUCDataConn)
+ private
+ FConnection : TMyConnection;
+ procedure SetFConnection(Value : TMyConnection);
+ protected
+ procedure Notification(AComponent: TComponent; Operation: TOperation);override;
+ public
+ function GetDBObjectName : String; override;
+ function GetTransObjectName : String; override;
+ function UCFindDataConnection : Boolean; override;
+ function UCFindTable(const Tablename : String) : Boolean; override;
+ function UCGetSQLDataset(FSQL : String) : TDataset;override;
+ procedure UCExecSQL(FSQL: String);override;
+ published
+ property Connection : TMyConnection read FConnection write SetFConnection;
+ end;
+
+implementation
+
+{ TUCMyDACConn }
+
+procedure TUCMyDACConn.SetFConnection(Value: TMyConnection);
+begin
+ if FConnection <> Value then FConnection := Value;
+ if FConnection <> nil then FConnection.FreeNotification(Self);
+end;
+
+procedure TUCMyDACConn.Notification(AComponent: TComponent;
+ Operation: TOperation);
+begin
+ if (Operation = opRemove) and (AComponent = FConnection) then
+ begin
+ FConnection := nil;
+ end;
+ inherited Notification(AComponent, Operation);
+end;
+
+function TUCMyDACConn.UCFindTable(const TableName: String): Boolean;
+var
+ TempList : TStringList;
+begin
+ try
+ TempList := TStringList.Create;
+ FConnection.GetTableNames(TempList);
+ TempList.Text := UpperCase(TempList.Text);
+ Result := TempList.IndexOf(UpperCase(TableName)) > -1;
+ finally
+ FreeAndNil(TempList);
+ end;
+end;
+
+function TUCMyDACConn.UCFindDataConnection: Boolean;
+begin
+ Result := Assigned(FConnection) and (FConnection.Connected);
+end;
+
+function TUCMyDACConn.GetDBObjectName: String;
+begin
+ if Assigned(FConnection) then
+ begin
+ if Owner = FConnection.Owner then Result := FConnection.Name
+ else begin
+ Result := FConnection.Owner.Name+'.'+FConnection.Name;
+ end;
+ end else Result := '';
+end;
+
+function TUCMyDACConn.GetTransObjectName: String;
+begin
+ Result := '';
+end;
+
+procedure TUCMyDACConn.UCExecSQL(FSQL: String);
+begin
+ FConnection.ExecSQL(FSQL,[]);
+end;
+
+function TUCMyDACConn.UCGetSQLDataset(FSQL: String): TDataset;
+begin
+ Result := TMyQuery.Create(nil);
+ with Result as TMyQuery do
+ begin
+ Connection := FConnection;
+ SQL.Text := FSQL;
+ Open;
+ end;
+end;
+
+end.
diff --git a/official/2.20/Packages/Connectors/UCMyDACConn/UCMyDACConnReg.pas b/official/2.20/Packages/Connectors/UCMyDACConn/UCMyDACConnReg.pas
new file mode 100644
index 0000000..e7f5afb
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCMyDACConn/UCMyDACConnReg.pas
@@ -0,0 +1,17 @@
+unit UCMyDACReg;
+
+interface
+
+uses Classes;
+
+procedure Register;
+
+implementation
+
+uses UCMyDACConn;
+
+procedure Register;
+begin
+ RegisterComponents('UC Connectors', [TUCMyDACConn]);
+end;
+end.
diff --git a/official/2.20/Packages/Connectors/UCMySQLDACConn/UCMySQLDACConn.pas b/official/2.20/Packages/Connectors/UCMySQLDACConn/UCMySQLDACConn.pas
new file mode 100644
index 0000000..02050f0
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCMySQLDACConn/UCMySQLDACConn.pas
@@ -0,0 +1,106 @@
+{-----------------------------------------------------------------------------
+ Unit Name: UCMySQLDACConn
+ Author: QmD
+ Date: 22-nov-2004
+ Purpose: MySQLDAC Support
+
+ registered in UCMySQLDACReg.pas
+-----------------------------------------------------------------------------}
+
+unit UCMySQLDACConn;
+
+interface
+
+uses
+ SysUtils, Classes, UCBase, DB, mySQLDbTables;
+
+type
+ TUCMySQLDACConn = class(TUCDataConn)
+ private
+ FConnection : TmySQLDatabase;
+ procedure SetFConnection(Value : TmySQLDatabase);
+ protected
+ procedure Notification(AComponent: TComponent; Operation: TOperation);override;
+ public
+ function GetDBObjectName : String; override;
+ function GetTransObjectName : String; override;
+ function UCFindDataConnection : Boolean; override;
+ function UCFindTable(const Tablename : String) : Boolean; override;
+ function UCGetSQLDataset(FSQL : String) : TDataset;override;
+ procedure UCExecSQL(FSQL: String);override;
+ published
+ property Connection : TmySQLDatabase read FConnection write SetFConnection;
+ end;
+
+implementation
+
+{ TUCMySQLDACConn }
+
+procedure TUCMySQLDACConn.SetFConnection(Value: TmySQLDatabase);
+begin
+ if FConnection <> Value then FConnection := Value;
+ if FConnection <> nil then FConnection.FreeNotification(Self);
+end;
+
+procedure TUCMySQLDACConn.Notification(AComponent: TComponent;
+ Operation: TOperation);
+begin
+ if (Operation = opRemove) and (AComponent = FConnection) then
+ begin
+ FConnection := nil;
+ end;
+ inherited Notification(AComponent, Operation);
+end;
+
+function TUCMySQLDACConn.UCFindTable(const TableName: String): Boolean;
+var
+ TempList : TStringList;
+begin
+ try
+ TempList := TStringList.Create;
+ FConnection.GetTableNames(TableName, TempList);
+ TempList.Text := UpperCase(TempList.Text);
+ Result := TempList.IndexOf(UpperCase(TableName)) > -1;
+ finally
+ FreeAndNil(TempList);
+ end;
+end;
+
+function TUCMySQLDACConn.UCFindDataConnection: Boolean;
+begin
+ Result := Assigned(FConnection) and (FConnection.Connected);
+end;
+
+function TUCMySQLDACConn.GetDBObjectName: String;
+begin
+ if Assigned(FConnection) then
+ begin
+ if Owner = FConnection.Owner then Result := FConnection.Name
+ else begin
+ Result := FConnection.Owner.Name+'.'+FConnection.Name;
+ end;
+ end else Result := '';
+end;
+
+function TUCMySQLDACConn.GetTransObjectName: String;
+begin
+ Result := '';
+end;
+
+procedure TUCMySQLDACConn.UCExecSQL(FSQL: String);
+begin
+ FConnection.Execute(FSQL);
+end;
+
+function TUCMySQLDACConn.UCGetSQLDataset(FSQL: String): TDataset;
+begin
+ Result := TmySQLQuery.Create(nil);
+ with Result as TmySQLQuery do
+ begin
+ Database := FConnection;
+ SQL.Text := FSQL;
+ Open;
+ end;
+end;
+
+end.
diff --git a/official/2.20/Packages/Connectors/UCMySQLDACConn/UCMySQLDACConnReg.pas b/official/2.20/Packages/Connectors/UCMySQLDACConn/UCMySQLDACConnReg.pas
new file mode 100644
index 0000000..c740a4e
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCMySQLDACConn/UCMySQLDACConnReg.pas
@@ -0,0 +1,17 @@
+unit UCMySQLDACReg;
+
+interface
+
+uses Classes;
+
+procedure Register;
+
+implementation
+
+uses UCMySQLDACConn;
+
+procedure Register;
+begin
+ RegisterComponents('UC Connectors', [TUCMySQLDACConn]);
+end;
+end.
diff --git a/official/2.20/Packages/Connectors/UCUIBConn/UCUIBConn.pas b/official/2.20/Packages/Connectors/UCUIBConn/UCUIBConn.pas
new file mode 100644
index 0000000..240e1ea
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCUIBConn/UCUIBConn.pas
@@ -0,0 +1,146 @@
+unit UCUIBConn;
+
+interface
+
+uses
+ Classes,
+ DB,
+ jvuib,
+ jvuibdataset,
+ jvuibmetadata,
+ UCDataConnector;
+
+type
+ TUCUIBConn = class(TUCDataConnector)
+ private
+ FConnection: TJvUIBDataBase;
+ FTransaction: TJvUIBTransaction;
+ procedure SetConnection(const Value: TJvUIBDataBase);
+ procedure SetTransaction(const Value: TJvUIBTransaction);
+ protected
+ procedure Notification(AComponent: TComponent; Operation: TOperation); override;
+ public
+ procedure UCExecSQL(FSQL: String); override;
+ function UCGetSQLDataset(FSQL: String): TDataset; override;
+ function UCFindTable(const Tablename: String): Boolean; override;
+ function UCFindDataConnection: Boolean; override;
+ function GetDBObjectName: String; override;
+ function GetTransObjectName: String; override;
+ published
+ property Connection: TJvUIBDataBase read FConnection write SetConnection;
+ property Transaction: TJvUIBTransaction read FTransaction write SetTransaction;
+ end;
+
+implementation
+
+uses
+ SysUtils;
+
+{ TUCUIBConn }
+
+function TUCUIBConn.GetDBObjectName: String;
+begin
+ if Assigned(FConnection) then
+ begin
+ if Owner = FConnection.Owner then
+ Result := FConnection.Name
+ else
+ begin
+ Result := FConnection.Owner.Name + '.' + FConnection.Name;
+ end;
+ end
+ else
+ Result := '';
+end;
+
+function TUCUIBConn.GetTransObjectName: String;
+begin
+ if Assigned(FTransaction) then
+ begin
+ if Owner = FTransaction.Owner then
+ Result := FTransaction.Name
+ else
+ begin
+ Result := FTransaction.Owner.Name + '.' + FTransaction.Name;
+ end;
+ end
+ else
+ Result := '';
+end;
+
+procedure TUCUIBConn.Notification(AComponent: TComponent; Operation: TOperation);
+begin
+ if (Operation = opRemove) and (AComponent = FConnection) then
+ FConnection := nil;
+ if (Operation = opRemove) and (AComponent = FTransaction) then
+ FTransaction := nil;
+ inherited Notification(AComponent, Operation);
+end;
+
+procedure TUCUIBConn.SetConnection(const Value: TJvUIBDataBase);
+begin
+ if FConnection <> Value then
+ FConnection := Value;
+ if FConnection <> nil then
+ FConnection.FreeNotification(Self);
+end;
+
+procedure TUCUIBConn.SetTransaction(const Value: TJvUIBTransaction);
+begin
+ FTransaction := Value;
+ if Value <> nil then
+ Value.FreeNotification(Self);
+end;
+
+procedure TUCUIBConn.UCExecSQL(FSQL: String);
+var
+ Query: TJvUIBQuery;
+begin
+ try
+ Query := TJvUIBQuery.Create(nil);
+ Query.DataBase := FConnection;
+ Query.Transaction := FTransaction;
+ Query.SQL.Text := FSQL;
+ FTransaction.StartTransaction;
+ Query.ExecSQL;
+ FTransaction.Commit;
+ finally
+ SysUtils.FreeAndNil(Query);
+ end;
+end;
+
+function TUCUIBConn.UCFindDataConnection: Boolean;
+begin
+ Result := Assigned(FConnection) and (FConnection.Connected);
+end;
+
+function TUCUIBConn.UCFindTable(const Tablename: String): Boolean;
+var
+ MetaData: TMetaDataBase;
+ Table: TMetaTable;
+begin
+ Result := False;
+ MetaData := TMetaDataBase(FConnection.GetMetadata(True));
+ Table := MetaData.FindTableName(Tablename);
+ if Assigned(Table) then
+ Result := True;
+end;
+
+function TUCUIBConn.UCGetSQLDataset(FSQL: String): TDataset;
+begin
+ try
+ Result := TJvUIBDataSet.Create(nil);
+ with (Result as TJvUIBDataSet) do
+ begin
+ DataBase := FConnection;
+ Transaction := FTransaction;
+ SQL.Text := FSQL;
+ Open;
+ end;
+ except
+ SysUtils.FreeAndNil(Result);
+ end;
+end;
+
+end.
+
diff --git a/official/2.20/Packages/Connectors/UCUIBConn/UCUIBConnReg.pas b/official/2.20/Packages/Connectors/UCUIBConn/UCUIBConnReg.pas
new file mode 100644
index 0000000..c706578
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCUIBConn/UCUIBConnReg.pas
@@ -0,0 +1,21 @@
+unit UCUIBConnReg;
+
+interface
+
+uses
+ Classes;
+
+procedure Register;
+
+implementation
+
+uses
+ UCUIBConn;
+
+procedure Register;
+begin
+ RegisterComponents('UC Connectors', [TUCUIBConn]);
+end;
+
+end.
+
diff --git a/official/2.20/Packages/Connectors/UCUIBConn/pckUCUIBConn.bdsproj b/official/2.20/Packages/Connectors/UCUIBConn/pckUCUIBConn.bdsproj
new file mode 100644
index 0000000..47c867d
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCUIBConn/pckUCUIBConn.bdsproj
@@ -0,0 +1,182 @@
+
+
+
+
+
+
+
+
+
+
+
+ pckUCUIBConn.dpk
+
+
+ 7.0
+
+
+ 8
+ 0
+ 1
+ 1
+ 0
+ 0
+ 1
+ 1
+ 1
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ True
+ True
+ WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+
+ False
+
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ False
+ False
+ False
+ True
+ True
+ True
+ True
+ True
+ True
+
+
+
+ 0
+ 0
+ False
+ 1
+ False
+ False
+ False
+ 16384
+ 1048576
+ 4194304
+ User Control UIB Connector
+
+
+
+
+
+
+
+
+
+
+ False
+
+
+
+
+
+ False
+
+
+ True
+ False
+
+
+
+ $00000000
+
+
+
+ True
+ False
+ 1
+ 0
+ 0
+ 0
+ False
+ False
+ False
+ False
+ False
+ 1046
+ 1252
+
+
+
+
+ 1.0.0.0
+
+
+
+
+
+ 1.0.0.0
+
+
+
+
+ TeeChart Components
+ JVCL BDE Components
+
+
+
+
+
diff --git a/official/2.20/Packages/Connectors/UCUIBConn/pckUCUIBConn.cfg b/official/2.20/Packages/Connectors/UCUIBConn/pckUCUIBConn.cfg
new file mode 100644
index 0000000..1d52980
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCUIBConn/pckUCUIBConn.cfg
@@ -0,0 +1,38 @@
+-$A8
+-$B-
+-$C+
+-$D+
+-$E-
+-$F-
+-$G+
+-$H+
+-$I+
+-$J-
+-$K-
+-$L+
+-$M-
+-$N+
+-$O+
+-$P+
+-$Q-
+-$R-
+-$S-
+-$T-
+-$U-
+-$V+
+-$W-
+-$X+
+-$YD
+-$Z1
+-cg
+-AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+-H+
+-W+
+-M
+-$M16384,1048576
+-K$00400000
+-LE"D:\Documentos\Borland Studio Projects\Bpl"
+-LN"D:\Documentos\Borland Studio Projects\Bpl"
+-w-UNSAFE_TYPE
+-w-UNSAFE_CODE
+-w-UNSAFE_CAST
diff --git a/official/2.20/Packages/Connectors/UCUIBConn/pckUCUIBConn.dpk b/official/2.20/Packages/Connectors/UCUIBConn/pckUCUIBConn.dpk
new file mode 100644
index 0000000..2d94322
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCUIBConn/pckUCUIBConn.dpk
@@ -0,0 +1,43 @@
+package pckUCUIBConn;
+
+{$R *.res}
+{$ALIGN 8}
+{$ASSERTIONS ON}
+{$BOOLEVAL OFF}
+{$DEBUGINFO ON}
+{$EXTENDEDSYNTAX ON}
+{$IMPORTEDDATA ON}
+{$IOCHECKS ON}
+{$LOCALSYMBOLS ON}
+{$LONGSTRINGS ON}
+{$OPENSTRINGS ON}
+{$OPTIMIZATION ON}
+{$OVERFLOWCHECKS OFF}
+{$RANGECHECKS OFF}
+{$REFERENCEINFO ON}
+{$SAFEDIVIDE OFF}
+{$STACKFRAMES OFF}
+{$TYPEDADDRESS OFF}
+{$VARSTRINGCHECKS ON}
+{$WRITEABLECONST OFF}
+{$MINENUMSIZE 1}
+{$IMAGEBASE $400000}
+{$DESCRIPTION 'User Control UIB Connector'}
+{$IMPLICITBUILD ON}
+
+requires
+ rtl,
+ vcl,
+ vclactnband,
+ dbrtl,
+ vcldb,
+ pckUCDataConnector,
+ JvCoreD10R,
+ JvUIBD10R;
+
+contains
+ UCUIBConn in 'UCUIBConn.pas',
+ UCUIBConnReg in 'UCUIBConnReg.pas';
+
+end.
+
diff --git a/official/2.20/Packages/Connectors/UCUIBConn/pckUCUIBConn.res b/official/2.20/Packages/Connectors/UCUIBConn/pckUCUIBConn.res
new file mode 100644
index 0000000..fd84fb8
Binary files /dev/null and b/official/2.20/Packages/Connectors/UCUIBConn/pckUCUIBConn.res differ
diff --git a/official/2.20/Packages/Connectors/UCZeosConn/UCZEOSConn.pas b/official/2.20/Packages/Connectors/UCZeosConn/UCZEOSConn.pas
new file mode 100644
index 0000000..22a4fd6
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCZeosConn/UCZEOSConn.pas
@@ -0,0 +1,127 @@
+{-----------------------------------------------------------------------------
+ Unit Name: UCZEOSConn
+ Author: QmD
+ Date: 08-nov-2004
+ Purpose: ZEOS 6 Support
+
+ registered in UCZEOSReg.pas
+-----------------------------------------------------------------------------}
+
+unit UCZEOSConn;
+
+interface
+
+{$I 'UserControl.inc'}
+
+uses
+ Classes,
+ DB,
+ SysUtils,
+ UCDataConnector,
+ ZConnection;
+
+type
+ TUCZEOSConn = class(TUCDataConnector)
+ private
+ FConnection: TZConnection;
+ procedure SetFConnection(const Value: TZConnection);
+ protected
+ procedure Notification(AComponent: TComponent; Operation: TOperation); override;
+ public
+ function GetDBObjectName: String; override;
+ function GetTransObjectName: String; override;
+ function UCFindDataConnection: Boolean; override;
+ function UCFindTable(const Tablename: String): Boolean; override;
+ function UCGetSQLDataset(FSQL: String): TDataset; override;
+ procedure UCExecSQL(FSQL: String); override;
+ published
+ property Connection: TZConnection read FConnection write SetFConnection;
+ end;
+
+implementation
+
+uses
+ ZDataset, Dialogs;
+
+{ TUCZEOSConn }
+
+procedure TUCZEOSConn.SetFConnection(const Value: TZConnection);
+begin
+ if FConnection <> Value then
+ FConnection := Value;
+ if FConnection <> nil then
+ FConnection.FreeNotification(Self);
+end;
+
+procedure TUCZEOSConn.Notification(AComponent: TComponent; Operation: TOperation);
+begin
+ if (Operation = opRemove) and (AComponent = FConnection) then
+ FConnection := nil;
+ inherited Notification(AComponent, Operation);
+end;
+
+function TUCZEOSConn.UCFindTable(const TableName: String): Boolean;
+var
+ TempList: TStringList;
+begin
+ try
+ TempList := TStringList.Create;
+ FConnection.GetTableNames('', TempList);
+ TempList.Text := UpperCase(TempList.Text);
+ Result := TempList.IndexOf(UpperCase(TableName)) > -1;
+ finally
+ FreeAndNil(TempList);
+ end;
+end;
+
+function TUCZEOSConn.UCFindDataConnection: Boolean;
+begin
+ Result := Assigned(FConnection) and (FConnection.Connected);
+end;
+
+function TUCZEOSConn.GetDBObjectName: String;
+begin
+ if Assigned(FConnection) then
+ begin
+ if Owner = FConnection.Owner then
+ Result := FConnection.Name
+ else
+ begin
+ Result := FConnection.Owner.Name + '.' + FConnection.Name;
+ end;
+ end
+ else
+ Result := '';
+end;
+
+function TUCZEOSConn.GetTransObjectName: String;
+begin
+ Result := '';
+end;
+
+procedure TUCZEOSConn.UCExecSQL(FSQL: String);
+begin
+ with TZQuery.Create(nil) do
+ begin
+ Connection := FConnection;
+ SQL.Text := FSQL;
+ ExecSQL;
+ If FConnection.AutoCommit = False then // By vicente barros leonel
+ FConnection.Commit;
+ Free;
+ end;
+end;
+
+function TUCZEOSConn.UCGetSQLDataset(FSQL: String): TDataset;
+begin
+ Result := TZQuery.Create(nil);
+ with Result as TZQuery do
+ begin
+ Connection := FConnection;
+ SQL.Text := FSQL;
+ Open;
+ end;
+end;
+
+end.
+
diff --git a/official/2.20/Packages/Connectors/UCZeosConn/UCZEOSConnReg.pas b/official/2.20/Packages/Connectors/UCZeosConn/UCZEOSConnReg.pas
new file mode 100644
index 0000000..00a0d31
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCZeosConn/UCZEOSConnReg.pas
@@ -0,0 +1,17 @@
+unit UCZEOSConnReg;
+
+interface
+
+uses Classes;
+
+procedure Register;
+
+implementation
+
+uses UCZEOSConn;
+
+procedure Register;
+begin
+ RegisterComponents('UC Connectors', [TUCZEOSConn]);
+end;
+end.
diff --git a/official/2.20/Packages/Connectors/UCZeosConn/pckZeosConn.bdsproj b/official/2.20/Packages/Connectors/UCZeosConn/pckZeosConn.bdsproj
new file mode 100644
index 0000000..8dae755
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCZeosConn/pckZeosConn.bdsproj
@@ -0,0 +1,175 @@
+
+
+
+
+
+
+
+
+
+
+
+ pckZeosConn.dpk
+
+
+ 7.0
+
+
+ 8
+ 0
+ 1
+ 1
+ 0
+ 0
+ 1
+ 1
+ 1
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ True
+ True
+ WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+
+ False
+
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ False
+ False
+ False
+ True
+ True
+ True
+ True
+ True
+ True
+
+
+
+ 0
+ 0
+ False
+ 1
+ False
+ False
+ False
+ 16384
+ 1048576
+ 4194304
+ User Control Zeos Connector
+
+
+
+ C:\WINDOWS\Temp
+
+
+ ;C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib
+
+
+
+ False
+
+
+
+
+
+ False
+
+
+ True
+ False
+
+
+
+ $00000000
+ C:\Arquivos de programas\Borland\Delphi7\Bin\
+
+
+ True
+ False
+ 1
+ 0
+ 0
+ 0
+ False
+ False
+ False
+ False
+ False
+ 1046
+ 1252
+
+
+
+
+ 1.0.0.0
+
+
+
+
+
+ 1.0.0.0
+
+
+
+
diff --git a/official/2.20/Packages/Connectors/UCZeosConn/pckZeosConn.cfg b/official/2.20/Packages/Connectors/UCZeosConn/pckZeosConn.cfg
new file mode 100644
index 0000000..5a54e49
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCZeosConn/pckZeosConn.cfg
@@ -0,0 +1,44 @@
+-$A8
+-$B-
+-$C+
+-$D+
+-$E-
+-$F-
+-$G+
+-$H+
+-$I+
+-$J-
+-$K-
+-$L+
+-$M-
+-$N+
+-$O+
+-$P+
+-$Q-
+-$R-
+-$S-
+-$T-
+-$U-
+-$V+
+-$W-
+-$X+
+-$YD
+-$Z1
+-cg
+-AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+-H+
+-W+
+-M
+-$M16384,1048576
+-K$00400000
+-N0"C:\WINDOWS\Temp"
+-LE"D:\Documentos\Borland Studio Projects\Bpl"
+-LN"D:\Documentos\Borland Studio Projects\Bpl"
+-U";C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib"
+-O";C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib"
+-I";C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib"
+-R";C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib"
+-Z
+-w-UNSAFE_TYPE
+-w-UNSAFE_CODE
+-w-UNSAFE_CAST
diff --git a/official/2.20/Packages/Connectors/UCZeosConn/pckZeosConn.dpk b/official/2.20/Packages/Connectors/UCZeosConn/pckZeosConn.dpk
new file mode 100644
index 0000000..18ac3d1
--- /dev/null
+++ b/official/2.20/Packages/Connectors/UCZeosConn/pckZeosConn.dpk
@@ -0,0 +1,36 @@
+package pckZeosConn;
+
+{$R *.res}
+{$ALIGN 8}
+{$ASSERTIONS ON}
+{$BOOLEVAL OFF}
+{$DEBUGINFO ON}
+{$EXTENDEDSYNTAX ON}
+{$IMPORTEDDATA ON}
+{$IOCHECKS ON}
+{$LOCALSYMBOLS ON}
+{$LONGSTRINGS ON}
+{$OPENSTRINGS ON}
+{$OPTIMIZATION ON}
+{$OVERFLOWCHECKS OFF}
+{$RANGECHECKS OFF}
+{$REFERENCEINFO ON}
+{$SAFEDIVIDE OFF}
+{$STACKFRAMES OFF}
+{$TYPEDADDRESS OFF}
+{$VARSTRINGCHECKS ON}
+{$WRITEABLECONST OFF}
+{$MINENUMSIZE 1}
+{$IMAGEBASE $400000}
+{$DESCRIPTION 'User Control Zeos Connector'}
+{$IMPLICITBUILD OFF}
+
+requires
+ ZComponent,
+ pckUCDataConnector;
+
+contains
+ UCZEOSConn in 'UCZEOSConn.pas',
+ UCZEOSConnReg in 'UCZEOSConnReg.pas';
+
+end.
diff --git a/official/2.20/Packages/Connectors/UCZeosConn/pckZeosConn.res b/official/2.20/Packages/Connectors/UCZeosConn/pckZeosConn.res
new file mode 100644
index 0000000..a3a102a
Binary files /dev/null and b/official/2.20/Packages/Connectors/UCZeosConn/pckZeosConn.res differ
diff --git a/official/2.20/Packages/D2007.groupproj b/official/2.20/Packages/D2007.groupproj
new file mode 100644
index 0000000..9281129
--- /dev/null
+++ b/official/2.20/Packages/D2007.groupproj
@@ -0,0 +1,58 @@
+
+
+ {1c592c69-53bd-49f1-a789-a4ac64f25b09}
+
+
+
+
+ Default.Personality
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/official/2.20/Packages/pckMD5.bdsproj b/official/2.20/Packages/pckMD5.bdsproj
new file mode 100644
index 0000000..f19fb0b
--- /dev/null
+++ b/official/2.20/Packages/pckMD5.bdsproj
@@ -0,0 +1,496 @@
+
+
+
+
+
+
+
+
+
+
+
+ pckMD5.dpk
+
+
+ 7.0
+
+
+ 8
+ 0
+ 1
+ 1
+ 0
+ 0
+ 1
+ 1
+ 1
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ True
+ True
+ WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+
+ False
+
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ False
+ False
+ False
+ True
+ True
+ True
+ True
+ True
+ True
+
+
+
+ 3
+ 0
+ False
+ 1
+ False
+ False
+ False
+ 16384
+ 1048576
+ 4194304
+ MD5SUM Package
+
+
+
+ ..\Lib\D10
+ ..\Lib\D10
+ ..\Lib\D10
+ ..\Lib\D10
+
+
+
+ False
+
+
+
+
+
+ False
+
+
+ True
+ False
+
+
+
+ $00000000
+
+
+
+ True
+ False
+ 1
+ 0
+ 0
+ 0
+ False
+ False
+ False
+ False
+ False
+ 1046
+ 1252
+
+
+
+
+ 1.0.0.0
+
+
+
+
+
+ 1.0.0.0
+
+
+ TeeChart Components
+ JVCL BDE Components
+
+
+ True
+
+
diff --git a/official/2.20/Packages/pckMD5.cfg b/official/2.20/Packages/pckMD5.cfg
new file mode 100644
index 0000000..1b27aab
--- /dev/null
+++ b/official/2.20/Packages/pckMD5.cfg
@@ -0,0 +1,39 @@
+-$A8
+-$B-
+-$C+
+-$D+
+-$E-
+-$F-
+-$G+
+-$H+
+-$I+
+-$J-
+-$K-
+-$L+
+-$M-
+-$N+
+-$O+
+-$P+
+-$Q-
+-$R-
+-$S-
+-$T-
+-$U-
+-$V+
+-$W-
+-$X+
+-$YD
+-$Z1
+-cg
+-AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+-H+
+-W+
+-M
+-$M16384,1048576
+-K$00400000
+-LE"D:\Documentos\Borland Studio Projects\Bpl"
+-LN"D:\Documentos\Borland Studio Projects\Bpl"
+-Z
+-w-UNSAFE_TYPE
+-w-UNSAFE_CODE
+-w-UNSAFE_CAST
diff --git a/official/2.20/Packages/pckMD5.dof b/official/2.20/Packages/pckMD5.dof
new file mode 100644
index 0000000..6fafe53
--- /dev/null
+++ b/official/2.20/Packages/pckMD5.dof
@@ -0,0 +1,129 @@
+[FileVersion]
+Version=7.0
+[Compiler]
+A=8
+B=0
+C=1
+D=1
+E=0
+F=0
+G=1
+H=1
+I=1
+J=0
+K=0
+L=1
+M=0
+N=1
+O=1
+P=1
+Q=0
+R=0
+S=0
+T=0
+U=0
+V=1
+W=0
+X=1
+Y=1
+Z=1
+ShowHints=1
+ShowWarnings=1
+UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+NamespacePrefix=
+SymbolDeprecated=1
+SymbolLibrary=1
+SymbolPlatform=1
+UnitLibrary=1
+UnitPlatform=1
+UnitDeprecated=1
+HResultCompat=1
+HidingMember=1
+HiddenVirtual=1
+Garbage=1
+BoundsError=1
+ZeroNilCompat=1
+StringConstTruncated=1
+ForLoopVarVarPar=1
+TypedConstVarPar=1
+AsgToTypedConst=1
+CaseLabelRange=1
+ForVariable=1
+ConstructingAbstract=1
+ComparisonFalse=1
+ComparisonTrue=1
+ComparingSignedUnsigned=1
+CombiningSignedUnsigned=1
+UnsupportedConstruct=1
+FileOpen=1
+FileOpenUnitSrc=1
+BadGlobalSymbol=1
+DuplicateConstructorDestructor=1
+InvalidDirective=1
+PackageNoLink=1
+PackageThreadVar=1
+ImplicitImport=1
+HPPEMITIgnored=1
+NoRetVal=1
+UseBeforeDef=1
+ForLoopVarUndef=1
+UnitNameMismatch=1
+NoCFGFileFound=1
+MessageDirective=1
+ImplicitVariants=1
+UnicodeToLocale=1
+LocaleToUnicode=1
+ImagebaseMultiple=1
+SuspiciousTypecast=1
+PrivatePropAccessor=1
+UnsafeType=1
+UnsafeCode=1
+UnsafeCast=1
+[Linker]
+MapFile=0
+OutputObjs=0
+ConsoleApp=1
+DebugInfo=0
+RemoteSymbols=0
+MinStackSize=16384
+MaxStackSize=1048576
+ImageBase=4194304
+ExeDescription=MD5SUM Package
+[Directories]
+OutputDir=
+UnitOutputDir=
+PackageDLLOutputDir=
+PackageDCPOutputDir=
+SearchPath=
+Packages=vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;visualclx;visualdbclx;vclactnband;vclshlctrls;IntrawebDB_50_70;Intraweb_50_70;Rave50CLX;Rave50VCL;dclOfficeXP;Jcl;cxGridVCLD7;cxEditorsVCLD7;cxLibraryVCLD7;cxPageControlVCLD7;dxThemeD7;cxDataD7;cxExtEditorsVCLD7;cxSchedulerVCLD7;JclVcl;JvCoreD7R;JvSystemD7R;JvStdCtrlsD7R;JvAppFrmD7R;JvBandsD7R;JvCmpD7R;JvCryptD7R;JvCtrlsD7R;JvCustomD7R;JvDBD7R;JvDlgsD7R;JvDockingD7R;JvEDID7R;JvGlobusD7R;JvHMID7R;JvInterpreterD7R;JvJansD7R;JvManagedThreadsD7R;JvMMD7R;JvPageCompsD7R;JvPluginD7R;JvPrintPreviewD7R;JvRuntimeDesignD7R;JvUIBD7R;JvValidatorsD7R;JvWizardD7R;JvXPCtrlsD7R;IOCore;IODBX;IOIBX;IOXML;RaizeComponentsVcl;RaizeComponentsVclDb;TeeUI77;Tee77;TeeDB77;TeeGL77;TeeLanguage77;TeePro77;TeeImage77;pckUserControl_RT
+Conditionals=
+DebugSourceDirs=
+UsePackages=0
+[Parameters]
+RunParams=
+HostApplication=
+Launcher=
+UseLauncher=0
+DebugCWD=
+[Language]
+ActiveLang=
+ProjectLang=
+RootDir=C:\Arquivos de programas\Borland\Delphi7\Bin\
+[Version Info]
+IncludeVerInfo=1
+AutoIncBuild=0
+MajorVer=1
+MinorVer=0
+Release=0
+Build=0
+Debug=0
+PreRelease=0
+Special=0
+Private=0
+DLL=0
+Locale=1046
+CodePage=1252
+[Excluded Packages]
+c:\arquivos de programas\borland\delphi7\Bin\dcldss70.bpl=Borland Decision Cube Components
+C:\Arquivos de programas\Borland\Delphi7\Bin\dcltee70.bpl=TeeChart Components
+C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Bin\DclTQR77.bpl=TeeChart 7 for QuickReport
diff --git a/official/2.20/Packages/pckMD5.dpk b/official/2.20/Packages/pckMD5.dpk
new file mode 100644
index 0000000..0c8a0dc
--- /dev/null
+++ b/official/2.20/Packages/pckMD5.dpk
@@ -0,0 +1,35 @@
+package pckMD5;
+
+{$R *.res}
+{$ALIGN 8}
+{$ASSERTIONS ON}
+{$BOOLEVAL OFF}
+{$DEBUGINFO ON}
+{$EXTENDEDSYNTAX ON}
+{$IMPORTEDDATA ON}
+{$IOCHECKS ON}
+{$LOCALSYMBOLS ON}
+{$LONGSTRINGS ON}
+{$OPENSTRINGS ON}
+{$OPTIMIZATION ON}
+{$OVERFLOWCHECKS OFF}
+{$RANGECHECKS OFF}
+{$REFERENCEINFO ON}
+{$SAFEDIVIDE OFF}
+{$STACKFRAMES OFF}
+{$TYPEDADDRESS OFF}
+{$VARSTRINGCHECKS ON}
+{$WRITEABLECONST OFF}
+{$MINENUMSIZE 1}
+{$IMAGEBASE $400000}
+{$DESCRIPTION 'MD5SUM Package'}
+{$IMPLICITBUILD OFF}
+{%TogetherDiagram 'ModelSupport_pckMD5\default.txaPackage'}
+
+requires
+ rtl;
+
+contains
+ md5 in '..\Source\md5.pas';
+
+end.
diff --git a/official/2.20/Packages/pckMD5.dproj b/official/2.20/Packages/pckMD5.dproj
new file mode 100644
index 0000000..0df04a7
--- /dev/null
+++ b/official/2.20/Packages/pckMD5.dproj
@@ -0,0 +1,88 @@
+
+
+ {d2274d98-f9f6-4f51-9617-6c46e56a95d2}
+ pckMD5.dpk
+ Debug
+ AnyCPU
+ DCC32
+ C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\pckMD5.bpl
+
+
+ 7.0
+ False
+ False
+ 0
+ RELEASE
+
+
+ 7.0
+ DEBUG
+
+
+ Delphi.Personality
+ Package
+
+
+ False
+ True
+ False
+
+
+ MD5SUM Package
+ False
+ False
+ False
+
+
+ True
+ False
+ 1
+ 0
+ 0
+ 0
+ False
+ False
+ False
+ False
+ False
+ 1046
+ 1252
+
+
+
+
+ 1.0.0.0
+
+
+
+
+
+ 1.0.0.0
+
+
+
+
+
+
+
+ TeeChart Components
+ JVCL BDE Components
+
+
+ pckMD5.dpk
+
+
+
+
+
+
+ MainSource
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/official/2.20/Packages/pckMD5.drc b/official/2.20/Packages/pckMD5.drc
new file mode 100644
index 0000000..7642ac9
--- /dev/null
+++ b/official/2.20/Packages/pckMD5.drc
@@ -0,0 +1,14 @@
+/* VER180
+ Generated by the Borland Delphi Pascal Compiler
+ because -GD or --drc was supplied to the compiler.
+
+ This file contains compiler-generated resources that
+ were bound to the executable.
+ If this file is empty, then no compiler-generated
+ resources were bound to the produced executable.
+*/
+
+STRINGTABLE
+BEGIN
+END
+
diff --git a/official/2.20/Packages/pckMD5.res b/official/2.20/Packages/pckMD5.res
new file mode 100644
index 0000000..fd84fb8
Binary files /dev/null and b/official/2.20/Packages/pckMD5.res differ
diff --git a/official/2.20/Packages/pckUCDataConn.cfg b/official/2.20/Packages/pckUCDataConn.cfg
new file mode 100644
index 0000000..1b27aab
--- /dev/null
+++ b/official/2.20/Packages/pckUCDataConn.cfg
@@ -0,0 +1,39 @@
+-$A8
+-$B-
+-$C+
+-$D+
+-$E-
+-$F-
+-$G+
+-$H+
+-$I+
+-$J-
+-$K-
+-$L+
+-$M-
+-$N+
+-$O+
+-$P+
+-$Q-
+-$R-
+-$S-
+-$T-
+-$U-
+-$V+
+-$W-
+-$X+
+-$YD
+-$Z1
+-cg
+-AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+-H+
+-W+
+-M
+-$M16384,1048576
+-K$00400000
+-LE"D:\Documentos\Borland Studio Projects\Bpl"
+-LN"D:\Documentos\Borland Studio Projects\Bpl"
+-Z
+-w-UNSAFE_TYPE
+-w-UNSAFE_CODE
+-w-UNSAFE_CAST
diff --git a/official/2.20/Packages/pckUCDataConnector.bdsproj b/official/2.20/Packages/pckUCDataConnector.bdsproj
new file mode 100644
index 0000000..ba2669c
--- /dev/null
+++ b/official/2.20/Packages/pckUCDataConnector.bdsproj
@@ -0,0 +1,498 @@
+
+
+
+
+
+
+
+
+
+
+
+ pckUCDataConnector.dpk
+
+
+ 7.0
+
+
+ 8
+ 0
+ 1
+ 1
+ 0
+ 0
+ 1
+ 1
+ 1
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ True
+ True
+ WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+
+ False
+
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ False
+ False
+ False
+ True
+ True
+ True
+ True
+ True
+ True
+
+
+
+ 3
+ 0
+ False
+ 1
+ False
+ False
+ False
+ 16384
+ 1048576
+ 4194304
+ User Control DataConn
+
+
+
+ ..\Lib\D10
+ ..\Lib\D10
+ ..\Lib\D10
+ ..\Lib\D10
+
+
+
+ False
+
+
+
+
+
+ False
+
+
+ True
+ False
+
+
+
+ $00000000
+
+
+
+ True
+ False
+ 1
+ 0
+ 0
+ 0
+ False
+ False
+ False
+ False
+ False
+ 1046
+ 1252
+
+
+
+
+ 1.0.0.0
+
+
+
+
+
+ 1.0.0.0
+
+
+ TeeChart Components
+ JVCL BDE Components
+
+
+
+
+ True
+
+
diff --git a/official/2.20/Packages/pckUCDataConnector.cfg b/official/2.20/Packages/pckUCDataConnector.cfg
new file mode 100644
index 0000000..1b27aab
--- /dev/null
+++ b/official/2.20/Packages/pckUCDataConnector.cfg
@@ -0,0 +1,39 @@
+-$A8
+-$B-
+-$C+
+-$D+
+-$E-
+-$F-
+-$G+
+-$H+
+-$I+
+-$J-
+-$K-
+-$L+
+-$M-
+-$N+
+-$O+
+-$P+
+-$Q-
+-$R-
+-$S-
+-$T-
+-$U-
+-$V+
+-$W-
+-$X+
+-$YD
+-$Z1
+-cg
+-AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+-H+
+-W+
+-M
+-$M16384,1048576
+-K$00400000
+-LE"D:\Documentos\Borland Studio Projects\Bpl"
+-LN"D:\Documentos\Borland Studio Projects\Bpl"
+-Z
+-w-UNSAFE_TYPE
+-w-UNSAFE_CODE
+-w-UNSAFE_CAST
diff --git a/official/2.20/Packages/pckUCDataConnector.dof b/official/2.20/Packages/pckUCDataConnector.dof
new file mode 100644
index 0000000..0d0647f
--- /dev/null
+++ b/official/2.20/Packages/pckUCDataConnector.dof
@@ -0,0 +1,129 @@
+[FileVersion]
+Version=7.0
+[Compiler]
+A=8
+B=0
+C=1
+D=1
+E=0
+F=0
+G=1
+H=1
+I=1
+J=0
+K=0
+L=1
+M=0
+N=1
+O=1
+P=1
+Q=0
+R=0
+S=0
+T=0
+U=0
+V=1
+W=0
+X=1
+Y=1
+Z=1
+ShowHints=1
+ShowWarnings=1
+UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+NamespacePrefix=
+SymbolDeprecated=1
+SymbolLibrary=1
+SymbolPlatform=1
+UnitLibrary=1
+UnitPlatform=1
+UnitDeprecated=1
+HResultCompat=1
+HidingMember=1
+HiddenVirtual=1
+Garbage=1
+BoundsError=1
+ZeroNilCompat=1
+StringConstTruncated=1
+ForLoopVarVarPar=1
+TypedConstVarPar=1
+AsgToTypedConst=1
+CaseLabelRange=1
+ForVariable=1
+ConstructingAbstract=1
+ComparisonFalse=1
+ComparisonTrue=1
+ComparingSignedUnsigned=1
+CombiningSignedUnsigned=1
+UnsupportedConstruct=1
+FileOpen=1
+FileOpenUnitSrc=1
+BadGlobalSymbol=1
+DuplicateConstructorDestructor=1
+InvalidDirective=1
+PackageNoLink=1
+PackageThreadVar=1
+ImplicitImport=1
+HPPEMITIgnored=1
+NoRetVal=1
+UseBeforeDef=1
+ForLoopVarUndef=1
+UnitNameMismatch=1
+NoCFGFileFound=1
+MessageDirective=1
+ImplicitVariants=1
+UnicodeToLocale=1
+LocaleToUnicode=1
+ImagebaseMultiple=1
+SuspiciousTypecast=1
+PrivatePropAccessor=1
+UnsafeType=1
+UnsafeCode=1
+UnsafeCast=1
+[Linker]
+MapFile=0
+OutputObjs=0
+ConsoleApp=1
+DebugInfo=0
+RemoteSymbols=0
+MinStackSize=16384
+MaxStackSize=1048576
+ImageBase=4194304
+ExeDescription=User Control DataConn
+[Directories]
+OutputDir=
+UnitOutputDir=
+PackageDLLOutputDir=
+PackageDCPOutputDir=
+SearchPath=
+Packages=vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;visualclx;visualdbclx;vclactnband;vclshlctrls;IntrawebDB_50_70;Intraweb_50_70;Rave50CLX;Rave50VCL;dclOfficeXP;Jcl;cxGridVCLD7;cxEditorsVCLD7;cxLibraryVCLD7;cxPageControlVCLD7;dxThemeD7;cxDataD7;cxExtEditorsVCLD7;cxSchedulerVCLD7;JclVcl;JvCoreD7R;JvSystemD7R;JvStdCtrlsD7R;JvAppFrmD7R;JvBandsD7R;JvCmpD7R;JvCryptD7R;JvCtrlsD7R;JvCustomD7R;JvDBD7R;JvDlgsD7R;JvDockingD7R;JvEDID7R;JvGlobusD7R;JvHMID7R;JvInterpreterD7R;JvJansD7R;JvManagedThreadsD7R;JvMMD7R;JvPageCompsD7R;JvPluginD7R;JvPrintPreviewD7R;JvRuntimeDesignD7R;JvUIBD7R;JvValidatorsD7R;JvWizardD7R;JvXPCtrlsD7R;IOCore;IODBX;IOIBX;IOXML;RaizeComponentsVcl;RaizeComponentsVclDb;TeeUI77;Tee77;TeeDB77;TeeGL77;TeeLanguage77;TeePro77;TeeImage77;pckUserControl_RT
+Conditionals=
+DebugSourceDirs=
+UsePackages=0
+[Parameters]
+RunParams=
+HostApplication=
+Launcher=
+UseLauncher=0
+DebugCWD=
+[Language]
+ActiveLang=
+ProjectLang=
+RootDir=C:\Arquivos de programas\Borland\Delphi7\Bin\
+[Version Info]
+IncludeVerInfo=1
+AutoIncBuild=0
+MajorVer=1
+MinorVer=0
+Release=0
+Build=0
+Debug=0
+PreRelease=0
+Special=0
+Private=0
+DLL=0
+Locale=1046
+CodePage=1252
+[Excluded Packages]
+c:\arquivos de programas\borland\delphi7\Bin\dcldss70.bpl=Borland Decision Cube Components
+C:\Arquivos de programas\Borland\Delphi7\Bin\dcltee70.bpl=TeeChart Components
+C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Bin\DclTQR77.bpl=TeeChart 7 for QuickReport
diff --git a/official/2.20/Packages/pckUCDataConnector.dpk b/official/2.20/Packages/pckUCDataConnector.dpk
new file mode 100644
index 0000000..ea7b6c9
--- /dev/null
+++ b/official/2.20/Packages/pckUCDataConnector.dpk
@@ -0,0 +1,37 @@
+package pckUCDataConnector;
+
+{$R *.res}
+{$ALIGN 8}
+{$ASSERTIONS ON}
+{$BOOLEVAL OFF}
+{$DEBUGINFO ON}
+{$EXTENDEDSYNTAX ON}
+{$IMPORTEDDATA ON}
+{$IOCHECKS ON}
+{$LOCALSYMBOLS ON}
+{$LONGSTRINGS ON}
+{$OPENSTRINGS ON}
+{$OPTIMIZATION ON}
+{$OVERFLOWCHECKS OFF}
+{$RANGECHECKS OFF}
+{$REFERENCEINFO ON}
+{$SAFEDIVIDE OFF}
+{$STACKFRAMES OFF}
+{$TYPEDADDRESS OFF}
+{$VARSTRINGCHECKS ON}
+{$WRITEABLECONST OFF}
+{$MINENUMSIZE 1}
+{$IMAGEBASE $400000}
+{$DESCRIPTION 'User Control DataConn'}
+{$RUNONLY}
+{$IMPLICITBUILD OFF}
+{%TogetherDiagram 'ModelSupport_pckUCDataConnector\default.txaPackage'}
+
+requires
+ rtl,
+ dbrtl;
+
+contains
+ UCDataConnector in '..\Source\UCDataConnector.pas';
+
+end.
diff --git a/official/2.20/Packages/pckUCDataConnector.dproj b/official/2.20/Packages/pckUCDataConnector.dproj
new file mode 100644
index 0000000..4e67966
--- /dev/null
+++ b/official/2.20/Packages/pckUCDataConnector.dproj
@@ -0,0 +1,89 @@
+
+
+ {32671bc6-e575-4ad0-9f27-6e30a6d8f220}
+ pckUCDataConnector.dpk
+ Debug
+ AnyCPU
+ DCC32
+ C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\pckUCDataConnector.bpl
+
+
+ 7.0
+ False
+ False
+ 0
+ RELEASE
+
+
+ 7.0
+ DEBUG
+
+
+ Delphi.Personality
+ Package
+
+
+ False
+ True
+ False
+
+
+ User Control DataConn
+ False
+ False
+ True
+
+
+ True
+ False
+ 1
+ 0
+ 0
+ 0
+ False
+ False
+ False
+ False
+ False
+ 1046
+ 1252
+
+
+
+
+ 1.0.0.0
+
+
+
+
+
+ 1.0.0.0
+
+
+
+
+
+
+
+ TeeChart Components
+ JVCL BDE Components
+
+
+ pckUCDataConnector.dpk
+
+
+
+
+
+
+ MainSource
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/official/2.20/Packages/pckUCDataConnector.drc b/official/2.20/Packages/pckUCDataConnector.drc
new file mode 100644
index 0000000..7642ac9
--- /dev/null
+++ b/official/2.20/Packages/pckUCDataConnector.drc
@@ -0,0 +1,14 @@
+/* VER180
+ Generated by the Borland Delphi Pascal Compiler
+ because -GD or --drc was supplied to the compiler.
+
+ This file contains compiler-generated resources that
+ were bound to the executable.
+ If this file is empty, then no compiler-generated
+ resources were bound to the produced executable.
+*/
+
+STRINGTABLE
+BEGIN
+END
+
diff --git a/official/2.20/Packages/pckUCDataConnector.res b/official/2.20/Packages/pckUCDataConnector.res
new file mode 100644
index 0000000..fd84fb8
Binary files /dev/null and b/official/2.20/Packages/pckUCDataConnector.res differ
diff --git a/official/2.20/Packages/pckUCGlobal.bdsproj b/official/2.20/Packages/pckUCGlobal.bdsproj
new file mode 100644
index 0000000..561c496
--- /dev/null
+++ b/official/2.20/Packages/pckUCGlobal.bdsproj
@@ -0,0 +1,175 @@
+
+
+
+
+
+
+
+
+
+
+
+ pckUCGlobal.dpk
+
+
+ 7.0
+
+
+ 8
+ 0
+ 1
+ 1
+ 0
+ 0
+ 1
+ 1
+ 1
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ True
+ True
+ WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+
+ False
+
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ False
+ False
+ False
+ True
+ True
+ True
+ True
+ True
+ True
+
+
+
+ 0
+ 0
+ False
+ 1
+ False
+ False
+ False
+ 16384
+ 1048576
+ 4194304
+
+
+
+
+
+
+
+
+
+
+
+ False
+
+
+
+
+
+ False
+
+
+ True
+ False
+
+
+
+ $00000000
+
+
+
+ True
+ False
+ 1
+ 0
+ 0
+ 0
+ False
+ False
+ False
+ False
+ False
+ 1046
+ 1252
+
+
+
+
+ 1.0.0.0
+
+
+
+
+
+ 1.0.0.0
+
+
+
+
diff --git a/official/2.20/Packages/pckUCGlobal.cfg b/official/2.20/Packages/pckUCGlobal.cfg
new file mode 100644
index 0000000..75258b1
--- /dev/null
+++ b/official/2.20/Packages/pckUCGlobal.cfg
@@ -0,0 +1,40 @@
+-$A8
+-$B-
+-$C+
+-$D+
+-$E-
+-$F-
+-$G+
+-$H+
+-$I+
+-$J-
+-$K-
+-$L+
+-$M-
+-$N+
+-$O+
+-$P+
+-$Q-
+-$R-
+-$S-
+-$T-
+-$U-
+-$V+
+-$W-
+-$X+
+-$YD
+-$Z1
+-cg
+-AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+-H+
+-W+
+-M
+-$M16384,1048576
+-K$00400000
+-E"C:\Vicente\Projetos\Vicente\megamax"
+-LE"c:\arquivos de programas\borland\delphi7\Projects\Bpl"
+-LN"c:\arquivos de programas\borland\delphi7\Projects\Bpl"
+-Z
+-w-UNSAFE_TYPE
+-w-UNSAFE_CODE
+-w-UNSAFE_CAST
diff --git a/official/2.20/Packages/pckUCGlobal.dof b/official/2.20/Packages/pckUCGlobal.dof
new file mode 100644
index 0000000..4a8aaf1
--- /dev/null
+++ b/official/2.20/Packages/pckUCGlobal.dof
@@ -0,0 +1,136 @@
+[FileVersion]
+Version=7.0
+[Compiler]
+A=8
+B=0
+C=1
+D=1
+E=0
+F=0
+G=1
+H=1
+I=1
+J=0
+K=0
+L=1
+M=0
+N=1
+O=1
+P=1
+Q=0
+R=0
+S=0
+T=0
+U=0
+V=1
+W=0
+X=1
+Y=1
+Z=1
+ShowHints=1
+ShowWarnings=1
+UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+NamespacePrefix=
+SymbolDeprecated=1
+SymbolLibrary=1
+SymbolPlatform=1
+UnitLibrary=1
+UnitPlatform=1
+UnitDeprecated=1
+HResultCompat=1
+HidingMember=1
+HiddenVirtual=1
+Garbage=1
+BoundsError=1
+ZeroNilCompat=1
+StringConstTruncated=1
+ForLoopVarVarPar=1
+TypedConstVarPar=1
+AsgToTypedConst=1
+CaseLabelRange=1
+ForVariable=1
+ConstructingAbstract=1
+ComparisonFalse=1
+ComparisonTrue=1
+ComparingSignedUnsigned=1
+CombiningSignedUnsigned=1
+UnsupportedConstruct=1
+FileOpen=1
+FileOpenUnitSrc=1
+BadGlobalSymbol=1
+DuplicateConstructorDestructor=1
+InvalidDirective=1
+PackageNoLink=1
+PackageThreadVar=1
+ImplicitImport=1
+HPPEMITIgnored=1
+NoRetVal=1
+UseBeforeDef=1
+ForLoopVarUndef=1
+UnitNameMismatch=1
+NoCFGFileFound=1
+MessageDirective=1
+ImplicitVariants=1
+UnicodeToLocale=1
+LocaleToUnicode=1
+ImagebaseMultiple=1
+SuspiciousTypecast=1
+PrivatePropAccessor=1
+UnsafeType=0
+UnsafeCode=0
+UnsafeCast=0
+[Linker]
+MapFile=0
+OutputObjs=0
+ConsoleApp=1
+DebugInfo=0
+RemoteSymbols=0
+MinStackSize=16384
+MaxStackSize=1048576
+ImageBase=4194304
+ExeDescription=
+[Directories]
+OutputDir=C:\Vicente\Projetos\Vicente\megamax
+UnitOutputDir=
+PackageDLLOutputDir=
+PackageDCPOutputDir=
+SearchPath=
+Packages=vcl;rtl;vclx;indy;vclie;dbrtl;dsnap;vcldb;VclSmp;dbexpress;dbxcds;bdertl;ibxpress;visualclx;vclshlctrls;IntrawebDB_50_70;Intraweb_50_70;Rave50CLX;Rave50VCL;dclOfficeXP;inet;xmlrtl;soaprtl;vclactnband;adortl;vcldbx;visualdbclx;dsnapcon;dss;webdsnap;inetdb;websnap;JvStdCtrlsD7R;JvAppFrmD7R;JvCoreD7R;JvBandsD7R;JvBDED7R;JvCustomD7R;JvDlgsD7R;JvDockingD7R;JvDotNetCtrlsD7R;JvEDID7R;JvCryptD7R;JvGlobusD7R;JvHMID7R;JvInterpreterD7R;JvJansD7R;JvManagedThreadsD7R;JvCmpD7R;JvMMD7R;JvNetD7R;JvPageCompsD7R;JvPluginD7R;JvPrintPreviewD7R;JvRuntimeDesignD7R;JvCtrlsD7R;JvTimeFrameworkD7R;JvSystemD7R;JvValidatorsD7R;JvXPCtrlsD7R;JvWizardD7R
+Conditionals=
+DebugSourceDirs=
+UsePackages=0
+[Parameters]
+RunParams=
+HostApplication=
+Launcher=
+UseLauncher=0
+DebugCWD=
+[Language]
+ActiveLang=
+ProjectLang=
+RootDir=C:\Arquivos de programas\Borland\Delphi7\Bin\
+[Version Info]
+IncludeVerInfo=0
+AutoIncBuild=0
+MajorVer=1
+MinorVer=0
+Release=0
+Build=0
+Debug=0
+PreRelease=0
+Special=0
+Private=0
+DLL=0
+Locale=1046
+CodePage=1252
+[Version Info Keys]
+CompanyName=
+FileDescription=
+FileVersion=1.0.0.0
+InternalName=
+LegalCopyright=
+LegalTrademarks=
+OriginalFilename=
+ProductName=
+ProductVersion=1.0.0.0
+Comments=
diff --git a/official/2.20/Packages/pckUCGlobal.dpk b/official/2.20/Packages/pckUCGlobal.dpk
new file mode 100644
index 0000000..80bd32b
--- /dev/null
+++ b/official/2.20/Packages/pckUCGlobal.dpk
@@ -0,0 +1,40 @@
+package pckUCGlobal;
+
+{$R *.res}
+{$ALIGN 8}
+{$ASSERTIONS ON}
+{$BOOLEVAL OFF}
+{$DEBUGINFO ON}
+{$EXTENDEDSYNTAX ON}
+{$IMPORTEDDATA ON}
+{$IOCHECKS ON}
+{$LOCALSYMBOLS ON}
+{$LONGSTRINGS ON}
+{$OPENSTRINGS ON}
+{$OPTIMIZATION ON}
+{$OVERFLOWCHECKS OFF}
+{$RANGECHECKS OFF}
+{$REFERENCEINFO ON}
+{$SAFEDIVIDE OFF}
+{$STACKFRAMES OFF}
+{$TYPEDADDRESS OFF}
+{$VARSTRINGCHECKS ON}
+{$WRITEABLECONST OFF}
+{$MINENUMSIZE 1}
+{$IMAGEBASE $400000}
+{$IMPLICITBUILD OFF}
+
+requires
+ rtl,
+ vcl,
+ dbrtl,
+ vclactnband,
+ dclindy,
+ indy,
+ vcldb,
+ pckMD5,
+ pckUCDataConnector,
+ VclSmp,
+ pckUserControl_RT;
+
+end.
diff --git a/official/2.20/Packages/pckUCGlobal.res b/official/2.20/Packages/pckUCGlobal.res
new file mode 100644
index 0000000..3424a68
Binary files /dev/null and b/official/2.20/Packages/pckUCGlobal.res differ
diff --git a/official/2.20/Packages/pckUserControl_DT.bdsproj b/official/2.20/Packages/pckUserControl_DT.bdsproj
new file mode 100644
index 0000000..d824131
--- /dev/null
+++ b/official/2.20/Packages/pckUserControl_DT.bdsproj
@@ -0,0 +1,497 @@
+
+
+
+
+
+
+
+
+
+
+
+ pckUserControl_DT.dpk
+
+
+ 7.0
+
+
+ 8
+ 0
+ 1
+ 1
+ 0
+ 0
+ 1
+ 1
+ 1
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ True
+ True
+ WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+
+ False
+
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ False
+ False
+ False
+ True
+ True
+ True
+ True
+ True
+ True
+
+
+
+ 3
+ 0
+ False
+ 1
+ False
+ False
+ False
+ 16384
+ 1048576
+ 4194304
+ User Control Package 2
+
+
+
+ ..\Lib\D10
+ ..\Lib\D10
+ ..\Lib\D10
+ ..\Lib\D10;..\Source
+
+
+
+ False
+
+
+
+
+
+ False
+
+
+ True
+ False
+
+
+
+ $00000000
+
+
+
+ True
+ False
+ 1
+ 0
+ 0
+ 0
+ False
+ False
+ False
+ False
+ False
+ 1046
+ 1252
+
+
+
+
+ 1.0.0.0
+
+
+
+
+
+ 1.0.0.0
+
+
+ WL Decision Cube Components
+
+
+
+
+ False
+
+
diff --git a/official/2.20/Packages/pckUserControl_DT.cfg b/official/2.20/Packages/pckUserControl_DT.cfg
new file mode 100644
index 0000000..2e86c43
--- /dev/null
+++ b/official/2.20/Packages/pckUserControl_DT.cfg
@@ -0,0 +1,36 @@
+-$A8
+-$B-
+-$C+
+-$D+
+-$E-
+-$F-
+-$G+
+-$H+
+-$I+
+-$J-
+-$K-
+-$L+
+-$M-
+-$N+
+-$O+
+-$P+
+-$Q-
+-$R-
+-$S-
+-$T-
+-$U-
+-$V+
+-$W-
+-$X+
+-$YD
+-$Z1
+-cg
+-AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+-H+
+-W+
+-M
+-$M16384,1048576
+-K$00400000
+-LE"c:\arquivos de programas\borland\delphi7\Projects\Bpl"
+-LN"c:\arquivos de programas\borland\delphi7\Projects\Bpl"
+-Z
diff --git a/official/2.20/Packages/pckUserControl_DT.dof b/official/2.20/Packages/pckUserControl_DT.dof
new file mode 100644
index 0000000..7532c99
--- /dev/null
+++ b/official/2.20/Packages/pckUserControl_DT.dof
@@ -0,0 +1,136 @@
+[FileVersion]
+Version=7.0
+[Compiler]
+A=8
+B=0
+C=1
+D=1
+E=0
+F=0
+G=1
+H=1
+I=1
+J=0
+K=0
+L=1
+M=0
+N=1
+O=1
+P=1
+Q=0
+R=0
+S=0
+T=0
+U=0
+V=1
+W=0
+X=1
+Y=1
+Z=1
+ShowHints=1
+ShowWarnings=1
+UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+NamespacePrefix=
+SymbolDeprecated=1
+SymbolLibrary=1
+SymbolPlatform=1
+UnitLibrary=1
+UnitPlatform=1
+UnitDeprecated=1
+HResultCompat=1
+HidingMember=1
+HiddenVirtual=1
+Garbage=1
+BoundsError=1
+ZeroNilCompat=1
+StringConstTruncated=1
+ForLoopVarVarPar=1
+TypedConstVarPar=1
+AsgToTypedConst=1
+CaseLabelRange=1
+ForVariable=1
+ConstructingAbstract=1
+ComparisonFalse=1
+ComparisonTrue=1
+ComparingSignedUnsigned=1
+CombiningSignedUnsigned=1
+UnsupportedConstruct=1
+FileOpen=1
+FileOpenUnitSrc=1
+BadGlobalSymbol=1
+DuplicateConstructorDestructor=1
+InvalidDirective=1
+PackageNoLink=1
+PackageThreadVar=1
+ImplicitImport=1
+HPPEMITIgnored=1
+NoRetVal=1
+UseBeforeDef=1
+ForLoopVarUndef=1
+UnitNameMismatch=1
+NoCFGFileFound=1
+MessageDirective=1
+ImplicitVariants=1
+UnicodeToLocale=1
+LocaleToUnicode=1
+ImagebaseMultiple=1
+SuspiciousTypecast=1
+PrivatePropAccessor=1
+UnsafeType=1
+UnsafeCode=1
+UnsafeCast=1
+[Linker]
+MapFile=0
+OutputObjs=0
+ConsoleApp=1
+DebugInfo=0
+RemoteSymbols=0
+MinStackSize=16384
+MaxStackSize=1048576
+ImageBase=4194304
+ExeDescription=User Control Package 2
+[Directories]
+OutputDir=
+UnitOutputDir=
+PackageDLLOutputDir=
+PackageDCPOutputDir=
+SearchPath=
+Packages=vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;visualclx;visualdbclx;vclactnband;vclshlctrls;IntrawebDB_50_70;Intraweb_50_70;Rave50CLX;Rave50VCL;dclOfficeXP;Jcl;cxGridVCLD7;cxEditorsVCLD7;cxLibraryVCLD7;cxPageControlVCLD7;dxThemeD7;cxDataD7;cxExtEditorsVCLD7;cxSchedulerVCLD7;JclVcl;JvCoreD7R;JvSystemD7R;JvStdCtrlsD7R;JvAppFrmD7R;JvBandsD7R;JvCmpD7R;JvCryptD7R;JvCtrlsD7R;JvCustomD7R;JvDBD7R;JvDlgsD7R;JvDockingD7R;JvEDID7R;JvGlobusD7R;JvHMID7R;JvInterpreterD7R;JvJansD7R;JvManagedThreadsD7R;JvMMD7R;JvPageCompsD7R;JvPluginD7R;JvPrintPreviewD7R;JvRuntimeDesignD7R;JvUIBD7R;JvValidatorsD7R;JvWizardD7R;JvXPCtrlsD7R;IOCore;IODBX;IOIBX;IOXML;RaizeComponentsVcl;RaizeComponentsVclDb;TeeUI77;Tee77;TeeDB77;TeeGL77;TeeLanguage77;TeePro77;TeeImage77;pckUserControl_RT
+Conditionals=
+DebugSourceDirs=
+UsePackages=0
+[Parameters]
+RunParams=
+HostApplication=
+Launcher=
+UseLauncher=0
+DebugCWD=
+[Language]
+ActiveLang=
+ProjectLang=
+RootDir=C:\Arquivos de programas\Borland\Delphi7\Bin\
+[Version Info]
+IncludeVerInfo=1
+AutoIncBuild=0
+MajorVer=1
+MinorVer=0
+Release=0
+Build=0
+Debug=0
+PreRelease=0
+Special=0
+Private=0
+DLL=0
+Locale=1046
+CodePage=1252
+[Version Info Keys]
+CompanyName=
+FileDescription=
+FileVersion=1.0.0.0
+InternalName=
+LegalCopyright=
+LegalTrademarks=
+OriginalFilename=
+ProductName=
+ProductVersion=1.0.0.0
+Comments=
diff --git a/official/2.20/Packages/pckUserControl_DT.dpk b/official/2.20/Packages/pckUserControl_DT.dpk
new file mode 100644
index 0000000..a42ea5f
--- /dev/null
+++ b/official/2.20/Packages/pckUserControl_DT.dpk
@@ -0,0 +1,52 @@
+package pckUserControl_DT;
+
+{$R *.res}
+{$R '..\Source\UCReg.dcr'}
+{$ALIGN 8}
+{$ASSERTIONS ON}
+{$BOOLEVAL OFF}
+{$DEBUGINFO ON}
+{$EXTENDEDSYNTAX ON}
+{$IMPORTEDDATA ON}
+{$IOCHECKS ON}
+{$LOCALSYMBOLS ON}
+{$LONGSTRINGS ON}
+{$OPENSTRINGS ON}
+{$OPTIMIZATION ON}
+{$OVERFLOWCHECKS OFF}
+{$RANGECHECKS OFF}
+{$REFERENCEINFO ON}
+{$SAFEDIVIDE OFF}
+{$STACKFRAMES OFF}
+{$TYPEDADDRESS OFF}
+{$VARSTRINGCHECKS ON}
+{$WRITEABLECONST OFF}
+{$MINENUMSIZE 1}
+{$IMAGEBASE $400000}
+{$DESCRIPTION 'User Control Package 2'}
+{$DESIGNONLY}
+{$IMPLICITBUILD OFF}
+
+requires
+ designide,
+ pckUserControl_RT,
+ vcljpg,
+ vcl,
+ rtl,
+ VclSmp,
+ xmlrtl,
+ vclactnband,
+ vclx,
+ pckUCDataConnector,
+ dbrtl,
+ pckMD5,
+ vcldb;
+
+contains
+ UCReg in '..\Source\UCReg.pas',
+ UCObjSel_U in '..\Source\UCObjSel_U.pas',
+ UCAbout in '..\Source\UCAbout.pas',
+ UCIdle in '..\Source\UCIdle.pas',
+ UCEditorForm_U in '..\Source\UCEditorForm_U.pas';
+
+end.
diff --git a/official/2.20/Packages/pckUserControl_DT.dproj b/official/2.20/Packages/pckUserControl_DT.dproj
new file mode 100644
index 0000000..8d7ad5f
--- /dev/null
+++ b/official/2.20/Packages/pckUserControl_DT.dproj
@@ -0,0 +1,65 @@
+
+
+ {a30f53db-e475-4ad9-a852-f9ebf338bf98}
+ pckUserControl_DT.dpk
+ Debug
+ AnyCPU
+ DCC32
+ C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\pckUserControl_DT.bpl
+
+
+ 7.0
+ False
+ False
+ 0
+ RELEASE
+
+
+ 7.0
+
+
+ Delphi.Personality
+ Package
+
+FalseTrueFalseUser Control Package 2FalseTrueFalseTrueFalse1000FalseFalseFalseFalseFalse104612521.0.0.01.0.0.0
+ WL Decision Cube Components
+ pckUserControl_DT.dpk
+
+
+
+
+ MainSource
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/official/2.20/Packages/pckUserControl_DT.drc b/official/2.20/Packages/pckUserControl_DT.drc
new file mode 100644
index 0000000..7642ac9
--- /dev/null
+++ b/official/2.20/Packages/pckUserControl_DT.drc
@@ -0,0 +1,14 @@
+/* VER180
+ Generated by the Borland Delphi Pascal Compiler
+ because -GD or --drc was supplied to the compiler.
+
+ This file contains compiler-generated resources that
+ were bound to the executable.
+ If this file is empty, then no compiler-generated
+ resources were bound to the produced executable.
+*/
+
+STRINGTABLE
+BEGIN
+END
+
diff --git a/official/2.20/Packages/pckUserControl_DT.res b/official/2.20/Packages/pckUserControl_DT.res
new file mode 100644
index 0000000..fd84fb8
Binary files /dev/null and b/official/2.20/Packages/pckUserControl_DT.res differ
diff --git a/official/2.20/Packages/pckUserControl_RT.bdsproj b/official/2.20/Packages/pckUserControl_RT.bdsproj
new file mode 100644
index 0000000..63d5e7f
--- /dev/null
+++ b/official/2.20/Packages/pckUserControl_RT.bdsproj
@@ -0,0 +1,497 @@
+
+
+
+
+
+
+
+
+
+
+
+ pckUserControl_RT.dpk
+
+
+ 7.0
+
+
+ 8
+ 0
+ 1
+ 1
+ 0
+ 0
+ 1
+ 1
+ 1
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ True
+ True
+ WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+
+ False
+
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+
+
+
+ 3
+ 0
+ False
+ 1
+ False
+ False
+ False
+ 16384
+ 1048576
+ 4194304
+ User Control Package 2
+
+
+
+ ..\Lib\D10
+ ..\Lib\D10
+ ..\Lib\D10
+ ..\Lib\D10
+
+
+
+ False
+
+
+
+
+
+ False
+
+
+ True
+ False
+
+
+
+ $00000000
+
+
+
+ True
+ False
+ 1
+ 0
+ 0
+ 0
+ False
+ False
+ False
+ False
+ False
+ 1046
+ 1252
+
+
+
+
+ 1.0.0.0
+
+
+
+
+
+ 1.0.0.0
+
+
+ WL Decision Cube Components
+
+
+
+
+ True
+
+
diff --git a/official/2.20/Packages/pckUserControl_RT.cfg b/official/2.20/Packages/pckUserControl_RT.cfg
new file mode 100644
index 0000000..9369cd3
--- /dev/null
+++ b/official/2.20/Packages/pckUserControl_RT.cfg
@@ -0,0 +1,36 @@
+-$A8
+-$B-
+-$C+
+-$D+
+-$E-
+-$F-
+-$G+
+-$H+
+-$I+
+-$J-
+-$K-
+-$L+
+-$M-
+-$N+
+-$O+
+-$P+
+-$Q-
+-$R-
+-$S-
+-$T-
+-$U-
+-$V+
+-$W-
+-$X+
+-$YD
+-$Z1
+-cg
+-AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+-H+
+-W+
+-M
+-$M16384,1048576
+-K$00400000
+-LE"C:\Documents and Settings\Vicente\Meus documentos\Borland Studio Projects\Bpl"
+-LN"C:\Documents and Settings\Vicente\Meus documentos\Borland Studio Projects\Bpl"
+-Z
diff --git a/official/2.20/Packages/pckUserControl_RT.dof b/official/2.20/Packages/pckUserControl_RT.dof
new file mode 100644
index 0000000..caba6fe
--- /dev/null
+++ b/official/2.20/Packages/pckUserControl_RT.dof
@@ -0,0 +1,140 @@
+[FileVersion]
+Version=7.0
+[Compiler]
+A=8
+B=0
+C=1
+D=1
+E=0
+F=0
+G=1
+H=1
+I=1
+J=0
+K=0
+L=1
+M=0
+N=1
+O=1
+P=1
+Q=0
+R=0
+S=0
+T=0
+U=0
+V=1
+W=0
+X=1
+Y=1
+Z=1
+ShowHints=1
+ShowWarnings=1
+UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+NamespacePrefix=
+SymbolDeprecated=1
+SymbolLibrary=1
+SymbolPlatform=1
+UnitLibrary=1
+UnitPlatform=1
+UnitDeprecated=1
+HResultCompat=1
+HidingMember=1
+HiddenVirtual=1
+Garbage=1
+BoundsError=1
+ZeroNilCompat=1
+StringConstTruncated=1
+ForLoopVarVarPar=1
+TypedConstVarPar=1
+AsgToTypedConst=1
+CaseLabelRange=1
+ForVariable=1
+ConstructingAbstract=1
+ComparisonFalse=1
+ComparisonTrue=1
+ComparingSignedUnsigned=1
+CombiningSignedUnsigned=1
+UnsupportedConstruct=1
+FileOpen=1
+FileOpenUnitSrc=1
+BadGlobalSymbol=1
+DuplicateConstructorDestructor=1
+InvalidDirective=1
+PackageNoLink=1
+PackageThreadVar=1
+ImplicitImport=1
+HPPEMITIgnored=1
+NoRetVal=1
+UseBeforeDef=1
+ForLoopVarUndef=1
+UnitNameMismatch=1
+NoCFGFileFound=1
+MessageDirective=1
+ImplicitVariants=1
+UnicodeToLocale=1
+LocaleToUnicode=1
+ImagebaseMultiple=1
+SuspiciousTypecast=1
+PrivatePropAccessor=1
+UnsafeType=1
+UnsafeCode=1
+UnsafeCast=1
+[Linker]
+MapFile=0
+OutputObjs=0
+ConsoleApp=1
+DebugInfo=0
+RemoteSymbols=0
+MinStackSize=16384
+MaxStackSize=1048576
+ImageBase=4194304
+ExeDescription=User Control Package 2
+[Directories]
+OutputDir=
+UnitOutputDir=
+PackageDLLOutputDir=
+PackageDCPOutputDir=
+SearchPath=
+Packages=vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;visualclx;visualdbclx;vclactnband;vclshlctrls;IntrawebDB_50_70;Intraweb_50_70;Rave50CLX;Rave50VCL;dclOfficeXP;Jcl;cxGridVCLD7;cxEditorsVCLD7;cxLibraryVCLD7;cxPageControlVCLD7;dxThemeD7;cxDataD7;cxExtEditorsVCLD7;cxSchedulerVCLD7;JclVcl;JvCoreD7R;JvSystemD7R;JvStdCtrlsD7R;JvAppFrmD7R;JvBandsD7R;JvCmpD7R;JvCryptD7R;JvCtrlsD7R;JvCustomD7R;JvDBD7R;JvDlgsD7R;JvDockingD7R;JvEDID7R;JvGlobusD7R;JvHMID7R;JvInterpreterD7R;JvJansD7R;JvManagedThreadsD7R;JvMMD7R;JvPageCompsD7R;JvPluginD7R;JvPrintPreviewD7R;JvRuntimeDesignD7R;JvUIBD7R;JvValidatorsD7R;JvWizardD7R;JvXPCtrlsD7R;IOCore;IODBX;IOIBX;IOXML;RaizeComponentsVcl;RaizeComponentsVclDb;TeeUI77;Tee77;TeeDB77;TeeGL77;TeeLanguage77;TeePro77;TeeImage77;pckUserControl_RT
+Conditionals=
+DebugSourceDirs=
+UsePackages=0
+[Parameters]
+RunParams=
+HostApplication=
+Launcher=
+UseLauncher=0
+DebugCWD=
+[Language]
+ActiveLang=
+ProjectLang=
+RootDir=C:\Arquivos de programas\Borland\Delphi7\Bin\
+[Version Info]
+IncludeVerInfo=1
+AutoIncBuild=0
+MajorVer=1
+MinorVer=0
+Release=0
+Build=0
+Debug=0
+PreRelease=0
+Special=0
+Private=0
+DLL=0
+Locale=1046
+CodePage=1252
+[Version Info Keys]
+CompanyName=
+FileDescription=
+FileVersion=1.0.0.0
+InternalName=
+LegalCopyright=
+LegalTrademarks=
+OriginalFilename=
+ProductName=
+ProductVersion=1.0.0.0
+Comments=
+[Excluded Packages]
+c:\arquivos de programas\borland\delphi7\Bin\dcldss70.bpl=Borland Decision Cube Components
+C:\Arquivos de programas\Borland\Delphi7\Bin\dcltee70.bpl=TeeChart Components
+C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Bin\DclTQR77.bpl=TeeChart 7 for QuickReport
diff --git a/official/2.20/Packages/pckUserControl_RT.dpk b/official/2.20/Packages/pckUserControl_RT.dpk
new file mode 100644
index 0000000..e5c830c
--- /dev/null
+++ b/official/2.20/Packages/pckUserControl_RT.dpk
@@ -0,0 +1,65 @@
+package pckUserControl_RT;
+
+{$R *.res}
+{$ALIGN 8}
+{$ASSERTIONS ON}
+{$BOOLEVAL OFF}
+{$DEBUGINFO ON}
+{$EXTENDEDSYNTAX ON}
+{$IMPORTEDDATA ON}
+{$IOCHECKS ON}
+{$LOCALSYMBOLS ON}
+{$LONGSTRINGS ON}
+{$OPENSTRINGS ON}
+{$OPTIMIZATION ON}
+{$OVERFLOWCHECKS OFF}
+{$RANGECHECKS OFF}
+{$REFERENCEINFO ON}
+{$SAFEDIVIDE OFF}
+{$STACKFRAMES OFF}
+{$TYPEDADDRESS OFF}
+{$VARSTRINGCHECKS ON}
+{$WRITEABLECONST OFF}
+{$MINENUMSIZE 1}
+{$IMAGEBASE $400000}
+{$DESCRIPTION 'User Control Package 2'}
+{$RUNONLY}
+{$IMPLICITBUILD OFF}
+{%TogetherDiagram 'ModelSupport_pckUserControl_RT\default.txaPackage'}
+
+requires
+ vcljpg,
+ vcl,
+ rtl,
+ vclactnband,
+ dbrtl,
+ vcldb,
+ pckMD5,
+ pckUCDataConnector,
+ VclSmp,
+ indy;
+
+contains
+ UCMail in '..\Source\UCMail.pas',
+ IncPerfil_U in '..\Source\IncPerfil_U.pas' {frmIncluirPerfil},
+ IncUser_U in '..\Source\IncUser_U.pas' {frmIncluirUsuario},
+ TrocaSenha_U in '..\Source\TrocaSenha_U.pas',
+ UCBase in '..\Source\UCBase.pas',
+ CadPerfil_U in '..\Source\CadPerfil_U.pas' {frmCadastrarPerfil},
+ SenhaForm_U in '..\Source\SenhaForm_U.pas',
+ CadUser_U in '..\Source\CadUser_U.pas' {frmCadastrarUsuario},
+ EnvMsgForm_U in '..\Source\EnvMsgForm_U.pas',
+ MsgRecForm_U in '..\Source\MsgRecForm_U.pas',
+ MsgsForm_U in '..\Source\MsgsForm_U.pas',
+ UCDataInfo in '..\Source\UCDataInfo.pas',
+ UCMessages in '..\Source\UCMessages.pas',
+ UserPermis_U in '..\Source\UserPermis_U.pas',
+ ViewLog_U in '..\Source\ViewLog_U.pas',
+ UCEMailForm_U in '..\Source\UCEMailForm_U.pas',
+ UCSettings in '..\Source\UCSettings.pas',
+ UsersLogged_U in '..\Source\UsersLogged_U.pas' {frmUsersLogged},
+ LoginWindow_U in '..\Source\LoginWindow_U.pas',
+ UCHist_Form in '..\Source\UCHist_Form.pas' {FrmHistorico},
+ UcConsts_Language in '..\Source\UcConsts_Language.pas';
+
+end.
diff --git a/official/2.20/Packages/pckUserControl_RT.dproj b/official/2.20/Packages/pckUserControl_RT.dproj
new file mode 100644
index 0000000..33bcdea
--- /dev/null
+++ b/official/2.20/Packages/pckUserControl_RT.dproj
@@ -0,0 +1,150 @@
+
+
+ {0e9c6372-292f-47d7-b235-70ab25776f3b}
+ pckUserControl_RT.dpk
+ Debug
+ AnyCPU
+ DCC32
+ C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\pckUserControl_RT.bpl
+
+
+ 7.0
+ False
+ False
+ 0
+ RELEASE
+ True
+ True
+ True
+
+
+ 7.0
+ DEBUG
+ True
+ True
+ True
+
+
+ Delphi.Personality
+ Package
+
+
+ False
+ True
+ False
+
+
+ User Control Package 2
+ False
+ False
+ True
+
+
+ True
+ False
+ 1
+ 0
+ 0
+ 0
+ False
+ False
+ False
+ False
+ False
+ 1046
+ 1252
+
+
+
+
+ 1.0.0.0
+
+
+
+
+
+ 1.0.0.0
+
+
+
+
+
+ WL Decision Cube Components
+
+
+ pckUserControl_RT.dpk
+
+
+
+
+
+
+ MainSource
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/official/2.20/Packages/pckUserControl_RT.drc b/official/2.20/Packages/pckUserControl_RT.drc
new file mode 100644
index 0000000..7642ac9
--- /dev/null
+++ b/official/2.20/Packages/pckUserControl_RT.drc
@@ -0,0 +1,14 @@
+/* VER180
+ Generated by the Borland Delphi Pascal Compiler
+ because -GD or --drc was supplied to the compiler.
+
+ This file contains compiler-generated resources that
+ were bound to the executable.
+ If this file is empty, then no compiler-generated
+ resources were bound to the produced executable.
+*/
+
+STRINGTABLE
+BEGIN
+END
+
diff --git a/official/2.20/Packages/pckUserControl_RT.res b/official/2.20/Packages/pckUserControl_RT.res
new file mode 100644
index 0000000..fd84fb8
Binary files /dev/null and b/official/2.20/Packages/pckUserControl_RT.res differ
diff --git a/official/2.20/Source/CadPerfil_U.dfm b/official/2.20/Source/CadPerfil_U.dfm
new file mode 100644
index 0000000..2740912
--- /dev/null
+++ b/official/2.20/Source/CadPerfil_U.dfm
@@ -0,0 +1,497 @@
+object frmCadastrarPerfil: TfrmCadastrarPerfil
+ Left = 407
+ Top = 193
+ BorderIcons = [biSystemMenu]
+ BorderStyle = bsSingle
+ Caption = 'Seguranca'
+ ClientHeight = 240
+ ClientWidth = 390
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ OldCreateOrder = False
+ OnClose = FormClose
+ OnShow = FormShow
+ PixelsPerInch = 96
+ TextHeight = 13
+ object DBGrid1: TDBGrid
+ Left = 0
+ Top = 35
+ Width = 293
+ Height = 205
+ Align = alClient
+ Ctl3D = True
+ DataSource = DataSource1
+ Options = [dgTitles, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgRowSelect, dgAlwaysShowSelection, dgConfirmDelete, dgCancelOnExit]
+ ParentCtl3D = False
+ ReadOnly = True
+ TabOrder = 0
+ TitleFont.Charset = DEFAULT_CHARSET
+ TitleFont.Color = clWindowText
+ TitleFont.Height = -11
+ TitleFont.Name = 'MS Sans Serif'
+ TitleFont.Style = []
+ OnDblClick = DBGrid1DblClick
+ Columns = <
+ item
+ Expanded = False
+ FieldName = 'Nome'
+ Title.Alignment = taCenter
+ Title.Caption = 'Perfil'
+ Width = 274
+ Visible = True
+ end>
+ end
+ object Panel1: TPanel
+ Left = 0
+ Top = 0
+ Width = 390
+ Height = 35
+ Align = alTop
+ BevelOuter = bvNone
+ Color = clWhite
+ TabOrder = 1
+ object lbDescricao: TLabel
+ Left = 40
+ Top = 11
+ Width = 154
+ Height = 18
+ Caption = 'Perfil de Usu'#225'rios'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -16
+ Font.Name = 'Verdana'
+ Font.Style = [fsBold]
+ ParentFont = False
+ end
+ object Image1: TImage
+ Left = 8
+ Top = 4
+ Width = 28
+ Height = 28
+ AutoSize = True
+ Picture.Data = {
+ 07544269746D6170760C0000424D760C00000000000036000000280000001C00
+ 00001C0000000100200000000000400C00000000000000000000000000000000
+ 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF008E4019008E4019008E4019008E4019008E4019008E4019008E40
+ 19008E4019008E4019008E4019008E4019008E4019008E4019008E4019008E40
+ 19008E4019008E4019008E4019008E4019008E4019008E4019008E4019008E40
+ 19008E4019008E4019008E401900FFFFFF00FFFFFF008E401800A24E0000A24E
+ 0000A24E0000A24E0000A24E0000A24E0000A24E0000A24E0000A24E0000A24E
+ 0000A24E0000A24E0000A24E0000A24E0000A24E0000A24E0000A24E0000A24E
+ 0000A24E0000A24E0000A24E0000A24E0000A24E0000A24E00008E401900FFFF
+ FF00FFFFFF00A2511B00F9F6F400B7A29300B7A29300B7A29300B7A29300B7A2
+ 9300B7A29300B7A29300B7A29300B7A29300B7A29300B7A29300B7A29300B7A2
+ 9300B7A29300B7A29300B7A29300B7A29300B7A29300B7A29300B7A29300B7A2
+ 9300B7A29300B7A2930092421800FFFFFF00FFFFFF00AE591900FAF8F600F9F6
+ F400F7F3F100F5F1EE00F4EEEB00F2ECE800F1EAE600EFE7E300EDE5E000ECE3
+ DE00EBE1DB00E9DED700E7DBD400E5D9D100E3D6CE00E2D3CB00E0D1C800DECE
+ C500DCCBC200DBC9BF00DBC9BF00DBC9BF00DBC9BF00B7A293008E401900FFFF
+ FF00FFFFFF00B15A1700FDFCFB00FBF9F800F9F7F500F7F3F100F5F1EE00F4EE
+ EB00F2ECE800F1EAE600EFE7E300EDE5E000ECE3DE00EBE1DB00E9DED700E7DB
+ D400E5D9D100E3D6CE00E2D3CB00E0D1C800DECEC500DCCBC200DBC9BF00DBC9
+ BF00DBC9BF00B7A293008E401900FFFFFF00FFFFFF00B45C1700FEFEFD00FDFC
+ FB00FBF9F800F9F7F500F8F4F200F6F2EF00F5F0ED00F3EDEA00F1EBE700EFE7
+ E300EDE5E000ECE3DE00EBE1DB00E9DED700E7DBD400E5D9D100E3D6CE00E2D3
+ CB00E0D1C800DECEC500DCCBC200DBC9BF00DBC9BF00B7A293008E401900FFFF
+ FF00FFFFFF00B75E1600FFFFFF00FEFEFD00FDFCFB00FBF9F800F9F7F500F8F4
+ F200F6F2EF00F5F0ED00F3EDEA00F1EBE700F0E8E400EEE6E100EDE4DF00EBE2
+ DC00E9DED700B7A2930069473100694731006947310069473100694731006947
+ 310069473100B7A293008E401900FFFFFF00FFFFFF00B9601600FFFFFF00FFFF
+ FF00FEFEFD00FDFCFB00FBF9F800F9F7F500F8F4F200F6F2EF00F5F0ED00F3ED
+ EA00F1EBE700F0E8E400EEE6E100EDE4DF00EBE2DC00B7A29300FFFFFF00FCFD
+ FF005476FF00E4E9FF00FFFFFF00FFFFFF0069473100B7A293008E401900FFFF
+ FF00FFFFFF00BC621500FFFFFF00FFFFFF00FFFFFF00FEFEFD00FDFCFB00FBF9
+ F800F9F7F500F8F4F200F6F2EF00F5F0ED00F3EDEA00F1EBE700F0E8E400EEE6
+ E100EDE4DF00B7A29300FFFFFF00B4C3FF000033FF002450FF00FCFDFF00FFFF
+ FF0069473100B7A293008E401900FFFFFF00FFFFFF00BF641500FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FEFEFD00FDFCFB00FBF9F800F9F7F500F8F4F200F6F2
+ EF00F5F0ED00F3EDEA00F1EBE700F0E8E400EEE6E100B7A29300FFFFFF004066
+ FF000C3DFF000033FF009CB0FF00FFFFFF0069473100B7A293008E401900FFFF
+ FF00FFFFFF00C0661400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FEFE
+ FD00FDFCFB00FBF9F800F9F7F500F8F4F200F6F2EF00F5F0ED00F3EDEA00F1EB
+ E700F0E8E400B7A293008CA3FF000033FF00708DFF006483FF001846FF00F0F3
+ FF0069473100B7A293008E401900FFFFFF00FFFFFF00C3681400FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FDFDFC00FCFAF900FAF8
+ F600F9F6F400F6F2EF00F5F0ED00F3EDEA00F1EBE700B7A2930088A0FF001C49
+ FF00E4E9FF00F0F3FF00204DFF006080FF0069473100B7A293008E401900FFFF
+ FF00FFFFFF00C66A1300FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FDFDFC00FCFAF900FAF8F600F9F6F400F7F3F100F5F1
+ EE00F4EEEB00B7A29300FFFFFF00FFFFFF00FFFFFF00FFFFFF009CB0FF000C3D
+ FF006080FF00B7A293008E401900FFFFFF00FFFFFF00C96C1300FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FDFD
+ FC00FCFAF900FAF8F600F9F6F400F7F3F100F5F1EE00B7A29300B7A29300B7A2
+ 9300B7A29300B7A29300B7A293009CB0FF001443FF006080FF008E401900FFFF
+ FF00FFFFFF00CB6D1200FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FDFDFC00FCFAF900FAF8F600F9F6
+ F400F7F3F100F5F1EE00F4EEEB00F2ECE800F1EAE600EFE7E300EDE5E000ECE3
+ DE009CB0FF00345DFF008E401900FFFFFF00FFFFFF00CB6D1200FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FDFDFC00FCFAF900FAF8F600F9F6F400B7A29300694731006947
+ 310069473100694731006947310069473100694731009CB0FF00486DFF00FFFF
+ FF00FFFFFF00CB6D1200FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FDFDFC00FCFA
+ F900FAF8F600B7A29300FFFFFF00FCFDFF005476FF00E4E9FF00FFFFFF00FFFF
+ FF0069473100B7A293009CB0FF007893FF00FFFFFF00CB6D1200FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FDFDFC00FCFAF900B7A29300FFFFFF00B4C3
+ FF000033FF002450FF00FCFDFF00FFFFFF0069473100B7A293008E401900FFFF
+ FF00FFFFFF00CB6D1200FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FEFEFD00B7A29300FFFFFF004066FF000C3DFF000033FF009CB0FF00FFFF
+ FF0069473100B7A293008E401900FFFFFF00FFFFFF00CB6D1200FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00B7A293008CA3FF000033
+ FF00708DFF006483FF001846FF00F0F3FF0069473100B7A293008E401900FFFF
+ FF00FFFFFF00CA6C1100F3EDEA00F3EDEA00F3EDEA00F3EDEA00F3EDEA00F3ED
+ EA00F3EDEA00F3EDEA00F3EDEA00F3EDEA00F3EDEA00F3EDEA00F3EDEA00F3ED
+ EA00F3EDEA00B7A2930088A0FF001C49FF00E4E9FF00F0F3FF00204DFF006080
+ FF0069473100F3EDEA008E401900FFFFFF00FFFFFF00B96303008E4019008E40
+ 19008E4019008E4019008E4019008E4019008E4019008E4019008E4019008E40
+ 19008E4019008E4019008E4019008E4019008E401900B7A29300FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF009CB0FF000C3DFF006080FF008E4019008E401900FFFF
+ FF00FFFFFF00B9630300B45C0000B45C0000B45C0000B45C0000B45C0000B45C
+ 0000B45C0000B55B0000B55B0000B55B0000B55B0000B55B0000B55B0000B45C
+ 0000B45C0000B7A29300B7A29300B7A29300B7A29300B7A29300B7A293009CB0
+ FF001443FF006080FF008E401900FFFFFF00FFFFFF00E3A66000E38E2D00E38E
+ 2D00E38E2D00E38E2D00E38E2D00E38E2D00E38E2D00E38E2D00E38E2D00E38E
+ 2D00E38E2D00E38E2D00E38E2D00E38E2D00E38E2D00E38E2D00F6CA9A00F19F
+ 4300E38E2D00F6CA9A00F19F4300E38E2D009CB0FF00345DFF00E3A66000FFFF
+ FF00FFFFFF00F8EBDC00E3A66000D2710000D2710000D2710000D2710000D271
+ 0000D2710000D2710000D2710000D2710000D2710000D2710000D2710000D271
+ 0000D2710000D2710000D2710000D2710000D2710000D2710000D2710000D271
+ 0000D27100009CB0FF00486DFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF009CB0FF007893
+ FF00}
+ end
+ end
+ object Panel3: TPanel
+ Left = 293
+ Top = 35
+ Width = 97
+ Height = 205
+ Align = alRight
+ BevelOuter = bvNone
+ TabOrder = 2
+ object btAdic: TBitBtn
+ Left = 8
+ Top = 11
+ Width = 81
+ Height = 25
+ Caption = '&Adicionar'
+ TabOrder = 0
+ OnClick = btAdicClick
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF0060000060
+ 00006000FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FF777777787878777777FF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF00600033CB
+ 51006000FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FF777777C8C8C8777777FF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF00600000600000600040D8
+ 65006000006000006000FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FF787878777777777777D1D1D1787878777777777777D1BBAD694731
+ 69473169473169473169473169473169473169473100600060F8985AF28F4DE5
+ 7A40D8653AD25C006000CCCCCC6C6C6C6B6B6B6B6B6B6C6C6C6C6C6C6B6B6B6C
+ 6C6C6B6B6B777777EAEAEAE5E5E5DBDBDBD2D2D2CDCDCD787878D1BBADFFFFFF
+ FBF9F8F7F3F1F3EDEAEFE7E3EBE1DBE6D9D2E1D2CA0060000060000060005AF2
+ 8F006000006000006000CCCCCCFFFFFFFBFBFBF7F7F7F2F2F2EEEEEEEAEAEAE3
+ E3E3DFDFDF777777777777777777E6E6E6777777777777787878D1BBADFFFFFF
+ CF875FCF875FF7F3F1CF875FCF875FEBE1DBCF875FCF875FDCCBC100600060F8
+ 98006000FF00FFFF00FFCCCCCCFFFFFFA4A4A4A4A4A4F7F7F7A5A5A5A4A4A4EA
+ EAEAA5A5A5A4A4A4D9D9D9777777EAEAEA777777FF00FFFF00FFD1BBADFFFFFF
+ FFFFFFFFFFFFFBF9F8F7F3F1F3EDEAEFE7E3EBE1DBE6D9D2E1D2CA0060000060
+ 00006000FF00FFFF00FFCCCCCCFFFFFFFFFFFFFFFFFFFBFBFBF7F7F7F3F3F3EE
+ EEEEE9E9E9E4E4E4DFDFDF777777777777777777FF00FFFF00FFD1BBADD1BBAD
+ D1BBADD1BBADE070406947316947316947316947316947316947316947316947
+ 31694731694731694731CDCDCDCCCCCCCCCCCCCCCCCC9494946C6C6C6C6C6C6B
+ 6B6B6C6C6C6B6B6B6C6C6C6B6B6B6C6C6C6B6B6B6C6C6C6C6C6CFF00FFFF00FF
+ FF00FFFF00FFE07040FFFFFFFBF9F8F7F3F1F3EDEAEFE7E3EBE1DBE6D9D2E1D2
+ CADCCBC1DBC9BF694731FF00FFFF00FFFF00FFFF00FF959595FFFFFFFBFBFBF7
+ F7F7F2F2F2EEEEEEEAEAEAE3E3E3DFDFDFD9D9D9D8D8D86C6C6CFF00FFFF00FF
+ FF00FFFF00FFE07040FFFFFFCF875FCF875FF7F3F1CF875FCF875FEBE1DBCF87
+ 5FCF875FDCCBC1694731FF00FFFF00FFFF00FFFF00FF949494FFFFFFA5A5A5A4
+ A4A4F7F7F7A5A5A5A4A4A4EAEAEAA5A5A5A4A4A4DADADA6B6B6BFF00FFFF00FF
+ FF00FFFF00FFE07040FFFFFFFFFFFFFFFFFFFBF9F8F7F3F1F3EDEAEFE7E3EBE1
+ DBE6D9D2E1D2CA694731FF00FFFF00FFFF00FFFF00FF949494FFFFFFFFFFFFFF
+ FFFFFBFBFBF7F7F7F2F2F2EEEEEEEAEAEAE4E4E4DFDFDF6C6C6CFF00FFFF00FF
+ FF00FFFF00FFE07040E07040E07040E07040E07040E07040E07040E07040E070
+ 40E07040E07040E07040FF00FFFF00FFFF00FFFF00FF95959595959595959594
+ 9494949494949494959595959595949494959595959595959595FF00FFFF00FF
+ FF00FFFF00FFE07040FBC39FFBC39FFAC19CF5B18BEFA27AEB9369E68254E070
+ 40E07040E07040E07040FF00FFFF00FFFF00FFFF00FF949494D2D2D2D2D2D2D0
+ D0D0C4C4C4BABABAAFAFAFA1A1A1949494959595959595959595FF00FFFF00FF
+ FF00FFFF00FFE07040E07040E07040E07040E07040E07040E07040E07040E070
+ 40E07040E07040E07040FF00FFFF00FFFF00FFFF00FF95959595959594949495
+ 9595959595959595949494959595949494949494959595959595FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF}
+ NumGlyphs = 2
+ end
+ object BtAlt: TBitBtn
+ Left = 8
+ Top = 51
+ Width = 81
+ Height = 25
+ Caption = '&Alterar'
+ TabOrder = 1
+ OnClick = BtAltClick
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFD1BBAD694731
+ 694731694731694731694731694731694731694731694731694731694731FF00
+ FFFF00FFFF00FFFF00FFCCCCCC6C6C6C6B6B6B6C6C6C6C6C6C6C6C6C6C6C6C6C
+ 6C6C6B6B6B6C6C6C6C6C6C6B6B6BFF00FFFF00FFFF00FFFF00FFD1BBADFFFFFF
+ FBF9F8F7F3F1F3EDEAEFE7E3EBE1DBE6D9D2E1D2CADCCBC1DBC9BF694731FF00
+ FFFF00FFFF00FFFF00FFCDCDCDFFFFFFFBFBFBF7F7F7F2F2F2EEEEEEE9E9E9E3
+ E3E3DFDFDFDADADAD8D8D86C6C6CFF00FFFF00FFFF00FFFF00FFD1BBADFFFFFF
+ CF875FCF875FF7F3F1CF875FCF875F1C1C1C1C1C1C1C1C1CDCCBC1694731FF00
+ FFFF00FFFF00FFFF00FFCDCDCDFFFFFFA4A4A4A4A4A4F7F7F7A4A4A4A4A4A440
+ 4040404040414141DADADA6C6C6CFF00FFFF00FFFF00FFFF00FFD1BBADFFFFFF
+ FFFFFFFFFFFFFBF9F8F7F3F11C1C1C0098C8FCFAF8A39D98E1D2CA694731FF00
+ FFFF00FFFF00FFFF00FFCDCDCDFFFFFFFFFFFFFFFFFFFBFBFBF7F7F7414141B9
+ B9B9FCFCFCB7B7B7DFDFDF6B6B6BFF00FFFF00FFFF00FFFF00FFD1BBADD1BBAD
+ D1BBADD1BBADE070401C1C1C0098C84ABEDF0098C8A39D986947316947316947
+ 31694731694731694731CCCCCCCDCDCDCDCDCDCDCDCD959595404040B9B9B9D3
+ D3D3B9B9B9B7B7B76C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6CFF00FFFF00FF
+ FF00FFFF00FF1C1C1C0098C84ABEDF94E4F60098C8EFE7E3EBE1DBE6D9D2E1D2
+ CADCCBC1DBC9BF694731FF00FFFF00FFFF00FFFF00FF414141B9B9B9D3D3D3ED
+ EDEDB9B9B9EEEEEEEAEAEAE4E4E4DFDFDFD9D9D9D8D8D86C6C6CFF00FFFF00FF
+ FF00FF1C1C1C0098C84ABEDF94E4F60098C8F7F3F1CF875FCF875FEBE1DBCF87
+ 5FCF875FDCCBC1694731FF00FFFF00FFFF00FF414141B9B9B9D3D3D3EDEDEDB9
+ B9B9F7F7F7A4A4A4A4A4A4EAEAEAA4A4A4A4A4A4D9D9D96C6C6CFF00FFFF00FF
+ 1C1C1C0098C84ABEDF94E4F60098C8FFFFFFFBF9F8F7F3F1F3EDEAEFE7E3EBE1
+ DBE6D9D2E1D2CA694731FF00FFFF00FF414141B9B9B9D3D3D3EDEDEDB9B9B9FF
+ FFFFFBFBFBF7F7F7F3F3F3EEEEEEE9E9E9E3E3E3DFDFDF6C6C6CFF00FF00009A
+ 8080804ABEDF94E4F60098C8E07040E07040E07040E07040E07040E07040E070
+ 40E07040E07040E07040FF00FF7272729F9F9FD3D3D3EDEDEDB9B9B994949495
+ 959595959595959594949495959594949495959595959594949400009A00009A
+ 778C98D2BAAC0098C8FBC39FFBC39FFAC19CF5B18BEFA27AEB9369E68254E070
+ 40E07040E07040E07040727272727272AAAAAACCCCCCB9B9B9D2D2D2D2D2D2D0
+ D0D0C4C4C4B9B9B9AFAFAFA2A2A29494949595959595959595954A23C70030F8
+ 6D8AFD0030F8E07040E07040E07040E07040E07040E07040E07040E07040E070
+ 40E07040E07040E07040A85FA8A2A2A2C2C2C2A2A2A295959595959595959594
+ 9494959595959595959595949494959595959595959595959595FF00FF8817DA
+ 0030F8FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFC63EC6A2A2A2FF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF}
+ NumGlyphs = 2
+ end
+ object BtExclui: TBitBtn
+ Left = 8
+ Top = 91
+ Width = 81
+ Height = 25
+ Caption = '&Excluir'
+ TabOrder = 2
+ OnClick = BtExcluiClick
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FF0030F8000098FF00FFFF00FFFF00FFFF00
+ FFFF00FF0000980030F8FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFA3
+ A3A3707070FF00FFFF00FFFF00FFFF00FFFF00FF707070A2A2A2FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FF0030F8000098FF00FFFF00FFFF00
+ FF0000980030F8FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFA2A2A2707070FF00FFFF00FFFF00FF707070A3A3A3FF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF0030F8000098FF00FF0000
+ 980030F8FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFA2A2A2707070FF00FF727272A3A3A3FF00FFFF00FFD1BBAD694731
+ 6947316947316947316947316947316947316947316947310030F8002AD0002A
+ D0FF00FFFF00FFFF00FFCCCCCC6C6C6C6C6C6C6C6C6C6B6B6B6C6C6C6B6B6B6B
+ 6B6B6C6C6C6C6C6CA3A3A3919191919191FF00FFFF00FFFF00FFD1BBADE8DCD4
+ E6D9D1E4D7CEE2D4CAE1D1C7DFCFC4DDCBC0DBC8BDD8C5B90030F8002AD00000
+ 98FF00FFFF00FFFF00FFCDCDCDE6E6E6E3E3E3E2E2E2E0E0E0DDDDDDDCDCDCD9
+ D9D9D7D7D7D5D5D5A2A2A2919191707070FF00FFFF00FFFF00FFD1BBADE8DCD4
+ 694731694731E4D7CE694731694731DFCFC46947310030F80000986947310030
+ F8000098FF00FFFF00FFCDCDCDE6E6E66C6C6C6C6C6CE2E2E26C6C6C6C6C6CDC
+ DCDC6C6C6CA2A2A27070706C6C6CA3A3A3707070FF00FFFF00FFD1BBADE8DCD4
+ E8DCD4E8DCD4E6D9D1E4D7CEE2D4CAE1D1C70030F8000098DBC8BD694731FF00
+ FF0030F8000098FF00FFCDCDCDE6E6E6E6E6E6E6E6E6E3E3E3E2E2E2DFDFDFDD
+ DDDDA3A3A3707070D7D7D76C6C6CFF00FFA3A3A3727272FF00FFD1BBADD1BBAD
+ D1BBADD1BBADE070406947316947316947310000986947316947316947316947
+ 316947310030F8694731CCCCCCCCCCCCCDCDCDCDCDCD9595956B6B6B6C6C6C6C
+ 6C6C7070706C6C6C6C6C6C6C6C6C6C6C6C6C6C6CA2A2A26C6C6CFF00FFFF00FF
+ FF00FFFF00FFE07040FFFFFFFBF9F8F7F3F1F3EDEAEFE7E3EBE1DBE6D9D2E1D2
+ CADCCBC1DBC9BF694731FF00FFFF00FFFF00FFFF00FF959595FFFFFFFBFBFBF7
+ F7F7F2F2F2EEEEEEE9E9E9E4E4E4DFDFDFDADADAD8D8D86C6C6CFF00FFFF00FF
+ FF00FFFF00FFE07040FFFFFF694731694731F7F3F1694731694731EBE1DB6947
+ 31694731DCCBC1694731FF00FFFF00FFFF00FFFF00FF959595FFFFFF6C6C6C6B
+ 6B6BF7F7F76C6C6C6C6C6CEAEAEA6B6B6B6C6C6CD9D9D96C6C6CFF00FFFF00FF
+ FF00FFFF00FFE07040FFFFFFFFFFFFFFFFFFFBF9F8F7F3F1F3EDEAEFE7E3EBE1
+ DBE6D9D2E1D2CA694731FF00FFFF00FFFF00FFFF00FF959595FFFFFFFFFFFFFF
+ FFFFFBFBFBF7F7F7F3F3F3EEEEEEEAEAEAE3E3E3DFDFDF6C6C6CFF00FFFF00FF
+ FF00FFFF00FFE07040E07040E07040E07040E07040E07040E07040E07040E070
+ 40E07040E07040E07040FF00FFFF00FFFF00FFFF00FF95959595959595959595
+ 9595949494959595959595959595959595959595959595949494FF00FFFF00FF
+ FF00FFFF00FFE07040FBC39FFBC39FFAC19CF5B18BEFA27AEB9369E68254E070
+ 40E07040E07040E07040FF00FFFF00FFFF00FFFF00FF959595D2D2D2D2D2D2D0
+ D0D0C4C4C4B9B9B9AFAFAFA2A2A2959595949494959595959595FF00FFFF00FF
+ FF00FFFF00FFE07040E07040E07040E07040E07040E07040E07040E07040E070
+ 40E07040E07040E07040FF00FFFF00FFFF00FFFF00FF95959595959594949495
+ 9595959595959595959595959595949494959595959595959595FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF}
+ NumGlyphs = 2
+ end
+ object BtExit: TBitBtn
+ Left = 8
+ Top = 171
+ Width = 81
+ Height = 25
+ Caption = '&Fechar'
+ TabOrder = 3
+ OnClick = BtExitClick
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFC066148E4019
+ 8E40198E40198E40198E40198E40198E40198E40198E40198E40198E40198E40
+ 198E40198E4019FF00FF8888886969696969696969696969696969696A6A6A69
+ 69696969696969696A6A6A6969696969696A6A6A696969FF00FFC06614F9F5F4
+ C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2
+ A5C3B2A58E4019FF00FF888888F8F8F8C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6
+ C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6696969FF00FFC06614FCFAFA
+ F9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCDFD0C7DFD0C7DCCB
+ C1C3B2A58E4019FF00FF888888FCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEAEAEAE7
+ E7E7E4E4E4E0E0E0DDDDDDDDDDDDD9D9D9C6C6C6696969FF00FFC06614FFFFFF
+ FCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCE2D4CCDFD0
+ C7C3B2A58E4019FF00FF888888FFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEA
+ EAEAE7E7E7E3E3E3E0E0E0E0E0E0DDDDDDC6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E5D9D1E2D4
+ CCC3B2A58E4019FF00FF888888FFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EE
+ EEEEEAEAEAE7E7E7E3E3E3E3E3E3E0E0E0C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E9DED7E5D9
+ D1C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1
+ F1F1EEEEEEEAEAEAE7E7E7E7E7E7E3E3E3C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F2EBE8EEE6E2ECE2DCECE2DCE9DE
+ D7C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFBFBFBF7
+ F7F7F1F1F1EEEEEEEAEAEAEAEAEAE7E7E7C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF0E9E5F0E9E5EDE4
+ DFC3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFB
+ FBFBF7F7F7F3F3F3F0F0F0F0F0F0ECECECC6C6C66A6A6AFF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF4EEEBF0E9
+ E5C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE
+ FEFEFBFBFBF7F7F7F3F3F3F3F3F3F0F0F0C6C6C66A6A6AFF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F78A9DE92546CD1D3F
+ C9193BC8183BC88194E1898989FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFEFEFEFAFAFAC6C6C6979797929292929292929292C0C0C0C06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFD3355DBF2F4FD4E6B
+ D94A67D8F2F4FD183BC8888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFEFEFEA1A1A1FAFAFAAAAAAAA8A8A8F9F9F9929292C066148E4019
+ 8E40198E40198E40198E40198E40198E40198E40198E40193C5CDD8296E4D9DF
+ F9CDD5F74C69D81A3CC88888886969696969696969696A6A6A69696969696969
+ 6969696969696969A5A5A5C1C1C1EDEDEDE7E7E7A8A8A8929292C06614ED9733
+ ED9733ED9733ED9733ED9733ED9733ED9733F6CA9AED97334563E16980E2E4E8
+ FBD8DEF9516DDA1F40C9888888ACACACACACACADADADADADADADADADACACACAD
+ ADADD5D5D5ADADADA8A8A8B6B6B6F2F2F2ECECECABABAB939393F810DCC06614
+ C06614C06614C06614C06614C06614C06614C06614C066144D6AE3F2F4FD667D
+ E26E85E2F2F4FD2749CEEF14EF88888888888888888888888889898988888888
+ 8888888888898989ACACACF9F9F9B5B5B5B9B9B9F9F9F9989898FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF9AABEF4D6AE34563
+ E14463DF3E5EDE8FA2EBFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFCFCFCFACACACA8A8A8A8A8A8A6A6A6C9C9C9}
+ NumGlyphs = 2
+ end
+ object BtAcess: TBitBtn
+ Left = 8
+ Top = 131
+ Width = 81
+ Height = 25
+ Caption = '&Acessos'
+ TabOrder = 4
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFC2652BA53C00A53C00A53C00A53C00A53C00A53C
+ 00A53C00FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF89898969
+ 69696969696969696969696969696A6A6A696969FF00FFFF00FFFF00FFFF00FF
+ A22E08A22E08A22E08A22E08C2652BFFD4A5FFD4A5FFD4A5FFCD97FFC07DFFAD
+ 55A53C00FF00FFFF00FFFF00FFFF00FF606060606060606060606060898989DC
+ DCDCDCDCDCDCDCDCD7D7D7CCCCCCBEBEBE6A6A6AFF00FFFF00FFFF00FFFF00FF
+ A22E08FF00FFFF00FFFF00FFC2652BC2652BC2652BC2652BC2652BC2652BC265
+ 2BC2652BFF00FFFF00FFFF00FFFF00FF606060FF00FFFF00FFFF00FF89898989
+ 8989898989898989898989898989898989898989FF00FFFF00FFFF00FFFF00FF
+ A22E08FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FF606060FF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ A22E08FF00FFFF00FFFF00FF1C1C1C986060986060A53C00A53C00A53C00A53C
+ 00A53C00FF00FFFF00FFFF00FFFF00FF616161FF00FFFF00FFFF00FF41414188
+ 8888888888696969696969696969696969696969FF00FFFF00FFFF00FFFF00FF
+ A22E08A22E08A22E08A22E08C89898FCFAF80098C81C1C1CFFCD97FFC07DFFAD
+ 55A53C00FF00FFFF00FFFF00FFFF00FF606060606060606060606060B5B5B5FC
+ FCFCB9B9B9414141D7D7D7CCCCCCBEBEBE696969FF00FFFF00FFFF00FFFF00FF
+ A22E08FF00FFFF00FFFF00FFC898980098C84ABEDF0098C81C1C1CC2652BC265
+ 2BC2652BFF00FFFF00FFFF00FFFF00FF606060FF00FFFF00FFFF00FFB5B5B5B9
+ B9B9D3D3D3B9B9B9414141898989898989898989FF00FFFF00FFFF00FFFF00FF
+ A22E08FF00FFFF00FFFF00FFFF00FF0098C894E4F64ABEDF0098C81C1C1CFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FF606060FF00FFFF00FFFF00FFFF00FFB9
+ B9B9EDEDEDD3D3D3B9B9B9414141FF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ A22E08FF00FFFF00FFFF00FFC2652BA53C000098C894E4F64ABEDF0098C81C1C
+ 1CA53C00FF00FFFF00FFFF00FFFF00FF606060FF00FFFF00FFFF00FF89898969
+ 6969B9B9B9EDEDEDD3D3D3B9B9B94040406A6A6AFF00FFFF00FFFF00FFFF00FF
+ A22E08A22E08A22E08A22E08C2652BFFD4A5FFD4A50098C894E4F64ABEDF0098
+ C81C1C1CFF00FFFF00FFFF00FFFF00FF606060606060606060606060898989DC
+ DCDCDCDCDCB9B9B9EDEDEDD3D3D3BABABA414141FF00FFFF00FFFF00FFFF00FF
+ A22E08FF00FFFF00FFFF00FFC2652BC2652BC2652BC2652B0098C894E4F64ABE
+ DF80808000009AFF00FFFF00FFFF00FF606060FF00FFFF00FFFF00FF89898989
+ 8989898989898989BABABAEDEDEDD3D3D3A0A0A0727272FF00FFFF00FFFF00FF
+ A22E08FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF0098C8D2BA
+ AC778C9800009A00009AFF00FFFF00FF606060FF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFB9B9B9CCCCCCABABAB727272727272C2652BA22E08
+ A22E08A22E08A22E08A22E08A22E08A22E16FF00FFFF00FFFF00FFFF00FF0030
+ F86D8AFD0030F800009A89898960606060606060606060606060606060606061
+ 6161FF00FFFF00FFFF00FFFF00FFA2A2A2C2C2C2A3A3A3727272C2652BFFD4A5
+ FFD4A5FFD4A5FFCD97FFC07DFFAD55A22E08FF00FFFF00FFFF00FFFF00FFFF00
+ FF0030F80030F8FF00FF898989DCDCDCDCDCDCDCDCDCD7D7D7CCCCCCBEBEBE60
+ 6060FF00FFFF00FFFF00FFFF00FFFF00FFA2A2A2A3A3A3FF00FFC2652BC2652B
+ C2652BC2652BC2652BC2652BC2652BC2652BFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FF89898989898989898989898989898989898989898989
+ 8989FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF}
+ NumGlyphs = 2
+ end
+ end
+ object DataSource1: TDataSource
+ Left = 128
+ Top = 104
+ end
+end
diff --git a/official/2.20/Source/CadPerfil_U.pas b/official/2.20/Source/CadPerfil_U.pas
new file mode 100644
index 0000000..3c78371
--- /dev/null
+++ b/official/2.20/Source/CadPerfil_U.pas
@@ -0,0 +1,201 @@
+{-----------------------------------------------------------------------------
+ Unit Name: CadPerfil_U
+ Author: QmD
+ Last Change: 25-abr-2005
+ Purpose: User profile
+ History: Corrected Bug on Apply XPStyle definitions
+-----------------------------------------------------------------------------}
+
+unit CadPerfil_U;
+
+interface
+
+{$I 'UserControl.inc'}
+
+uses
+{$IFDEF DELPHI5_UP}
+ Variants,
+{$ENDIF}
+ Buttons,
+ Classes,
+ Controls,
+ DB,
+ DBGrids,
+ Dialogs,
+ ExtCtrls,
+ Forms,
+ Graphics,
+ Grids,
+ IncPerfil_U,
+ Menus,
+ Messages,
+ StdCtrls,
+ SysUtils,
+ UCBase,
+ Windows;
+
+type
+ TfrmCadastrarPerfil = class(TForm)
+ DBGrid1: TDBGrid;
+ Panel1: TPanel;
+ lbDescricao: TLabel;
+ Image1: TImage;
+ Panel3: TPanel;
+ btAdic: TBitBtn;
+ BtAlt: TBitBtn;
+ BtExclui: TBitBtn;
+ BtExit: TBitBtn;
+ DataSource1: TDataSource;
+ BtAcess: TBitBtn;
+ procedure BtExitClick(Sender: TObject);
+ procedure FormClose(Sender: TObject; var Action: TCloseAction);
+ procedure DBGrid1DblClick(Sender: TObject);
+ procedure btAdicClick(Sender: TObject);
+ procedure BtAltClick(Sender: TObject);
+ procedure BtExcluiClick(Sender: TObject);
+ procedure FormShow(Sender: TObject);
+ private
+ FIncluirPerfil: TfrmIncluirPerfil;
+ public
+ FUserControl: TUserControl;
+ FDataSetPerfilUsuario: TDataset;
+ procedure SetWindow(Adicionar: Boolean);
+ end;
+
+implementation
+
+{$R *.dfm}
+
+procedure TfrmCadastrarPerfil.BtExitClick(Sender: TObject);
+begin
+ Close;
+end;
+
+procedure TfrmCadastrarPerfil.FormClose(Sender: TObject; var Action: TCloseAction);
+begin
+ Action := caFree;
+end;
+
+procedure TfrmCadastrarPerfil.DBGrid1DblClick(Sender: TObject);
+begin
+ BtAlt.Click;
+end;
+
+procedure TfrmCadastrarPerfil.btAdicClick(Sender: TObject);
+begin
+ try
+ FIncluirPerfil := TfrmIncluirPerfil.Create(Self);
+ FIncluirPerfil.FUserControl := Self.FUserControl;
+ SetWindow(True);
+ FIncluirPerfil.ShowModal;
+ finally
+ FreeAndNil(FIncluirPerfil);
+ end;
+end;
+
+procedure TfrmCadastrarPerfil.SetWindow(Adicionar: Boolean);
+begin
+ with TUserControl(owner).UserSettings.AddChangeProfile do
+ begin
+ FIncluirPerfil.Caption := WindowCaption;
+ if Adicionar then
+ FIncluirPerfil.LbDescricao.Caption := LabelAdd
+ else
+ FIncluirPerfil.LbDescricao.Caption := LabelChange;
+
+ FIncluirPerfil.lbNome.Caption := LabelName;
+ FIncluirPerfil.btGravar.Caption := BtSave;
+ FIncluirPerfil.btCancela.Caption := BtCancel;
+ FIncluirPerfil.Position := Self.FUserControl.UserSettings.WindowsPosition;
+ end;
+end;
+
+procedure TfrmCadastrarPerfil.BtAltClick(Sender: TObject);
+begin
+ if FDataSetPerfilUsuario.IsEmpty then
+ Exit;
+ try
+ FIncluirPerfil := TfrmIncluirPerfil.Create(self);
+ FIncluirPerfil.FUserControl := Self.FUserControl;
+ SetWindow(False);
+ with FIncluirPerfil do
+ begin
+ FAltera := True;
+ EditDescricao.Text := FDataSetPerfilUsuario.FieldByName('Nome').AsString;
+ ShowModal;
+ end;
+ finally
+ FreeAndNil(FIncluirPerfil);
+ end;
+end;
+
+procedure TfrmCadastrarPerfil.BtExcluiClick(Sender: TObject);
+var
+ TempID: Integer;
+ CanDelete: Boolean;
+ ErrorMsg: String;
+ TempDS: TDataset;
+begin
+ if FDataSetPerfilUsuario.IsEmpty then
+ Exit;
+ TempID := FDataSetPerfilUsuario.FieldByName('IDUser').AsInteger;
+ TempDS := FUserControl.DataConnector.UCGetSQLDataset('Select ' + FUserControl.TableUsers.FieldUserID + ' as IdUser from ' +
+ FUserControl.TableUsers.TableName +
+ ' Where ' + FUserControl.TableUsers.FieldTypeRec + ' = ' + QuotedStr('U') +
+ ' AND ' + FUserControl.TableUsers.FieldProfile + ' = ' + IntToStr(TempID));
+
+ if TempDS.FieldByName('IdUser').AsInteger > 0 then
+ begin
+ TempDS.Close;
+ FreeAndNil(TempDS);
+ //changed by fduenas: PromptDelete_WindowCaption
+ if MessageBox(handle, PChar(Format(FUserControl.UserSettings.UsersProfile.PromptDelete, [FDataSetPerfilUsuario.FieldByName('Nome').AsString])),
+ PChar(FUserControl.UserSettings.UsersProfile.PromptDelete_WindowCaption), MB_ICONQUESTION or MB_YESNO or MB_DEFBUTTON2) <> idYes then
+ Exit;
+ end;
+ TempDS.Close;
+ FreeAndNil(TempDS);
+
+ CanDelete := True;
+ if Assigned(FUserControl.onDeleteProfile) then
+ FUserControl.onDeleteProfile(TObject(Owner), TempID, CanDelete, ErrorMsg);
+ if not CanDelete then
+ begin
+ MessageDlg(ErrorMSG, mtWarning, [mbOK], 0);
+ Exit;
+ end;
+
+ with FUserControl do
+ begin
+ DataConnector.UCExecSQL('Delete from ' + TableUsers.TableName + ' where ' + TableUsers.FieldUserID + ' = ' + IntToStr(TempID));
+ DataConnector.UCExecSQL('Delete from ' + TableRights.TableName + ' where ' + TableRights.FieldUserID + ' = ' + IntToStr(TempID));
+ DataConnector.UCExecSQL('Delete from ' + TableRights.TableName + 'EX where ' + TableRights.FieldUserID + ' = ' + IntToStr(TempID));
+ DataConnector.UCExecSQL('Update ' + TableUsers.TableName +
+ ' Set ' + TableUsers.FieldProfile + ' = null where ' + TableUsers.FieldUserID + ' = ' + IntToStr(TempID));
+ end;
+ FDataSetPerfilUsuario.Close;
+ FDataSetPerfilUsuario.Open;
+end;
+
+procedure TfrmCadastrarPerfil.FormShow(Sender: TObject);
+begin
+ with FUserControl do
+ begin
+ FDataSetPerfilUsuario := DataConnector.UCGetSQLDataset(
+ Format('Select %s as IdUser, %s as Login, %s as Nome, %s as Tipo from %s Where %s = %s ORDER BY %s',
+ [TableUsers.FieldUserID,
+ TableUsers.FieldLogin,
+ TableUsers.FieldUserName,
+ TableUsers.FieldTypeRec,
+ TableUsers.TableName,
+ TableUsers.FieldTypeRec,
+ QuotedStr('P'),
+ TableUsers.FieldUserName]));
+
+
+ DBGrid1.Columns[0].Title.Caption := UserSettings.UsersProfile.ColProfile;
+ end;
+ DataSource1.Dataset := FDataSetPerfilUsuario;
+end;
+
+end.
diff --git a/official/2.20/Source/CadUser_U.dfm b/official/2.20/Source/CadUser_U.dfm
new file mode 100644
index 0000000..73cfad2
--- /dev/null
+++ b/official/2.20/Source/CadUser_U.dfm
@@ -0,0 +1,594 @@
+object frmCadastrarUsuario: TfrmCadastrarUsuario
+ Left = 215
+ Top = 179
+ BorderIcons = [biSystemMenu]
+ BorderStyle = bsSingle
+ Caption = 'Seguran'#231'a'
+ ClientHeight = 312
+ ClientWidth = 586
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ OldCreateOrder = False
+ OnClose = FormClose
+ OnShow = FormShow
+ PixelsPerInch = 96
+ TextHeight = 13
+ object DBGrid1: TDBGrid
+ Left = 0
+ Top = 35
+ Width = 489
+ Height = 277
+ Align = alClient
+ Ctl3D = True
+ DataSource = DataSource1
+ Options = [dgTitles, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgRowSelect, dgAlwaysShowSelection, dgConfirmDelete, dgCancelOnExit]
+ ParentCtl3D = False
+ PopupMenu = PopupMenu1
+ ReadOnly = True
+ TabOrder = 0
+ TitleFont.Charset = DEFAULT_CHARSET
+ TitleFont.Color = clWindowText
+ TitleFont.Height = -11
+ TitleFont.Name = 'MS Sans Serif'
+ TitleFont.Style = []
+ OnDblClick = DBGrid1DblClick
+ Columns = <
+ item
+ Expanded = False
+ FieldName = 'Nome'
+ Title.Alignment = taCenter
+ Width = 159
+ Visible = True
+ end
+ item
+ Expanded = False
+ FieldName = 'Login'
+ Title.Alignment = taCenter
+ Width = 123
+ Visible = True
+ end
+ item
+ Expanded = False
+ FieldName = 'Email'
+ Title.Alignment = taCenter
+ Width = 183
+ Visible = True
+ end>
+ end
+ object Panel1: TPanel
+ Left = 0
+ Top = 0
+ Width = 586
+ Height = 35
+ Align = alTop
+ BevelOuter = bvNone
+ Color = clWhite
+ TabOrder = 1
+ object lbDescricao: TLabel
+ Left = 44
+ Top = 12
+ Width = 188
+ Height = 18
+ Caption = 'Cadastro de Usu'#225'rios'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -16
+ Font.Name = 'Verdana'
+ Font.Style = [fsBold]
+ ParentFont = False
+ end
+ object Image1: TImage
+ Left = 8
+ Top = 4
+ Width = 28
+ Height = 28
+ AutoSize = True
+ Picture.Data = {
+ 07544269746D6170760C0000424D760C00000000000036000000280000001C00
+ 00001C0000000100200000000000400C00000000000000000000000000000000
+ 0000FFFFFF00FFFFFF00FCFCFC00F4F4F400E7E7E700DCDCDC00D6D6D600D2D2
+ D200D2D2D200D4D4D400D8D8D800DDDDDD00E2E2E200EAEAEA00F4F4F400FCFC
+ FC00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FEFEFE00CBC5D2008B75A4007251
+ 9900673F980063369B006334A0006233A00063349F0063369F0063389B00633B
+ 9700653E940069489000725A8C0091899900D1D1D100FCFCFC00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00C2B0D5005F27A0006126AA006328AF00652BB400672DB800682FBB006930
+ BD006931BE006830BD00682FBB00662DB800652BB3006328AF006125AA005C23
+ 9E00674C8300D5D5D500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF007E51B1006025A8006328AE00652B
+ B400672EB9006931BE006B33C1006B34C4006C35C5006B34C4006A33C1006931
+ BE00672EB900652BB4006228AE006024A8005B249A00B2B0B400F7F7F700F8F8
+ F800F9F9F900FBFBFB00FDFDFD00FEFEFE00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF006D3AA8006127AC00642AB200672EB8006931BE006B34C3006D36C8006837
+ BE00693AC1006E38CB006D36C7006B34C3006931BE00672DB800642AB2006126
+ AB0059229B004B644D0065896300688B67006D8C6D00738E73007B907C008D9B
+ 8F00A7ACA800D0D0D000F6F6F600FFFFFF007F50B3006328AE00652CB5006830
+ BC006B33C2006D36C8006E38CC00596AB000698ED4006E39CC006F39CD006D36
+ C8006B33C200682FBB00652CB4006228AE0054268F003980290042982F004396
+ 2F0045933000488D32004A8733004E8035004C763800517149008E968F00F3F3
+ F300B399CF00642AB000662DB7006931BE006C35C5006F38CC006338B9005C9A
+ C7006DB9EB006557C700713CD2006E38CB006C34C4006931BE00662DB6006329
+ AF00434761003A9C2B003CA32C003DA12D003F9D2E0043972F00478F31004C87
+ 3300517E36005774380053714700D7D7D700F7F4F8007847B400662DB8006931
+ BF006C35C6006F39CD00514CA5005DA7D80061AFE2005A8ECF006E3ACD006F39
+ CD006C35C6006931BE00662DB7005631930034912D0035AE290035AF290036AD
+ 2A0039A72B003EA02D0043972F00488E32004E843400547937004F713F00D2D2
+ D200FFFFFF00E5DEEE007444B6006931BE006C35C5006B36C500416AA1004A8E
+ BD004380AA00407EA8005448AE006E38CA006C35C5006931BE0059349800368A
+ 350032B328002FB927002FBA260031B7270034B0290039A72B003F9E2E004593
+ 30004B883300517E3600547A4700E1E1E100FFFFFF00FEFEFE00CCC8D3007B56
+ AE006933BD005337A3003775A1003F85B7003F88BC00397DAD002C5480004C28
+ 8D006330B400483A76002B702D0031AA27002EBC26002CBA29002AC027002BC0
+ 250030B7270036AD2A003CA22C0043972F00498C32004F80350076957200F7F7
+ F700FFFFFF00AEBDCC000F3C690025496D0040477500467DB6004E9DD3004E9C
+ D2004C9AD0004997CE004493CA00336090000F2E5A0002355F00013460002283
+ 250032B12F00B8CBBA00C6E1C90037BD36002EBC260034B029003BA42C004299
+ 2F00488D32004F853F00CFD7D000FFFFFF00FFFFFF006C89A500013468000235
+ 6A002C65950055A2D70055A3D80054A2D70053A1D600509ED4004C9AD1004795
+ CC001854880000336600003366001C742F0070A17300DBDBDC00DEDEDE00AECD
+ B1002FB4290035AF29003BA42C0042992F00488D3900B5C9B500FDFDFD00FFFF
+ FF00FFFFFF00708DAC00053871000C3F75005399CA005AA7DC005AA7DC005AA7
+ DB0058A5DA0055A3D80052A0D5004D9BD2003B85BB0000336600003366002261
+ 3900788B9400648AA6005782A100607E93003D744400329C26003CA02D00529A
+ 4A00C5D6C600FEFEFE00FFFFFF00FFFFFF00FFFFFF008099B6000B3E7B002961
+ 91005DAADE005FADE0005FADE0005EACDF005CAADD005AA7DC0056A4D90052A0
+ D5004C9AD000124C80000032650030647F004E9BD0004E9CD2004C9AD0004897
+ CE004187B4002B60440081A88000EFF2EF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF0095ABC3000E4182004584B10063B0E30065B2E40065B2E40063B1
+ E30061AEE1005DABDE005AA7DC0055A3D800509ED400296B9F00003365004180
+ AC0055A3D80054A2D70052A0D600509ED4004C9AD0004890C200838E9600F3F3
+ F300FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00ADBED300134585005699
+ C50067B4E60069B6E80069B6E80068B5E70065B2E50061AEE1005DAADE0058A5
+ DA0053A1D600397FB300013365004888B4005AA7DC0059A7DB0057A5DA0055A3
+ D80052A0D5004D9BD1005087AF00C1C1C100FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00B4C2D50016488B00467EA5004E8BB4005EA0CA006BB4E4006CB8
+ EA0068B5E70064B1E4005FACDF005AA7DC0055A2D700387EB300023465004F91
+ BD005FACE0005EABDF005CA9DD0059A7DB0056A4D90052A0D5004C98CE008592
+ 9D00F9F9F900FFFFFF00FFFFFF00FFFFFF00FFFFFF00C9D4E1001C4F9B001C4F
+ 9C001E50A0001F4F93002C5C8D004C83AA0063AAD90065B2E40060AEE1005BA8
+ DC00529DD1001D588B00083A6A005CA2D20064B1E40063B0E30060ADE1005DAA
+ DE0059A7DB0055A3D800509ED4006488A100ECECEC00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00F4F6F7002E5EA7002356AE002558B0002457AF002255AB001D4F
+ 9B00255587004883AA005DA9DB00488CBE00174C800004376E001F54810068B3
+ E50069B5E80067B4E70064B1E40060ADE1005CA9DD0058A5DA0053A1D600598A
+ AE00DDDDDD00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF007F9CC600285B
+ B6002A5DBA00295CB9002659B2002255AB001E51A100194A8C00235585001145
+ 83000A3D7B00053870004985AF006CB7E8006EBAEC006CB8EA0068B4E70063B0
+ E3005EABDF005AA7DB0054A2D7005690B900D8D8D800FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00E9EDF2003A69BB002F62C4002D60C100295CB8002457
+ AE001F52A4001A4D9A0015489000104386000B3E7C001A4D7B00407A9F00447A
+ 9D00518AAE0064A9D7006AB5E70064B1E40060ADE1005BA8DC0055A2D7005890
+ B600DEDEDE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C3D0
+ E5003768C3002E61C200295CB9002457AF001F52A5001A4D9B00154891001144
+ 86001A4D8200478AB5004F96C3004F96C3004B8FBA00427A9E00497FA3005DA4
+ D30060ADE000549CCD00407EA7004B6F8500EAEAEA00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C8D4E500406DBA00285BB5002356
+ AC001E51A3001B4E990016488E006785A900A6C0D300579FCC005AA2CF005AA2
+ CF00569ECB005198C500488CB6003C7294004680A8003E80AA003D81AC00768D
+ 9C00FAFAFA00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00F6F8FA00AFC0D8007E9BC4007B98BE00A0B3CA00DDE3E900FFFF
+ FF00F1F5F70065A9D10064AEDC0064ADDC0060A9D60059A1CE005097C400478D
+ B9003E82AD003D82AD00407BA200C8CBCD00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00B5D2E6006FB8E7006EB9
+ E70068B1E0005FA7D500559DCA004B91BE004086B1003E81AA008EA6B600FAFA
+ FA00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FDFEFE00A5CFE90075BFEE006CB7E50062ABD900579FCC004D93
+ C0004487B0008CAABB00F6F6F600FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00CCDF
+ ED008FC0DE0070ACD1006DA5C80088AFC900CED9E100FDFDFD00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00}
+ end
+ end
+ object Panel3: TPanel
+ Left = 489
+ Top = 35
+ Width = 97
+ Height = 277
+ Align = alRight
+ BevelOuter = bvNone
+ TabOrder = 2
+ object btAdic: TBitBtn
+ Left = 8
+ Top = 26
+ Width = 81
+ Height = 25
+ Caption = '&Adicionar'
+ TabOrder = 0
+ OnClick = btAdicClick
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF0060000060
+ 00006000FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FF777777787878777777FF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF00600033CB
+ 51006000FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FF777777C8C8C8777777FF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF00600000600000600040D8
+ 65006000006000006000FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FF787878777777777777D1D1D1787878777777777777D1BBAD694731
+ 69473169473169473169473169473169473169473100600060F8985AF28F4DE5
+ 7A40D8653AD25C006000CCCCCC6C6C6C6B6B6B6B6B6B6C6C6C6C6C6C6B6B6B6C
+ 6C6C6B6B6B777777EAEAEAE5E5E5DBDBDBD2D2D2CDCDCD787878D1BBADFFFFFF
+ FBF9F8F7F3F1F3EDEAEFE7E3EBE1DBE6D9D2E1D2CA0060000060000060005AF2
+ 8F006000006000006000CCCCCCFFFFFFFBFBFBF7F7F7F2F2F2EEEEEEEAEAEAE3
+ E3E3DFDFDF777777777777777777E6E6E6777777777777787878D1BBADFFFFFF
+ CF875FCF875FF7F3F1CF875FCF875FEBE1DBCF875FCF875FDCCBC100600060F8
+ 98006000FF00FFFF00FFCCCCCCFFFFFFA4A4A4A4A4A4F7F7F7A5A5A5A4A4A4EA
+ EAEAA5A5A5A4A4A4D9D9D9777777EAEAEA777777FF00FFFF00FFD1BBADFFFFFF
+ FFFFFFFFFFFFFBF9F8F7F3F1F3EDEAEFE7E3EBE1DBE6D9D2E1D2CA0060000060
+ 00006000FF00FFFF00FFCCCCCCFFFFFFFFFFFFFFFFFFFBFBFBF7F7F7F3F3F3EE
+ EEEEE9E9E9E4E4E4DFDFDF777777777777777777FF00FFFF00FFD1BBADD1BBAD
+ D1BBADD1BBADE070406947316947316947316947316947316947316947316947
+ 31694731694731694731CDCDCDCCCCCCCCCCCCCCCCCC9494946C6C6C6C6C6C6B
+ 6B6B6C6C6C6B6B6B6C6C6C6B6B6B6C6C6C6B6B6B6C6C6C6C6C6CFF00FFFF00FF
+ FF00FFFF00FFE07040FFFFFFFBF9F8F7F3F1F3EDEAEFE7E3EBE1DBE6D9D2E1D2
+ CADCCBC1DBC9BF694731FF00FFFF00FFFF00FFFF00FF959595FFFFFFFBFBFBF7
+ F7F7F2F2F2EEEEEEEAEAEAE3E3E3DFDFDFD9D9D9D8D8D86C6C6CFF00FFFF00FF
+ FF00FFFF00FFE07040FFFFFFCF875FCF875FF7F3F1CF875FCF875FEBE1DBCF87
+ 5FCF875FDCCBC1694731FF00FFFF00FFFF00FFFF00FF949494FFFFFFA5A5A5A4
+ A4A4F7F7F7A5A5A5A4A4A4EAEAEAA5A5A5A4A4A4DADADA6B6B6BFF00FFFF00FF
+ FF00FFFF00FFE07040FFFFFFFFFFFFFFFFFFFBF9F8F7F3F1F3EDEAEFE7E3EBE1
+ DBE6D9D2E1D2CA694731FF00FFFF00FFFF00FFFF00FF949494FFFFFFFFFFFFFF
+ FFFFFBFBFBF7F7F7F2F2F2EEEEEEEAEAEAE4E4E4DFDFDF6C6C6CFF00FFFF00FF
+ FF00FFFF00FFE07040E07040E07040E07040E07040E07040E07040E07040E070
+ 40E07040E07040E07040FF00FFFF00FFFF00FFFF00FF95959595959595959594
+ 9494949494949494959595959595949494959595959595959595FF00FFFF00FF
+ FF00FFFF00FFE07040FBC39FFBC39FFAC19CF5B18BEFA27AEB9369E68254E070
+ 40E07040E07040E07040FF00FFFF00FFFF00FFFF00FF949494D2D2D2D2D2D2D0
+ D0D0C4C4C4BABABAAFAFAFA1A1A1949494959595959595959595FF00FFFF00FF
+ FF00FFFF00FFE07040E07040E07040E07040E07040E07040E07040E07040E070
+ 40E07040E07040E07040FF00FFFF00FFFF00FFFF00FF95959595959594949495
+ 9595959595959595949494959595949494949494959595959595FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF}
+ NumGlyphs = 2
+ end
+ object BtAlt: TBitBtn
+ Left = 8
+ Top = 66
+ Width = 81
+ Height = 25
+ Caption = '&Alterar'
+ TabOrder = 1
+ OnClick = BtAltClick
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFD1BBAD694731
+ 694731694731694731694731694731694731694731694731694731694731FF00
+ FFFF00FFFF00FFFF00FFCCCCCC6C6C6C6B6B6B6C6C6C6C6C6C6C6C6C6C6C6C6C
+ 6C6C6B6B6B6C6C6C6C6C6C6B6B6BFF00FFFF00FFFF00FFFF00FFD1BBADFFFFFF
+ FBF9F8F7F3F1F3EDEAEFE7E3EBE1DBE6D9D2E1D2CADCCBC1DBC9BF694731FF00
+ FFFF00FFFF00FFFF00FFCDCDCDFFFFFFFBFBFBF7F7F7F2F2F2EEEEEEE9E9E9E3
+ E3E3DFDFDFDADADAD8D8D86C6C6CFF00FFFF00FFFF00FFFF00FFD1BBADFFFFFF
+ CF875FCF875FF7F3F1CF875FCF875F1C1C1C1C1C1C1C1C1CDCCBC1694731FF00
+ FFFF00FFFF00FFFF00FFCDCDCDFFFFFFA4A4A4A4A4A4F7F7F7A4A4A4A4A4A440
+ 4040404040414141DADADA6C6C6CFF00FFFF00FFFF00FFFF00FFD1BBADFFFFFF
+ FFFFFFFFFFFFFBF9F8F7F3F11C1C1C0098C8FCFAF8A39D98E1D2CA694731FF00
+ FFFF00FFFF00FFFF00FFCDCDCDFFFFFFFFFFFFFFFFFFFBFBFBF7F7F7414141B9
+ B9B9FCFCFCB7B7B7DFDFDF6B6B6BFF00FFFF00FFFF00FFFF00FFD1BBADD1BBAD
+ D1BBADD1BBADE070401C1C1C0098C84ABEDF0098C8A39D986947316947316947
+ 31694731694731694731CCCCCCCDCDCDCDCDCDCDCDCD959595404040B9B9B9D3
+ D3D3B9B9B9B7B7B76C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6CFF00FFFF00FF
+ FF00FFFF00FF1C1C1C0098C84ABEDF94E4F60098C8EFE7E3EBE1DBE6D9D2E1D2
+ CADCCBC1DBC9BF694731FF00FFFF00FFFF00FFFF00FF414141B9B9B9D3D3D3ED
+ EDEDB9B9B9EEEEEEEAEAEAE4E4E4DFDFDFD9D9D9D8D8D86C6C6CFF00FFFF00FF
+ FF00FF1C1C1C0098C84ABEDF94E4F60098C8F7F3F1CF875FCF875FEBE1DBCF87
+ 5FCF875FDCCBC1694731FF00FFFF00FFFF00FF414141B9B9B9D3D3D3EDEDEDB9
+ B9B9F7F7F7A4A4A4A4A4A4EAEAEAA4A4A4A4A4A4D9D9D96C6C6CFF00FFFF00FF
+ 1C1C1C0098C84ABEDF94E4F60098C8FFFFFFFBF9F8F7F3F1F3EDEAEFE7E3EBE1
+ DBE6D9D2E1D2CA694731FF00FFFF00FF414141B9B9B9D3D3D3EDEDEDB9B9B9FF
+ FFFFFBFBFBF7F7F7F3F3F3EEEEEEE9E9E9E3E3E3DFDFDF6C6C6CFF00FF00009A
+ 8080804ABEDF94E4F60098C8E07040E07040E07040E07040E07040E07040E070
+ 40E07040E07040E07040FF00FF7272729F9F9FD3D3D3EDEDEDB9B9B994949495
+ 959595959595959594949495959594949495959595959594949400009A00009A
+ 778C98D2BAAC0098C8FBC39FFBC39FFAC19CF5B18BEFA27AEB9369E68254E070
+ 40E07040E07040E07040727272727272AAAAAACCCCCCB9B9B9D2D2D2D2D2D2D0
+ D0D0C4C4C4B9B9B9AFAFAFA2A2A29494949595959595959595954A23C70030F8
+ 6D8AFD0030F8E07040E07040E07040E07040E07040E07040E07040E07040E070
+ 40E07040E07040E07040A85FA8A2A2A2C2C2C2A2A2A295959595959595959594
+ 9494959595959595959595949494959595959595959595959595FF00FF8817DA
+ 0030F8FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFC63EC6A2A2A2FF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF}
+ NumGlyphs = 2
+ end
+ object BtExclui: TBitBtn
+ Left = 8
+ Top = 106
+ Width = 81
+ Height = 25
+ Caption = '&Excluir'
+ TabOrder = 2
+ OnClick = BtExcluiClick
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FF0030F8000098FF00FFFF00FFFF00FFFF00
+ FFFF00FF0000980030F8FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFA3
+ A3A3707070FF00FFFF00FFFF00FFFF00FFFF00FF707070A2A2A2FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FF0030F8000098FF00FFFF00FFFF00
+ FF0000980030F8FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFA2A2A2707070FF00FFFF00FFFF00FF707070A3A3A3FF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF0030F8000098FF00FF0000
+ 980030F8FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFA2A2A2707070FF00FF727272A3A3A3FF00FFFF00FFD1BBAD694731
+ 6947316947316947316947316947316947316947316947310030F8002AD0002A
+ D0FF00FFFF00FFFF00FFCCCCCC6C6C6C6C6C6C6C6C6C6B6B6B6C6C6C6B6B6B6B
+ 6B6B6C6C6C6C6C6CA3A3A3919191919191FF00FFFF00FFFF00FFD1BBADE8DCD4
+ E6D9D1E4D7CEE2D4CAE1D1C7DFCFC4DDCBC0DBC8BDD8C5B90030F8002AD00000
+ 98FF00FFFF00FFFF00FFCDCDCDE6E6E6E3E3E3E2E2E2E0E0E0DDDDDDDCDCDCD9
+ D9D9D7D7D7D5D5D5A2A2A2919191707070FF00FFFF00FFFF00FFD1BBADE8DCD4
+ 694731694731E4D7CE694731694731DFCFC46947310030F80000986947310030
+ F8000098FF00FFFF00FFCDCDCDE6E6E66C6C6C6C6C6CE2E2E26C6C6C6C6C6CDC
+ DCDC6C6C6CA2A2A27070706C6C6CA3A3A3707070FF00FFFF00FFD1BBADE8DCD4
+ E8DCD4E8DCD4E6D9D1E4D7CEE2D4CAE1D1C70030F8000098DBC8BD694731FF00
+ FF0030F8000098FF00FFCDCDCDE6E6E6E6E6E6E6E6E6E3E3E3E2E2E2DFDFDFDD
+ DDDDA3A3A3707070D7D7D76C6C6CFF00FFA3A3A3727272FF00FFD1BBADD1BBAD
+ D1BBADD1BBADE070406947316947316947310000986947316947316947316947
+ 316947310030F8694731CCCCCCCCCCCCCDCDCDCDCDCD9595956B6B6B6C6C6C6C
+ 6C6C7070706C6C6C6C6C6C6C6C6C6C6C6C6C6C6CA2A2A26C6C6CFF00FFFF00FF
+ FF00FFFF00FFE07040FFFFFFFBF9F8F7F3F1F3EDEAEFE7E3EBE1DBE6D9D2E1D2
+ CADCCBC1DBC9BF694731FF00FFFF00FFFF00FFFF00FF959595FFFFFFFBFBFBF7
+ F7F7F2F2F2EEEEEEE9E9E9E4E4E4DFDFDFDADADAD8D8D86C6C6CFF00FFFF00FF
+ FF00FFFF00FFE07040FFFFFF694731694731F7F3F1694731694731EBE1DB6947
+ 31694731DCCBC1694731FF00FFFF00FFFF00FFFF00FF959595FFFFFF6C6C6C6B
+ 6B6BF7F7F76C6C6C6C6C6CEAEAEA6B6B6B6C6C6CD9D9D96C6C6CFF00FFFF00FF
+ FF00FFFF00FFE07040FFFFFFFFFFFFFFFFFFFBF9F8F7F3F1F3EDEAEFE7E3EBE1
+ DBE6D9D2E1D2CA694731FF00FFFF00FFFF00FFFF00FF959595FFFFFFFFFFFFFF
+ FFFFFBFBFBF7F7F7F3F3F3EEEEEEEAEAEAE3E3E3DFDFDF6C6C6CFF00FFFF00FF
+ FF00FFFF00FFE07040E07040E07040E07040E07040E07040E07040E07040E070
+ 40E07040E07040E07040FF00FFFF00FFFF00FFFF00FF95959595959595959595
+ 9595949494959595959595959595959595959595959595949494FF00FFFF00FF
+ FF00FFFF00FFE07040FBC39FFBC39FFAC19CF5B18BEFA27AEB9369E68254E070
+ 40E07040E07040E07040FF00FFFF00FFFF00FFFF00FF959595D2D2D2D2D2D2D0
+ D0D0C4C4C4B9B9B9AFAFAFA2A2A2959595949494959595959595FF00FFFF00FF
+ FF00FFFF00FFE07040E07040E07040E07040E07040E07040E07040E07040E070
+ 40E07040E07040E07040FF00FFFF00FFFF00FFFF00FF95959595959594949495
+ 9595959595959595959595959595949494959595959595959595FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF}
+ NumGlyphs = 2
+ end
+ object BtAcess: TBitBtn
+ Left = 8
+ Top = 146
+ Width = 81
+ Height = 25
+ Caption = '&Acessos'
+ TabOrder = 3
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFC2652BA53C00A53C00A53C00A53C00A53C00A53C
+ 00A53C00FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF89898969
+ 69696969696969696969696969696A6A6A696969FF00FFFF00FFFF00FFFF00FF
+ A22E08A22E08A22E08A22E08C2652BFFD4A5FFD4A5FFD4A5FFCD97FFC07DFFAD
+ 55A53C00FF00FFFF00FFFF00FFFF00FF606060606060606060606060898989DC
+ DCDCDCDCDCDCDCDCD7D7D7CCCCCCBEBEBE6A6A6AFF00FFFF00FFFF00FFFF00FF
+ A22E08FF00FFFF00FFFF00FFC2652BC2652BC2652BC2652BC2652BC2652BC265
+ 2BC2652BFF00FFFF00FFFF00FFFF00FF606060FF00FFFF00FFFF00FF89898989
+ 8989898989898989898989898989898989898989FF00FFFF00FFFF00FFFF00FF
+ A22E08FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FF606060FF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ A22E08FF00FFFF00FFFF00FF1C1C1C986060986060A53C00A53C00A53C00A53C
+ 00A53C00FF00FFFF00FFFF00FFFF00FF616161FF00FFFF00FFFF00FF41414188
+ 8888888888696969696969696969696969696969FF00FFFF00FFFF00FFFF00FF
+ A22E08A22E08A22E08A22E08C89898FCFAF80098C81C1C1CFFCD97FFC07DFFAD
+ 55A53C00FF00FFFF00FFFF00FFFF00FF606060606060606060606060B5B5B5FC
+ FCFCB9B9B9414141D7D7D7CCCCCCBEBEBE696969FF00FFFF00FFFF00FFFF00FF
+ A22E08FF00FFFF00FFFF00FFC898980098C84ABEDF0098C81C1C1CC2652BC265
+ 2BC2652BFF00FFFF00FFFF00FFFF00FF606060FF00FFFF00FFFF00FFB5B5B5B9
+ B9B9D3D3D3B9B9B9414141898989898989898989FF00FFFF00FFFF00FFFF00FF
+ A22E08FF00FFFF00FFFF00FFFF00FF0098C894E4F64ABEDF0098C81C1C1CFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FF606060FF00FFFF00FFFF00FFFF00FFB9
+ B9B9EDEDEDD3D3D3B9B9B9414141FF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ A22E08FF00FFFF00FFFF00FFC2652BA53C000098C894E4F64ABEDF0098C81C1C
+ 1CA53C00FF00FFFF00FFFF00FFFF00FF606060FF00FFFF00FFFF00FF89898969
+ 6969B9B9B9EDEDEDD3D3D3B9B9B94040406A6A6AFF00FFFF00FFFF00FFFF00FF
+ A22E08A22E08A22E08A22E08C2652BFFD4A5FFD4A50098C894E4F64ABEDF0098
+ C81C1C1CFF00FFFF00FFFF00FFFF00FF606060606060606060606060898989DC
+ DCDCDCDCDCB9B9B9EDEDEDD3D3D3BABABA414141FF00FFFF00FFFF00FFFF00FF
+ A22E08FF00FFFF00FFFF00FFC2652BC2652BC2652BC2652B0098C894E4F64ABE
+ DF80808000009AFF00FFFF00FFFF00FF606060FF00FFFF00FFFF00FF89898989
+ 8989898989898989BABABAEDEDEDD3D3D3A0A0A0727272FF00FFFF00FFFF00FF
+ A22E08FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF0098C8D2BA
+ AC778C9800009A00009AFF00FFFF00FF606060FF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFB9B9B9CCCCCCABABAB727272727272C2652BA22E08
+ A22E08A22E08A22E08A22E08A22E08A22E16FF00FFFF00FFFF00FFFF00FF0030
+ F86D8AFD0030F800009A89898960606060606060606060606060606060606061
+ 6161FF00FFFF00FFFF00FFFF00FFA2A2A2C2C2C2A3A3A3727272C2652BFFD4A5
+ FFD4A5FFD4A5FFCD97FFC07DFFAD55A22E08FF00FFFF00FFFF00FFFF00FFFF00
+ FF0030F80030F8FF00FF898989DCDCDCDCDCDCDCDCDCD7D7D7CCCCCCBEBEBE60
+ 6060FF00FFFF00FFFF00FFFF00FFFF00FFA2A2A2A3A3A3FF00FFC2652BC2652B
+ C2652BC2652BC2652BC2652BC2652BC2652BFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FF89898989898989898989898989898989898989898989
+ 8989FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF}
+ NumGlyphs = 2
+ end
+ object BtExit: TBitBtn
+ Left = 8
+ Top = 226
+ Width = 81
+ Height = 25
+ Caption = '&Fechar'
+ TabOrder = 4
+ OnClick = BtExitClick
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFC066148E4019
+ 8E40198E40198E40198E40198E40198E40198E40198E40198E40198E40198E40
+ 198E40198E4019FF00FF8888886969696969696969696969696969696A6A6A69
+ 69696969696969696A6A6A6969696969696A6A6A696969FF00FFC06614F9F5F4
+ C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2
+ A5C3B2A58E4019FF00FF888888F8F8F8C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6
+ C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6696969FF00FFC06614FCFAFA
+ F9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCDFD0C7DFD0C7DCCB
+ C1C3B2A58E4019FF00FF888888FCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEAEAEAE7
+ E7E7E4E4E4E0E0E0DDDDDDDDDDDDD9D9D9C6C6C6696969FF00FFC06614FFFFFF
+ FCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCE2D4CCDFD0
+ C7C3B2A58E4019FF00FF888888FFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEA
+ EAEAE7E7E7E3E3E3E0E0E0E0E0E0DDDDDDC6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E5D9D1E2D4
+ CCC3B2A58E4019FF00FF888888FFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EE
+ EEEEEAEAEAE7E7E7E3E3E3E3E3E3E0E0E0C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E9DED7E5D9
+ D1C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1
+ F1F1EEEEEEEAEAEAE7E7E7E7E7E7E3E3E3C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F2EBE8EEE6E2ECE2DCECE2DCE9DE
+ D7C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFBFBFBF7
+ F7F7F1F1F1EEEEEEEAEAEAEAEAEAE7E7E7C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF0E9E5F0E9E5EDE4
+ DFC3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFB
+ FBFBF7F7F7F3F3F3F0F0F0F0F0F0ECECECC6C6C66A6A6AFF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF4EEEBF0E9
+ E5C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE
+ FEFEFBFBFBF7F7F7F3F3F3F3F3F3F0F0F0C6C6C66A6A6AFF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F78A9DE92546CD1D3F
+ C9193BC8183BC88194E1898989FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFEFEFEFAFAFAC6C6C6979797929292929292929292C0C0C0C06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFD3355DBF2F4FD4E6B
+ D94A67D8F2F4FD183BC8888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFEFEFEA1A1A1FAFAFAAAAAAAA8A8A8F9F9F9929292C066148E4019
+ 8E40198E40198E40198E40198E40198E40198E40198E40193C5CDD8296E4D9DF
+ F9CDD5F74C69D81A3CC88888886969696969696969696A6A6A69696969696969
+ 6969696969696969A5A5A5C1C1C1EDEDEDE7E7E7A8A8A8929292C06614ED9733
+ ED9733ED9733ED9733ED9733ED9733ED9733F6CA9AED97334563E16980E2E4E8
+ FBD8DEF9516DDA1F40C9888888ACACACACACACADADADADADADADADADACACACAD
+ ADADD5D5D5ADADADA8A8A8B6B6B6F2F2F2ECECECABABAB939393F810DCC06614
+ C06614C06614C06614C06614C06614C06614C06614C066144D6AE3F2F4FD667D
+ E26E85E2F2F4FD2749CEEF14EF88888888888888888888888889898988888888
+ 8888888888898989ACACACF9F9F9B5B5B5B9B9B9F9F9F9989898FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF9AABEF4D6AE34563
+ E14463DF3E5EDE8FA2EBFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFCFCFCFACACACA8A8A8A8A8A8A6A6A6C9C9C9}
+ NumGlyphs = 2
+ end
+ object BtPass: TBitBtn
+ Left = 8
+ Top = 186
+ Width = 81
+ Height = 25
+ Caption = '&Senha'
+ TabOrder = 5
+ OnClick = BtPassClick
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000C8D0D4C8D0D4
+ B8BFC39BA7A5879A918096888792846947316947318F9B99A1A8ABBBC3C6C8D0
+ D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4B8BFC3A8AEB19FA5A79DA2A49FA3A56C
+ 6C6C6C6C6C9FA5A8A1A8ABBBC3C6C8D0D4C8D0D4C8D0D4C8D0D4C8D0D491A795
+ 4E773C4A8334478F3143962F694731FBE3CBF8C8986947314977364F6A48A5AC
+ AEC8D0D4C8D0D4C8D0D4C8D0D4ACB1B38D8D8E9595959D9D9DA2A2A26C6C6CE9
+ E9E9D3D3D36B6B6B8C8D8D808182A9AFB2C8D0D4C8D0D4C8D0D4C8D0D45B8049
+ 4F8135479031409C2E3AA62CA08C7DFDF1E5FBE3CBF8C8986947315675388092
+ 85C8D0D4C8D0D4C8D0D4C8D0D49293939494949E9E9EA6A6A6ADADADA8A8A8F5
+ F5F5E9E9E9D3D3D36C6C6C8C8C8C9A9EA1C8D0D4C8D0D4C8D0D4C8D0D4588347
+ 4B893342992F39A82B32B4282EBB26A08C7DFDF1E5FBE3CBF8C8986947316947
+ 31694731694731BDBEBDC8D0D4959696999999A4A4A4AFAFAFB6B6B6BCBCBCA8
+ A8A8F5F5F5E9E9E9D3D3D36B6B6B6C6C6C6C6C6C6C6C6CBFC5C8C8D0D4799F75
+ 488D323E9E2D35AF2935B6317ACB7B2DBF28A08C7DFDF1E5FBE3CBF8C898F8C8
+ 98F8C898F8C898694731C8D0D4A7AAAC9C9C9CA8A8A8B2B2B2B8B8B8CCCCCCBE
+ BEBEA8A8A8F4F4F4E9E9E9D3D3D3D3D3D3D3D3D3D3D3D36B6B6BC8D0D4BCCAC9
+ 56954A3E9F2D34B02980AC81D2D3D381BB8232B228A08C7DFDF1E5FBE3CBFADB
+ BCF9D7B5F9D7B5694731C8D0D4C4CBCFA1A3A3A8A8A8B4B4B4BBBBBBE0E0E0C4
+ C4C4B4B4B4A8A8A8F4F4F4E9E9E9E3E3E3E0E0E0DFDFDF6C6C6CC8D0D4C8D0D4
+ BBC9C766A76436933E598CAE498CBB4A81A62B703AA08C7DFDF1E5FBE3CBFBE3
+ CB694731F9D7B5694731C8D0D4C8D0D4C3CBCEADAFB1A1A1A1AFAFAFB1B1B1A6
+ A6A6878787A8A8A8F5F5F5E9E9E9E9E9E96C6C6CE0E0E06B6B6BC8D0D4C8D0D4
+ C8D0D4B9C6CE5BA0CC54A2D853A1D64F9DD3468FC1A08C7DFDF1E5FBE3CB6947
+ 31A08C7DFADBBC694731C8D0D4C8D0D4C8D0D4C3CACEBEBFBFC3C3C3C2C2C2C0
+ C0C0B3B3B4A8A8A8F5F5F5E9E9E96C6C6CA8A8A8E3E3E36C6C6CC8D0D4C8D0D4
+ C8D0D47AADD05CA9DD5CA9DD5AA7DC56A4D9519FD48E8A86FDF1E5FDF1E5FDF1
+ E5FDF1E5FDF1E5694731C8D0D4C8D0D4C8D0D4C1C4C5C8C8C8C8C8C8C7C7C7C4
+ C4C4C1C1C1A6A6A7F5F5F5F5F5F5F4F4F4F5F5F5F5F5F56C6C6CC8D0D4C8D0D4
+ BAC8D05FABDD63B0E363B0E361AEE15CA9DD56A4D96394B69E9086A08C7DA08C
+ 7DA08C7DA6978BBDBEBDC8D0D4C8D0D4C5CCCFC9C9C9CDCDCDCDCDCDCCCCCCC8
+ C8C8C4C4C4B4B4B4A7A8A9A8A8A8A8A8A8A8A8A8ADAEAFBFC5C8C8D0D4C8D0D4
+ A0BED066B2E56BB7E96BB7E967B3E661AEE15AA7DC53A0D58798A3C8D0D4C8D0
+ D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C4C9CCCECECED2D2D2D2D2D2D0D0D0CC
+ CCCCC6C6C6C2C2C2A3A8AAC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4
+ 99B9CD4989B14A85AC5895BD68B2E364B0E45CA9DE53A0D4889BA8C8D0D4C8D0
+ D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C1C6C8ACACACA9A9A9B7B7B7CECECECE
+ CECEC8C8C8C2C2C2A7ACAFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4
+ A3BAC85098C4539AC74E93BE437DA25190BA5198C63C79A0969FA4C8D0D4C8D0
+ D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4BFC5C8B9B9B9BCBCBCB6B6B6A2A2A2B3
+ B3B3B9B9B9A0A0A0A4AAADC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4
+ C3CCD264A7D062ACDA5DA6D35299C64284AD3C7FA94B7B9BBEC6CAC8D0D4C8D0
+ D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C6CED2C2C3C3C9C9C9C4C4C4BABABAA9
+ A9A9A5A5A59C9D9EBEC6CAC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4
+ C8D0D49FBFD371BCE968B2E059A1CF4990BC4180A99CACB6C8D0D4C8D0D4C8D0
+ D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C6CBCDD5D5D5CDCDCDC0C0C0B3
+ B3B3A5A6A6B2B8BBC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4
+ C8D0D4C8D0D4A4C2D576B2D761A0C86C9CBBA6B8C2C8D0D4C8D0D4C8D0D4C8D0
+ D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8CDCFC8C9CABDBEBEB4
+ B6B7BBC1C4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4}
+ NumGlyphs = 2
+ end
+ end
+ object DataSource1: TDataSource
+ Left = 128
+ Top = 104
+ end
+ object PopupMenu1: TPopupMenu
+ Left = 168
+ Top = 104
+ object Alterar1: TMenuItem
+ Caption = '&Alterar'
+ OnClick = BtAltClick
+ end
+ object Excluir1: TMenuItem
+ Caption = '&Excluir'
+ OnClick = BtExcluiClick
+ end
+ object N1: TMenuItem
+ Caption = '-'
+ end
+ object Permisses1: TMenuItem
+ Caption = '&Permiss'#245'es'
+ end
+ end
+ object DataSource2: TDataSource
+ Left = 128
+ Top = 144
+ end
+end
diff --git a/official/2.20/Source/CadUser_U.pas b/official/2.20/Source/CadUser_U.pas
new file mode 100644
index 0000000..99cb345
--- /dev/null
+++ b/official/2.20/Source/CadUser_U.pas
@@ -0,0 +1,240 @@
+unit CadUser_U;
+
+interface
+
+{$I 'UserControl.inc'}
+
+uses
+{$IFDEF DELPHI5_UP}
+ Variants,
+{$ENDIF}
+ Buttons,
+ Classes,
+ Controls,
+ DB,
+ DBGrids,
+ Dialogs,
+ ExtCtrls,
+ Forms,
+ Graphics,
+ Grids,
+ IncUser_U,
+ Menus,
+ Messages,
+ StdCtrls,
+ SysUtils,
+ UCBase,
+ Windows;
+
+type
+ TfrmCadastrarUsuario = class(TForm)
+ DataSource1: TDataSource;
+ DBGrid1: TDBGrid;
+ Panel1: TPanel;
+ lbDescricao: TLabel;
+ Image1: TImage;
+ PopupMenu1: TPopupMenu;
+ Alterar1: TMenuItem;
+ Excluir1: TMenuItem;
+ N1: TMenuItem;
+ Permisses1: TMenuItem;
+ Panel3: TPanel;
+ btAdic: TBitBtn;
+ BtAlt: TBitBtn;
+ BtExclui: TBitBtn;
+ BtAcess: TBitBtn;
+ BtExit: TBitBtn;
+ BtPass: TBitBtn;
+ DataSource2: TDataSource;
+ procedure FormClose(Sender: TObject; var Action: TCloseAction);
+ procedure BtExitClick(Sender: TObject);
+ procedure btAdicClick(Sender: TObject);
+ procedure BtAltClick(Sender: TObject);
+ procedure BtExcluiClick(Sender: TObject);
+ procedure DBGrid1DblClick(Sender: TObject);
+ procedure BtPassClick(Sender: TObject);
+ procedure SetWindow(Adicionar: Boolean);
+ procedure FDataSetCadastroUsuarioAfterScroll(DataSet: TDataSet);
+ procedure FormShow(Sender: TObject);
+ private
+ FLockAdmin: Boolean;
+ FDataSetPerfilUsuario: TDataset;
+ FfrmIncluirUsuario: TfrmIncluirUsuario;
+ FormSenha : TCustomForm;
+ public
+ FUserControl: TUserControl;
+ FDataSetCadastroUsuario: TDataset;
+ end;
+
+implementation
+
+uses
+ Consts, UCMessages,SenhaForm_U;
+
+{$R *.dfm}
+
+procedure TfrmCadastrarUsuario.FormClose(Sender: TObject; var Action: TCloseAction);
+begin
+ Action := caFree;
+end;
+
+procedure TfrmCadastrarUsuario.BtExitClick(Sender: TObject);
+begin
+ Close;
+end;
+
+procedure TfrmCadastrarUsuario.btAdicClick(Sender: TObject);
+begin
+ FfrmIncluirUsuario := TfrmIncluirUsuario.Create(Self);
+ FfrmIncluirUsuario.FUserControl := Self.FUserControl;
+ SetWindow(True);
+ FfrmIncluirUsuario.ShowModal;
+ FreeAndNil(FfrmIncluirUsuario);
+end;
+
+procedure TfrmCadastrarUsuario.SetWindow(Adicionar: Boolean);
+begin
+ with TUserControl(owner).UserSettings.AddChangeUser do
+ begin
+ FfrmIncluirUsuario.Caption := WindowCaption;
+ if Adicionar then
+ FfrmIncluirUsuario.LbDescricao.Caption := LabelAdd
+ else
+ FfrmIncluirUsuario.LbDescricao.Caption := LabelChange;
+
+ FfrmIncluirUsuario.lbNome.Caption := LabelName;
+ FfrmIncluirUsuario.lbLogin.Caption := LabelLogin;
+ FfrmIncluirUsuario.lbEmail.Caption := LabelEmail;
+ FfrmIncluirUsuario.ckPrivilegiado.Caption := CheckPrivileged;
+ FfrmIncluirUsuario.lbPerfil.Caption := LabelPerfil;
+ FfrmIncluirUsuario.btGravar.Caption := BtSave;
+ FfrmIncluirUsuario.btCancela.Caption := BtCancel;
+ FfrmIncluirUsuario.Position := Self.FUserControl.UserSettings.WindowsPosition;
+ FfrmIncluirUsuario.LabelExpira.Caption := ExpiredIn;
+ FfrmIncluirUsuario.LabelDias.Caption := Day;
+ FfrmIncluirUsuario.ckUserExpired.Caption := CheckExpira;
+
+ end;
+end;
+
+procedure TfrmCadastrarUsuario.BtAltClick(Sender: TObject);
+begin
+ if FDataSetCadastroUsuario.IsEmpty then
+ Exit;
+ FfrmIncluirUsuario := TfrmIncluirUsuario.Create(Self);
+ FfrmIncluirUsuario.FUserControl := Self.FUserControl;
+ SetWindow(False);
+ with FfrmIncluirUsuario do
+ begin
+ FAltera := True;
+ EditNome.Text := FDataSetCadastroUsuario.FieldByName('Nome').AsString;
+ EditLogin.Text := FDataSetCadastroUsuario.FieldByName('Login').AsString;
+ EditEmail.Text := FDataSetCadastroUsuario.FieldByName('Email').AsString;
+ ComboPerfil.KeyValue := FDataSetCadastroUsuario.FieldByName('Perfil').AsInteger;
+ ckPrivilegiado.Checked := StrToBool(FDataSetCadastroUsuario.FieldByName('Privilegiado').AsString);
+ ckUserExpired.Checked := StrToBool(FDataSetCadastroUsuario.FieldByName('UserNaoExpira').AsString); //Added by Petrus v Breda 28/4/2007
+ SpinExpira.Value := FDataSetCadastroUsuario.FieldByName('DaysOfExpire').AsInteger;
+ ShowModal;
+ end;
+ FreeAndNil(FfrmIncluirUsuario);
+end;
+
+procedure TfrmCadastrarUsuario.BtExcluiClick(Sender: TObject);
+var
+ TempID: Integer;
+ CanDelete: Boolean;
+ ErrorMsg: String;
+begin
+ if FDataSetCadastroUsuario.IsEmpty then
+ Exit;
+ TempID := FDataSetCadastroUsuario.FieldByName('IDUser').AsInteger;
+ //changed by fduenas: using PromptDelete_WindowCaption and Format functiom
+ if MessageBox(Handle, PChar(Format(FUserControl.UserSettings.UsersForm.PromptDelete, [FDataSetCadastroUsuario.FieldByName('Login').AsString])), PChar(FUserControl.UserSettings.UsersForm.PromptDelete_WindowCaption), MB_ICONQUESTION or MB_YESNO or MB_DEFBUTTON2) = idYes then
+ begin
+ CanDelete := True;
+ if Assigned(FUserControl.onDeleteUser) then
+ FUserControl.onDeleteUser(TObject(Owner), TempID, CanDelete, ErrorMsg);
+ if not CanDelete then
+ begin
+ MessageDlg(ErrorMSG, mtWarning, [mbOK], 0);
+ Exit;
+ end;
+
+ FUserControl.DataConnector.UCExecSQL('Delete from ' + FUserControl.TableRights.TableName + ' where ' + FUserControl.TableRights.FieldUserID + ' = ' + IntToStr(TempID));
+ FUserControl.DataConnector.UCExecSQL('Delete from ' + FUserControl.TableUsers.TableName + ' where ' + FUserControl.TableRights.FieldUserID + ' = ' + IntToStr(TempID));
+ FDataSetCadastroUsuario.Close;
+ FDataSetCadastroUsuario.Open;
+ end;
+end;
+
+procedure TfrmCadastrarUsuario.DBGrid1DblClick(Sender: TObject);
+begin
+ BtAlt.Click;
+end;
+
+procedure TfrmCadastrarUsuario.BtPassClick(Sender: TObject);
+begin
+ if FDataSetCadastroUsuario.IsEmpty then
+ Exit;
+
+ FormSenha := TSenhaForm.Create( Self );
+ TSenhaForm(FormSenha).Position := fUserControl.UserSettings.WindowsPosition;
+ TSenhaForm(FormSenha).fUserControl := fUserControl;
+ TSenhaForm(FormSenha).Caption := Format(FUserControl.UserSettings.ResetPassword.WindowCaption, [ FDataSetCadastroUsuario.FieldByName('Login').AsString ]);
+ If TSenhaForm(FormSenha).ShowModal = mrok then
+ FUserControl.ChangePassword(FDataSetCadastroUsuario.FieldByName('IDUser').AsInteger, TSenhaForm(FormSenha).edtSenha.Text );
+ FreeAndNil( FormSenha );
+end;
+
+procedure TfrmCadastrarUsuario.FDataSetCadastroUsuarioAfterScroll(DataSet: TDataSet);
+begin
+ if (FLockAdmin) and (Dataset.FieldByName('Login').AsString = TUserControl(Owner).Login.InitialLogin.User) then
+ begin
+ BtExclui.Enabled := False;
+ BtPass.Enabled := False;
+ Excluir1.Enabled := False;
+ Permisses1.Enabled := False;
+ if TUserControl(Owner).CurrentUser.Username <> TUserControl(Owner).Login.InitialLogin.User then
+ BtAcess.Enabled := False;
+ end
+ else
+ begin
+ BtExclui.Enabled := True;
+ BtPass.Enabled := True;
+ BtAcess.Enabled := True;
+ Excluir1.Enabled := True;
+ Permisses1.Enabled := True;
+ end;
+end;
+
+procedure TfrmCadastrarUsuario.FormShow(Sender: TObject);
+begin
+ FLockAdmin := FUserControl.User.ProtectAdministrator;
+
+ with FUserControl do
+ begin
+ FDataSetCadastroUsuario := DataConnector.UCGetSQLDataset(
+ Format('Select %s as IdUser, %s as Login, %s as Nome, %s as Email, %s as Perfil, %s as Privilegiado, %s as Tipo, %s as Senha, %s as UserNaoExpira, %s as DaysOfExpire from %s Where %s = %s ORDER BY %s',
+ [TableUsers.FieldUserID, TableUsers.FieldLogin, TableUsers.FieldUserName, TableUsers.FieldEmail, TableUsers.FieldProfile, TableUsers.FieldPrivileged, TableUsers.FieldTypeRec, TableUsers.FieldPassword,
+ TableUsers.FieldUserExpired, TableUsers.FieldUserDaysSun, TableUsers.TableName, TableUsers.FieldTypeRec, QuotedStr('U'), TableUsers.FieldLogin]));
+
+
+ DBGrid1.Columns[0].Title.Caption := UserSettings.UsersForm.ColName;
+ DBGrid1.Columns[1].Title.Caption := UserSettings.UsersForm.ColLogin;
+ DBGrid1.Columns[2].Title.Caption := UserSettings.UsersForm.ColEmail;
+
+ FDataSetPerfilUsuario := DataConnector.UCGetSQLDataset(
+ Format('Select %s as IdUser, %s as Login, %s as Nome, %s as Tipo from %s Where %s = %s ORDER BY %s',
+ [TableUsers.FieldUserID, TableUsers.FieldLogin, TableUsers.FieldUserName, TableUsers.FieldTypeRec,
+ TableUsers.TableName, TableUsers.FieldTypeRec, QuotedStr('P'), TableUsers.FieldUserName]));
+
+ end;
+
+ DataSource1.Dataset := FDataSetCadastroUsuario;
+ DataSource2.Dataset := FDataSetPerfilUsuario;
+ FDataSetCadastroUsuario.AfterScroll := FDataSetCadastroUsuarioAfterScroll;
+ FDataSetCadastroUsuarioAfterScroll(FDataSetCadastroUsuario);
+end;
+
+end.
+
diff --git a/official/2.20/Source/Dcr/Thumbs.db b/official/2.20/Source/Dcr/Thumbs.db
new file mode 100644
index 0000000..dffa8f3
Binary files /dev/null and b/official/2.20/Source/Dcr/Thumbs.db differ
diff --git a/official/2.20/Source/Dcr/UCADOConn.bmp b/official/2.20/Source/Dcr/UCADOConn.bmp
new file mode 100644
index 0000000..6e2460a
Binary files /dev/null and b/official/2.20/Source/Dcr/UCADOConn.bmp differ
diff --git a/official/2.20/Source/Dcr/UCASTAConn.bmp b/official/2.20/Source/Dcr/UCASTAConn.bmp
new file mode 100644
index 0000000..4ab2924
Binary files /dev/null and b/official/2.20/Source/Dcr/UCASTAConn.bmp differ
diff --git a/official/2.20/Source/Dcr/UCAppMessage.bmp b/official/2.20/Source/Dcr/UCAppMessage.bmp
new file mode 100644
index 0000000..56dc64e
Binary files /dev/null and b/official/2.20/Source/Dcr/UCAppMessage.bmp differ
diff --git a/official/2.20/Source/Dcr/UCBDEConn.bmp b/official/2.20/Source/Dcr/UCBDEConn.bmp
new file mode 100644
index 0000000..cf17266
Binary files /dev/null and b/official/2.20/Source/Dcr/UCBDEConn.bmp differ
diff --git a/official/2.20/Source/Dcr/UCControls.bmp b/official/2.20/Source/Dcr/UCControls.bmp
new file mode 100644
index 0000000..b760f3a
Binary files /dev/null and b/official/2.20/Source/Dcr/UCControls.bmp differ
diff --git a/official/2.20/Source/Dcr/UCDBISAMConn.bmp b/official/2.20/Source/Dcr/UCDBISAMConn.bmp
new file mode 100644
index 0000000..c0244da
Binary files /dev/null and b/official/2.20/Source/Dcr/UCDBISAMConn.bmp differ
diff --git a/official/2.20/Source/Dcr/UCDBXConn.bmp b/official/2.20/Source/Dcr/UCDBXConn.bmp
new file mode 100644
index 0000000..1470e9a
Binary files /dev/null and b/official/2.20/Source/Dcr/UCDBXConn.bmp differ
diff --git a/official/2.20/Source/Dcr/UCFIBConn.bmp b/official/2.20/Source/Dcr/UCFIBConn.bmp
new file mode 100644
index 0000000..dc9869b
Binary files /dev/null and b/official/2.20/Source/Dcr/UCFIBConn.bmp differ
diff --git a/official/2.20/Source/Dcr/UCIBOConn.bmp b/official/2.20/Source/Dcr/UCIBOConn.bmp
new file mode 100644
index 0000000..8f5965a
Binary files /dev/null and b/official/2.20/Source/Dcr/UCIBOConn.bmp differ
diff --git a/official/2.20/Source/Dcr/UCIBXConn.bmp b/official/2.20/Source/Dcr/UCIBXConn.bmp
new file mode 100644
index 0000000..29ab05f
Binary files /dev/null and b/official/2.20/Source/Dcr/UCIBXConn.bmp differ
diff --git a/official/2.20/Source/Dcr/UCIdle.bmp b/official/2.20/Source/Dcr/UCIdle.bmp
new file mode 100644
index 0000000..124cb68
Binary files /dev/null and b/official/2.20/Source/Dcr/UCIdle.bmp differ
diff --git a/official/2.20/Source/Dcr/UCMDOConn.bmp b/official/2.20/Source/Dcr/UCMDOConn.bmp
new file mode 100644
index 0000000..93d8a5e
Binary files /dev/null and b/official/2.20/Source/Dcr/UCMDOConn.bmp differ
diff --git a/official/2.20/Source/Dcr/UCMail.bmp b/official/2.20/Source/Dcr/UCMail.bmp
new file mode 100644
index 0000000..0cffa95
Binary files /dev/null and b/official/2.20/Source/Dcr/UCMail.bmp differ
diff --git a/official/2.20/Source/Dcr/UCMain.bmp b/official/2.20/Source/Dcr/UCMain.bmp
new file mode 100644
index 0000000..a910400
Binary files /dev/null and b/official/2.20/Source/Dcr/UCMain.bmp differ
diff --git a/official/2.20/Source/Dcr/UCMidasConn.bmp b/official/2.20/Source/Dcr/UCMidasConn.bmp
new file mode 100644
index 0000000..749299a
Binary files /dev/null and b/official/2.20/Source/Dcr/UCMidasConn.bmp differ
diff --git a/official/2.20/Source/Dcr/UCMyDACConn.bmp b/official/2.20/Source/Dcr/UCMyDACConn.bmp
new file mode 100644
index 0000000..6ec4ef5
Binary files /dev/null and b/official/2.20/Source/Dcr/UCMyDACConn.bmp differ
diff --git a/official/2.20/Source/Dcr/UCMySQLDACConn.bmp b/official/2.20/Source/Dcr/UCMySQLDACConn.bmp
new file mode 100644
index 0000000..fe78af3
Binary files /dev/null and b/official/2.20/Source/Dcr/UCMySQLDACConn.bmp differ
diff --git a/official/2.20/Source/Dcr/UCReg.dcr b/official/2.20/Source/Dcr/UCReg.dcr
new file mode 100644
index 0000000..a0a2722
Binary files /dev/null and b/official/2.20/Source/Dcr/UCReg.dcr differ
diff --git a/official/2.20/Source/Dcr/UCReg.rc b/official/2.20/Source/Dcr/UCReg.rc
new file mode 100644
index 0000000..4fb6615
--- /dev/null
+++ b/official/2.20/Source/Dcr/UCReg.rc
@@ -0,0 +1,21 @@
+TUCAPPLICATIONMESSAGE BITMAP "UCAppMessage.bmp"
+TUCSETTINGS BITMAP "UCSettings.bmp"
+TUCCONTROLS BITMAP "UCControls.bmp"
+TMAILUSERCONTROL BITMAP "UCMail.bmp"
+TUCXPSTYLE BITMAP "UCXp.bmp"
+TUCIDLE BITMAP "UCIdle.bmp"
+TUSERCONTROL BITMAP "UCMain.bmp"
+TUCADOCONN BITMAP "UCADOConn.bmp"
+TUCIBXCONN BITMAP "UCIBXConn.bmp"
+TUCBDECONN BITMAP "UCBDEConn.bmp"
+TUCDBXCONN BITMAP "UCDBXConn.bmp"
+TUCIBOCONN BITMAP "UCIBOConn.bmp"
+TUCFIBCONN BITMAP "UCFIBConn.bmp"
+TUCZEOSCONN BITMAP "UCZEOSConn.bmp"
+TUCASTACONN BITMAP "UCASTAConn.bmp"
+TUCDBISAMCONN BITMAP "UCDBISAMConn.bmp"
+TUCMDOCONN BITMAP "UCMDOConn.bmp"
+TUCMYDACCONN BITMAP "UCMyDACConn.bmp"
+TUCMYSQLDACCONN BITMAP "UCMySQLDACConn.bmp"
+TUCMIDASCONN BITMAP "UCMidasConn.bmp"
+TUCHISTORICO BITMAP "UcHistorico.bmp"
\ No newline at end of file
diff --git a/official/2.20/Source/Dcr/UCSettings.bmp b/official/2.20/Source/Dcr/UCSettings.bmp
new file mode 100644
index 0000000..6017c40
Binary files /dev/null and b/official/2.20/Source/Dcr/UCSettings.bmp differ
diff --git a/official/2.20/Source/Dcr/UCXp.bmp b/official/2.20/Source/Dcr/UCXp.bmp
new file mode 100644
index 0000000..a7de19c
Binary files /dev/null and b/official/2.20/Source/Dcr/UCXp.bmp differ
diff --git a/official/2.20/Source/Dcr/UCZEOSConn.bmp b/official/2.20/Source/Dcr/UCZEOSConn.bmp
new file mode 100644
index 0000000..7452700
Binary files /dev/null and b/official/2.20/Source/Dcr/UCZEOSConn.bmp differ
diff --git a/official/2.20/Source/Dcr/UcHistorico.bmp b/official/2.20/Source/Dcr/UcHistorico.bmp
new file mode 100644
index 0000000..008a11a
Binary files /dev/null and b/official/2.20/Source/Dcr/UcHistorico.bmp differ
diff --git a/official/2.20/Source/Dcr/make.bat b/official/2.20/Source/Dcr/make.bat
new file mode 100644
index 0000000..47515b0
--- /dev/null
+++ b/official/2.20/Source/Dcr/make.bat
@@ -0,0 +1 @@
+brc32 -foUCReg.dcr -r -t UCReg.rc
\ No newline at end of file
diff --git a/official/2.20/Source/EnvMsgForm_U.dfm b/official/2.20/Source/EnvMsgForm_U.dfm
new file mode 100644
index 0000000..3fd2c8f
--- /dev/null
+++ b/official/2.20/Source/EnvMsgForm_U.dfm
@@ -0,0 +1,343 @@
+object EnvMsgForm: TEnvMsgForm
+ Left = 304
+ Top = 204
+ BorderStyle = bsDialog
+ Caption = 'Mensagem'
+ ClientHeight = 364
+ ClientWidth = 377
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ OldCreateOrder = False
+ OnCreate = FormCreate
+ PixelsPerInch = 96
+ TextHeight = 13
+ object Panel1: TPanel
+ Left = 0
+ Top = 0
+ Width = 377
+ Height = 35
+ Align = alTop
+ BevelOuter = bvLowered
+ Color = clWhite
+ TabOrder = 0
+ object lbTitulo: TLabel
+ Left = 48
+ Top = 10
+ Width = 205
+ Height = 18
+ Caption = 'Enviar Nova Mensagem'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -16
+ Font.Name = 'Verdana'
+ Font.Style = [fsBold]
+ ParentFont = False
+ end
+ object Image1: TImage
+ Left = 8
+ Top = 4
+ Width = 28
+ Height = 28
+ AutoSize = True
+ Picture.Data = {
+ 07544269746D6170760C0000424D760C00000000000036000000280000001C00
+ 00001C0000000100200000000000400C00000000000000000000000000000000
+ 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C7B2A300694731006947
+ 3100694731006947310069473100694731006947310069473100694731006947
+ 3100694731006947310069473100694731006947310069473100694731006947
+ 310069473100694731006947310069473100694731006947310069473100FFFF
+ FF00FFFFFF00C7B2A300DBC9BF00B7A29300B7A29300B7A29300B7A29300B7A2
+ 9300B7A29300B7A29300B7A29300B7A29300B7A29300B7A29300B7A29300B7A2
+ 9300B7A29300B7A29300B7A29300B7A29300B7A29300B7A29300B7A29300B7A2
+ 9300B7A29300B7A2930069473100FFFFFF00FFFFFF00C7B2A300B7A29300DFD0
+ C700DFD0C700DFD0C700DFD0C700DFD0C700DFD0C700DFD0C700DFD0C700DFD0
+ C700DFD0C700DFD0C700DFD0C700DFD0C700DFD0C700DFD0C700DFD0C700DFD0
+ C700DFD0C700DFD0C700DFD0C700DFD0C700DFD0C700CE99970069473100FFFF
+ FF00FFFFFF00C7B2A300DBC9BF00B7A29300E4D7CF00E4D7CF00E4D7CF00E4D7
+ CF00E4D7CF00E4D7CF00E4D7CF00E4D7CF00E4D7CF00E4D7CF00E4D7CF00E4D7
+ CF00E4D7CF00E4D7CF00E4D7CF00E4D7CF00E4D7CF00E4D7CF00E4D7CF00E4D7
+ CF00B7A29300B7A2930069473100FFFFFF00FFFFFF00C7B2A300DECEC500DECE
+ C500B7A29300E9DED700E9DED700E9DED700E9DED700E9DED700E9DED700E9DE
+ D700E9DED700E9DED700E9DED700E9DED700E9DED700E9DED700E9DED700E9DE
+ D700E9DED700E9DED700E9DED700B7A29300DECEC500B7A2930069473100FFFF
+ FF00FFFFFF00C7B2A300E2D4CC00E2D4CC00E2D4CC00B7A29300EDE4DF00EDE4
+ DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4
+ DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00B7A29300E2D4
+ CC00E2D4CC00B7A2930069473100FFFFFF00FFFFFF00C7B2A300E6D9D200E6D9
+ D200E6D9D200E6D9D200B7A29300F0E9E500F0E9E500F0E9E500F0E9E500F0E9
+ E500F0E9E500F0E9E500F0E9E500F0E9E500F0E9E500F0E9E500F0E9E500F0E9
+ E500F0E9E500B7A29300E6D9D200E6D9D200E6D9D200B7A2930069473100FFFF
+ FF00FFFFFF00C7B2A300EADFD900EADFD900EADFD900EADFD900EADFD900B7A2
+ 9300F4EFEC00F4EFEC00F4EFEC00F4EFEC00F4EFEC00F4EFEC00F4EFEC00F4EF
+ EC00F4EFEC00F4EFEC00F4EFEC00F4EFEC00B7A29300EADFD900EADFD900EADF
+ D900EADFD900B7A2930069473100FFFFFF00FFFFFF00C7B2A300EDE4DF00EDE4
+ DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00B7A29300F8F4F200F8F4F200F8F4
+ F200F8F4F200F8F4F200F8F4F200F8F4F200F8F4F200F8F4F200F8F4F200B7A2
+ 9300EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00B7A2930069473100FFFF
+ FF00FFFFFF00C7B2A300F0E8E400F0E8E400F0E8E400F0E8E400F0E8E400F0E8
+ E400B7A29300B7A29300FCFAF900FCFAF900FCFAF900FCFAF900FCFAF900FCFA
+ F900FCFAF900FCFAF900B7A29300B7A29300F0E8E400F0E8E400F0E8E400F0E8
+ E400F0E8E400B7A2930069473100FFFFFF00FFFFFF00C7B2A300F3EDE900F3ED
+ E900F3EDE900F3EDE900F3EDE900B7A29300DDC5C200DDC5C200B7A29300DDC5
+ C200FFFFFF00FFFFFF00FFFFFF00FFFFFF00DDC5C200B7A29300DDC5C200DDC5
+ C200B7A29300F3EDE900F3EDE900F3EDE900F3EDE900B7A2930069473100FFFF
+ FF00FFFFFF00C7B2A300F6F1EF00F6F1EF00F6F1EF00F6F1EF00B7A29300DDC5
+ C200FBF9F700F7F4F100DDC5C200C7B2A300B7A29300B7A29300B7A29300B7A2
+ 9300C7B2A300DDC5C200DCCBC100DBC9BF00DDC5C200B7A29300F6F1EF00F6F1
+ EF00F6F1EF00B7A2930069473100FFFFFF00FFFFFF00C7B2A300F9F6F400F9F6
+ F400F9F6F400B7A29300DDC5C200FFFFFF00FEFDFC00FBF9F700F7F4F100EEE0
+ E000EEE0E000EEE0E000EEE0E000EEE0E000EEE0E000E4D7CF00E1D2C900DECD
+ C400DBC9BF00DDC5C200B7A29300F9F6F400F9F6F400B7A2930069473100FFFF
+ FF00FFFFFF00C7B2A300FCFBFA00FCFBFA00B7A29300C8B3A400FFFFFF00FFFF
+ FF00B7A29300B7A29300B7A29300B7A29300B7A29300B7A29300B7A29300B7A2
+ 9300B7A29300B7A29300B7A29300B7A29300DECDC400DBC9BF00D2C0B300B7A2
+ 9300FCFBFA00B7A2930069473100FFFFFF00FFFFFF00C7B2A300FFFFFF00B8A3
+ 9400DDC5C200C8B3A400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FCFB
+ F900F9F6F400F6F2EF00F3EDE900F0E8E400EDE4DF00EAE0D900E7DBD400E4D7
+ CF00E1D2C900DECDC400D2BFB200DDC5C200B7A29300FFFFFF0069473100FFFF
+ FF00FFFFFF00C7B2A300B7A29300DDC5C20027A5E900C8B3A400FFFFFF00FFFF
+ FF00B7A29300B7A29300B7A29300B7A29300B7A29300B7A29300B7A29300B7A2
+ 9300B7A29300B7A29300B7A29300B7A29300E4D7CF00E1D2C900D1BEB10027A5
+ E900DDC5C200B7A2930069473100FFFFFF00FFFFFF00C7B2A300DDC5C20027A5
+ E90027A5E900C8B3A400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FCFBF900F9F6F400F6F2EF00F3EDE900F0E8E400EDE4DF00EAE0
+ D900E7DBD400E4D7CF00D1BEB10027A5E90027A5E900B7A2930069473100FFFF
+ FF00FFFFFF00FFFFFF00C7B2A300DDC5C20047B6FF00C8B3A400FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FCFBF900F9F6
+ F400F6F2EF00F3EDE900F0E8E400EDE4DF00EAE0D900E7DBD400D0BDB00047B6
+ FF00B7A2930069473100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C7B2
+ A300DDC5C200C8B3A400C8B3A400C8B3A400C8B3A400C8B3A400C8B3A400C9B4
+ A500C9B5A600CAB6A700CBB6A800CBB7A900CCB8AA00CCB9AB00CDB9AB00CEBA
+ AC00CEBBAD00CFBBAE00CFBCAF00BCA7980069473100FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C7B2A300DDC5C200DBF3FA00DBF3
+ FA00DBF3FA00D4F0FA00C7EBFB00B9E5FB00ACDFFB009ED9FC0091D4FC0082CE
+ FD0073C8FD0064C2FE0055BCFE0047B6FF0047B6FF0047B6FF00BBA697007353
+ 3E00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00C7B2A300EEE0E000DBF3FA00DBF3FA00DBF3FA00D4F0FA00C7EB
+ FB00B9E5FB00B2E2FB00A5DCFC0097D6FC0089D1FC007BCBFD006CC5FD005DBF
+ FE004EB9FE00B7A2930069473100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C7B2A300EEE0
+ E000DBF3FA00DBF3FA00DBF3FA00DBF3FA00CDEDFA00C0E8FB00B2E2FB00A5DC
+ FC0097D6FC0089D1FC007BCBFD006CC5FD00B7A2930069473100FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00C7B2A300EEE0E000DBF3FA00DBF3FA00DBF3
+ FA00DBF3FA00CDEDFA00C0E8FB00B2E2FB00A5DCFC0097D6FC0089D1FC00B7A2
+ 930069473100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00C7B2A300EEE0E000DBF3FA00DBF3FA00DBF3FA00DBF3FA00CDEDFA00C0E8
+ FB00B2E2FB00A5DCFC00B7A2930069473100FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C7B2A300EEE0E000EEE0
+ E000EEE0E000EEE0E000EEE0E000EEE0E000DDC5C200B7A2930069473100FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00C7B2A300C7B2A300C7B2A300C7B2A300C7B2A300C7B2
+ A300C7B2A300C7B2A300FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00}
+ end
+ end
+ object gbPara: TGroupBox
+ Left = 8
+ Top = 40
+ Width = 361
+ Height = 81
+ Caption = 'Para'
+ TabOrder = 1
+ object rbUsuario: TRadioButton
+ Left = 40
+ Top = 24
+ Width = 80
+ Height = 17
+ Caption = 'Usu'#225'rio :'
+ Checked = True
+ TabOrder = 0
+ TabStop = True
+ OnClick = rbUsuarioClick
+ end
+ object rbTodos: TRadioButton
+ Left = 40
+ Top = 56
+ Width = 113
+ Height = 17
+ Caption = 'Todos'
+ TabOrder = 1
+ OnClick = rbUsuarioClick
+ end
+ object dbUsuario: TDBLookupComboBox
+ Left = 120
+ Top = 18
+ Width = 217
+ Height = 21
+ BevelEdges = []
+ BevelInner = bvNone
+ BevelOuter = bvNone
+ KeyField = 'IdUser'
+ ListField = 'Nome'
+ ListSource = DataSource1
+ TabOrder = 2
+ OnCloseUp = dbUsuarioCloseUp
+ end
+ end
+ object gbMensagem: TGroupBox
+ Left = 8
+ Top = 128
+ Width = 361
+ Height = 201
+ Caption = 'Mensagem'
+ TabOrder = 2
+ object lbAssunto: TLabel
+ Left = 24
+ Top = 24
+ Width = 38
+ Height = 13
+ Caption = 'Assunto'
+ end
+ object lbMensagem: TLabel
+ Left = 24
+ Top = 72
+ Width = 52
+ Height = 13
+ Caption = 'Mensagem'
+ end
+ object EditAssunto: TEdit
+ Left = 24
+ Top = 40
+ Width = 313
+ Height = 21
+ MaxLength = 50
+ TabOrder = 0
+ end
+ object MemoMsg: TMemo
+ Left = 24
+ Top = 88
+ Width = 313
+ Height = 97
+ MaxLength = 255
+ ScrollBars = ssBoth
+ TabOrder = 1
+ end
+ end
+ object btEnvia: TBitBtn
+ Left = 93
+ Top = 336
+ Width = 79
+ Height = 25
+ Caption = '&Enviar'
+ TabOrder = 3
+ OnClick = btEnviaClick
+ Glyph.Data = {
+ 42040000424D4204000000000000420000002800000020000000100000000100
+ 1000030000000004000000000000000000000000000000000000007C0000E003
+ 00001F0000001F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C45261F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C94521F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C4526862645261F7C1F7C1F7C1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C9452D65A94521F7C1F7C1F7C1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C673286268626862645261F7C1F7C1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7CD65AD65AD65AD65A94521F7C1F7C1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C45268626C62A862E862645261F7C1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C9452D65AF75ED65AD65A94521F7C1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C47328626C62A252E252EC62A8822C62A1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7CB556D65AF75EB556B556F75ED65AF75E1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C4526C62A252E1F7C1F7C252EC62A45261F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C9452F75EB5561F7C1F7CB556F75E94521F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C252E1F7C1F7C1F7C1F7C252EC62A45261F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7CB5561F7C1F7C1F7C1F7CB556F75E94521F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C252EC62AC62A1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7CB556F75EF75E1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C252E86261F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7CB556D65A1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C252E86261F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7CB556D65A1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C252E8626
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7CB556D65A
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C252E
+ 86261F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7CB556
+ D65A1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C
+ 252E86261F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C
+ B556D65A1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C
+ 1F7C252E1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C
+ 1F7CB5561F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C}
+ NumGlyphs = 2
+ end
+ object btCancela: TBitBtn
+ Left = 205
+ Top = 336
+ Width = 79
+ Height = 25
+ Cancel = True
+ Caption = 'Cancelar'
+ TabOrder = 4
+ OnClick = btCancelaClick
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFC066148E4019
+ 8E40198E40198E40198E40198E40198E40198E40198E40198E40198E40198E40
+ 198E40198E4019FF00FF8888886969696969696969696969696969696A6A6A69
+ 69696969696969696A6A6A6969696969696A6A6A696969FF00FFC06614F9F5F4
+ C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2
+ A5C3B2A58E4019FF00FF888888F8F8F8C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6
+ C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6696969FF00FFC06614FCFAFA
+ F9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCDFD0C7DFD0C7DCCB
+ C1C3B2A58E4019FF00FF888888FCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEAEAEAE7
+ E7E7E4E4E4E0E0E0DDDDDDDDDDDDD9D9D9C6C6C6696969FF00FFC06614FFFFFF
+ FCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCE2D4CCDFD0
+ C7C3B2A58E4019FF00FF888888FFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEA
+ EAEAE7E7E7E3E3E3E0E0E0E0E0E0DDDDDDC6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E5D9D1E2D4
+ CCC3B2A58E4019FF00FF888888FFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EE
+ EEEEEAEAEAE7E7E7E3E3E3E3E3E3E0E0E0C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E9DED7E5D9
+ D1C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1
+ F1F1EEEEEEEAEAEAE7E7E7E7E7E7E3E3E3C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F2EBE8EEE6E2ECE2DCECE2DCE9DE
+ D7C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFBFBFBF7
+ F7F7F1F1F1EEEEEEEAEAEAEAEAEAE7E7E7C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF0E9E5F0E9E5EDE4
+ DFC3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFB
+ FBFBF7F7F7F3F3F3F0F0F0F0F0F0ECECECC6C6C66A6A6AFF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF4EEEBF0E9
+ E5C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE
+ FEFEFBFBFBF7F7F7F3F3F3F3F3F3F0F0F0C6C6C66A6A6AFF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F78A9DE92546CD1D3F
+ C9193BC8183BC88194E1898989FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFEFEFEFAFAFAC6C6C6979797929292929292929292C0C0C0C06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFD3355DBF2F4FD4E6B
+ D94A67D8F2F4FD183BC8888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFEFEFEA1A1A1FAFAFAAAAAAAA8A8A8F9F9F9929292C066148E4019
+ 8E40198E40198E40198E40198E40198E40198E40198E40193C5CDD8296E4D9DF
+ F9CDD5F74C69D81A3CC88888886969696969696969696A6A6A69696969696969
+ 6969696969696969A5A5A5C1C1C1EDEDEDE7E7E7A8A8A8929292C06614ED9733
+ ED9733ED9733ED9733ED9733ED9733ED9733F6CA9AED97334563E16980E2E4E8
+ FBD8DEF9516DDA1F40C9888888ACACACACACACADADADADADADADADADACACACAD
+ ADADD5D5D5ADADADA8A8A8B6B6B6F2F2F2ECECECABABAB939393F810DCC06614
+ C06614C06614C06614C06614C06614C06614C06614C066144D6AE3F2F4FD667D
+ E26E85E2F2F4FD2749CEEF14EF88888888888888888888888889898988888888
+ 8888888888898989ACACACF9F9F9B5B5B5B9B9B9F9F9F9989898FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF9AABEF4D6AE34563
+ E14463DF3E5EDE8FA2EBFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFCFCFCFACACACA8A8A8A8A8A8A6A6A6C9C9C9}
+ NumGlyphs = 2
+ end
+ object DataSource1: TDataSource
+ Left = 144
+ Top = 96
+ end
+end
diff --git a/official/2.20/Source/EnvMsgForm_U.pas b/official/2.20/Source/EnvMsgForm_U.pas
new file mode 100644
index 0000000..a915610
--- /dev/null
+++ b/official/2.20/Source/EnvMsgForm_U.pas
@@ -0,0 +1,116 @@
+unit EnvMsgForm_U;
+
+interface
+
+{$I 'UserControl.inc'}
+
+uses
+{$IFDEF DELPHI5_UP}
+ Variants,
+{$ENDIF}
+ Buttons,
+ Classes,
+ Controls,
+ DB,
+ DBCtrls,
+ Dialogs,
+ ExtCtrls,
+ Forms,
+ Graphics,
+ Messages,
+ StdCtrls,
+ SysUtils,
+ UCBase,
+ Windows;
+
+type
+ TEnvMsgForm = class(TForm)
+ Panel1: TPanel;
+ lbTitulo: TLabel;
+ Image1: TImage;
+ gbPara: TGroupBox;
+ rbUsuario: TRadioButton;
+ rbTodos: TRadioButton;
+ dbUsuario: TDBLookupComboBox;
+ gbMensagem: TGroupBox;
+ lbAssunto: TLabel;
+ lbMensagem: TLabel;
+ EditAssunto: TEdit;
+ MemoMsg: TMemo;
+ btEnvia: TBitBtn;
+ btCancela: TBitBtn;
+ DataSource1: TDataSource;
+ procedure btCancelaClick(Sender: TObject);
+ procedure dbUsuarioCloseUp(Sender: TObject);
+ procedure rbUsuarioClick(Sender: TObject);
+ procedure btEnviaClick(Sender: TObject);
+ procedure FormCreate(Sender: TObject); //added by fduenas
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ EnvMsgForm: TEnvMsgForm;
+
+implementation
+
+uses
+ MsgsForm_U,
+ UCMessages;
+
+{$R *.dfm}
+
+procedure TEnvMsgForm.btCancelaClick(Sender: TObject);
+begin
+ Close;
+end;
+
+procedure TEnvMsgForm.dbUsuarioCloseUp(Sender: TObject);
+begin
+ if dbUsuario.KeyValue <> null then
+ rbUsuario.Checked := True;
+end;
+
+procedure TEnvMsgForm.rbUsuarioClick(Sender: TObject);
+begin
+ if not rbUsuario.Checked then
+ dbUsuario.KeyValue := null;
+end;
+
+procedure TEnvMsgForm.btEnviaClick(Sender: TObject);
+begin
+ if rbUsuario.Checked then
+ TUCApplicationMessage(MsgsForm.Owner).SendAppMessage(MsgsForm.DSUsuarios.FieldByName('IdUser').AsInteger, EditAssunto.Text, MemoMsg.Text)
+ else
+ with MsgsForm.DSUsuarios do
+ begin
+ First;
+ while not EOF do
+ begin
+ TUCApplicationMessage(MsgsForm.Owner).SendAppMessage(FieldByName('IdUser').AsInteger, EditAssunto.Text, MemoMsg.Text);
+ Next;
+ end;
+ end;
+ Close;
+end;
+
+procedure TEnvMsgForm.FormCreate(Sender: TObject);
+begin
+ with TUCApplicationMessage(Owner).UserControl.UserSettings.AppMessages do
+ begin
+ Self.Caption := MsgSend_WindowCaption;
+ lbTitulo.Caption := MsgSend_Title;
+ gbpara.Caption := MsgSend_GroupTo;
+ rbUsuario.Caption := MsgSend_RadioUser;
+ rbTodos.Caption := MsgSend_RadioAll;
+ gbMensagem.Caption := MsgSend_GroupMessage;
+ lbAssunto.Caption := MsgSend_LabelSubject;
+ lbMensagem.Caption := MsgSend_LabelMessageText;
+ btCancela.Caption := MsgSend_BtCancel;
+ btEnvia.Caption := MsgSend_BtSend;
+ end;
+end;
+
+end.
diff --git a/official/2.20/Source/IdCompilerDefines.inc b/official/2.20/Source/IdCompilerDefines.inc
new file mode 100644
index 0000000..4fbd77d
--- /dev/null
+++ b/official/2.20/Source/IdCompilerDefines.inc
@@ -0,0 +1,189 @@
+// General
+
+// Make this $DEFINE to use the 16 color icons required by Borland
+// or DEFINE to use the 256 color Indy versions
+{DEFINE Borland}
+
+// S.G. 4/9/2002: IPv4/IPv6 general switch (for defaults only)
+{$DEFINE IdIPv4}
+
+{$DEFINE INDY100}
+
+{$IFDEF BCB}
+ {$DEFINE CBUILDER}
+{$ELSE}
+ {$DEFINE DELPHI}
+{$ENDIF}
+
+// Delphi 4
+{$IFDEF VER120}
+ {$DEFINE VCL4ORABOVE}
+ {$DEFINE VCL40}
+ {$DEFINE DELPHI4}
+ {$DEFINE OPTIONALPARAMS}
+ {$DEFINE MSWINDOWS}
+{$ENDIF}
+
+// C++ Builder 4
+{$IFDEF VER125}
+ {$DEFINE VCL4ORABOVE}
+ {$DEFINE VCL40}
+ {$DEFINE CBUILDER4}
+ {$DEFINE OPTIONALPARAMS}
+ {$DEFINE MSWINDOWS}
+{$ENDIF}
+
+// Delphi 5 & CBuilder 5
+{$IFDEF VER130}
+ {$DEFINE VCL4ORABOVE}
+ {$DEFINE VCL5ORABOVE}
+ {$DEFINE VCL5}
+ {$IFDEF BCB}
+ {$DEFINE CBUILDER5}
+ {$ELSE}
+ {$DEFINE DELPHI5}
+ {$ENDIF}
+ {$DEFINE OPTIONALPARAMS}
+ {$DEFINE SAMETEXT}
+ {$DEFINE MSWINDOWS}
+{$ENDIF}
+
+//Delphi 6
+{$IFDEF VER140}
+ {$DEFINE VCL4ORABOVE}
+ {$DEFINE VCL5ORABOVE}
+ {$IFDEF BCB}
+ {$DEFINE CBUILDER6}
+ {$DEFINE ALLOW_NAMED_THREADS}
+ {$ELSE}
+ {$DEFINE DELPHI6}
+ {$ENDIF}
+ {$DEFINE OPTIONALPARAMS}
+ {$DEFINE SAMETEXT}
+ {$DEFINE VCL6ORABOVE}
+ {$DEFINE VCL60}
+{$ENDIF}
+
+//Delphi 7
+{$IFDEF VER150}
+ {$DEFINE VCL4ORABOVE}
+ {$DEFINE VCL5ORABOVE}
+ {$DEFINE VCL6ORABOVE}
+ {$DEFINE VCL7ORABOVE}
+ {$DEFINE VCL70}
+ {$IFDEF BCB}
+ {$DEFINE CBUILDER7}
+ {$ELSE}
+ {$DEFINE DELPHI7}
+ {$ENDIF}
+ {$DEFINE OPTIONALPARAMS}
+ {$DEFINE SAMETEXT}
+ {$DEFINE ALLOW_NAMED_THREADS}
+{$ENDIF}
+
+//Delphi 8
+{$IFDEF VER160}
+ {$DEFINE VCL4ORABOVE}
+ {$DEFINE VCL5ORABOVE}
+ {$DEFINE VCL6ORABOVE}
+ {$DEFINE VCL7ORABOVE}
+ {$DEFINE VCL8ORABOVE}
+ {$DEFINE VCL80}
+ {$DEFINE DELPHI8}
+ {$DEFINE OPTIONALPARAMS}
+ {$DEFINE SAMETEXT}
+ {$DEFINE ALLOW_NAMED_THREADS}
+{$ENDIF}
+
+//Delphi 9
+{$IFDEF VER170}
+ {$DEFINE VCL4ORABOVE}
+ {$DEFINE VCL5ORABOVE}
+ {$DEFINE VCL6ORABOVE}
+ {$DEFINE VCL7ORABOVE}
+ {$DEFINE VCL8ORABOVE}
+ {$DEFINE VCL9ORABOVE}
+ {$DEFINE VCL90}
+ {$DEFINE DELPHI9}
+ {$DEFINE OPTIONALPARAMS}
+ {$DEFINE SAMETEXT}
+ {$DEFINE ALLOW_NAMED_THREADS}
+{$ENDIF}
+
+//Delphi 10
+{$IFDEF VER180}
+ {$DEFINE VCL4ORABOVE}
+ {$DEFINE VCL5ORABOVE}
+ {$DEFINE VCL6ORABOVE}
+ {$DEFINE VCL7ORABOVE}
+ {$DEFINE VCL8ORABOVE}
+ {$DEFINE VCL9ORABOVE}
+ {$DEFINE VCL10ORABOVE}
+ {$DEFINE VCL10}
+ {$DEFINE DELPHI10}
+ {$DEFINE OPTIONALPARAMS}
+ {$DEFINE SAMETEXT}
+ {$DEFINE ALLOW_NAMED_THREADS}
+{$ENDIF}
+
+//Delphi 11
+{$IFDEF VER190}
+ {$DEFINE VCL4ORABOVE}
+ {$DEFINE VCL5ORABOVE}
+ {$DEFINE VCL6ORABOVE}
+ {$DEFINE VCL7ORABOVE}
+ {$DEFINE VCL8ORABOVE}
+ {$DEFINE VCL9ORABOVE}
+ {$DEFINE VCL10ORABOVE}
+ {$DEFINE VCL11ORABOVE}
+ {$DEFINE VCL11}
+ {$DEFINE DELPHI11}
+ {$DEFINE OPTIONALPARAMS}
+ {$DEFINE SAMETEXT}
+ {$DEFINE ALLOW_NAMED_THREADS}
+{$ENDIF}
+
+//Delphi.NET
+// Covers D8+
+{$IFDEF CIL}
+ // Platform specific conditional. Used for platform specific code.
+ {$DEFINE DotNet}
+ // Extra include used in D7 for testing. Remove later when all comps are
+ // ported. Used to selectively exclude non ported parts. Allowed in places
+ // IFDEFs are otherwise not permitted.
+ {$DEFINE DotNetExclude}
+{$ENDIF}
+
+// Kylix
+//
+//Important: Don't use CompilerVersion here as
+//$IF's are evaluated before $IFDEF's
+//and Kylix 1 does not have CompilerVersion defined at all.
+{$IFDEF LINUX}
+ {$IFDEF CONDITIONALEXPRESSIONS}
+ {$IF RTLVersion = 14.0}
+ {$DEFINE KYLIX1}
+ {$DEFINE KYLIX1ORABOVE}
+ {$IFEND}
+ {$IF RTLVersion = 14.2}
+ {$DEFINE KYLIX2}
+ {$DEFINE USEZLIBUNIT}
+ {$DEFINE KYLIX1ORABOVE}
+ {$DEFINE KYLIX2ORABOVE}
+ {$IFEND}
+ {$IF RTLVersion = 14.5}
+ {$DEFINE KYLIX3}
+ {$DEFINE USEZLIBUNIT}
+ {$DEFINE KYLIX1ORABOVE}
+ {$DEFINE KYLIX2ORABOVE}
+ {$DEFINE KYLIX3ORABOVE}
+ {$IFEND}
+ {$ENDIF}
+ {$DEFINE VCL4ORABOVE}
+ {$DEFINE VCL5ORABOVE}
+ {$DEFINE OPTIONALPARAMS}
+ {$DEFINE SAMETEXT}
+ {$DEFINE VCL6ORABOVE}
+ {$DEFINE VCL60}
+{$ENDIF}
+
diff --git a/official/2.20/Source/IdStack.pas b/official/2.20/Source/IdStack.pas
new file mode 100644
index 0000000..200d8c5
--- /dev/null
+++ b/official/2.20/Source/IdStack.pas
@@ -0,0 +1,840 @@
+{
+ $Project$
+ $Workfile$
+ $Revision$
+ $DateUTC$
+ $Id$
+
+ This file is part of the Indy (Internet Direct) project, and is offered
+ under the dual-licensing agreement described on the Indy website.
+ (http://www.indyproject.org/)
+
+ Copyright:
+ (c) 1993-2005, Chad Z. Hower and the Indy Pit Crew. All rights reserved.
+}
+{
+ $Log$
+}
+{
+{ Rev 1.7 1/17/2005 7:25:48 PM JPMugaas
+{ Moved some stack management code here to so that we can reuse it in
+{ non-TIdComponent classes.
+{ Made HostToNetwork and NetworkToHost byte order overload functions for IPv6
+{ addresses.
+}
+{
+{ Rev 1.6 10/26/2004 8:12:30 PM JPMugaas
+{ Now uses TIdStrings and TIdStringList for portability.
+}
+{
+{ Rev 1.5 6/30/2004 12:41:14 PM BGooijen
+{ Added SetStackClass
+}
+{
+ Rev 1.4 6/11/2004 8:28:50 AM DSiders
+ Added "Do not Localize" comments.
+}
+{
+{ Rev 1.3 4/18/04 2:45:38 PM RLebeau
+{ Conversion support for Int64 values
+}
+{
+{ Rev 1.2 2004.03.07 11:45:22 AM czhower
+{ Flushbuffer fix + other minor ones found
+}
+{
+{ Rev 1.1 3/6/2004 5:16:20 PM JPMugaas
+{ Bug 67 fixes. Do not write to const values.
+}
+{
+{ Rev 1.0 2004.02.03 3:14:42 PM czhower
+{ Move and updates
+}
+{
+{ Rev 1.39 2/1/2004 6:10:50 PM JPMugaas
+{ GetSockOpt.
+}
+{
+{ Rev 1.38 2/1/2004 3:28:24 AM JPMugaas
+{ Changed WSGetLocalAddress to GetLocalAddress and moved into IdStack since
+{ that will work the same in the DotNET as elsewhere. This is required to
+{ reenable IPWatch.
+}
+{
+{ Rev 1.37 2/1/2004 1:54:56 AM JPMugaas
+{ Missapplied fix. IP 0.0.0.0 should now be accepted.
+}
+{
+{ Rev 1.36 1/31/2004 4:39:12 PM JPMugaas
+{ Removed empty methods.
+}
+{
+{ Rev 1.35 1/31/2004 1:13:04 PM JPMugaas
+{ Minor stack changes required as DotNET does support getting all IP addresses
+{ just like the other stacks.
+}
+{
+{ Rev 1.34 2004.01.22 5:59:10 PM czhower
+{ IdCriticalSection
+}
+{
+{ Rev 1.33 1/18/2004 11:15:52 AM JPMugaas
+{ IsIP was not handling "0" in an IP address. This caused the address
+{ "127.0.0.1" to be treated as a hostname.
+}
+{
+{ Rev 1.32 12/4/2003 3:14:50 PM BGooijen
+{ Added HostByAddress
+}
+{
+{ Rev 1.31 1/3/2004 12:21:44 AM BGooijen
+{ Added function SupportsIPv6
+}
+{
+{ Rev 1.30 12/31/2003 9:54:16 PM BGooijen
+{ Added IPv6 support
+}
+{
+{ Rev 1.29 2003.12.31 3:47:42 PM czhower
+{ Changed to use TextIsSame
+}
+{
+{ Rev 1.28 10/21/2003 9:24:32 PM BGooijen
+{ Started on SendTo, ReceiveFrom
+}
+{
+{ Rev 1.27 10/19/2003 5:21:28 PM BGooijen
+{ SetSocketOption
+}
+{
+ Rev 1.26 10/15/2003 7:21:02 PM DSiders
+ Added resource strings in TIdStack.Make.
+}
+{
+{ Rev 1.25 2003.10.11 5:51:02 PM czhower
+{ -VCL fixes for servers
+{ -Chain suport for servers (Super core)
+{ -Scheduler upgrades
+{ -Full yarn support
+}
+{
+{ Rev 1.24 10/5/2003 9:55:30 PM BGooijen
+{ TIdTCPServer works on D7 and DotNet now
+}
+{
+{ Rev 1.23 04/10/2003 22:31:56 HHariri
+{ moving of WSNXXX method to IdStack and renaming of the DotNet ones
+}
+{
+{ Rev 1.22 10/2/2003 7:31:18 PM BGooijen
+{ .net
+}
+{
+{ Rev 1.21 10/2/2003 6:05:16 PM GGrieve
+{ DontNet
+}
+{
+{ Rev 1.20 2003.10.02 10:16:30 AM czhower
+{ .Net
+}
+{
+{ Rev 1.19 2003.10.01 9:11:20 PM czhower
+{ .Net
+}
+{
+{ Rev 1.18 2003.10.01 5:05:16 PM czhower
+{ .Net
+}
+{
+{ Rev 1.17 2003.10.01 2:30:40 PM czhower
+{ .Net
+}
+{
+{ Rev 1.16 2003.10.01 12:30:08 PM czhower
+{ .Net
+}
+{
+{ Rev 1.14 2003.10.01 1:37:36 AM czhower
+{ .Net
+}
+{
+{ Rev 1.12 9/30/2003 7:15:46 PM BGooijen
+{ IdCompilerDefines.inc is included now
+}
+{
+{ Rev 1.11 2003.09.30 1:23:04 PM czhower
+{ Stack split for DotNet
+}
+unit IdStack;
+
+{$I IdCompilerDefines.inc}
+{$DEFINE IDFREEONFINAL}
+
+interface
+
+uses
+ IdException, IdStackConsts, IdObjs, IdGlobal, IdSys;
+
+type
+ EIdSocketError = class(EIdException)
+ private
+ FLastError: Integer;
+ public
+ // Params must be in this order to avoid conflict with CreateHelp
+ // constructor in CBuilder
+ constructor CreateError(const AErr: Integer; const AMsg: string); virtual;
+ //
+ property LastError: Integer read FLastError;
+ end;
+
+ TIdPacketInfo = class
+ protected
+ FSourceIP: String;
+ FSourcePort : Integer;
+ FDestIP: String;
+ FDestPort : Integer;
+ FSourceIF: Cardinal;
+ FDestIF: Cardinal;
+ FTTL: Byte;
+ public
+ property TTL : Byte read FTTL write FTTL;
+ //The computer that sent it to you
+ property SourceIP : String read FSourceIP write FSourceIP;
+ property SourcePort : Integer read FSourcePort write FSourcePort;
+ property SourceIF : Cardinal read FSourceIF write FSourceIF;
+ //you, the receiver - this is provided for multihorned machines
+ property DestIP : String read FDestIP write FDestIP;
+ property DestPort : Integer read FDestPort write FDestPort;
+ property DestIF : Cardinal read FDestIF write FDestIF;
+ end;
+ TIdSocketListClass = class of TIdSocketList;
+
+ // Descend from only TObject. This objects is created a lot and should be fast
+ // and small
+ TIdSocketList = class(TObject)
+ protected
+ FLock: TIdCriticalSection;
+ //
+ function GetItem(AIndex: Integer): TIdStackSocketHandle; virtual; abstract;
+ public
+ constructor Create; virtual;
+ destructor Destroy; override;
+ procedure Add(AHandle: TIdStackSocketHandle); virtual; abstract;
+ function Clone: TIdSocketList; virtual; abstract;
+ function Count: Integer; virtual; abstract;
+ class function CreateSocketList: TIdSocketList;
+ property Items[AIndex: Integer]: TIdStackSocketHandle read GetItem; default;
+ procedure Remove(AHandle: TIdStackSocketHandle); virtual; abstract;
+ procedure Clear; virtual; abstract;
+ function Contains(AHandle: TIdStackSocketHandle): boolean; virtual; abstract;
+ procedure Lock;
+ class function Select(AReadList: TIdSocketList; AWriteList: TIdSocketList;
+ AExceptList: TIdSocketList; const ATimeout: Integer = IdTimeoutInfinite): Boolean; virtual;
+ function SelectRead(const ATimeout: Integer = IdTimeoutInfinite): Boolean; virtual; abstract;
+ function SelectReadList(var VSocketList: TIdSocketList; const ATimeout: Integer = IdTimeoutInfinite): Boolean; virtual; abstract;
+ procedure Unlock;
+ end;
+
+ TIdStack = class(TObject)
+ protected
+ FHostName: string;
+ FLocalAddress: string;
+ FLocalAddresses: TIdStrings;
+ //
+ function HostByName(const AHostName: string;
+ const AIPVersion: TIdIPVersion = ID_DEFAULT_IP_VERSION): string; virtual; abstract;
+
+ function MakeCanonicalIPv6Address(const AAddr: string): string;
+ function ReadHostName: string; virtual; abstract;
+ procedure PopulateLocalAddresses; virtual; abstract;
+ function GetLocalAddress: string; virtual; abstract;
+ function GetLocalAddresses: TIdStrings; virtual; abstract;
+ public
+ function Accept(ASocket: TIdStackSocketHandle; var VIP: string;
+ var VPort: Integer;
+ const AIPVersion: TIdIPVersion = ID_DEFAULT_IP_VERSION
+ ): TIdStackSocketHandle; virtual; abstract;
+ procedure Bind(ASocket: TIdStackSocketHandle; const AIP: string;
+ const APort: Integer;
+ const AIPVersion: TIdIPVersion = ID_DEFAULT_IP_VERSION ); virtual; abstract;
+ procedure Connect(const ASocket: TIdStackSocketHandle; const AIP: string;
+ const APort: TIdPort;
+ const AIPVersion: TIdIPVersion = ID_DEFAULT_IP_VERSION); virtual; abstract;
+ constructor Create; virtual;
+ procedure Disconnect(ASocket: TIdStackSocketHandle); virtual; abstract;
+ function IOControl(const s: TIdStackSocketHandle; const cmd: cardinal; var arg: cardinal ): Integer; virtual; abstract;
+ class procedure Make;
+ class procedure IncUsage; //create stack if necessary and inc counter
+ class procedure DecUsage; //decrement counter and free if it gets to zero
+ procedure GetPeerName(ASocket: TIdStackSocketHandle; var VIP: string;
+ var VPort: Integer); virtual; abstract;
+ procedure GetSocketName(ASocket: TIdStackSocketHandle; var VIP: string;
+ var VPort: TIdPort); virtual; abstract;
+ function HostByAddress(const AAddress: string;
+ const AIPVersion: TIdIPVersion = ID_DEFAULT_IP_VERSION): string; virtual; abstract;
+ function HostToNetwork(AValue: Word): Word; overload; virtual; abstract;
+ function HostToNetwork(AValue: LongWord): LongWord; overload; virtual; abstract;
+ function HostToNetwork(AValue: Int64): Int64; overload; virtual; abstract;
+ function HostToNetwork(AValue: TIdIPv6Address): TIdIPv6Address; overload; virtual;
+ function IsIP(AIP: string): Boolean;
+ procedure Listen(ASocket: TIdStackSocketHandle; ABackLog: Integer); virtual;
+ abstract;
+ function NewSocketHandle(const ASocketType:TIdSocketType;
+ const AProtocol: TIdSocketProtocol;
+ const AIPVersion: TIdIPVersion = ID_DEFAULT_IP_VERSION;
+ const AOverlapped: Boolean = False)
+ : TIdStackSocketHandle; virtual; abstract;
+ function NetworkToHost(AValue: Word): Word; overload; virtual; abstract;
+ function NetworkToHost(AValue: LongWord): LongWord; overload; virtual; abstract;
+ function NetworkToHost(AValue: Int64): Int64; overload; virtual; abstract;
+ function NetworkToHost(AValue: TIdIPv6Address): TIdIPv6Address; overload; virtual;
+ procedure GetSocketOption(ASocket: TIdStackSocketHandle;
+ ALevel: TIdSocketOptionLevel; AOptName: TIdSocketOption;
+ out AOptVal: Integer); virtual; abstract;
+ procedure SetSocketOption(ASocket: TIdStackSocketHandle; ALevel:TIdSocketOptionLevel;
+ AOptName: TIdSocketOption; AOptVal: Integer); overload;virtual;abstract;
+ function ResolveHost(const AHost: string;
+ const AIPVersion: TIdIPVersion = ID_DEFAULT_IP_VERSION): string;
+
+ // Result:
+ // > 0: Number of bytes received
+ // 0: Connection closed gracefully
+ // Will raise exceptions in other cases
+ function Receive(ASocket: TIdStackSocketHandle; var VBuffer: TIdBytes)
+ : Integer; virtual; abstract;
+ function Send(
+ ASocket: TIdStackSocketHandle;
+ const ABuffer: TIdBytes;
+ AOffset: Integer = 0;
+ ASize: Integer = -1
+ ): Integer; virtual; abstract;
+
+ function ReceiveFrom(ASocket: TIdStackSocketHandle; var VBuffer: TIdBytes;
+ var VIP: string; var VPort: Integer;
+ const AIPVersion: TIdIPVersion = ID_DEFAULT_IP_VERSION
+ ): Integer; virtual; abstract;
+ function SendTo(ASocket: TIdStackSocketHandle; const ABuffer: TIdBytes;
+ const AOffset: Integer; const AIP: string; const APort: integer;
+ const AIPVersion: TIdIPVersion = ID_DEFAULT_IP_VERSION
+ ): Integer; virtual; abstract;
+ function ReceiveMsg(ASocket: TIdStackSocketHandle;
+ var VBuffer: TIdBytes;
+ APkt : TIdPacketInfo;
+ const AIPVersion: TIdIPVersion = ID_DEFAULT_IP_VERSION): Cardinal; virtual; abstract;
+ function SupportsIPv6:boolean; virtual; abstract;
+
+ //multicast stuff Kudzu permitted me to add here.
+ function IsValidIPv4MulticastGroup(const Value: string): Boolean;
+ function IsValidIPv6MulticastGroup(const Value: string): Boolean;
+ procedure SetMulticastTTL(AHandle: TIdStackSocketHandle;
+ const AValue : Byte; const AIPVersion: TIdIPVersion = ID_DEFAULT_IP_VERSION); virtual; abstract;
+ procedure SetLoopBack(AHandle: TIdStackSocketHandle; const AValue: Boolean;
+ const AIPVersion: TIdIPVersion = ID_DEFAULT_IP_VERSION); virtual; abstract;
+ procedure DropMulticastMembership(AHandle: TIdStackSocketHandle;
+ const AGroupIP, ALocalIP : String; const AIPVersion: TIdIPVersion = ID_DEFAULT_IP_VERSION); virtual; abstract;
+ procedure AddMulticastMembership(AHandle: TIdStackSocketHandle;
+ const AGroupIP, ALocalIP : String; const AIPVersion: TIdIPVersion = ID_DEFAULT_IP_VERSION); virtual; abstract;
+ //I know this looks like an odd place to put a function for calculating a
+ //packet checksum. There is a reason for it though. The reason is that
+ //you need it for ICMPv6 and in Windows, you do that with some other stuff
+ //in the stack descendants
+ function CalcCheckSum(const AData : TIdBytes): word; virtual;
+ //In Windows, this writes a checksum into a buffer. In Linux, it would probably
+ //simply have the kernal write the checksum with something like this (RFC 2292):
+//
+// int offset = 2;
+// setsockopt(fd, IPPROTO_IPV6, IPV6_CHECKSUM, &offset, sizeof(offset));
+//
+// Note that this should be called
+ //IMMEDIATELY before you do a SendTo because the Local IPv6 address might change
+ procedure WriteChecksum(s : TIdStackSocketHandle;
+ var VBuffer : TIdBytes;
+ const AOffset : Integer;
+ const AIP : String;
+ const APort : Integer;
+ const AIPVersion: TIdIPVersion = ID_DEFAULT_IP_VERSION); virtual; abstract;
+ //
+ // Properties
+ //
+ property HostName: string read FHostname;
+ property LocalAddress: string read GetLocalAddress;
+ property LocalAddresses: TIdStrings read GetLocalAddresses;
+ end;
+
+ TIdStackClass = class of TIdStack;
+
+var
+ GStack: TIdStack = nil;
+ GSocketListClass: TIdSocketListClass;
+
+// Procedures
+ function IdStackFactory : TIdStack;
+ procedure SetStackClass( AStackClass: TIdStackClass );
+
+implementation
+
+uses
+ {$IFDEF LINUX} IdStackLinux, {$ENDIF}
+ {$IFDEF MSWINDOWS} IdStackWindows, {$ENDIF}
+ {$IFDEF DOTNET} IdStackDotNet, {$ENDIF}
+ IdResourceStrings;
+
+var
+ GStackClass: TIdStackClass = nil;
+
+var
+ GInstanceCount: Integer = 0;
+ GStackCriticalSection: TIdCriticalSection;
+
+//for IPv4 Multicast address chacking
+const
+ IPv4MCastLo = 224;
+ IPv4MCastHi = 239;
+
+procedure SetStackClass( AStackClass: TIdStackClass );
+begin
+ GStackClass := AStackClass;
+end;
+
+function IdStackFactory: TIdStack;
+begin
+ Result := GStackClass.Create;
+ // GStackClass used to be public, but this factory has
+ // replaced it so that the following line (which once
+ // live in AfterConstruction, but this doesn't exist
+ // in DotNet) will be run
+ Result.FHostName := Result.ReadHostName;
+end;
+
+{ TIdSocketList }
+
+constructor TIdSocketList.Create;
+begin
+ inherited Create;
+ FLock := TIdCriticalSection.Create;
+end;
+
+class function TIdSocketList.CreateSocketList: TIdSocketList;
+Begin
+ Result := GSocketListClass.Create;
+End;
+
+destructor TIdSocketList.Destroy;
+begin
+ Sys.FreeAndNil(FLock);
+ inherited Destroy;
+end;
+
+procedure TIdSocketList.Lock;
+begin
+ FLock.Acquire;
+end;
+
+class function TIdSocketList.Select(AReadList, AWriteList,
+ AExceptList: TIdSocketList; const ATimeout: Integer): Boolean;
+begin
+ // C++ Builder cannot have abstract class functions thus we need this base
+ Result := False;
+end;
+
+procedure TIdSocketList.Unlock;
+begin
+ FLock.Release;
+end;
+
+{ TIdStack }
+
+constructor TIdStack.Create;
+begin
+ // Here for .net
+ inherited Create;
+end;
+
+function TIdStack.IsIP(AIP: string): Boolean;
+var
+ i: Integer;
+begin
+//
+//Result := Result and ((i > 0) and (i < 256));
+//
+ i := Sys.StrToInt(Fetch(AIP, '.'), -1); {Do not Localize}
+ Result := (i > -1) and (i < 256);
+ i := Sys.StrToInt(Fetch(AIP, '.'), -1); {Do not Localize}
+ Result := Result and ((i > -1) and (i < 256));
+ i := Sys.StrToInt(Fetch(AIP, '.'), -1); {Do not Localize}
+ Result := Result and ((i > -1) and (i < 256));
+ i := Sys.StrToInt(Fetch(AIP, '.'), -1); {Do not Localize}
+ Result := Result and ((i > -1) and (i < 256)) and (AIP = '');
+end;
+
+function TIdStack.MakeCanonicalIPv6Address(const AAddr: string): string;
+// return an empty string if the address is invalid,
+// for easy checking if its an address or not.
+var
+ p, i: integer;
+ dots, colons: integer;
+ colonpos: array[1..8] of integer;
+ dotpos: array[1..3] of integer;
+ LAddr: string;
+ num: integer;
+ haddoublecolon: boolean;
+ fillzeros: integer;
+begin
+ Result := ''; // error
+ LAddr := AAddr;
+ if Length(LAddr) = 0 then exit;
+
+ if LAddr[1] = ':' then begin
+ LAddr := '0'+LAddr;
+ end;
+ if LAddr[Length(LAddr)] = ':' then begin
+ LAddr := LAddr + '0';
+ end;
+ dots := 0;
+ colons := 0;
+ for p := 1 to Length(LAddr) do begin
+ case LAddr[p] of
+ '.' : begin
+ inc(dots);
+ if dots < 4 then begin
+ dotpos[dots] := p;
+ end else begin
+ exit; // error in address
+ end;
+ end;
+ ':' : begin
+ inc(colons);
+ if colons < 8 then begin
+ colonpos[colons] := p;
+ end else begin
+ exit; // error in address
+ end;
+ end;
+ 'a'..'f',
+ 'A'..'F': if dots>0 then exit;
+ // allow only decimal stuff within dotted portion, ignore otherwise
+ '0'..'9': ; // do nothing
+ else exit; // error in address
+ end; // case
+ end; // for
+ if not (dots in [0,3]) then begin
+ exit; // you have to write 0 or 3 dots...
+ end;
+ if dots = 3 then begin
+ if not (colons in [2..6]) then begin
+ exit; // must not have 7 colons if we have dots
+ end;
+ if colonpos[colons] > dotpos[1] then begin
+ exit; // x:x:x.x:x:x is not valid
+ end;
+ end else begin
+ if not (colons in [2..7]) then begin
+ exit; // must at least have two colons
+ end;
+ end;
+
+ // now start :-)
+ num := Sys.StrToInt('$'+Copy(LAddr, 1, colonpos[1]-1), -1);
+ if (num<0) or (num>65535) then begin
+ exit; // huh? odd number...
+ end;
+ Result := Sys.IntToHex(num,1)+':';
+
+ haddoublecolon := false;
+ for p := 2 to colons do begin
+ if colonpos[p-1] = colonpos[p]-1 then begin
+ if haddoublecolon then begin
+ Result := '';
+ exit; // only a single double-dot allowed!
+ end;
+ haddoublecolon := true;
+ fillzeros := 8 - colons;
+ if dots>0 then dec(fillzeros,2);
+ for i := 1 to fillzeros do begin
+ Result := Result + '0:'; {do not localize}
+ end;
+ end else begin
+ num := Sys.StrToInt('$'+Copy(LAddr, colonpos[p-1]+1, colonpos[p]-colonpos[p-1]-1), -1);
+ if (num<0) or (num>65535) then begin
+ Result := '';
+ exit; // huh? odd number...
+ end;
+ Result := Result + Sys.IntToHex(num,1)+':';
+ end;
+ end; // end of colon separated part
+
+ if dots = 0 then begin
+ num := Sys.StrToInt('$'+Copy(LAddr, colonpos[colons]+1, MaxInt), -1);
+ if (num<0) or (num>65535) then begin
+ Result := '';
+ exit; // huh? odd number...
+ end;
+ Result := Result + Sys.IntToHex(num,1)+':';
+ end;
+
+ if dots > 0 then begin
+ num := Sys.StrToInt(Copy(LAddr, colonpos[colons]+1, dotpos[1]-colonpos[colons]-1),-1);
+ if (num < 0) or (num>255) then begin
+ Result := '';
+ exit;
+ end;
+ Result := Result + Sys.IntToHex(num, 2);
+ num := Sys.StrToInt(Copy(LAddr, dotpos[1]+1, dotpos[2]-dotpos[1]-1),-1);
+ if (num < 0) or (num>255) then begin
+ Result := '';
+ exit;
+ end;
+ Result := Result + Sys.IntToHex(num, 2)+':';
+
+ num := Sys.StrToInt(Copy(LAddr, dotpos[2]+1, dotpos[3]-dotpos[2]-1),-1);
+ if (num < 0) or (num>255) then begin
+ Result := '';
+ exit;
+ end;
+ Result := Result + Sys.IntToHex(num, 2);
+ num := Sys.StrToInt(Copy(LAddr, dotpos[3]+1, 3), -1);
+ if (num < 0) or (num>255) then begin
+ Result := '';
+ exit;
+ end;
+ Result := Result + Sys.IntToHex(num, 2)+':';
+ end;
+ SetLength(Result, Length(Result)-1);
+end;
+
+class procedure TIdStack.Make;
+begin
+ EIdException.IfTrue(GStackClass = nil, RSStackClassUndefined);
+ EIdException.IfTrue(GStack <> nil, RSStackAlreadyCreated);
+ GStack := IdStackFactory;
+end;
+
+function TIdStack.ResolveHost(const AHost: string;
+ const AIPVersion: TIdIPVersion = ID_DEFAULT_IP_VERSION): string;
+begin
+ if AIPVersion = Id_IPv4 then begin
+ // Sometimes 95 forgets who localhost is
+ if TextIsSame(AHost, 'LOCALHOST') then begin {Do not Localize}
+ Result := '127.0.0.1'; {Do not Localize}
+ end else if IsIP(AHost) then begin
+ Result := AHost;
+ end else begin
+ Result := HostByName(AHost, Id_IPv4);
+ end;
+ end else if AIPVersion = Id_IPv6 then begin
+ result := MakeCanonicalIPv6Address(AHost);
+ if result='' then begin
+ Result := HostByName(AHost, Id_IPv6);
+ end;
+ end //else IPVersionUnsupported; // IPVersionUnsupported is introduced in
+ // a decendant class, so we can't use it here,
+ // TODO: move it to this class
+end;
+
+constructor EIdSocketError.CreateError(const AErr: Integer; const AMsg: string);
+begin
+ inherited Create(AMsg);
+ FLastError := AErr;
+end;
+
+class procedure TIdStack.DecUsage;
+begin
+ Assert(GStackCriticalSection<>nil);
+
+ GStackCriticalSection.Acquire; try
+ Dec(GInstanceCount);
+ if GInstanceCount = 0 then begin
+ // This CS will guarantee that during the FreeAndNil nobody will try to use
+ // or construct GStack
+ Sys.FreeAndNil(GStack);
+ end;
+ finally GStackCriticalSection.Release; end;
+end;
+
+class procedure TIdStack.IncUsage;
+begin
+ Assert(GStackCriticalSection<>nil);
+
+ GStackCriticalSection.Acquire; try
+ Inc(GInstanceCount);
+ if GInstanceCount = 1 then begin
+ TIdStack.Make;
+ end;
+ finally GStackCriticalSection.Release; end;
+end;
+
+function TIdStack.HostToNetwork(AValue: TIdIPv6Address): TIdIPv6Address;
+var i : Integer;
+begin
+ for i := 0 to 7 do begin
+ Result[i] := HostToNetwork(AValue[i]);
+ end;
+end;
+
+function TIdStack.NetworkToHost(AValue: TIdIPv6Address): TIdIPv6Address;
+var i : Integer;
+begin
+ for i := 0 to 7 do begin
+ Result[i] := NetworkToHost(AValue[i]);
+ end;
+end;
+
+function TIdStack.IsValidIPv4MulticastGroup(const Value: string): Boolean;
+var
+ ThisIP: string;
+ s1: string;
+ ip1: integer;
+begin
+ Result := false;
+
+ if not GStack.IsIP(Value) then
+ begin
+ Exit;
+ end;
+ ThisIP := Value;
+ s1 := Fetch(ThisIP, '.'); {Do not Localize}
+ ip1 := Sys.StrToInt(s1);
+
+ if ((ip1 < IPv4MCastLo) or (ip1 > IPv4MCastHi)) then
+ begin
+ Exit;
+ end;
+ Result := true;
+end;
+
+function TIdStack.IsValidIPv6MulticastGroup(const Value: string): Boolean;
+var
+ LTmp : String;
+begin
+ Result := False;
+ LTmp := MakeCanonicalIPv6Address(Value);
+ if LTmp = '' then
+ begin
+ //not valid IP
+ Exit;
+ end;
+{ From "rfc 2373"
+
+2.7 Multicast Addresses
+
+ An IPv6 multicast address is an identifier for a group of nodes. A
+ node may belong to any number of multicast groups. Multicast
+ addresses have the following format:
+
+#
+ | 8 | 4 | 4 | 112 bits |
+ +------ -+----+----+---------------------------------------------+
+ |11111111|flgs|scop| group ID |
+ +--------+----+----+---------------------------------------------+
+
+ 11111111 at the start of the address identifies the address as
+ being a multicast address.
+
+ +-+-+-+-+
+ flgs is a set of 4 flags: |0|0|0|T|
+ +-+-+-+-+
+
+ The high-order 3 flags are reserved, and must be initialized to
+ 0.
+
+ T = 0 indicates a permanently-assigned ("well-known") multicast
+ address, assigned by the global internet numbering authority.
+
+ T = 1 indicates a non-permanently-assigned ("transient")
+ multicast address.
+
+ scop is a 4-bit multicast scope value used to limit the scope of
+ the multicast group. The values are:
+
+ 0 reserved
+ 1 node-local scope
+ 2 link-local scope
+ 3 (unassigned)
+ 4 (unassigned)
+ 5 site-local scope
+ 6 (unassigned)
+ 7 (unassigned)
+ 8 organization-local scope
+ 9 (unassigned)
+ A (unassigned)
+ B (unassigned)
+ C (unassigned)
+
+ D (unassigned)
+ E global scope
+ F reserved
+
+ group ID identifies the multicast group, either permanent or
+ transient, within the given scope.
+
+ The "meaning" of a permanently-assigned multicast address is
+ independent of the scope value. For example, if the "NTP servers
+ group" is assigned a permanent multicast address with a group ID of
+ 101 (hex), then:
+
+ FF01:0:0:0:0:0:0:101 means all NTP servers on the same node as the
+ sender.
+
+ FF02:0:0:0:0:0:0:101 means all NTP servers on the same link as the
+ sender.
+
+ FF05:0:0:0:0:0:0:101 means all NTP servers at the same site as the
+ sender.
+
+ FF0E:0:0:0:0:0:0:101 means all NTP servers in the internet.
+
+ Non-permanently-assigned multicast addresses are meaningful only
+ within a given scope. For example, a group identified by the non-
+ permanent, site-local multicast address FF15:0:0:0:0:0:0:101 at one
+ site bears no relationship to a group using the same address at a
+ different site, nor to a non-permanent group using the same group ID
+ with different scope, nor to a permanent group with the same group
+ ID.
+
+ Multicast addresses must not be used as source addresses in IPv6
+ packets or appear in any routing header.
+}
+ Result := Copy(LTmp,1,2)='FF';
+end;
+
+function TIdStack.CalcCheckSum(const AData: TIdBytes): word;
+var i : Integer;
+ LSize : Integer;
+ LCRC : Cardinal;
+begin
+ LCRC := 0;
+ i := 0;
+
+ LSize := Length(AData);
+
+ while LSize >1 do
+ begin
+ LCRC := LCRC + IdGlobal.BytesToWord(AData,i);
+
+ Dec(LSize,2);
+ inc(i,2);
+
+ end;
+ if LSize>0 then
+ begin
+ LCRC := LCRC + AData[i];
+ end;
+ LCRC := (LCRC shr 16) + (LCRC and $ffff); //(LCRC >> 16)
+ LCRC := LCRC + (LCRC shr 16);
+
+ Result := not Word(LCRC);
+end;
+
+initialization
+ GStackClass :=
+ {$IFDEF LINUX} TIdStackLinux; {$ENDIF}
+ {$IFDEF MSWINDOWS} TIdStackWindows; {$ENDIF}
+ {$IFDEF DOTNET} TIdStackDotNet; {$ENDIF}
+ GStackCriticalSection := TIdCriticalSection.Create;
+finalization
+ // Dont Free. If shutdown is from another Init section, it can cause GPF when stack
+ // tries to access it. App will kill it off anyways, so just let it leak
+ {$IFDEF IDFREEONFINAL}
+ Sys.FreeAndNil(GStackCriticalSection);
+ {$ENDIF}
+end.
diff --git a/official/2.20/Source/IdThread.pas b/official/2.20/Source/IdThread.pas
new file mode 100644
index 0000000..1532125
--- /dev/null
+++ b/official/2.20/Source/IdThread.pas
@@ -0,0 +1,618 @@
+{
+ $Project$
+ $Workfile$
+ $Revision$
+ $DateUTC$
+ $Id$
+
+ This file is part of the Indy (Internet Direct) project, and is offered
+ under the dual-licensing agreement described on the Indy website.
+ (http://www.indyproject.org/)
+
+ Copyright:
+ (c) 1993-2005, Chad Z. Hower and the Indy Pit Crew. All rights reserved.
+}
+{
+ $Log$
+}
+{
+{ Rev 1.34 03/16/05 10:29:40 AM JSouthwell
+{ Added a default thread name to ease debugging of IdThreads.
+}
+{
+{ Rev 1.33 1/15/05 1:52:36 PM RLebeau
+{ Extra cleanup handling for the FYarn member
+}
+{
+{ Rev 1.32 1/6/2005 10:02:58 PM JPMugaas
+{ This should compile.
+}
+{
+{ Rev 1.31 1/6/05 2:33:04 PM RLebeau
+{ one more try...finally block, for Before/AfterExecute()
+}
+{
+{ Rev 1.29 1/5/05 5:31:08 PM RLebeau
+{ Added extra try..finally block to Execute() to free the FYarn member.
+}
+{
+ Rev 1.28 6/9/2004 10:38:46 PM DSiders
+ Fixed case for TIdNotifyThreadEvent.
+}
+{
+{ Rev 1.27 3/12/2004 7:11:02 PM BGooijen
+{ Changed order of commands for dotnet
+}
+{
+{ Rev 1.26 2004.03.01 5:12:44 PM czhower
+{ -Bug fix for shutdown of servers when connections still existed (AV)
+{ -Implicit HELP support in CMDserver
+{ -Several command handler bugs
+{ -Additional command handler functionality.
+}
+{
+{ Rev 1.25 2004.02.03 4:17:00 PM czhower
+{ For unit name changes.
+}
+{
+{ Rev 1.24 2004.01.22 5:59:12 PM czhower
+{ IdCriticalSection
+}
+{
+{ Rev 1.23 2003.12.28 2:33:16 PM czhower
+{ .Net finalization fix.
+}
+{
+{ Rev 1.22 2003.12.28 1:27:46 PM czhower
+{ .Net compatibility
+}
+{
+{ Rev 1.21 2003.10.24 12:59:20 PM czhower
+{ Name change
+}
+{
+{ Rev 1.20 2003.10.21 12:19:04 AM czhower
+{ TIdTask support and fiber bug fixes.
+}
+{
+ Rev 1.19 10/15/2003 8:40:48 PM DSiders
+ Added locaization comments.
+}
+{
+{ Rev 1.18 10/5/2003 3:19:58 PM BGooijen
+{ disabled some stuff for DotNet
+}
+{
+{ Rev 1.17 2003.09.19 10:11:22 PM czhower
+{ Next stage of fiber support in servers.
+}
+{
+{ Rev 1.14 2003.09.19 11:54:36 AM czhower
+{ -Completed more features necessary for servers
+{ -Fixed some bugs
+}
+{
+{ Rev 1.13 2003.09.18 4:43:18 PM czhower
+{ -Removed IdBaseThread
+{ -Threads now have default names
+}
+{
+{ Rev 1.12 12.9.2003 ã. 16:42:08 DBondzhev
+{ Fixed AV when exception is raised in BeforeRun and thread is terminated
+{ before Start is compleated
+}
+{
+{ Rev 1.11 2003.07.08 2:41:52 PM czhower
+{ Avoid calling SetThreadName if we do not need to
+}
+{
+{ Rev 1.10 08.07.2003 13:16:18 ARybin
+{ tiny opt fix
+}
+{
+ Rev 1.9 7/1/2003 7:11:30 PM BGooijen
+ Added comment
+}
+{
+{ Rev 1.8 2003.07.01 4:14:58 PM czhower
+{ Consolidation.
+{ Added Name, Loop
+}
+{
+{ Rev 1.7 04.06.2003 14:06:20 ARybin
+{ bug fix & limited waiting
+}
+{
+{ Rev 1.6 28.05.2003 14:16:16 ARybin
+{ WaitAllThreadsTerminated class method
+}
+{
+{ Rev 1.5 08.05.2003 12:45:10 ARybin
+{ "be sure" fix
+}
+{
+ Rev 1.4 4/30/2003 4:53:26 PM BGooijen
+ Fixed bug in Kylix where GThreadCount was not decremented
+}
+{
+ Rev 1.3 4/22/2003 4:44:06 PM BGooijen
+ changed Handle to ThreadID
+}
+{
+ Rev 1.2 3/22/2003 12:53:26 PM BGooijen
+ - Exceptions in the constructor are now handled better.
+ - GThreadCount can't become negative anymore
+}
+{
+{ Rev 1.1 06.03.2003 11:54:24 ARybin
+{ TIdThreadOptions: is thread Data owner, smart Cleanup
+}
+{
+{ Rev 1.0 11/13/2002 09:01:14 AM JPMugaas
+}
+unit IdThread;
+
+{
+2002-03-12 -Andrew P.Rybin
+ -TerminatingExceptionClass, etc.
+2002-06-20 -Andrew P.Rybin
+ -"Terminated Start" bug fix (FLock.Leave AV)
+ -Wait All threads termination in FINALIZATION (prevent AV in WinSock)
+ -HandleRunException
+2003-01-27 -Andrew P.Rybin
+ -TIdThreadOptions
+}
+{$I IdCompilerDefines.inc}
+{$DEFINE IDFREEONFINAL}
+
+interface
+
+uses
+ IdGlobal, IdException, IdSys, IdYarn, IdTask, IdThreadSafe, IdObjs;
+
+const
+ IdWaitAllThreadsTerminatedCount = 1 * 60 * 1000;
+ IdWaitAllThreadsTerminatedStep = 250;
+
+type
+ EIdThreadException = class(EIdException);
+ EIdThreadTerminateAndWaitFor = class(EIdThreadException);
+
+ TIdThreadStopMode = (smTerminate, smSuspend);
+ TIdThread = class;
+ TIdExceptionThreadEvent = procedure(AThread: TIdThread; AException: Exception) of object;
+ TIdNotifyThreadEvent = procedure(AThread: TIdThread) of object;
+ TIdSynchronizeThreadEvent = procedure(AThread: TIdThread; AData: Pointer) of object;
+
+ TIdThreadOptions = set of (itoStopped, itoReqCleanup, itoDataOwner, itoTag);
+
+ TIdThread = class(TIdNativeThread)
+ protected
+ FData: TObject;
+ FLock: TIdCriticalSection;
+ FLoop: Boolean;
+ FName: string;
+ FStopMode: TIdThreadStopMode;
+ FOptions: TIdThreadOptions;
+ FTerminatingException: String;
+ FTerminatingExceptionClass: TClass;
+ FYarn: TIdYarn;
+ //
+ FOnException: TIdExceptionThreadEvent;
+ FOnStopped: TIdNotifyThreadEvent;
+ //
+ procedure AfterRun; virtual; //3* not abstract - otherwise it is required
+ procedure AfterExecute; virtual;//5 not abstract - otherwise it is required
+ procedure BeforeExecute; virtual;//1 not abstract - otherwise it is required
+ procedure BeforeRun; virtual; //2* not abstract - otherwise it is required
+ procedure Cleanup; virtual;//4*
+ procedure DoException (AException: Exception); virtual;
+ procedure DoStopped; virtual;
+ procedure Execute; override;
+ function GetStopped: Boolean;
+ function HandleRunException(AException: Exception): Boolean; virtual;
+ procedure Run; virtual; abstract;
+ class procedure WaitAllThreadsTerminated(
+ AMSec: Integer = IdWaitAllThreadsTerminatedCount);
+ public
+ constructor Create(ACreateSuspended: Boolean = True;
+ ALoop: Boolean = True; AName: string = ''); virtual;
+ destructor Destroy; override;
+ procedure Start; virtual;
+ procedure Stop; virtual;
+ procedure Synchronize(Method: TIdThreadMethod); overload;
+//BGO:TODO procedure Synchronize(Method: TMethod); overload;
+ // Here to make virtual
+ procedure Terminate; virtual;
+ procedure TerminateAndWaitFor; virtual;
+ //
+ property Data: TObject read FData write FData;
+ property Loop: Boolean read FLoop write FLoop;
+ property Name: string read FName write FName;
+ property ReturnValue;
+ property StopMode: TIdThreadStopMode read FStopMode write FStopMode;
+ property Stopped: Boolean read GetStopped;
+ property Terminated;
+ // TODO: Change this to be like TIdFiber. D6 implementation is not as good
+ // as what is done in TIdFiber.
+ property TerminatingException: string read FTerminatingException;
+ property TerminatingExceptionClass: TClass read FTerminatingExceptionClass;
+ //Represents the thread or fiber for the scheduler of the thread.
+ property Yarn: TIdYarn read FYarn write FYarn;
+ //
+ property OnException: TIdExceptionThreadEvent read FOnException write FOnException;
+ property OnStopped: TIdNotifyThreadEvent read FOnStopped write FOnStopped;
+ end;
+
+ TIdThreadWithTask = class(TIdThread)
+ protected
+ FTask: TIdTask;
+ //
+ procedure AfterRun; override;
+ procedure BeforeRun; override;
+ procedure Run; override;
+ public
+ // Defaults because
+ // Must always create suspended so task can be set
+ // And a bit crazy to create a non looped task
+ constructor Create(
+ ATask: TIdTask = nil;
+ AName: string = ''
+ ); reintroduce; virtual;
+ destructor Destroy;
+ override;
+ //
+ // Must be writeable because tasks are often created after thread or
+ // thread is pooled
+ property Task: TIdTask read FTask write FTask;
+ end;
+
+ TIdThreadClass = class of TIdThread;
+ TIdThreadWithTaskClass = class of TIdThreadWithTask;
+
+var
+ // GThreadCount shoudl be in implementation as it is not needed outside of
+ // this unit. However with D8, GThreadCount will be deallocated before the
+ // finalization can run and thus when the finalizaiton accesses GThreadCount
+ // in TerminateAll an error occurs. Moving this declaration to the interface
+ // "fixes" it.
+ GThreadCount: TIdThreadSafeInteger = nil;
+
+implementation
+
+uses
+ IdResourceStringsCore;
+
+class procedure TIdThread.WaitAllThreadsTerminated(
+ AMSec: Integer = IdWaitAllThreadsTerminatedCount);
+begin
+ while AMSec > 0 do begin
+ if GThreadCount.Value = 0 then begin
+ Break;
+ end;
+ Sleep(IdWaitAllThreadsTerminatedStep);
+ AMSec := AMSec - IdWaitAllThreadsTerminatedStep;
+ end;
+end;
+
+procedure TIdThread.TerminateAndWaitFor;
+begin
+ if FreeOnTerminate then begin
+ raise EIdThreadTerminateAndWaitFor.Create(RSThreadTerminateAndWaitFor);
+ end;
+ Terminate;
+ Start; //resume
+ WaitFor;
+end;
+
+procedure TIdThread.BeforeRun;
+begin
+end;
+
+procedure TIdThread.AfterRun;
+begin
+end;
+
+procedure TIdThread.BeforeExecute;
+begin
+end;
+
+procedure TIdThread.AfterExecute;
+begin
+end;
+
+procedure TIdThread.Execute;
+begin
+ // Must make this call from INSIDE the thread. The call in Create
+ // was naming the thread that was creating this thread. :(
+ //
+ // RLebeau - no need to put this inside the try blocks below as it
+ // already uses its own try..except block internally
+ if Name = '' then begin
+ Name := 'IdThread (unknown)';
+ end;
+ SetThreadName(Name);
+
+ try
+ BeforeExecute;
+ try
+ while not Terminated do begin
+ if Stopped then begin
+ DoStopped;
+ // It is possible that either in the DoStopped or from another thread,
+ // the thread is restarted, in which case we dont want to restop it.
+ if Stopped then begin // DONE: if terminated?
+ if Terminated then begin
+ Break;
+ end;
+ Suspend; // Thread manager will revive us
+ if Terminated then begin
+ Break;
+ end;
+ end;
+ end;
+
+ Include(FOptions, itoReqCleanup);
+ try
+ try
+ BeforeRun;
+ try
+ if Loop then begin
+ while not Stopped do begin
+ try
+ Run;
+ except
+ on E: Exception do begin
+ if not HandleRunException(E) then begin
+ Terminate;
+ raise;
+ end;
+ end;
+ end;
+ end;
+ end else begin
+ try
+ Run;
+ except
+ on E: Exception do begin
+ if not HandleRunException(E) then begin
+ Terminate;
+ raise;
+ end;
+ end;
+ end;
+ end;
+ finally
+ AfterRun;
+ end;
+ except
+ Terminate;
+ raise;
+ end;
+ finally
+ Cleanup;
+ end;
+ end;
+ finally
+ AfterExecute;
+ end;
+ except
+ on E: Exception do begin
+ FTerminatingExceptionClass := E.ClassType;
+ FTerminatingException := E.Message;
+ DoException(E);
+ Terminate;
+ end;
+ end;
+end;
+
+constructor TIdThread.Create(ACreateSuspended: Boolean; ALoop: Boolean;
+ AName: string);
+begin
+{$IFDEF DOTNET}
+ inherited Create(true);
+{$ENDIF}
+ FOptions := [itoDataOwner];
+ if ACreateSuspended then begin
+ Include(FOptions, itoStopped);
+ end;
+ FLock := TIdCriticalSection.Create;
+ Loop := ALoop;
+ Name := AName;
+ //
+{$IFDEF DOTNET}
+ if not ACreateSuspended then begin
+ Resume;
+ end;
+{$ELSE}
+ //
+ // Most things BEFORE inherited - inherited creates the actual thread and if
+ // not suspended will start before we initialize
+ inherited Create(ACreateSuspended);
+{$ENDIF}
+ {$IFNDEF VCL6ORABOVE}
+ // Delphi 6 and above raise an exception when an error occures
+ // while creating a thread (eg. not enough address space to allocate a stack)
+ // Delphi 5 and below don't do that, which results in a TIdThread instance
+ // with an invalid handle in it.
+ // Therefore we raise the exceptions manually on D5 and below
+ {$IFNDEF DOTNET}
+ if (ThreadID = 0) then begin
+ Sys.RaiseLastOSError;
+ end;
+ {$ENDIF}
+ {$ENDIF}
+ // Last, so we only do this if successful
+ GThreadCount.Increment;
+end;
+
+destructor TIdThread.Destroy;
+begin
+ FreeOnTerminate := False; //prevent destroy between Terminate & WaitFor
+ Terminate;
+ try
+ if itoReqCleanup in FOptions then begin
+ Cleanup;
+ end;
+ finally
+ // RLebeau- clean up the Yarn one more time, in case the thread was
+ // terminated after the Yarn was assigned but the thread was not
+ // re-started, so the Yarn would not be freed in Cleanup()
+ try
+ Sys.FreeAndNil(FYarn);
+ finally
+ // Protect FLock if thread was resumed by Start Method and we are still there.
+ // This usually happens if Exception was raised in BeforeRun for some reason
+ // And thread was terminated there before Start method is completed.
+ FLock.Enter; try
+ finally FLock.Leave; end;
+
+ Sys.FreeAndNil(FLock);
+ GThreadCount.Decrement;
+ end;
+ end;
+ inherited Destroy; //+WaitFor!
+end;
+
+procedure TIdThread.Start;
+begin
+ FLock.Enter; try
+ if Stopped then begin
+ // Resume is also called for smTerminate as .Start can be used to initially start a
+ // thread that is created suspended
+ if Terminated then begin
+ Include(FOptions,itoStopped);
+ end else begin
+ Exclude(FOptions,itoStopped);
+ end;
+ Resume;
+ {APR: [in past] thread can be destroyed here! now Destroy wait FLock}
+ end;
+ finally FLock.Leave; end;
+end;
+
+procedure TIdThread.Stop;
+begin
+ FLock.Enter; try
+ if not Stopped then begin
+ case FStopMode of
+ smTerminate: Terminate;
+ smSuspend: {DO not suspend here. Suspend is immediate. See Execute for implementation};
+ end;
+ Include(FOptions, itoStopped);
+ end;
+ finally FLock.Leave; end;
+end;
+
+function TIdThread.GetStopped: Boolean;
+begin
+ if Assigned(FLock) then begin
+ FLock.Enter; try
+ // Suspended may be True if checking stopped from another thread
+ Result := Terminated or (itoStopped in FOptions) or Suspended;
+ finally FLock.Leave; end;
+ end else begin
+ Result := True; //user call Destroy
+ end;
+end;
+
+procedure TIdThread.DoStopped;
+begin
+ if Assigned(OnStopped) then begin
+ OnStopped(Self);
+ end;
+end;
+
+procedure TIdThread.DoException (AException: Exception);
+begin
+ if Assigned(FOnException) then begin
+ FOnException(self, AException);
+ end;
+end;
+
+procedure TIdThread.Terminate;
+begin
+ //this assert can only raise if terminate is called on an already-destroyed thread
+ Assert(FLock<>nil);
+
+ FLock.Enter; try
+ Include(FOptions, itoStopped);
+ inherited Terminate;
+ finally FLock.Leave; end;
+end;
+
+procedure TIdThread.Cleanup;
+begin
+ Exclude(FOptions, itoReqCleanup);
+ Sys.FreeAndNil(FYarn);
+ if itoDataOwner in FOptions then begin
+ Sys.FreeAndNil(FData);
+ end;
+end;
+
+function TIdThread.HandleRunException(AException: Exception): Boolean;
+begin
+ // Default behavior: Exception is death sentence
+ Result := False;
+end;
+
+procedure TIdThread.Synchronize(Method: TIdThreadMethod);
+begin
+ inherited Synchronize(Method);
+end;
+//BGO:TODO
+//procedure TIdThread.Synchronize(Method: TMethod);
+//begin
+// inherited Synchronize(TThreadMethod(Method));
+//end;
+
+{ TIdThreadWithTask }
+
+procedure TIdThreadWithTask.AfterRun;
+begin
+ FTask.DoAfterRun;
+ inherited AfterRun;
+end;
+
+procedure TIdThreadWithTask.BeforeRun;
+begin
+ inherited BeforeRun;
+ FTask.DoBeforeRun;
+end;
+
+constructor TIdThreadWithTask.Create(
+ ATask: TIdTask;
+ AName: string
+ );
+begin
+ inherited Create(True, True, AName);
+ FTask := ATask;
+end;
+
+destructor TIdThreadWithTask.Destroy;
+begin
+ Sys.FreeAndNil(FTask);
+ inherited Destroy;
+end;
+
+procedure TIdThreadWithTask.Run;
+begin
+ if not FTask.DoRun then begin
+ Stop;
+ end;
+end;
+
+initialization
+ SetThreadName('Main'); {do not localize}
+ GThreadCount := TIdThreadSafeInteger.Create;
+
+ finalization
+ // This call hangs if not all threads have been properly destroyed.
+ // But without this, bad threads can often have worse results. Catch 22.
+ //TIdThread.WaitAllThreadsTerminated;
+
+ {$IFDEF IDFREEONFINAL}
+ //only enable this if you know your code exits thread-clean
+ Sys.FreeAndNil(GThreadCount);
+ {$ENDIF}
+end.
diff --git a/official/2.20/Source/IncPerfil_U.dfm b/official/2.20/Source/IncPerfil_U.dfm
new file mode 100644
index 0000000..a21b415
--- /dev/null
+++ b/official/2.20/Source/IncPerfil_U.dfm
@@ -0,0 +1,309 @@
+object frmIncluirPerfil: TfrmIncluirPerfil
+ Left = 232
+ Top = 319
+ BorderStyle = bsDialog
+ Caption = 'Perfil de Usu'#225'rios'
+ ClientHeight = 132
+ ClientWidth = 434
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ OldCreateOrder = False
+ PixelsPerInch = 96
+ TextHeight = 13
+ object Panel1: TPanel
+ Left = 0
+ Top = 0
+ Width = 434
+ Height = 35
+ Align = alTop
+ BevelOuter = bvNone
+ Color = clWhite
+ TabOrder = 1
+ object LbDescricao: TLabel
+ Left = 45
+ Top = 10
+ Width = 132
+ Height = 18
+ Margins.Bottom = 0
+ Caption = 'Adicionar Perfil'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -16
+ Font.Name = 'Verdana'
+ Font.Style = [fsBold]
+ ParentFont = False
+ end
+ object Image1: TImage
+ Left = 8
+ Top = 4
+ Width = 28
+ Height = 28
+ AutoSize = True
+ Picture.Data = {
+ 07544269746D6170760C0000424D760C00000000000036000000280000001C00
+ 00001C0000000100200000000000400C00000000000000000000000000000000
+ 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00AB937F00755944007559440075594400755A4500755A4500755A4600775B
+ 4700775C4700785C4700785C4700795D48007A5D49007B5E49007C5F4A007C60
+ 4A007D604B007E614C007E614C00795B4500FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00AB937F00755D4C00795E4B007A5F4C007A5F
+ 4C007C624F007F6351008266530085695500886C59008B705B008B705B008E72
+ 5E009176610094786500987C67009B7E6A009D806D009F836E00A0836E009979
+ 63005E412D00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF007259
+ 47007F624D0080634F00836652008366520085695500896C58008C6F5A009073
+ 5E0093776200977B6600977B66009A7E69009F826D00A2867100A6897400A98C
+ 7800AC8F7A00B1937F00B7998200997962005D402C00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00A089790097827300826A5800826A5800826A5800826A
+ 5800826A5800826A5800826A5800826A5800826A5800826A5800826A5800826A
+ 5800826A5800826A5800826A5800826A5800826A5800826A5800B2947E009979
+ 62005E412D00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00BFAFA400F7EB
+ E500FEF7F200FFF7F300FFF3ED00FFF3ED00FFEEE500FFEADE00FEE4D600FDE0
+ CF00FEDDCB00FEDCC800FEDCC800FFD9C300FFD6BF00FFD4BB00FFD0B500FFCF
+ B300FEC7A800DAA88B00B79279009D7C65005F422E00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00C4B5AB00E7DBD200FFF5F000FFF5F000FFF5EF00FFF5
+ EF00357821000060000000600000006000000060000000600000006000000060
+ 00000060000000600000FFD5BC00FFD2B700FECCAF00F6BF9E00C09D8600A07E
+ 660060432F00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F3F0EE00BFAF
+ A400FFF6F200FFF6F200FFF5F000357821003A6D23003A6D2300347A20002F85
+ 1E002C8C1D002B8E1D002C8A1D0030821F00367721003C69240000600000FFD5
+ BC00FFD0B600FDC9AB00C29C880092735E0061453100FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00BFAFA400FEF9FA00FFFAF800FFF8F5003578
+ 21003A6D2300357821002E871E0028941C001A8E130013850E00249919002A90
+ 1C0030821F003773220000600000FFD6BF00FFD4BC00FFD1B600C4A089009574
+ 5F0063463200FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00BFAF
+ A400FEF9FA00FFFBF900FFF9F6006DAB6D0035782100327F1F002A901C001F99
+ 16000A7A080008770700189C1200249C1A002C8B1D00347A200000780000FFDC
+ C900FFD8C300FFD6BD00C6A08B009C7A640064483300FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00BFAFA400FEF9FA00FFFCFB00FFFAF800B8D8
+ B8003578210030821F0027941A0010850D00218120006DAB6D00138D110022A2
+ 19002A8F1C0000600000FFE2D200FFE0CF00FFDDC900FFD9C300C9A38E00A581
+ 6A0066493500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00BFAF
+ A400FEFBFD00FFFDFC00FFFBFA00FFFBFA006DAB6D003578210026911B00157D
+ 1300BAD7B900C6DEC600327F34002096170000600000FFE9DD00FFE6D800FFE4
+ D400FFE0CE00FFDCC900CDA59000AE887200684B3700FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00BFAFA400FEFBFD00FFFDFC00FFFCFA00FFFC
+ FA00FFFBFA006DAB6D0035782100006890000068900000689000006890002361
+ 4C00FFEDE400FFECE100FFE9DD00FFE6D800FFE3D300FFDFCD00CEA89300B68E
+ 7700694D3800FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00BFAF
+ A400FEFBFD00FFFDFC00FFFCFB00FFFCFB00FFFCFB00FFFBFA00006890004293
+ D1004193D0003F90CE003C8CCA0000689000FFEFE600FFECE300FFEADE00FFE8
+ DB00FFE5D700FFE3D200D3AB9600BC927C006B4E3A00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00BFAFA400FEFBFD00FFFDFC00FFFDFC00FFFD
+ FC00FFFCFB00007FB4004899D400499BD800499AD7004697D5004293D1003D8E
+ CB00007FB400FFEDE300FFEBDF00FFEADD00FFE8DB00FFE5D700D6AE9900C197
+ 80006D503C00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00BFAF
+ A400FEFBFD00FFFDFC00FFFDFC00FFFDFC00FFFDFC00006890004EA0DD0051A2
+ DF005CA9DD004C9EDB004899D6004192D00000689000FFEFE500FFECE100FFEC
+ E000FFEBDF00FFE8DA00DBAF9A00C79C85006E513E00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00BFAFA400FEFBFD00FFFDFC00FFFDFC00FFFD
+ FC00FFFDFC000068900055A7E2005CA9DD006DB9EB005CA9DD004B9DDA004596
+ D30000689000FFF2EA00FFEFE500FFEDE300FFECE100FFEADE00DCB49D00CCA0
+ 8A006F533F00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00BFAF
+ A400FEFBFD00FFFDFC00FFFDFC00FFFDFC00FFFDFC0000689000427EA400427E
+ A4005CA9DD0055A7E3004D9FDC004798D50000689000FFF6F000FFF3EC00FFF1
+ E900FFEFE600FFEDE200DFB5A000D2A48E0071544000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00BFAFA400FEFBFD00FFFDFC00FFFDFC00FFFD
+ FC00FFFDFC00007FB400427EA400427EA400427EA400427EA4004998D200427E
+ A400007FB400FFF7F400FFF6F100FFF4EE00FFF1EA00FFEEE500E1B9A200D6A8
+ 910072554200FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00BFAF
+ A400FEFBFD00FFFDFC00FFFDFC00FFFDFC00FFFDFC00FFFDFC0000689000427E
+ A400427EA400427EA400427EA40000689000FFFAF800FFF9F600FFF7F400FFF5
+ F000FFF3ED00FFF1E800E5B9A400DAAB940073574300FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00BFAFA400FEFBFD00FFFDFC00FFFDFC00FFFD
+ FC00FFFDFC00FFFDFC00FFFDFC00007FB4000068900000689000007FB400FFFA
+ F800FFF9F600FFF7F400FFF6F100FFF4EE00FFF1EA00FFEEE500E1B9A200D6A8
+ 910072554200FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00BFAF
+ A400FEFBFD00FFFDFC00FFFDFC00FFFDFC00FFFDFC00FFFDFC00FFFDFC00FFFD
+ FC00FFFCFC00FFFCFB00FFFCFB00FFFBFA00FFFAF800FFF9F600FFF7F400FFF5
+ F000FFF3ED00FFF1E800E5B9A400DAAB940073574300FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00BFAFA400BFAFA400BFAFA400BFAFA400BFAF
+ A400BFAFA400BFAFA400BFAFA400BFAFA400BFAFA400BFAFA400BFAFA400BFAF
+ A400BFAFA400BFAFA400BFAFA400BFAFA400BFAFA400BFAFA400BFAFA400C19C
+ 8B005D524D00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0041B4
+ F30041B4F30041B4F30041B4F30041B4F30041B3F30041B1F30040AEF2003FAB
+ F1003EA8F0003EA6F0003EA6F0003EA3F0003DA0EF003D9DEE003C9AED003C98
+ ED003C98ED003C98ED00227BD2005B6674004F545A00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF0041B4F300BEE5FB00BEE5FB00BEE5FB00BEE5
+ FB00BEE5FB00BEE5FB00BEE5FB00BEE5FB00BEE5FB00BEE5FB00BEE5FB00BEE5
+ FB00BEE5FB00BEE5FB00BEE5FB00BEE5FB00BEE5FB00BEE5FB00227BD2005B66
+ 74004F545A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0041B4
+ F300BEE5FB00BEE5FB00BEE5FB00BEE5FB00BEE5FB00BEE5FB00BEE5FB00BEE5
+ FB00BEE5FB00BEE5FB00BEE5FB00BEE5FB00BEE5FB00BEE5FB00BEE5FB00BEE5
+ FB00BEE5FB00BEE5FB00227BD2005B6674004F545A00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF0041B4F30041B4F30041B4F30041B4F30041B4
+ F30041B4F30041B4F30041B4F30041B4F30041B2F30040AFF20040AFF2003FAC
+ F1003FAAF1003EA7F0003EA4F0003EA2F0003D9FEF003C9CEE00227BD2005B66
+ 74004F545A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00}
+ end
+ end
+ object Panel3: TPanel
+ Left = 337
+ Top = 35
+ Width = 97
+ Height = 97
+ Align = alRight
+ BevelOuter = bvNone
+ TabOrder = 2
+ object btGravar: TBitBtn
+ Left = 8
+ Top = 17
+ Width = 81
+ Height = 25
+ Caption = '&Gravar'
+ TabOrder = 0
+ OnClick = btGravarClick
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF
+ 6D422F6D422F6D422F6D422F6D422F6D422F6D422F6D422F6D422F6D422F6D42
+ 2F6D422F6D422F6D422FFF00FFFF00FF69696969696969696969696969696969
+ 6969696969696969696969696969696969696969696969696969FF00FFCE726F
+ D19792CB8E8A715A48C0B2ABC4BCB8CAC1BCCAC1BCCAC1BCCAC1BC8C76679443
+ 409443409443406D422FFF00FF9A9A9AB4B4B4AEAEAE7D7D7DC6C6C6CECECED2
+ D2D2D2D2D2D2D2D2D2D2D2969696707070707070707070696969FF00FFCE726F
+ D79F9BD19792715A482E1F185F5046FFFFFFFFFFFFFFFFFFF0E4DE8C76679747
+ 449443409443406D422FFF00FF9A9A9ABBBBBBB5B5B57C7C7C434343747474FF
+ FFFFFFFFFFFFFFFFECECEC969696747474707070707070696969FF00FFCE726F
+ DDA8A3D79F9B715A480A0A0A36241BFFFFFFF7F1EEF0E4DEE1CABD8C76679E50
+ 4D9747449443406D422FFF00FF9A9A9AC1C1C1BBBBBB7D7D7D2A2A2A4A4A4AFF
+ FFFFF6F6F6ECECECD8D8D89595957C7C7C757575707070696969FF00FFCE726F
+ E3B0ABDDA8A3715A48715A48715A48715A48715A48715A48715A48715A48A459
+ 569E504D9747446D422FFF00FF9A9A9AC8C8C8C1C1C17D7D7D7D7D7D7D7D7D7C
+ 7C7C7D7D7D7D7D7D7D7D7D7D7D7D8383837C7C7C747474696969FF00FFCE726F
+ EDBDB8E7B5B0E0ACA7DAA49FD49B97CB8E8AC58682BF7E79B97571B26B68AB62
+ 5FA459569E504D6D422FFF00FF9A9A9AD2D2D2CCCCCCC4C4C4BEBEBEB8B8B8AE
+ AEAEA8A8A8A1A1A19A9A9A9292928B8B8B8484847B7B7B696969FF00FFCE726F
+ F0C1BCEDBDB8E7B5B0E0ACA7DAA49FD49B97CE938EC88A86C2827EBC7975B26B
+ 68AB625FA459566D422FFF00FF9A9A9AD4D4D4D2D2D2CBCBCBC4C4C4BFBFBFB8
+ B8B8B1B1B1ABABABA5A5A59D9D9D9292928B8B8B848484696969FF00FFCE726F
+ F0C1BCF0C1BCC8635CC8635CC8635CC8635CC8635CC8635CC8635CC8635CC863
+ 5CB5706CAE67636D422FFF00FF9A9A9AD4D4D4D5D5D58E8E8E8E8E8E8E8E8E8E
+ 8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E9696968E8E8E696969FF00FFCE726F
+ F0C1BCC8635CFAF5F3F6EEEAF2E7E2EEE2DAEBDCD3E7D6CBE4D0C4E1CABDE1CA
+ BDC8635CB5706C6D422FFF00FF9A9A9AD4D4D48E8E8EF8F8F8F3F3F3EEEEEEEA
+ EAEAE6E6E6E1E1E1DDDDDDD8D8D8D8D8D88E8E8E969696676767FF00FFCE726F
+ F0C1BCC8635CFFFFFFFCF8F7F8F1EEF4EAE6F0E4DEECDFD6E9D9CFE6D3C8E2CD
+ C0C8635CBC79756D422FFF00FF9A9A9AD5D5D58E8E8EFFFFFFFAFAFAF6F6F6F1
+ F1F1ECECECE7E7E7E3E3E3DFDFDFDADADA8E8E8E9D9D9D696969FF00FFCE726F
+ F0C1BCC8635CFFFFFFFFFFFFFCF8F7F8F1EEF4EAE6F0E4DEECDFD6E9D9CFE6D3
+ C8C8635CC2827E6D422FFF00FF9A9A9AD4D4D48D8D8DFFFFFFFFFFFFFBFBFBF6
+ F6F6F0F0F0ECECECE7E7E7E3E3E3DFDFDF8E8E8EA5A5A5696969FF00FFCE726F
+ F0C1BCC8635CFFFFFFFFFFFFFFFFFFFCF8F7F8F1EEF4EAE6F0E4DEECDFD6E9D9
+ CFC8635CC88A866D422FFF00FF9A9A9AD4D4D48E8E8EFFFFFFFFFFFFFFFFFFFB
+ FBFBF5F5F5F1F1F1ECECECE8E8E8E3E3E38E8E8EABABAB696969FF00FFCE726F
+ F0C1BCC8635CFFFFFFFFFFFFFFFFFFFFFFFFFCF8F7F8F1EEF4EAE6F0E4DEECDF
+ D6C8635CD197926D422FFF00FF9A9A9AD4D4D48E8E8EFFFFFFFFFFFFFFFFFFFF
+ FFFFFBFBFBF6F6F6F1F1F1ECECECE7E7E78E8E8EB5B5B5696969FF00FFCE726F
+ F0C1BCC8635CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF8F7F8F1EEF4EAE6F0E4
+ DEC8635C0A0A0A6D422FFF00FF9A9A9AD4D4D48E8E8EFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFBFBFBF6F6F6F1F1F1ECECEC8E8E8E2A2A2A676767FF00FFCE726F
+ F0C1BCC8635CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF8F7F8F1EEF4EA
+ E6C8635CC88A866D422FFF00FF9A9A9AD5D5D58E8E8EFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFBFBFBF5F5F5F1F1F18E8E8EABABAB696969FF00FFCE726F
+ CE726FCE726FCE726FCE726FCE726FCE726FCE726FCE726FCE726FCE726FCE72
+ 6FCE726FCE726FCE726FFF00FF9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+ 9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A}
+ NumGlyphs = 2
+ end
+ object btCancela: TBitBtn
+ Left = 8
+ Top = 57
+ Width = 81
+ Height = 25
+ Caption = '&Cancelar'
+ TabOrder = 1
+ OnClick = btCancelaClick
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFC066148E4019
+ 8E40198E40198E40198E40198E40198E40198E40198E40198E40198E40198E40
+ 198E40198E4019FF00FF8888886969696969696969696969696969696A6A6A69
+ 69696969696969696A6A6A6969696969696A6A6A696969FF00FFC06614F9F5F4
+ C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2
+ A5C3B2A58E4019FF00FF888888F8F8F8C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6
+ C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6696969FF00FFC06614FCFAFA
+ F9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCDFD0C7DFD0C7DCCB
+ C1C3B2A58E4019FF00FF888888FCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEAEAEAE7
+ E7E7E4E4E4E0E0E0DDDDDDDDDDDDD9D9D9C6C6C6696969FF00FFC06614FFFFFF
+ FCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCE2D4CCDFD0
+ C7C3B2A58E4019FF00FF888888FFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEA
+ EAEAE7E7E7E3E3E3E0E0E0E0E0E0DDDDDDC6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E5D9D1E2D4
+ CCC3B2A58E4019FF00FF888888FFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EE
+ EEEEEAEAEAE7E7E7E3E3E3E3E3E3E0E0E0C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E9DED7E5D9
+ D1C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1
+ F1F1EEEEEEEAEAEAE7E7E7E7E7E7E3E3E3C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F2EBE8EEE6E2ECE2DCECE2DCE9DE
+ D7C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFBFBFBF7
+ F7F7F1F1F1EEEEEEEAEAEAEAEAEAE7E7E7C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF0E9E5F0E9E5EDE4
+ DFC3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFB
+ FBFBF7F7F7F3F3F3F0F0F0F0F0F0ECECECC6C6C66A6A6AFF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF4EEEBF0E9
+ E5C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE
+ FEFEFBFBFBF7F7F7F3F3F3F3F3F3F0F0F0C6C6C66A6A6AFF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F78A9DE92546CD1D3F
+ C9193BC8183BC88194E1898989FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFEFEFEFAFAFAC6C6C6979797929292929292929292C0C0C0C06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFD3355DBF2F4FD4E6B
+ D94A67D8F2F4FD183BC8888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFEFEFEA1A1A1FAFAFAAAAAAAA8A8A8F9F9F9929292C066148E4019
+ 8E40198E40198E40198E40198E40198E40198E40198E40193C5CDD8296E4D9DF
+ F9CDD5F74C69D81A3CC88888886969696969696969696A6A6A69696969696969
+ 6969696969696969A5A5A5C1C1C1EDEDEDE7E7E7A8A8A8929292C06614ED9733
+ ED9733ED9733ED9733ED9733ED9733ED9733F6CA9AED97334563E16980E2E4E8
+ FBD8DEF9516DDA1F40C9888888ACACACACACACADADADADADADADADADACACACAD
+ ADADD5D5D5ADADADA8A8A8B6B6B6F2F2F2ECECECABABAB939393F810DCC06614
+ C06614C06614C06614C06614C06614C06614C06614C066144D6AE3F2F4FD667D
+ E26E85E2F2F4FD2749CEEF14EF88888888888888888888888889898988888888
+ 8888888888898989ACACACF9F9F9B5B5B5B9B9B9F9F9F9989898FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF9AABEF4D6AE34563
+ E14463DF3E5EDE8FA2EBFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFCFCFCFACACACA8A8A8A8A8A8A6A6A6C9C9C9}
+ NumGlyphs = 2
+ end
+ end
+ object Panel2: TPanel
+ Left = 0
+ Top = 35
+ Width = 337
+ Height = 97
+ Align = alClient
+ BevelInner = bvRaised
+ BevelOuter = bvLowered
+ TabOrder = 0
+ object lbNome: TLabel
+ Left = 15
+ Top = 42
+ Width = 54
+ Height = 13
+ Margins.Bottom = 0
+ Caption = 'Descri'#231#227'o :'
+ end
+ object EditDescricao: TEdit
+ Left = 73
+ Top = 39
+ Width = 249
+ Height = 21
+ Ctl3D = True
+ MaxLength = 30
+ ParentCtl3D = False
+ TabOrder = 0
+ end
+ end
+end
diff --git a/official/2.20/Source/IncPerfil_U.pas b/official/2.20/Source/IncPerfil_U.pas
new file mode 100644
index 0000000..a815df7
--- /dev/null
+++ b/official/2.20/Source/IncPerfil_U.pas
@@ -0,0 +1,113 @@
+unit IncPerfil_U;
+
+interface
+
+{$I 'UserControl.inc'}
+
+uses
+{$IFDEF DELPHI5_UP}
+ Variants,
+{$ENDIF}
+ Buttons,
+ Classes,
+ Controls,
+ DB,
+ Dialogs,
+ ExtCtrls,
+ Forms,
+ Graphics,
+ Messages,
+ StdCtrls,
+ SysUtils,
+ UCBase,
+ Windows;
+
+type
+ TfrmIncluirPerfil = class(TForm)
+ Panel1: TPanel;
+ LbDescricao: TLabel;
+ Image1: TImage;
+ Panel3: TPanel;
+ btGravar: TBitBtn;
+ btCancela: TBitBtn;
+ Panel2: TPanel;
+ lbNome: TLabel;
+ EditDescricao: TEdit;
+ procedure btCancelaClick(Sender: TObject);
+ procedure btGravarClick(Sender: TObject);
+ private
+ function GetNewIdUser: Integer;
+ { Private declarations }
+ public
+ FAltera: Boolean;
+ FUserControl: TUserControl;
+ end;
+
+implementation
+
+{$R *.dfm}
+
+uses
+ CadPerfil_U;
+
+procedure TfrmIncluirPerfil.btCancelaClick(Sender: TObject);
+begin
+ Close;
+end;
+
+procedure TfrmIncluirPerfil.btGravarClick(Sender: TObject);
+var
+ FNewIdUser: Integer;
+ FProfile: String;
+begin
+ btGravar.Enabled := False;
+ with FUserControl do
+ if not FAltera then
+ begin // inclui perfil
+ FNewIdUser := GetNewIdUser;
+ FProfile := EditDescricao.Text;
+ if Assigned(onAddProfile) then
+ onAddProfile(TObject(Self.Owner.Owner), FProfile);
+
+
+ DataConnector.UCExecSQL(Format('INSERT INTO %s(%s, %s, %s) Values(%d,%s,%s)',
+ [TableUsers.TableName,
+ TableUsers.FieldUserID,
+ TableUsers.FieldUserName,
+ TableUsers.FieldTypeRec,
+ FNewIdUser,
+ QuotedStr(FProfile),
+ QuotedStr('P')]));
+
+ end
+ else
+ begin // alterar perfil
+ FNewIdUser := TfrmCadastrarPerfil(Self.Owner).FDataSetPerfilUsuario.FieldByName('IdUser').AsInteger;
+ FProfile := EditDescricao.Text;
+
+ DataConnector.UCExecSQL(Format('UPDATE %s SET %s = %s WHERE %s = %d',
+ [TableUsers.TableName,
+ TableUsers.FieldUserName,
+ QuotedStr(FProfile),
+ TableUsers.FieldUserID,
+ FNewIdUser]));
+ end;
+ TfrmCadastrarPerfil(Owner).FDataSetPerfilUsuario.Close;
+ TfrmCadastrarPerfil(Owner).FDataSetPerfilUsuario.Open;
+ TfrmCadastrarPerfil(Owner).FDataSetPerfilUsuario.Locate('IDUser', FNewIdUser, []);
+ Close;
+end;
+
+function TfrmIncluirPerfil.GetNewIdUser: Integer;
+var
+ TempDs: TDataset;
+begin
+ with FUserControl do
+ TempDS := DataConnector.UCGetSQLDataSet('SELECT ' + TableUsers.FieldUserID + ' as MaxUserID from ' + TableUsers.TableName +
+ ' ORDER BY ' + TableUsers.FieldUserID + ' DESC');
+ Result := TempDs.FieldByName('MaxUserID').AsInteger + 1;
+ TempDS.Close;
+ FreeAndNil(TempDS);
+end;
+
+end.
diff --git a/official/2.20/Source/IncUser_U.dfm b/official/2.20/Source/IncUser_U.dfm
new file mode 100644
index 0000000..181971b
--- /dev/null
+++ b/official/2.20/Source/IncUser_U.dfm
@@ -0,0 +1,460 @@
+object frmIncluirUsuario: TfrmIncluirUsuario
+ Left = 323
+ Top = 236
+ BorderStyle = bsDialog
+ Caption = 'Cadastro de Usu'#225'rios'
+ ClientHeight = 254
+ ClientWidth = 472
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ OldCreateOrder = False
+ OnClose = FormClose
+ OnCreate = FormCreate
+ OnShow = FormShow
+ PixelsPerInch = 96
+ TextHeight = 13
+ object Panel1: TPanel
+ Left = 0
+ Top = 0
+ Width = 472
+ Height = 35
+ Align = alTop
+ BevelOuter = bvNone
+ Color = clWhite
+ TabOrder = 2
+ object LbDescricao: TLabel
+ Left = 46
+ Top = 9
+ Width = 153
+ Height = 18
+ Caption = 'Adicionar Usu'#225'rio'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -16
+ Font.Name = 'Verdana'
+ Font.Style = [fsBold]
+ ParentFont = False
+ end
+ object Image1: TImage
+ Left = 8
+ Top = 4
+ Width = 28
+ Height = 28
+ AutoSize = True
+ Picture.Data = {
+ 07544269746D6170760C0000424D760C00000000000036000000280000001C00
+ 00001C0000000100200000000000400C00000000000000000000000000000000
+ 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FEFEFE00F9F9
+ F900F1F1F100EAEAEA00E3E3E300E0E0E000DEDEDE00DFDFDF00E1E1E100E4E4
+ E400E8E8E800ECECEC00F0F0F000F5F5F500FAFAFA00FEFEFE00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00F6F6F600C5C7C5008E9F91006E8A70005E815C00527B4F004E7C4A004B7C
+ 48004A7C47004B7B48004C7C4A004E7B4C0050795000557854005B7A5C00677F
+ 6A007C897E00A2A2A200D4D4D400FAFAFA00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00F2F4F30074967100487638004E7C35004E83
+ 34004B893300488E31004592300044962F0043972F0043982F0043972F004494
+ 300047903100498C32004C863400507F35004E7A360047703900526C5200A9A9
+ A900FAFAFA00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0094B3
+ 910058743900537B36004E8334004A8A33004690310043962F00409B2E003E9F
+ 2D003DA12D003DA12D003DA02D003F9D2E0042992F0045933000488D32004C86
+ 3400517F350055773700567039005A725A00E6E6E600FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00688D5B0055783700508035004B8833004790
+ 310043982F003F9E2D003BA42C0039A82B0037AB2A0037AB2A0038AA2B003AA6
+ 2C003DA12D00419B2E0045943000498C32004D843400527C3600577338005472
+ 4D00DEDEDE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF005E87
+ 5100527C36004D843400488D320044962F003F9E2E003BA52C0037AC2A0034B1
+ 290032B4280032B5280033B3280035AE290039A82B003DA12D00419A2F004691
+ 31004B893300508035005577370056775100E4E4E400FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00729A6800507F35004B88330046913100419A
+ 2E003CA32C0037AB2A0033B328002FB927002DBE25002CBF25002EBC260031B6
+ 270035AF29003AA72B003F9E2D0044953000498C32004E833400537A37006F8C
+ 6E00F2F2F200FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A5C6
+ A700508136004A8A3300449330003F9D2E003AA62B0035AF290030B827002BBF
+ 250035B237002BBB2B0029C324002DBC260033B4280037AB2A003DA12D004298
+ 2F00478F31004D8534004A7B3600B0BCB200FDFDFD00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00F6FAF70058904D00498B3200449530003E9E
+ 2D0039A82B0034B228002EBB26004BA34E00DEE0DF00DDEADF0044BB47002BC0
+ 250031B6270036AD2A003CA32C00419A2F00479031004C86340072997100F1F1
+ F100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00D4E4D6004A8E3D00449530003E9E2D0039A82B0034B129002FA92C00A4B0
+ A700E5E6E600E8E9E900CFDED20035B3340031B6270036AC2A003CA32C004199
+ 2F00468F31005E955B00E5E7E500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D2E4D4004E984500409C
+ 2E003AA52C0035AE2900518B5400989B9F00798A96006B7F8C00757E85005B7F
+ 5D002D9E240038A92A003DA12D0040952F0070A46F00E9ECEA00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00EDF4EF007BB57B003A9D2E00319131004F7C93004992
+ C5004A98CF004897CE004592C800437DA400235437002C7F22004B9B4500AECA
+ B000F9F9F900FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00BDD3C7004C90AF0052A0D60052A0D500519FD4004F9DD3004C9AD1004997
+ CE00438CBF0043636700C1C2C100FDFDFD00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00F5F6F70072ABD00056A4D90056A4D90056A4
+ D90055A3D80054A2D70052A0D5004F9DD3004B99D000468DC000727D8400E7E7
+ E700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A2C4
+ DC005AA6DB005BA8DC005BA8DC005BA8DC005AA7DB0058A5DA0056A4D90053A1
+ D600509ED4004B9AD0004C7FA500ADADAD00FDFDFD00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00E9EEF4005FA7D7005EABDF005FACE0005FACE0005FAC
+ E0005EABDF005CA9DD005AA7DB0057A4D90054A2D700509ED4004A95CA007682
+ 8B00F0F0F000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000C8F80000A6FF0060AC
+ E00061AEE20063B0E30063B0E30063B0E30061AEE2005FACE0005DAADE005AA7
+ DC0056A4D90053A1D6004E9DD3005B7E9600DADADA00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000C8F80000A6FF00FFFF
+ FF00FFFFFF0000C8F80000A6FF0063B0E30065B2E50000A6FF0000C8F80067B4
+ E60065B2E50063B0E30060ADE1005DAADE0059A7DB0055A3D800519FD5004F84
+ A800C5C5C500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF0000C8F80000A6FF009AEBF90000C8F80000A6FF009AEB
+ F90000A6FF0000C8F8006CB8EA006BB7E90069B5E80066B3E60062AFE3005FAC
+ E0005BA8DC0057A5DA0053A1D6004E8DBB00B8B8B800FEFEFE00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF009AEBF90000C8
+ F8009AEBF90000A6FF0000A6FF0000A6FF0000C8F8009AEBF9006BB4E3006EBA
+ EC006CB8EA0069B5E70064B1E40060ADE1005DAADE0059A6DB0054A2D7004E91
+ C000B8B8B800FEFEFE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF009AEBF9009AEBF90000F8F80000F8F8009AEB
+ F9009AEBF9003F799D003E708F004B7FA00062A5D10069B5E60066B3E60062AF
+ E2005EABDF0059A7DB0053A0D4004D88B200C4C4C400FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000A6FF0000A6FF0000A6FF0000A6
+ FF0000F8F800FFFFFF00FFFFFF0000F8F80000A6FF0000A6FF0000A6FF0000A6
+ FF003D719200437595005B9FCD0061AEE1005DAADE004C8FBC003B779D003C62
+ 7A00D0D0D000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF0000C8F80000C8F80000C8F80000A6FF0000F8F8009AEBF900FFFFFF0000F8
+ F80000C8F80000C8F80000C8F80000C8F8004E95C2004689B300386A8A00447B
+ 9F004786B0003C7FA9003C81AC005C7A8B00EDEDED00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF009AEB
+ F9009AEBF90000F8F80000F8F8009AEBF9009AEBF90062ABD9005FA8D6005BA3
+ D100559DCA004E95C200478DB9003D7DA6003C7FAA003D82AD003C7CA200A3AA
+ AE00FDFDFD00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF009AEBF90000A6FF0000C8F80000C8F80000A6FF0000C8
+ F80000A6FF009AEBF90067B1DF0062ABD9005BA3D000539AC7004B91BE004388
+ B4003D82AD003C81AC0062849A00ECECEC00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000A6FF0000C8
+ F8009AEBF90000C8F80000A6FF009AEBF90000C8F80000A6FF006EB9E80067B1
+ DF005FA7D500569ECB004D94C100458BB7003D82AE005584A200D8DBDD00FEFE
+ FE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF0000A6FF0000C8F800FFFFFF00FFFFFF0000C8F80000A6FF00FFFF
+ FF00D8E7F10000C8F80000A6FF0069B3E20061A9D70058A0CD004F96C2004689
+ B5006994B000DCDFE300FEFEFE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF0000C8F80000A6FF00FFFFFF00FFFFFF00F4F7FA00B2D0E30085B8
+ D80070A9CE0071A6C70087AFC900C3D1DB00FAFAFA00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00}
+ end
+ end
+ object Panel3: TPanel
+ Left = 375
+ Top = 35
+ Width = 97
+ Height = 219
+ Align = alRight
+ BevelOuter = bvNone
+ TabOrder = 1
+ object btGravar: TBitBtn
+ Left = 8
+ Top = 16
+ Width = 81
+ Height = 25
+ Caption = '&Gravar'
+ TabOrder = 0
+ OnClick = btGravarClick
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF
+ 6D422F6D422F6D422F6D422F6D422F6D422F6D422F6D422F6D422F6D422F6D42
+ 2F6D422F6D422F6D422FFF00FFFF00FF69696969696969696969696969696969
+ 6969696969696969696969696969696969696969696969696969FF00FFCE726F
+ D19792CB8E8A715A48C0B2ABC4BCB8CAC1BCCAC1BCCAC1BCCAC1BC8C76679443
+ 409443409443406D422FFF00FF9A9A9AB4B4B4AEAEAE7D7D7DC6C6C6CECECED2
+ D2D2D2D2D2D2D2D2D2D2D2969696707070707070707070696969FF00FFCE726F
+ D79F9BD19792715A482E1F185F5046FFFFFFFFFFFFFFFFFFF0E4DE8C76679747
+ 449443409443406D422FFF00FF9A9A9ABBBBBBB5B5B57C7C7C434343747474FF
+ FFFFFFFFFFFFFFFFECECEC969696747474707070707070696969FF00FFCE726F
+ DDA8A3D79F9B715A480A0A0A36241BFFFFFFF7F1EEF0E4DEE1CABD8C76679E50
+ 4D9747449443406D422FFF00FF9A9A9AC1C1C1BBBBBB7D7D7D2A2A2A4A4A4AFF
+ FFFFF6F6F6ECECECD8D8D89595957C7C7C757575707070696969FF00FFCE726F
+ E3B0ABDDA8A3715A48715A48715A48715A48715A48715A48715A48715A48A459
+ 569E504D9747446D422FFF00FF9A9A9AC8C8C8C1C1C17D7D7D7D7D7D7D7D7D7C
+ 7C7C7D7D7D7D7D7D7D7D7D7D7D7D8383837C7C7C747474696969FF00FFCE726F
+ EDBDB8E7B5B0E0ACA7DAA49FD49B97CB8E8AC58682BF7E79B97571B26B68AB62
+ 5FA459569E504D6D422FFF00FF9A9A9AD2D2D2CCCCCCC4C4C4BEBEBEB8B8B8AE
+ AEAEA8A8A8A1A1A19A9A9A9292928B8B8B8484847B7B7B696969FF00FFCE726F
+ F0C1BCEDBDB8E7B5B0E0ACA7DAA49FD49B97CE938EC88A86C2827EBC7975B26B
+ 68AB625FA459566D422FFF00FF9A9A9AD4D4D4D2D2D2CBCBCBC4C4C4BFBFBFB8
+ B8B8B1B1B1ABABABA5A5A59D9D9D9292928B8B8B848484696969FF00FFCE726F
+ F0C1BCF0C1BCC8635CC8635CC8635CC8635CC8635CC8635CC8635CC8635CC863
+ 5CB5706CAE67636D422FFF00FF9A9A9AD4D4D4D5D5D58E8E8E8E8E8E8E8E8E8E
+ 8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E9696968E8E8E696969FF00FFCE726F
+ F0C1BCC8635CFAF5F3F6EEEAF2E7E2EEE2DAEBDCD3E7D6CBE4D0C4E1CABDE1CA
+ BDC8635CB5706C6D422FFF00FF9A9A9AD4D4D48E8E8EF8F8F8F3F3F3EEEEEEEA
+ EAEAE6E6E6E1E1E1DDDDDDD8D8D8D8D8D88E8E8E969696676767FF00FFCE726F
+ F0C1BCC8635CFFFFFFFCF8F7F8F1EEF4EAE6F0E4DEECDFD6E9D9CFE6D3C8E2CD
+ C0C8635CBC79756D422FFF00FF9A9A9AD5D5D58E8E8EFFFFFFFAFAFAF6F6F6F1
+ F1F1ECECECE7E7E7E3E3E3DFDFDFDADADA8E8E8E9D9D9D696969FF00FFCE726F
+ F0C1BCC8635CFFFFFFFFFFFFFCF8F7F8F1EEF4EAE6F0E4DEECDFD6E9D9CFE6D3
+ C8C8635CC2827E6D422FFF00FF9A9A9AD4D4D48D8D8DFFFFFFFFFFFFFBFBFBF6
+ F6F6F0F0F0ECECECE7E7E7E3E3E3DFDFDF8E8E8EA5A5A5696969FF00FFCE726F
+ F0C1BCC8635CFFFFFFFFFFFFFFFFFFFCF8F7F8F1EEF4EAE6F0E4DEECDFD6E9D9
+ CFC8635CC88A866D422FFF00FF9A9A9AD4D4D48E8E8EFFFFFFFFFFFFFFFFFFFB
+ FBFBF5F5F5F1F1F1ECECECE8E8E8E3E3E38E8E8EABABAB696969FF00FFCE726F
+ F0C1BCC8635CFFFFFFFFFFFFFFFFFFFFFFFFFCF8F7F8F1EEF4EAE6F0E4DEECDF
+ D6C8635CD197926D422FFF00FF9A9A9AD4D4D48E8E8EFFFFFFFFFFFFFFFFFFFF
+ FFFFFBFBFBF6F6F6F1F1F1ECECECE7E7E78E8E8EB5B5B5696969FF00FFCE726F
+ F0C1BCC8635CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF8F7F8F1EEF4EAE6F0E4
+ DEC8635C0A0A0A6D422FFF00FF9A9A9AD4D4D48E8E8EFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFBFBFBF6F6F6F1F1F1ECECEC8E8E8E2A2A2A676767FF00FFCE726F
+ F0C1BCC8635CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF8F7F8F1EEF4EA
+ E6C8635CC88A866D422FFF00FF9A9A9AD5D5D58E8E8EFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFBFBFBF5F5F5F1F1F18E8E8EABABAB696969FF00FFCE726F
+ CE726FCE726FCE726FCE726FCE726FCE726FCE726FCE726FCE726FCE726FCE72
+ 6FCE726FCE726FCE726FFF00FF9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+ 9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A}
+ NumGlyphs = 2
+ end
+ object btCancela: TBitBtn
+ Left = 8
+ Top = 56
+ Width = 81
+ Height = 25
+ Caption = '&Cancelar'
+ TabOrder = 1
+ OnClick = btCancelaClick
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFC066148E4019
+ 8E40198E40198E40198E40198E40198E40198E40198E40198E40198E40198E40
+ 198E40198E4019FF00FF8888886969696969696969696969696969696A6A6A69
+ 69696969696969696A6A6A6969696969696A6A6A696969FF00FFC06614F9F5F4
+ C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2
+ A5C3B2A58E4019FF00FF888888F8F8F8C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6
+ C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6696969FF00FFC06614FCFAFA
+ F9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCDFD0C7DFD0C7DCCB
+ C1C3B2A58E4019FF00FF888888FCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEAEAEAE7
+ E7E7E4E4E4E0E0E0DDDDDDDDDDDDD9D9D9C6C6C6696969FF00FFC06614FFFFFF
+ FCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCE2D4CCDFD0
+ C7C3B2A58E4019FF00FF888888FFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEA
+ EAEAE7E7E7E3E3E3E0E0E0E0E0E0DDDDDDC6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E5D9D1E2D4
+ CCC3B2A58E4019FF00FF888888FFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EE
+ EEEEEAEAEAE7E7E7E3E3E3E3E3E3E0E0E0C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E9DED7E5D9
+ D1C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1
+ F1F1EEEEEEEAEAEAE7E7E7E7E7E7E3E3E3C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F2EBE8EEE6E2ECE2DCECE2DCE9DE
+ D7C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFBFBFBF7
+ F7F7F1F1F1EEEEEEEAEAEAEAEAEAE7E7E7C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF0E9E5F0E9E5EDE4
+ DFC3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFB
+ FBFBF7F7F7F3F3F3F0F0F0F0F0F0ECECECC6C6C66A6A6AFF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF4EEEBF0E9
+ E5C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE
+ FEFEFBFBFBF7F7F7F3F3F3F3F3F3F0F0F0C6C6C66A6A6AFF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F78A9DE92546CD1D3F
+ C9193BC8183BC88194E1898989FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFEFEFEFAFAFAC6C6C6979797929292929292929292C0C0C0C06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFD3355DBF2F4FD4E6B
+ D94A67D8F2F4FD183BC8888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFEFEFEA1A1A1FAFAFAAAAAAAA8A8A8F9F9F9929292C066148E4019
+ 8E40198E40198E40198E40198E40198E40198E40198E40193C5CDD8296E4D9DF
+ F9CDD5F74C69D81A3CC88888886969696969696969696A6A6A69696969696969
+ 6969696969696969A5A5A5C1C1C1EDEDEDE7E7E7A8A8A8929292C06614ED9733
+ ED9733ED9733ED9733ED9733ED9733ED9733F6CA9AED97334563E16980E2E4E8
+ FBD8DEF9516DDA1F40C9888888ACACACACACACADADADADADADADADADACACACAD
+ ADADD5D5D5ADADADA8A8A8B6B6B6F2F2F2ECECECABABAB939393F810DCC06614
+ C06614C06614C06614C06614C06614C06614C06614C066144D6AE3F2F4FD667D
+ E26E85E2F2F4FD2749CEEF14EF88888888888888888888888889898988888888
+ 8888888888898989ACACACF9F9F9B5B5B5B9B9B9F9F9F9989898FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF9AABEF4D6AE34563
+ E14463DF3E5EDE8FA2EBFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFCFCFCFACACACA8A8A8A8A8A8A6A6A6C9C9C9}
+ NumGlyphs = 2
+ end
+ end
+ object Panel2: TPanel
+ Left = 0
+ Top = 35
+ Width = 375
+ Height = 219
+ Align = alClient
+ BevelInner = bvRaised
+ BevelOuter = bvLowered
+ TabOrder = 0
+ object lbNome: TLabel
+ Left = 52
+ Top = 18
+ Width = 34
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'Nome :'
+ end
+ object lbLogin: TLabel
+ Left = 54
+ Top = 50
+ Width = 32
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'Login :'
+ end
+ object lbEmail: TLabel
+ Left = 54
+ Top = 82
+ Width = 32
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'EMail :'
+ end
+ object lbPerfil: TLabel
+ Left = 57
+ Top = 114
+ Width = 29
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'Perfil :'
+ end
+ object btlimpa: TSpeedButton
+ Left = 335
+ Top = 111
+ Width = 19
+ Height = 19
+ Glyph.Data = {
+ 36050000424D3605000000000000360400002800000010000000100000000100
+ 080000000000000100000E0F00000E0F00000001000000010000FF00FF00B584
+ 8400B5948C00C6A59C00D6BDB500E7C6B500E7CECE0000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000020101010101010200000000000000000106060606
+ 0606010100000000000000010606060606060103010000000000000204040404
+ 0404010303010000000000000205050505050501030301000000000000020505
+ 0505050501030301000000000000020505050505050103030100000000000002
+ 0505050505050103010000000000000002050505050505010100000000000000
+ 0002050505050505010000000000000000000201010101010200000000000000
+ 0000000000000000000000000000000000000000000000000000}
+ OnClick = btlimpaClick
+ end
+ object LabelExpira: TLabel
+ Left = 31
+ Top = 148
+ Width = 55
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'Expira em : '
+ end
+ object LabelDias: TLabel
+ Left = 331
+ Top = 148
+ Width = 19
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'dias'
+ end
+ object EditNome: TEdit
+ Left = 89
+ Top = 15
+ Width = 265
+ Height = 21
+ Ctl3D = True
+ MaxLength = 30
+ ParentCtl3D = False
+ TabOrder = 0
+ end
+ object EditLogin: TEdit
+ Left = 89
+ Top = 47
+ Width = 265
+ Height = 21
+ Ctl3D = True
+ MaxLength = 30
+ ParentCtl3D = False
+ TabOrder = 1
+ end
+ object EditEmail: TEdit
+ Left = 89
+ Top = 79
+ Width = 265
+ Height = 21
+ Ctl3D = True
+ MaxLength = 150
+ ParentCtl3D = False
+ TabOrder = 2
+ end
+ object ckPrivilegiado: TCheckBox
+ Left = 89
+ Top = 193
+ Width = 120
+ Height = 17
+ Caption = 'Usu'#225'rio privilegiado'
+ TabOrder = 4
+ end
+ object ComboPerfil: TDBLookupComboBox
+ Left = 89
+ Top = 111
+ Width = 242
+ Height = 21
+ Ctl3D = True
+ KeyField = 'IDUser'
+ ListField = 'Nome'
+ ListSource = frmCadastrarUsuario.DataSource2
+ ParentCtl3D = False
+ TabOrder = 3
+ end
+ object ckUserExpired: TCheckBox
+ Left = 89
+ Top = 169
+ Width = 160
+ Height = 17
+ Caption = 'Senha do usu'#225'rio n'#227'o expira'
+ TabOrder = 5
+ OnClick = ckUserExpiredClick
+ end
+ object SpinExpira: TSpinEdit
+ Left = 88
+ Top = 140
+ Width = 241
+ Height = 22
+ MaxValue = 100
+ MinValue = 10
+ TabOrder = 6
+ Value = 10
+ end
+ end
+end
diff --git a/official/2.20/Source/IncUser_U.pas b/official/2.20/Source/IncUser_U.pas
new file mode 100644
index 0000000..e4cbb66
--- /dev/null
+++ b/official/2.20/Source/IncUser_U.pas
@@ -0,0 +1,247 @@
+unit IncUser_U;
+
+interface
+
+{$I 'UserControl.inc'}
+
+uses
+{$IFDEF DELPHI5_UP}
+ Variants,
+{$ENDIF}
+ Buttons,
+ Classes,
+ Controls,
+ DB,
+ DBCtrls,
+ Dialogs,
+ ExtCtrls,
+ Forms,
+ Graphics,
+ Messages,
+ StdCtrls,
+ SysUtils,
+ UCBase,
+ Windows,
+ Spin;
+
+type
+ TfrmIncluirUsuario = class(TForm)
+ Panel1: TPanel;
+ LbDescricao: TLabel;
+ Image1: TImage;
+ Panel3: TPanel;
+ btGravar: TBitBtn;
+ btCancela: TBitBtn;
+ Panel2: TPanel;
+ lbNome: TLabel;
+ EditNome: TEdit;
+ lbLogin: TLabel;
+ EditLogin: TEdit;
+ lbEmail: TLabel;
+ EditEmail: TEdit;
+ ckPrivilegiado: TCheckBox;
+ lbPerfil: TLabel;
+ ComboPerfil: TDBLookupComboBox;
+ btlimpa: TSpeedButton;
+ ckUserExpired: TCheckBox;
+ LabelExpira: TLabel;
+ SpinExpira: TSpinEdit;
+ LabelDias: TLabel;
+ procedure FormClose(Sender: TObject; var Action: TCloseAction);
+ procedure btCancelaClick(Sender: TObject);
+ procedure btGravarClick(Sender: TObject);
+ function GetNewIdUser: Integer;
+ procedure btlimpaClick(Sender: TObject);
+ procedure FormShow(Sender: TObject);
+ procedure FormCreate(Sender: TObject);
+ procedure ckUserExpiredClick(Sender: TObject);
+ private
+ FormSenha : TCustomForm;
+ { Private declarations }
+ public
+ { Public declarations }
+ FAltera: Boolean;
+ FUserControl: TUserControl;
+ end;
+
+implementation
+
+uses
+ CadUser_U,
+ SenhaForm_U;
+
+{$R *.dfm}
+
+procedure TfrmIncluirUsuario.FormClose(Sender: TObject; var Action: TCloseAction);
+begin
+ Action := caFree;
+end;
+
+procedure TfrmIncluirUsuario.FormCreate(Sender: TObject);
+begin
+ Self.BorderIcons := [];
+ Self.BorderStyle := bsDialog;
+end;
+
+procedure TfrmIncluirUsuario.btCancelaClick(Sender: TObject);
+begin
+ Close;
+end;
+
+procedure TfrmIncluirUsuario.btGravarClick(Sender: TObject);
+var
+ vNovaSenha: String;
+ vNome: String;
+ vLogin: String;
+ vEmail: String;
+ vUserExpired : Integer;
+ vNovoIDUsuario: Integer;
+ vPerfil: Integer;
+ vPrivilegiado: Boolean;
+begin
+ btGravar.Enabled := False;
+
+ with FUserControl do
+ if not FAltera then
+ begin // inclui user
+ if Self.FUserControl.ExisteUsuario(EditLogin.Text) then
+ begin
+ MessageDlg(Format(FUserControl.UserSettings.CommonMessages.UsuarioExiste, [EditLogin.Text]), mtWarning, [mbOK], 0);
+ Exit;
+ end;
+
+ FormSenha := TSenhaForm.Create( Self );
+ TSenhaForm(FormSenha).Position := UserSettings.WindowsPosition;
+ TSenhaForm(FormSenha).fUserControl := fUserControl;
+ TSenhaForm(FormSenha).Caption := Format(FUserControl.UserSettings.ResetPassword.WindowCaption, [ EditLogin.Text ]);
+ If TSenhaForm(FormSenha).ShowModal <> mrok then
+ Begin
+ btGravar.Enabled := True;
+ Exit;
+ End;
+ vNovaSenha := TSenhaForm(FormSenha).edtSenha.Text;
+ vNovoIDUsuario := GetNewIdUser;
+ vNome := EditNome.Text;
+ vLogin := EditLogin.Text;
+ vEmail := EditEmail.Text;
+ FreeAndNil( FormSenha );
+
+ if ComboPerfil.KeyValue = null then
+ vPerfil := 0
+ else
+ vPerfil := ComboPerfil.KeyValue;
+
+ vPrivilegiado := ckPrivilegiado.Checked;
+ vUserExpired := StrToInt(BoolToStr(ckUserExpired.Checked));
+
+ AddUser(vLogin, vNovaSenha, vNome, vEmail, vPerfil, vUserExpired, SpinExpira.Value, vPrivilegiado);
+
+ { TODO -oLuiz -cUpgrade : Consertar a Senha para poder avisar MD5 }
+ if (Assigned(MailUserControl)) and (MailUserControl.AdicionaUsuario.Ativo) then
+ try
+ MailUserControl.EnviaEmailAdicionaUsuario(vNome, vLogin, Encrypt(vNovaSenha, EncryptKey), vEmail, IntToStr(vPerfil), EncryptKey);
+ except
+ on E: Exception do
+ Log(E.Message, llMedio);
+ end;
+
+ end
+ else
+ begin // alterar user
+ vNovoIDUsuario := TfrmCadastrarUsuario(Self.Owner).FDataSetCadastroUsuario.FieldByName('IdUser').AsInteger;
+ vNome := EditNome.Text;
+ vLogin := EditLogin.Text;
+ vEmail := EditEmail.Text;
+ if ComboPerfil.KeyValue = null then
+ vPerfil := 0
+ else
+ vPerfil := ComboPerfil.KeyValue;
+
+ vUserExpired := StrToInt(BoolToStr(ckUserExpired.Checked)); //Added by Petrus van Breda 28/04/2007
+ vPrivilegiado := ckPrivilegiado.Checked;
+ ChangeUser(vNovoIDUsuario, vLogin, vNome, vEmail, vPerfil,vUserExpired , SpinExpira.Value, vPrivilegiado);
+
+ { TODO -oLuiz -cUpgrade : Consertar a Senha para poder avisar MD5 }
+ if (Assigned(MailUserControl)) and (MailUserControl.AlteraUsuario.Ativo) then
+ try
+ MailUserControl.EnviaEmailAlteraUsuario(vNome,
+ vLogin,
+ TfrmCadastrarUsuario(Self.Owner).FDataSetCadastroUsuario.FieldByName('SENHA').AsString,
+ vEmail,
+ IntToStr(vPerfil),
+ EncryptKey);
+ except
+ on E: Exception do
+ Log(E.Message, 2);
+ end;
+ end;
+ TfrmCadastrarUsuario(Owner).FDataSetCadastroUsuario.Close;
+ TfrmCadastrarUsuario(Owner).FDataSetCadastroUsuario.Open;
+
+ TfrmCadastrarUsuario(Owner).FDataSetCadastroUsuario.Locate('idUser', vNovoIDUsuario, []);
+ Close;
+end;
+
+function TfrmIncluirUsuario.GetNewIdUser: Integer;
+var
+ DataSet: TDataset;
+ SQLStmt: String;
+begin
+ with FUserControl do
+ begin
+ SQLStmt := Format('SELECT %s.%s FROM %s ORDER BY %s DESC',
+ [TableUsers.TableName,
+ TableUsers.FieldUserID,
+ TableUsers.TableName,
+ TableUsers.FieldUserID]);
+ try
+ DataSet := DataConnector.UCGetSQLDataSet(SQLStmt);
+ Result := DataSet.Fields[0].AsInteger + 1;
+ DataSet.Close;
+ finally
+ SysUtils.FreeAndNil(DataSet);
+ end;
+ end;
+end;
+
+procedure TfrmIncluirUsuario.btLimpaClick(Sender: TObject);
+begin
+ ComboPerfil.KeyValue := NULL;
+end;
+
+procedure TfrmIncluirUsuario.FormShow(Sender: TObject);
+begin
+ if not FUserControl.UserProfile.Active then
+ begin
+ lbPerfil.Visible := False;
+ ComboPerfil.Visible := False;
+ btLimpa.Visible := False;
+ end
+ else
+ begin
+ ComboPerfil.ListSource.DataSet.Close;
+ ComboPerfil.ListSource.DataSet.Open;
+ end;
+
+ If FUserControl.Login.ActiveDateExpired = true then //Opção de senha so deve aparecer qdo setada como true no componente By Vicente Barros Leonel
+ ckPrivilegiado.Visible := FUserControl.User.UsePrivilegedField
+ else
+ ckUserExpired.Visible := False;
+
+ EditLogin.CharCase := Self.FUserControl.Login.CharCaseUser;
+
+ SpinExpira.Visible := ckUserExpired.Visible;
+ LabelExpira.Visible := ckUserExpired.Visible;
+ LabelDias.Visible := ckUserExpired.Visible;
+
+ if (FUserControl.User.ProtectAdministrator) and (EditLogin.Text = FUserControl.Login.InitialLogin.User) then
+ EditLogin.Enabled := False;
+end;
+
+procedure TfrmIncluirUsuario.ckUserExpiredClick(Sender: TObject);
+begin
+ SpinExpira.Enabled := ckUserExpired.Checked;
+end;
+
+end.
+
diff --git a/official/2.20/Source/Languages/English/UCConsts.pas b/official/2.20/Source/Languages/English/UCConsts.pas
new file mode 100644
index 0000000..d7c89bf
--- /dev/null
+++ b/official/2.20/Source/Languages/English/UCConsts.pas
@@ -0,0 +1,284 @@
+{
+
+ Unit criada por Vicente Barros Leonel
+ Ultima Revisão - 15/05/2007 Por Vicente Barros Leonel
+
+}
+
+unit UCConsts;
+
+interface
+
+const
+ // new consts version 2 a 5 =========================================
+ // Form Select Controls (design-time)
+ Const_Contr_TitleLabel = 'Team of Components of the Form. :';
+ Const_Contr_GroupLabel = 'Group:';
+ Const_Contr_CompDispLabel = 'Available components:';
+ Const_Contr_CompSelLabel = 'Selected components:';
+ Const_Contr_BtOK = '&OK';
+ Const_Contr_BTCancel = '&Cancel';
+ Const_Contr_DescCol = 'Description';
+ Const_Contr_BtSellAllHint = 'Select All';
+ Const_Contr_BtSelHint = 'Select';
+ Const_Contr_BtUnSelHint = 'Unselect';
+ Const_Contr_BtUnSelAllHint = 'Unselect All';
+ //===================================================================
+
+ // group property Settins.AppMsgsForm
+ Const_Msgs_BtNew = '&New Message';
+ Const_Msgs_BtReplay = '&Replay';
+ Const_Msgs_BtForward = 'F&orward';
+ Const_Msgs_BtDelete = '&Delete';
+ Const_Msgs_BtClose = '&Close';
+ Const_Msgs_WindowCaption = 'Messages of the System';
+ Const_Msgs_ColFrom = 'From';
+ Const_Msgs_ColSubject = 'Subject';
+ Const_Msgs_ColDate = 'Date';
+ Const_Msgs_PromptDelete = 'It confirms exclusion of the selected messages?';
+ Const_Msgs_PromptDelete_WindowCaption = 'Delete messages';
+ Const_Msgs_NoMessagesSelected = 'No Messages selected';
+ Const_Msgs_NoMessagesSelected_WindowCaption = 'Information';
+
+
+ // group property Settins.AppMsgsRec
+ Const_MsgRec_BtClose = '&Close';
+ Const_MsgRec_WindowCaption = 'Message';
+ Const_MsgRec_Title = 'Received message';
+ Const_MsgRec_LabelFrom = 'From:';
+ Const_MsgRec_LabelDate = 'Date';
+ Const_MsgRec_LabelSubject = 'Subject';
+ Const_MsgRec_LabelMessage = 'Message';
+
+ // group property Settins.AppMsgsSend
+ Const_MsgSend_BtSend = '&Send';
+ Const_MsgSend_BtCancel = '&Cancel';
+ Const_MsgSend_WindowCaption = 'Message';
+ Const_MsgSend_Title = 'Send New Message';
+ Const_MsgSend_GroupTo = 'To';
+ Const_MsgSend_RadioUser = 'User:';
+ Const_MsgSend_RadioAll = 'All';
+ Const_MsgSend_GroupMessage = 'Message';
+ Const_MsgSend_LabelSubject = 'Subject';
+ Const_MsgSend_LabelMessageText = 'Message text';
+
+
+ // Run errors
+ MsgExceptConnection = 'Done not informed the Connection, Transaction or Database component %s';
+ MsgExceptTransaction = 'Done not informed the Transaction component %s';
+ MsgExceptDatabase = 'Done not informed the Database do component %s';
+ MsgExceptPropriedade = 'Inform the property %s';
+ MsgExceptUserMngMenu = 'Inform in the property UsersForm.MenuItem or UsersForm.Action the item responsible for the users control';
+ MsgExceptUserProfile = 'Inform in the property UsersProfile.MenuItem or UsersProfile.Action the Item responsible for the control of users Profile ';
+ MsgExceptChagePassMenu = 'Inform in the property ChangePasswordForm.MenuItem or .Action the Item that allows to a user to alter his password';
+ MsgExceptAppID = 'In the property "ApplicationID" inform a name to identify the application in the chart of permissions';
+ MsgExceptUsersTable = 'In the property "TableUsers" inform the name of the chart that will be created to store the data of the users ';
+ MsgExceptRightsTable = 'In the property "TableRights" inform the name of the chart that will be created to store the permissions of the users ';
+ MsgExceptConnector = 'The property DataConnector not defined!';
+
+ // group property Settings.Mensagens
+ Const_Men_AutoLogonError = 'Fault of Car Logon !' + #13 + #10 + 'Inform a valid user and password.';
+ Const_Men_SenhaDesabitada = 'Retired password of the Login %s';
+ Const_Men_SenhaAlterada = 'Password altered with success!';
+ Const_Men_MsgInicial = 'ATTENTION, Inicial Login :' + #13 + #10 + #13 + #10 + 'User: :user' + #13 + #10 + 'Password : :password' + #13 + #10 + #13 + #10 + 'Define the permissions for this user.';
+ Const_Men_MaxTentativas = '%d Attempts of login invalid. By reasons of segunça the system will be closed.';
+ Const_Men_LoginInvalido = 'User invalids or password !';
+ Const_Men_UsuarioExiste = 'The User "%s" is already set up in the system !!';
+ Const_Men_PasswordExpired = 'Attention, his sign died, favor exchanges it ';
+
+
+ //group property Settings.Login
+ Const_Log_BtCancelar = '&Cancel';
+ Const_Log_BtOK = '&OK';
+ Const_Log_LabelSenha = 'Password :';
+ Const_Log_LabelUsuario = 'User :';
+ Const_Log_WindowCaption = 'Login';
+ Const_Log_LbEsqueciSenha = 'I forgot the password';
+ Const_Log_MsgMailSend = 'The password was sent for his email .';
+ Const_Log_LabelTentativa = 'Attempt : ';
+ Const_Log_LabelTentativas = 'Max of Attempts: ';
+
+ //group property Settings.Log //new
+ Const_LogC_WindowCaption = 'Security';
+ Const_LogC_LabelDescricao = 'Log of system';
+ Const_LogC_LabelUsuario = 'User :';
+ Const_LogC_LabelData = 'Date :';
+ Const_LogC_LabelNivel = 'Least level:';
+ Const_LogC_ColunaAppID = 'AppID';
+ Const_LogC_ColunaNivel = 'Level ';
+ Const_LogC_ColunaMensagem = 'Message';
+ Const_LogC_ColunaUsuario = 'User';
+ Const_LogC_ColunaData = 'Date';
+ Const_LogC_BtFiltro = '&Apply Filter';
+ Const_LogC_BtExcluir = '&Erase Log';
+ Const_LogC_BtFechar = '&Close';
+ Const_LogC_ConfirmaExcluir = 'It confirms to exclude all the registers of log selected ?';
+ Const_LogC_ConfirmaDelete_WindowCaption = 'Delete confirmation';
+ Const_LogC_Todos = 'All';
+ Const_LogC_Low = 'Low';
+ Const_LogC_Normal = 'Normal';
+ Const_LogC_High = 'High';
+ Const_LogC_Critic = 'Critic';
+ Const_LogC_ExcluirEfectuada = 'Deletion of system log done: User = "%s" | Date = %s a %s | Level <= %s';
+
+ //group property Settings.CadastroUsuarios
+ Const_Cad_WindowCaption = 'Security';
+ Const_Cad_LabelDescricao = 'Users register ';
+ Const_Cad_ColunaNome = 'Name';
+ Const_Cad_ColunaLogin = 'Login';
+ Const_Cad_ColunaEmail = 'Email';
+ Const_Cad_BtAdicionar = '&Add';
+ Const_Cad_BtAlterar = 'A<er';
+ Const_Cad_BtExcluir = '&Erase';
+ Const_Cad_BtPermissoes = 'A&ccesses';
+ Const_Cad_BtSenha = '&Password';
+ Const_Cad_BtFechar = '&Close';
+ Const_Cad_ConfirmaExcluir = 'Confirm erase the user "%s" ?';
+ Const_Cad_ConfirmaDelete_WindowCaption = 'Delete user'; //added by fduenas
+
+ //group property Settings.PerfilUsuarios
+ Const_Prof_WindowCaption = 'Security';
+ Const_Prof_LabelDescricao = 'Users profile ';
+ Const_Prof_ColunaNome = 'Profile';
+ Const_Prof_BtAdicionar = '&Add';
+ Const_Prof_BtAlterar = 'A<er';
+ Const_Prof_BtExcluir = '&Delete';
+ Const_Prof_BtPermissoes = 'A&ccesses';
+ Const_Prof_BtSenha = '&Password';
+ Const_Prof_BtFechar = '&Close';
+ Const_Prof_ConfirmaExcluir = 'There are users with the profile "%s". Confirm erase ?';
+ Const_Prof_ConfirmaDelete_WindowCaption = 'Delete profile'; //added by fduenas
+
+ //group property Settings.IncAltUsuario
+ Const_Inc_WindowCaption = 'Users register ';
+ Const_Inc_LabelAdicionar = 'Add User';
+ Const_Inc_LabelAlterar = 'Change User';
+ Const_Inc_LabelNome = 'Name :';
+ Const_Inc_LabelLogin = 'Login :';
+ Const_Inc_LabelEmail = 'Email :';
+ Const_Inc_LabelPerfil = 'Profile :';
+ Const_Inc_CheckPrivilegiado = 'Privileged user ';
+ Const_Inc_BtGravar = '&Save';
+ Const_Inc_BtCancelar = 'Cancel';
+ Const_Inc_CheckEspira = 'Password do not expired';
+ Const_Inc_Dia = 'Day';
+ Const_Inc_ExpiraEm = 'Expired in';
+
+ //group property Settings.IncAltPerfil
+ Const_PInc_WindowCaption = 'Profile the Users';
+ Const_PInc_LabelAdicionar = 'Add Profile';
+ Const_PInc_LabelAlterar = 'Change Profile ';
+ Const_PInc_LabelNome = 'Description :';
+ Const_PInc_BtGravar = '&Save';
+ Const_PInc_BtCancelar = 'Cancel';
+
+ //group property Settings.Permissao
+ Const_Perm_WindowCaption = 'Security';
+ Const_Perm_LabelUsuario = 'Permissions of the User :';
+ Const_Perm_LabelPerfil = 'Permissions of the Profile :';
+ Const_Perm_PageMenu = 'Items of the Menu';
+ Const_Perm_PageActions = 'Actions';
+ Const_Perm_PageControls = 'Controls'; // by vicente barros leonel
+ Const_Perm_BtLibera = '&Release';
+ Const_Perm_BtBloqueia = '&Block';
+ Const_Perm_BtGravar = '&Save';
+ Const_Perm_BtCancelar = '&Cancel';
+
+ //group property Settings.TrocaSenha do begin
+ Const_Troc_WindowCaption = 'Security';
+ Const_Troc_LabelDescricao = 'Change Password';
+ Const_Troc_LabelSenhaAtual = 'Password :';
+ Const_Troc_LabelNovaSenha = 'New Password :';
+ Const_Troc_LabelConfirma = 'Confirmation :';
+ Const_Troc_BtGravar = '&Save';
+ Const_Troc_BtCancelar = 'Cancel';
+
+ //group property Settings.Mensagens.ErroTrocaSenha
+ Const_ErrPass_SenhaAtualInvalida = 'Current password does not tally!';
+ Const_ErrPass_ErroNovaSenha = 'The Field: New Password and Confirmation must be the same.';
+ Const_ErrPass_NovaIgualAtual = 'New equal password to current password ';
+ Const_ErrPass_SenhaObrigatoria = 'The password is compulsory ';
+ Const_ErrPass_SenhaMinima = 'The password must contain at least %d characters ';
+ Const_ErrPass_SenhaInvalida = 'When to use password was prohibited you obviate !';
+ Const_ErrPass_ForcaTrocaSenha = 'Compulsory change password';
+
+ //group property Settings.DefineSenha
+ Const_DefPass_WindowCaption = 'Define Password of the user : "%s"';
+ Const_DefPass_LabelSenha = 'Password :';
+
+ //Group das tabelas do UC
+ Const_TableUsers_FieldUserID = 'UCIdUser';
+ Const_TableUsers_FieldUserName = 'UCUserName';
+ Const_TableUsers_FieldLogin = 'UCLogin';
+ Const_TableUsers_FieldPassword = 'UCPassword';
+ Const_TableUsers_FieldEmail = 'UCEmail';
+ Const_TableUsers_FieldPrivileged = 'UCPrivileged';
+ Const_TableUsers_FieldTypeRec = 'UCTypeRec';
+ Const_TableUsers_FieldProfile = 'UCProfile';
+ Const_TableUsers_FieldKey = 'UCKey';
+ Const_TableUsers_TableName = 'UCTabUsers';
+ Const_TableUsers_FieldDateExpired = 'UCPassExpired';
+ Const_TableUser_FieldUserExpired = 'UCUserExpired';
+ Const_TableUser_FieldUserDaysSun = 'UCUserDaysSun';
+
+ Const_TableRights_FieldUserID = 'UCIdUser';
+ Const_TableRights_FieldModule = 'UCModule';
+ Const_TableRights_FieldComponentName = 'UCCompName';
+ Const_TableRights_FieldFormName = 'UCFormName';
+ Const_TableRights_FieldKey = 'UCKey';
+ Const_TableRights_TableName = 'UCTabRights';
+
+ Const_TableUsersLogged_FieldLogonID = 'UCIdLogon';
+ Const_TableUsersLogged_FieldUserID = 'UCIdUser';
+ Const_TableUsersLogged_FieldApplicationID = 'UCApplicationId';
+ Const_TableUsersLogged_FieldMachineName = 'UCMachineName';
+ Const_TableUsersLogged_FieldData = 'UCData';
+ Const_TableUsersLogged_TableName = 'UCTabUsersLogged';
+
+
+{ TUCHISTORICO }
+ //Eventos
+ Const_Evento_Insert = 'Insert';
+ Const_Evento_Delete = 'Delete';
+ Const_Evento_Edit = 'Edit';
+ Const_Evento_NewRecord = 'New record';
+
+ //Gerais
+ Const_Hist_All = 'All';
+ Const_Msg_LimpHistorico = 'Clean table history ?';
+ Const_Msg_MensConfirma = 'Confirm';
+ Const_Msg_LogEmptyHistory = 'User %s erase table history in %s';
+ Const_LabelDescricao = 'History of Tables';
+ Const_LabelUser = 'User';
+ Const_LabelForm = 'Form';
+ Const_LabelEvento = 'Event';
+ Const_LabelTabela = 'Table';
+ Const_LabelDataEvento = 'Date';
+ Const_LabelHoraEvento = 'Time';
+ Const_Msg_NewRecord = '%s insert new record';
+
+ //Campos da tabela
+ Const_Hist_TableName = 'UCTABHistory';
+ Const_Hist_FieldApplicationID = 'ApplicationID';
+ Const_Hist_FieldUserID = 'UserID';
+ Const_Hist_FieldEventDate = 'EventDate';
+ Const_Hist_FieldEventTime = 'EventTime';
+ Const_Hist_FieldForm = 'Form';
+ Const_Hist_FieldCaptionForm = 'FormCaption';
+ Const_Hist_FieldEvent = 'Event';
+ Const_Hist_FieldObs = 'Obs';
+ Const_Hist_FieldTableName = 'tName'; // nome do campo que grava a tabela nao confuda
+
+ // mensagem de erro
+ Const_Hist_MsgExceptPropr = 'Inform the property %s';
+
+ //Botoes do form
+ Const_Hist_BtnFiltro = '&Apply Filter';
+ Const_Hist_BtnExcluir = '&Erase History';
+ Const_Hist_BtnFechar = '&Close';
+
+
+implementation
+
+end.
+
diff --git a/official/2.20/Source/Languages/Portugues_Brasil/UCConsts.pas b/official/2.20/Source/Languages/Portugues_Brasil/UCConsts.pas
new file mode 100644
index 0000000..0232ab1
--- /dev/null
+++ b/official/2.20/Source/Languages/Portugues_Brasil/UCConsts.pas
@@ -0,0 +1,278 @@
+unit UCConsts;
+
+interface
+
+const
+ // new consts version 2 a 5 =========================================
+ // Form Select Controls (design-time)
+ Const_Contr_TitleLabel = 'Seleção de Componentes do Form. :';
+ Const_Contr_GroupLabel = 'Grupo :';
+ Const_Contr_CompDispLabel = 'Componentes Disponíveis :';
+ Const_Contr_CompSelLabel = 'Componentes Selecionados :';
+ Const_Contr_BtOK = '&OK';
+ Const_Contr_BTCancel = '&Cancelar';
+ Const_Contr_DescCol = 'Descrição';
+ Const_Contr_BtSellAllHint = 'Selecionar Todos';
+ Const_Contr_BtSelHint = 'Selecionar';
+ Const_Contr_BtUnSelHint = 'Desmarcar';
+ Const_Contr_BtUnSelAllHint = 'Desmarcar Todos';
+ //===================================================================
+
+ // group property Settins.AppMsgsForm
+ Const_Msgs_BtNew = '&Nova Mensagem';
+ Const_Msgs_BtReplay = '&Responder';
+ Const_Msgs_BtForward = 'E&ncaminhar';
+ Const_Msgs_BtDelete = '&Excluir';
+ Const_Msgs_BtClose = '&Fechar';
+ Const_Msgs_WindowCaption = 'Mensagens do Sistema';
+ Const_Msgs_ColFrom = 'Remetente';
+ Const_Msgs_ColSubject = 'Assunto';
+ Const_Msgs_ColDate = 'Data';
+ Const_Msgs_PromptDelete = 'Confirma excluir as mensagens selecionadas ?';
+ Const_Msgs_PromptDelete_WindowCaption = 'Apagar mensagens';
+ Const_Msgs_NoMessagesSelected = 'Não existem mensagens selecionadas';
+ Const_Msgs_NoMessagesSelected_WindowCaption = 'Informação';
+
+
+ // group property Settins.AppMsgsRec
+ Const_MsgRec_BtClose = '&Fechar';
+ Const_MsgRec_WindowCaption = 'Mensagem';
+ Const_MsgRec_Title = 'Mensagem Recebida';
+ Const_MsgRec_LabelFrom = 'De :';
+ Const_MsgRec_LabelDate = 'Data';
+ Const_MsgRec_LabelSubject = 'Assunto';
+ Const_MsgRec_LabelMessage = 'Mensagem';
+
+ // group property Settins.AppMsgsSend
+ Const_MsgSend_BtSend = '&Enviar';
+ Const_MsgSend_BtCancel = '&Cancelar';
+ Const_MsgSend_WindowCaption = 'Mensagem';
+ Const_MsgSend_Title = 'Enviar Nova Mensagem';
+ Const_MsgSend_GroupTo = 'Para';
+ Const_MsgSend_RadioUser = 'Usuário :';
+ Const_MsgSend_RadioAll = 'Todos';
+ Const_MsgSend_GroupMessage = 'Mensagem';
+ Const_MsgSend_LabelSubject = 'Assunto';
+ Const_MsgSend_LabelMessageText = 'Texto da mensagem';
+
+
+ // Run errors
+ MsgExceptConnection = 'Não informado o Connection, Transaction ou Database do componente %s';
+ MsgExceptTransaction = 'Não informado o Transaction do componente %s';
+ MsgExceptDatabase = 'Não informado o Database do componente %s';
+ MsgExceptPropriedade = 'Favor informar a propriedade %s';
+ MsgExceptUserMngMenu = 'Informe na propriedade UsersForm.MenuItem ou UsersForm.Action o Item responsável pelo controle de usuários';
+ MsgExceptUserProfile = 'Informe na propriedade UsersProfile.MenuItem ou UsersProfile.Action o Item responsável pelo controle de Perfil de usuários';
+ MsgExceptChagePassMenu = 'Informe na propriedade ChangePasswordForm.MenuItem or .Action o Item que permite ao usuário alterar sua senha';
+ MsgExceptAppID = 'Na propriedade ApplicationID informe um nome para identificar a aplicação na tabela de permissões';
+ MsgExceptUsersTable = 'Na propriedade TableUsers informe o nome da tabela que será criada para armazenar os dados dos usuários';
+ MsgExceptRightsTable = 'Na propriedade TableRights informe o nome da tabela que será criada para armazenar as permissões dos usuários';
+ MsgExceptConnector = 'Propriedade DataConnector não definida!';
+
+ // group property Settings.Mensagens
+ Const_Men_AutoLogonError = 'Falha de Auto Logon!' + #13 + #10 + 'Informe um usuário e senha válidos.';
+ Const_Men_SenhaDesabitada = 'Retirada senha do Login %s';
+ Const_Men_SenhaAlterada = 'Senha alterada com sucesso!';
+ Const_Men_MsgInicial = 'ATENÇÃO Login Inicial:' + #13 + #10 + #13 + #10 + 'Usuário : :user' + #13 + #10 + 'Senha : :password' + #13 + #10 + #13 + #10 + 'Defina as permissões para este usuário.';
+ Const_Men_MaxTentativas = '%d Tentativas de login inválido. Por motivos de segunça o ' + #13 + #10 + 'sistema será fechado.';
+ Const_Men_LoginInvalido = 'Usuário ou Senha inválidos!';
+ Const_Men_UsuarioExiste = 'O Usuário "%s" já está cadastrado no sistema !!'; // Luiz Benevenuto 20/04/06
+
+ Const_Men_PasswordExpired = 'Atenção, sua senha expirou, favor troca-la'; { By vicente barros leonel }
+
+
+ //group property Settings.Login
+ Const_Log_BtCancelar = '&Cancelar';
+ Const_Log_BtOK = '&OK';
+ Const_Log_LabelSenha = 'Senha :';
+ Const_Log_LabelUsuario = 'Usuário :';
+ Const_Log_WindowCaption = 'Login';
+ Const_Log_LbEsqueciSenha = 'Esqueci a senha'; //new
+ Const_Log_MsgMailSend = 'A senha foi enviada para o seu email.'; //new
+ Const_Log_LabelTentativa = 'Tentativa : ';
+ Const_Log_LabelTentativas = 'Máximo de Tentativas : ';
+
+ //group property Settings.Log //new
+ Const_LogC_WindowCaption = 'Segurança';
+ Const_LogC_LabelDescricao = 'Log do Sistema';
+ Const_LogC_LabelUsuario = 'Usuário :';
+ Const_LogC_LabelData = 'Data :';
+ Const_LogC_LabelNivel = 'Nível mínimo :';
+ Const_LogC_ColunaAppID = 'AppID';
+ Const_LogC_ColunaNivel = 'Nível';
+ Const_LogC_ColunaMensagem = 'Mensagem';
+ Const_LogC_ColunaUsuario = 'Usuário';
+ Const_LogC_ColunaData = 'Data';
+ Const_LogC_BtFiltro = '&Aplicar Filtro';
+ Const_LogC_BtExcluir = '&Excluir Log';
+ Const_LogC_BtFechar = '&Fechar';
+ Const_LogC_ConfirmaExcluir = 'Confirma excluir todos os registros de log selecionados ?';
+ Const_LogC_ConfirmaDelete_WindowCaption = 'Confirma exclusão'; //added by fduenas
+ Const_LogC_Todos = 'Todos'; //BGM
+ Const_LogC_Low = 'Baixo'; //BGM
+ Const_LogC_Normal = 'Normal'; //BGM
+ Const_LogC_High = 'Alto'; //BGM
+ Const_LogC_Critic = 'Crítico'; //BGM
+ Const_LogC_ExcluirEfectuada = 'Exclusão de log´s do sistema : Usuário = "%s" | Data = %s a %s | Nível <= %s'; //added by fduenas
+
+
+ //group property Settings.CadastroUsuarios
+ Const_Cad_WindowCaption = 'Segurança';
+ Const_Cad_LabelDescricao = 'Cadastro de Usuários';
+ Const_Cad_ColunaNome = 'Nome';
+ Const_Cad_ColunaLogin = 'Login';
+ Const_Cad_ColunaEmail = 'Email';
+ Const_Cad_BtAdicionar = '&Adicionar';
+ Const_Cad_BtAlterar = 'A<erar';
+ Const_Cad_BtExcluir = '&Excluir';
+ Const_Cad_BtPermissoes = 'A&cessos';
+ Const_Cad_BtSenha = '&Senha';
+ Const_Cad_BtFechar = '&Fechar';
+ Const_Cad_ConfirmaExcluir = 'Confirma excluir o usuário "%s" ?';
+ Const_Cad_ConfirmaDelete_WindowCaption = 'Excluir usuário'; //added by fduenas
+
+ //group property Settings.PerfilUsuarios
+ Const_Prof_WindowCaption = 'Segurança';
+ Const_Prof_LabelDescricao = 'Perfil de Usuários';
+ Const_Prof_ColunaNome = 'Perfil';
+ Const_Prof_BtAdicionar = '&Adicionar';
+ Const_Prof_BtAlterar = 'A<erar';
+ Const_Prof_BtExcluir = '&Excluir';
+ Const_Prof_BtPermissoes = 'A&cessos';
+ Const_Prof_BtSenha = '&Senha';
+ Const_Prof_BtFechar = '&Fechar';
+ Const_Prof_ConfirmaExcluir = 'Existem usuários com o perfil "%s". Confirma excluir?';
+ Const_Prof_ConfirmaDelete_WindowCaption = 'Delete profile'; //added by fduenas
+
+ //group property Settings.IncAltUsuario
+ Const_Inc_WindowCaption = 'Cadastro de Usuários';
+ Const_Inc_LabelAdicionar = 'Adicionar Usuário';
+ Const_Inc_LabelAlterar = 'Alterar Usuário';
+ Const_Inc_LabelNome = 'Nome :';
+ Const_Inc_LabelLogin = 'Login :';
+ Const_Inc_LabelEmail = 'Email :';
+ Const_Inc_LabelPerfil = 'Perfil :';
+ Const_Inc_CheckPrivilegiado = 'Usuário privilegiado';
+ Const_Inc_BtGravar = '&Gravar';
+ Const_Inc_BtCancelar = 'Cancelar';
+ Const_Inc_CheckEspira = 'Senha do usuário não expira';
+ Const_Inc_Dia = 'Dias';
+ Const_Inc_ExpiraEm = 'Expira em';
+
+ //group property Settings.IncAltPerfil
+ Const_PInc_WindowCaption = 'Perfil de Usuários';
+ Const_PInc_LabelAdicionar = 'Adicionar Perfil';
+ Const_PInc_LabelAlterar = 'Alterar Perfil';
+ Const_PInc_LabelNome = 'Descrição :';
+ Const_PInc_BtGravar = '&Gravar';
+ Const_PInc_BtCancelar = 'Cancelar';
+
+ //group property Settings.Permissao
+ Const_Perm_WindowCaption = 'Segurança';
+ Const_Perm_LabelUsuario = 'Permissões do Usuário :';
+ Const_Perm_LabelPerfil = 'Permissões do Perfil :';
+ Const_Perm_PageMenu = 'Itens do Menu';
+ Const_Perm_PageActions = 'Ações';
+ Const_Perm_PageControls = 'Controles'; // by vicente barros leonel
+ Const_Perm_BtLibera = '&Liberar';
+ Const_Perm_BtBloqueia = '&Bloquear';
+ Const_Perm_BtGravar = '&Gravar';
+ Const_Perm_BtCancelar = '&Cancelar';
+
+ //group property Settings.TrocaSenha do begin
+ Const_Troc_WindowCaption = 'Segurança';
+ Const_Troc_LabelDescricao = 'Trocar Senha';
+ Const_Troc_LabelSenhaAtual = 'Senha Atual :';
+ Const_Troc_LabelNovaSenha = 'Nova Senha :';
+ Const_Troc_LabelConfirma = 'Confirmação :';
+ Const_Troc_BtGravar = '&Gravar';
+ Const_Troc_BtCancelar = 'Cancelar';
+
+ //group property Settings.Mensagens.ErroTrocaSenha
+ Const_ErrPass_SenhaAtualInvalida = 'Senha Atual não confere!';
+ Const_ErrPass_ErroNovaSenha = 'Os campos: Nova Senha e Confirmação devem ser iguais.';
+ Const_ErrPass_NovaIgualAtual = 'Nova senha igual a senha atual';
+ Const_ErrPass_SenhaObrigatoria = 'A Senha é obrigatória';
+ Const_ErrPass_SenhaMinima = 'A senha deve conter no mínimo %d caracteres';
+ Const_ErrPass_SenhaInvalida = 'Proibido utilizar senhas obvias!';
+ Const_ErrPass_ForcaTrocaSenha = 'Mudança de senha obrigatória';
+
+ //group property Settings.DefineSenha
+ Const_DefPass_WindowCaption = 'Definir senha do usuário : "%s"';
+ Const_DefPass_LabelSenha = 'Senha :';
+
+ //Group das tabelas do UC
+ Const_TableUsers_FieldUserID = 'UCIdUser';
+ Const_TableUsers_FieldUserName = 'UCUserName';
+ Const_TableUsers_FieldLogin = 'UCLogin';
+ Const_TableUsers_FieldPassword = 'UCPassword';
+ Const_TableUsers_FieldEmail = 'UCEmail';
+ Const_TableUsers_FieldPrivileged = 'UCPrivileged';
+ Const_TableUsers_FieldTypeRec = 'UCTypeRec';
+ Const_TableUsers_FieldProfile = 'UCProfile';
+ Const_TableUsers_FieldKey = 'UCKey';
+ Const_TableUsers_TableName = 'UCTabUsers';
+ Const_TableUsers_FieldDateExpired = 'UCPASSEXPIRED'; { By Vicente Barros Leonel }
+ Const_TableUser_FieldUserExpired = 'UCUserExpired'; { By Vicente Barros Leonel }
+ Const_TableUser_FieldUserDaysSun = 'UCUserDaysSun'; { By Vicente Barros Leonel }
+
+ Const_TableRights_FieldUserID = 'UCIdUser';
+ Const_TableRights_FieldModule = 'UCModule';
+ Const_TableRights_FieldComponentName = 'UCCompName';
+ Const_TableRights_FieldFormName = 'UCFormName';
+ Const_TableRights_FieldKey = 'UCKey';
+ Const_TableRights_TableName = 'UCTabRights';
+
+ Const_TableUsersLogged_FieldLogonID = 'UCIdLogon';
+ Const_TableUsersLogged_FieldUserID = 'UCIdUser';
+ Const_TableUsersLogged_FieldApplicationID = 'UCApplicationId';
+ Const_TableUsersLogged_FieldMachineName = 'UCMachineName';
+ Const_TableUsersLogged_FieldData = 'UCData';
+ Const_TableUsersLogged_TableName = 'UCTabUsersLogged';
+
+
+{ TUCHISTORICO }
+ //Eventos
+ Const_Evento_Insert = 'Inserido';
+ Const_Evento_Delete = 'Apagado';
+ Const_Evento_Edit = 'Editado';
+ Const_Evento_NewRecord = 'Novo registro';
+
+ //Gerais
+ Const_Hist_All = 'Todos';
+ Const_Msg_LimpHistorico = 'Excluir todo o conteúdo do histórico ?';
+ Const_Msg_MensConfirma = 'Confirmação';
+ Const_Msg_LogEmptyHistory = 'Usuário %s apagou todo o histórico as %s';
+ Const_LabelDescricao = 'Histórico de tabelas';
+ Const_LabelUser = 'Usuário';
+ Const_LabelForm = 'Formulário';
+ Const_LabelEvento = 'Evento';
+ Const_LabelTabela = 'Tabela';
+ Const_LabelDataEvento = 'Data';
+ Const_LabelHoraEvento = 'Hora';
+ Const_Msg_NewRecord = '%s inseriu um novo registro';
+
+ //Campos da tabela
+ Const_Hist_TableName = 'UCTABHistory';
+ Const_Hist_FieldApplicationID = 'ApplicationID';
+ Const_Hist_FieldUserID = 'UserID';
+ Const_Hist_FieldEventDate = 'EventDate';
+ Const_Hist_FieldEventTime = 'EventTime';
+ Const_Hist_FieldForm = 'Form';
+ Const_Hist_FieldCaptionForm = 'FormCaption';
+ Const_Hist_FieldEvent = 'Event';
+ Const_Hist_FieldObs = 'Obs';
+ Const_Hist_FieldTableName = 'tName'; // nome do campo que grava a tabela nao confuda
+
+ // mensagem de erro
+ Const_Hist_MsgExceptPropr = 'Favor informar a propriedade %s';
+
+ //Botoes do form
+ Const_Hist_BtnFiltro = '&Aplicar Filtro';
+ Const_Hist_BtnExcluir = '&Excluir Histórico';
+ Const_Hist_BtnFechar = '&Fechar';
+
+implementation
+
+end.
+
diff --git a/official/2.20/Source/Languages/Spanish/UCConsts.pas b/official/2.20/Source/Languages/Spanish/UCConsts.pas
new file mode 100644
index 0000000..515f138
--- /dev/null
+++ b/official/2.20/Source/Languages/Spanish/UCConsts.pas
@@ -0,0 +1,283 @@
+{ Translated by Francisco Armando Dueñas Rodríguez - Cancún
+ ultima revisão - Vicente Barros Leonel - Brasil
+}
+unit UCConsts;
+
+interface
+
+Const
+
+ // new consts version 2 a 5 =========================================
+ // Form Select Controls (design-time)
+ Const_Contr_TitleLabel = 'Seleccionar Componentes del Formulario:';
+ Const_Contr_GroupLabel = 'Grupo:';
+ Const_Contr_CompDispLabel = 'Componentes Disponibles:';
+ Const_Contr_CompSelLabel = 'Componentes Seleccionados:';
+ Const_Contr_BtOK = '&Aceptar';
+ Const_Contr_BTCancel = '&Cancelar';
+ Const_Contr_DescCol = 'Descripción';
+ Const_Contr_BtSellAllHint = 'Seleccionar Todo'; //added by fduenas
+ Const_Contr_BtSelHint = 'Seleccionar'; //added by fduenas
+ Const_Contr_BtUnSelHint = 'Deseleccionar'; //added by fduenas
+ Const_Contr_BtUnSelAllHint = 'Deseleccionar Todo'; //added by fduenas
+
+ //===================================================================
+
+
+ // group property Settins.AppMsgsForm
+ Const_Msgs_BtNew = '&Nuevo Mensaje';
+ Const_Msgs_BtReplay = '&Responder';
+ Const_Msgs_BtForward = '&Reenviar';
+ Const_Msgs_BtDelete = '&Borrar';
+ Const_Msgs_BtClose = '&Cerrar'; //added by fduenas
+ Const_Msgs_WindowCaption = 'Mensajes de Sistema';
+ Const_Msgs_ColFrom = 'Remitente';
+ Const_Msgs_ColSubject = 'Asunto';
+ Const_Msgs_ColDate = 'Fecha';
+ Const_Msgs_PromptDelete = '¿Está seguro de eliminar los mensajes seleccionados?';
+ Const_Msgs_PromptDelete_WindowCaption = 'Eliminar mensajes'; //added by fduenas
+ Const_Msgs_NoMessagesSelected = '!Ningún mensaje seleccionado¡'; //added by fduenas
+ Const_Msgs_NoMessagesSelected_WindowCaption = 'Información'; //added by fduenas
+
+ // group property Settins.AppMsgsRec
+ Const_MsgRec_BtClose = '&Cerrar';
+ Const_MsgRec_WindowCaption = 'Mensaje';
+ Const_MsgRec_Title = 'Mensaje Recibido';
+ Const_MsgRec_LabelFrom = 'De:';
+ Const_MsgRec_LabelDate = 'Fecha';
+ Const_MsgRec_LabelSubject = 'Asunto';
+ Const_MsgRec_LabelMessage = 'Mensaje';
+
+ // group property Settins.AppMsgsSend
+ Const_MsgSend_BtSend = '&Enviar';
+ Const_MsgSend_BtCancel = '&Cancelar';
+ Const_MsgSend_WindowCaption = 'Mensaje';
+ Const_MsgSend_Title = 'Enviar Nuevo Mensaje';
+ Const_MsgSend_GroupTo = 'Para:';
+ Const_MsgSend_RadioUser = 'Usuario:';
+ Const_MsgSend_RadioAll = 'Todos';
+ Const_MsgSend_GroupMessage = 'Mensaje';
+ Const_MsgSend_LabelSubject = 'Asunto'; //added by fduenas
+ Const_MsgSend_LabelMessageText = 'Texto del mensaje'; //added by fduenas
+
+ // Run errors
+ MsgExceptConnection = '¡Valor No Válido para la propiedad Connection del componente %s!';
+ MsgExceptTransaction = '¡Valor No Válido para la propiedad Transaction del componente %s!';
+ MsgExceptDatabase = '¡Valor No Válido para la propiedad Database del componente %s!';
+ MsgExceptPropriedade = 'Favor informar a propriedade %s';
+ MsgExceptUserMngMenu = 'Ingrese en la propiedad UsersForm.MenuItem o UsersForm.Action la opción del menu para abrir el Control de Usuarios';
+ MsgExceptUserProfile = 'Ingrese en la propiedad UsersProfile.MenuItem o UsersProfile.Action la opción del menu para abrir el Perfil de Usuarios';
+ MsgExceptChagePassMenu = 'Ingrese en la propiedad ChangePasswordForm.MenuItem o .Action la opción del menú que permite al usuario cambiar su Contraseña';
+ MsgExceptAppID = 'La propiedad ApplicationID requiere el nombre válido de una tabla para el registro de los Permisos de Usuario';
+ MsgExceptUsersTable = 'La propiedad UserTable requiere el nombre válido de una tabla para registrar/seleccionar los datos de los usuarios';
+ MsgExceptRightsTable = 'La propiead RightTable requiere el nombre válido de una tabla para registrar/seleccionar los permisos de los usuarios';
+ MsgExceptConnector = 'Propriedade DataConnector não definida!';
+
+
+ // group property Settings.Mensagens
+ Const_Men_AutoLogonError = 'Error de Ingreso Automático!'+#13+#10+ 'Especifique un Usuario y Contraseña Válidos.';
+ Const_Men_SenhaDesabitada = 'Contraseña vacía para el Usuario %s';
+ Const_Men_SenhaAlterada = '¡Se ha cambiado la Contraseña con éxito!';
+ Const_Men_MsgInicial = 'ATENCION! Conección Inicial:'+#13+#10+#13+#10+'Usuario : :user'+#13+#10+'Contraseña : :password'+#13+#10+#13+#10+'Defina permisos para este usuario';
+ Const_Men_MaxTentativas = '%d Intentos de conección inválidos !';
+ Const_Men_LoginInvalido = 'Usuario y/o Contraseña Incorrectos!';
+ Const_Men_UsuarioExiste = 'O Usuário "%s" já está cadastrado no sistema !!'; // Luiz Benevenuto 20/04/06
+ Const_Men_PasswordExpired = 'Atenção, sua senha expirou, favor troca-la'; { By vicente barros leonel }
+
+ //group property Settings.Login
+ Const_Log_BtCancelar = '&Cancelar';
+ Const_Log_BtOK = 'Aceptar';
+ Const_Log_LabelSenha = 'Contraseña:';
+ Const_Log_LabelUsuario = 'Usuario: ';
+ Const_Log_WindowCaption = 'Conección';
+ Const_Log_LbEsqueciSenha = 'Olvidé mi Contraseña';
+ Const_Log_MsgMailSend = 'La contraseña fue enviada a su correo.';
+ Const_Log_LabelTentativa = 'Tentativa : ';
+ Const_Log_LabelTentativas = 'Máximo de Tentativas : ';
+
+
+ //group property Settings.Log //new
+ Const_LogC_WindowCaption = 'Seguridad';
+ Const_LogC_LabelDescricao = 'Visor de Eventos';
+ Const_LogC_LabelUsuario = 'Usuario:';
+ Const_LogC_ColunaAppID = 'AppID';
+ Const_LogC_LabelData = 'Fecha:';
+ Const_LogC_LabelNivel = 'Nivel Mínimo: ';
+ Const_LogC_ColunaNivel = 'Nivel';
+ Const_LogC_ColunaMensagem = 'Mensaje';
+ Const_LogC_ColunaUsuario = 'Usuario';
+ Const_LogC_ColunaData = 'Fecha';
+ Const_LogC_BtFiltro = '&Aplicar Filtro';
+ Const_LogC_BtExcluir = '&Borrar Bitácora';
+ Const_LogC_BtFechar = '&Cerrar';
+ Const_LogC_ConfirmaExcluir = '¿Está seguro de Eliminar todos todos los registros de Bitácora seleccionados?';
+ Const_LogC_ConfirmaDelete_WindowCaption = 'Confirmación'; //added by fduenas
+ Const_LogC_Todos = 'Todos'; //BGM
+ Const_LogC_Low = 'Bajo'; //BGM
+ Const_LogC_Normal = 'Normal'; //BGM
+ Const_LogC_High = 'Alto'; //BGM
+ Const_LogC_Critic = 'Crítico'; //BGM
+ Const_LogC_ExcluirEfectuada = 'Borrado de registros de bitácora realizado: '+
+ 'Usuario = "%s" | Fecha = %s a %s | Nivel <= %s'; //added by fduenas
+
+ //group property Settings.CadastroUsuarios
+ Const_Cad_WindowCaption = 'Seguridad';
+ Const_Cad_LabelDescricao = 'Administración de Usuarios';
+ Const_Cad_ColunaNome = 'Nombre';
+ Const_Cad_ColunaLogin = 'Usuario';
+ Const_Cad_ColunaEmail = 'Correo';
+ Const_Cad_BtAdicionar = '&Nuevo';
+ Const_Cad_BtAlterar = '&Editar';
+ Const_Cad_BtExcluir = 'E&liminar';
+ Const_Cad_BtPermissoes = '&Accesos';
+ Const_Cad_BtSenha = 'C&ontraseña';
+ Const_Cad_BtFechar = '&Cerrar';
+ Const_Cad_ConfirmaExcluir = '¿Está seguro de Eliminar al Usuario "%s"?';
+ Const_Cad_ConfirmaDelete_WindowCaption = 'Eliminar usuario'; //added by fduenas
+
+ //group property Settings.PerfilUsuarios
+ Const_Prof_WindowCaption = 'Seguridad';
+ Const_Prof_LabelDescricao = 'Perfil de Usuario';
+ Const_Prof_ColunaNome = 'Perfil';
+ Const_Prof_BtAdicionar = '&Nuevo';
+ Const_Prof_BtAlterar = '&Editar';
+ Const_Prof_BtExcluir = 'E&liminar';
+ Const_Prof_BtPermissoes = '&Accesos'; //BGM
+ Const_Prof_BtSenha = 'C&ontraseña';
+ Const_Prof_BtFechar = '&Cerrar';
+ Const_Prof_ConfirmaExcluir = 'Existe(n) usuario(s) con el Perfil "%s". ¿Está seguro de eliminar el perfil?';
+ Const_Prof_ConfirmaDelete_WindowCaption = 'Eliminar perfil'; //added by fduenas
+
+ //group property Settings.IncAltUsuario
+ Const_Inc_WindowCaption = 'Administración de Usuarios';
+ Const_Inc_LabelAdicionar = 'Nuevo Usuario';
+ Const_Inc_LabelAlterar = 'Editar Usuario';
+ Const_Inc_LabelNome = 'Nombre:';
+ Const_Inc_LabelLogin = 'Usuario: ';
+ Const_Inc_LabelEmail = 'Correo: ';
+ Const_Inc_LabelPerfil = 'Perfil: ';
+ Const_Inc_CheckPrivilegiado = 'Usuario Privilegiado';
+ Const_Inc_BtGravar = '&Guardar';
+ Const_Inc_BtCancelar = 'Cancelar';
+ Const_Inc_CheckEspira = 'Senha do usuário não expira';
+ Const_Inc_Dia = 'Dias';
+ Const_Inc_ExpiraEm = 'Expira em';
+
+
+ //group property Settings.IncAltPerfil
+ Const_PInc_WindowCaption = 'Perfiles de Usuarios';
+ Const_PInc_LabelAdicionar = 'Nuevo Perfil';
+ Const_PInc_LabelAlterar = 'Editar Perfil';
+ Const_PInc_LabelNome = 'Descripción: ';
+ Const_PInc_BtGravar = '&Guardar';
+ Const_PInc_BtCancelar = 'Cancelar';
+
+ //group property Settings.Permissao
+ Const_Perm_WindowCaption = 'Seguridad';
+ Const_Perm_LabelUsuario = 'Permisos de Usuario : ';
+ Const_Perm_LabelPerfil = 'Permisos del Perfil : ';
+ Const_Perm_PageMenu = 'Elementos del Menú';
+ Const_Perm_PageActions = 'Acciones';
+ Const_Perm_PageControls = 'Controles';
+ Const_Perm_BtLibera = '&Permitir';
+ Const_Perm_BtBloqueia = '&Bloquear';
+ Const_Perm_BtGravar = '&Guardar';
+ Const_Perm_BtCancelar = '&Cancelar';
+
+ //group property Settings.TrocaSenha do begin
+ Const_Troc_WindowCaption = 'Seguridad';
+ Const_Troc_LabelDescricao = 'Cambiar Contraseña';
+ Const_Troc_LabelSenhaAtual = 'Contraseña Actual:';
+ Const_Troc_LabelNovaSenha = 'Nueva Contraseña:';
+ Const_Troc_LabelConfirma = 'Confirme Contraseña:';
+ Const_Troc_BtGravar = '&Guardar';
+ Const_Troc_BtCancelar = 'Cancelar';
+
+ //group property Settings.Mensagens.ErroTrocaSenha
+ Const_ErrPass_SenhaAtualInvalida = '¡Contraseña Actual Incorrecta!';
+ Const_ErrPass_ErroNovaSenha = 'Los campos Contraseña Nueva y Confirme Contraseña deben ser iguales';
+ Const_ErrPass_NovaIgualAtual = 'Nueva Contraseña y Contraseña Actual deben ser diferentes';
+ Const_ErrPass_SenhaObrigatoria = '¡La Contraseña es obligatoria!';
+ Const_ErrPass_SenhaMinima = 'La Contraseña debe tener un mínimo de %d caracteres';
+ Const_ErrPass_SenhaInvalida = '¡Prohibido utilizar contraseñas NO Seguras!';
+ Const_ErrPass_ForcaTrocaSenha = 'Mudança de senha obrigatória';
+
+ //group property Settings.DefineSenha
+ Const_DefPass_WindowCaption = 'Ingrese Contraseña de Usuario: "%s"';
+ Const_DefPass_LabelSenha = 'Contraseña: ';
+
+//Group das tabelas do UC
+ Const_TableUsers_FieldUserID = 'UCIdUser';
+ Const_TableUsers_FieldUserName = 'UCUserName';
+ Const_TableUsers_FieldLogin = 'UCLogin';
+ Const_TableUsers_FieldPassword = 'UCPassword';
+ Const_TableUsers_FieldEmail = 'UCEmail';
+ Const_TableUsers_FieldPrivileged = 'UCPrivileged';
+ Const_TableUsers_FieldTypeRec = 'UCTypeRec';
+ Const_TableUsers_FieldProfile = 'UCProfile';
+ Const_TableUsers_FieldKey = 'UCKey';
+ Const_TableUsers_TableName = 'UCTabUsers';
+ Const_TableUsers_FieldDateExpired = 'UCPASSEXPIRED'; { By Vicente Barros Leonel }
+ Const_TableUser_FieldUserExpired = 'UCUserExpired'; { By Vicente Barros Leonel }
+ Const_TableUser_FieldUserDaysSun = 'UCUserDaysSun'; { By Vicente Barros Leonel }
+
+ Const_TableRights_FieldUserID = 'UCIdUser';
+ Const_TableRights_FieldModule = 'UCModule';
+ Const_TableRights_FieldComponentName = 'UCCompName';
+ Const_TableRights_FieldFormName = 'UCFormName';
+ Const_TableRights_FieldKey = 'UCKey';
+ Const_TableRights_TableName = 'UCTabRights';
+
+ Const_TableUsersLogged_FieldLogonID = 'UCIdLogon';
+ Const_TableUsersLogged_FieldUserID = 'UCIdUser';
+ Const_TableUsersLogged_FieldApplicationID = 'UCApplicationId';
+ Const_TableUsersLogged_FieldMachineName = 'UCMachineName';
+ Const_TableUsersLogged_FieldData = 'UCData';
+ Const_TableUsersLogged_TableName = 'UCTabUsersLogged';
+
+
+{ TUCHISTORICO }
+ //Eventos
+ Const_Evento_Insert = 'Inserido';
+ Const_Evento_Delete = 'Apagado';
+ Const_Evento_Edit = 'Editado';
+ Const_Evento_NewRecord = 'Novo registro';
+
+ //Gerais
+ Const_Hist_All = 'Todos';
+ Const_Msg_LimpHistorico = 'Excluir todo o conteúdo do histórico ?';
+ Const_Msg_MensConfirma = 'Confirmação';
+ Const_Msg_LogEmptyHistory = 'Usuário %s apagou todo o histórico as %s';
+ Const_LabelDescricao = 'Histórico de tabelas';
+ Const_LabelUser = 'Usuário';
+ Const_LabelForm = 'Formulário';
+ Const_LabelEvento = 'Evento';
+ Const_LabelTabela = 'Tabela';
+ Const_LabelDataEvento = 'Data';
+ Const_LabelHoraEvento = 'Hora';
+ Const_Msg_NewRecord = '%s inseriu um novo registro';
+
+ //Campos da tabela
+ Const_Hist_TableName = 'UCTABHistory';
+ Const_Hist_FieldApplicationID = 'ApplicationID';
+ Const_Hist_FieldUserID = 'UserID';
+ Const_Hist_FieldEventDate = 'EventDate';
+ Const_Hist_FieldEventTime = 'EventTime';
+ Const_Hist_FieldForm = 'Form';
+ Const_Hist_FieldCaptionForm = 'FormCaption';
+ Const_Hist_FieldEvent = 'Event';
+ Const_Hist_FieldObs = 'Obs';
+ Const_Hist_FieldTableName = 'tName'; // nome do campo que grava a tabela não confuda com o nome da tabela fisicamente
+
+ // mensagem de erro
+ Const_Hist_MsgExceptPropr = 'Favor informar a propriedade %s';
+
+ //Botoes do form
+ Const_Hist_BtnFiltro = '&Aplicar Filtro';
+ Const_Hist_BtnExcluir = '&Borrar Histórico';
+ Const_Hist_BtnFechar = '&Cerrar';
+
+
+implementation
+
+end.
diff --git a/official/2.20/Source/LoginWindow_U.dfm b/official/2.20/Source/LoginWindow_U.dfm
new file mode 100644
index 0000000..41b0673
--- /dev/null
+++ b/official/2.20/Source/LoginWindow_U.dfm
@@ -0,0 +1,260 @@
+object frmLoginWindow: TfrmLoginWindow
+ Left = 343
+ Top = 286
+ BorderIcons = [biSystemMenu]
+ BorderStyle = bsSingle
+ Caption = 'Login'
+ ClientHeight = 171
+ ClientWidth = 350
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ KeyPreview = True
+ OldCreateOrder = False
+ OnActivate = FormActivate
+ OnClose = FormClose
+ OnKeyPress = FormKeyPress
+ OnShow = FormShow
+ PixelsPerInch = 96
+ TextHeight = 13
+ object PTop: TPanel
+ Left = 0
+ Top = 0
+ Width = 350
+ Height = 17
+ Align = alTop
+ BevelOuter = bvNone
+ TabOrder = 0
+ object ImgTop: TImage
+ Left = 0
+ Top = 0
+ Width = 0
+ Height = 0
+ AutoSize = True
+ Center = True
+ end
+ end
+ object PLeft: TPanel
+ Left = 0
+ Top = 17
+ Width = 10
+ Height = 124
+ Align = alLeft
+ BevelOuter = bvNone
+ TabOrder = 1
+ object imgLeft: TImage
+ Left = 0
+ Top = 0
+ Width = 0
+ Height = 0
+ AutoSize = True
+ Center = True
+ Transparent = True
+ end
+ end
+ object PBottom: TPanel
+ Left = 0
+ Top = 141
+ Width = 350
+ Height = 11
+ Align = alBottom
+ BevelOuter = bvNone
+ TabOrder = 2
+ object ImgBottom: TImage
+ Left = 0
+ Top = 0
+ Width = 0
+ Height = 0
+ AutoSize = True
+ Center = True
+ end
+ end
+ object Panel1: TPanel
+ Left = 10
+ Top = 17
+ Width = 340
+ Height = 124
+ Align = alClient
+ BevelOuter = bvNone
+ TabOrder = 3
+ object PLogin: TPanel
+ Left = 1
+ Top = 1
+ Width = 340
+ Height = 132
+ BevelOuter = bvNone
+ TabOrder = 0
+ object LbUsuario: TLabel
+ Left = 33
+ Top = 10
+ Width = 42
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'Usu'#225'rio :'
+ end
+ object LbSenha: TLabel
+ Left = 38
+ Top = 42
+ Width = 37
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'Senha :'
+ end
+ object lbEsqueci: TLabel
+ Left = 87
+ Top = 70
+ Width = 79
+ Height = 13
+ Cursor = crHandPoint
+ Caption = 'Esqueci a senha'
+ Enabled = False
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clBlue
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = [fsUnderline]
+ ParentFont = False
+ Visible = False
+ end
+ object EditUsuario: TEdit
+ Left = 82
+ Top = 7
+ Width = 225
+ Height = 21
+ CharCase = ecUpperCase
+ Ctl3D = True
+ MaxLength = 15
+ ParentCtl3D = False
+ TabOrder = 0
+ OnChange = EditUsuarioChange
+ end
+ object EditSenha: TEdit
+ Left = 82
+ Top = 39
+ Width = 225
+ Height = 21
+ Ctl3D = True
+ MaxLength = 10
+ ParentCtl3D = False
+ PasswordChar = '*'
+ TabOrder = 1
+ end
+ object btOK: TBitBtn
+ Left = 81
+ Top = 96
+ Width = 75
+ Height = 25
+ Caption = 'OK'
+ TabOrder = 2
+ Glyph.Data = {
+ 36040000424D3604000000000000360000002800000010000000100000000100
+ 2000000000000004000000000000000000000000000000000000C8D0D400C8D0
+ D400C8D0D400B6907D00B57F6800C6C9CC00C8D0D400C8D0D400C8D0D400C8D0
+ D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0
+ D400C7CCD000C1806000C6503000B75A4100C3BFBD00C8D0D400C8D0D400C8D0
+ D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0
+ D400BFADA500D1886200C4724700C4502E00BA6F5C00C8D0D400C8D0D400C8D0
+ D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C7CE
+ D200C0866900D1875F00C5724900C5734A00BF432500C1B6B300C8D0D400C8D0
+ D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C0AA
+ 9F00D6916C00CD774F00B94A2E00CC856000C7613C00B85F4700C7CFD300C8D0
+ D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400BCA19500D08D
+ 6A00D58D6500C84C2D00BD9E9300BD968200D2896400C5462800BF968C00C8D0
+ D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C1B5B100C585
+ 6400D37B5900B96B5400C7CCD000C6CBCE00BE836500D2886200C4472D00C6B8
+ B800C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C5C7
+ C800BFB0AA00C6CBCD00C8D0D400C8D0D400C2BDBB00C8846100D07C5600C158
+ 4500C6CBCE00C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0
+ D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400BEADA500CE876100CD6B
+ 4900C5776B00C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0
+ D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400BDA49700D18D
+ 6800CD684600C6878000C7CFD300C8D0D400C8D0D400C8D0D400C8D0D400C8D0
+ D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400BEA3
+ 9500D6937000CA603E00C7908A00C8D0D400C8D0D400C8D0D400C8D0D400C8D0
+ D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0
+ D400C0A79C00CD876100C95D3D00C89B9700C8D0D400C8D0D400C8D0D400C8D0
+ D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0
+ D400C8D0D400BFADA500C6815D00CC5D4100C79F9B00C8D0D400C8D0D400C8D0
+ D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0
+ D400C8D0D400C8D0D400C2BCBB00C1876A00CB614400BEA59C00C8D0D400C8D0
+ D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0
+ D400C8D0D400C8D0D400C8D0D400C6CACD00BB9A8A00B99A8B00C8D0D400C8D0
+ D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0
+ D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400}
+ end
+ object BtCancela: TBitBtn
+ Left = 185
+ Top = 96
+ Width = 75
+ Height = 25
+ Cancel = True
+ Caption = 'Cancelar'
+ TabOrder = 3
+ OnClick = BtCancelaClick
+ Glyph.Data = {
+ 36040000424D3604000000000000360000002800000010000000100000000100
+ 2000000000000004000000000000000000000000000000000000C8D0D400ACB3
+ CC003C41AF00B7BFCE00C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0
+ D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400A6ADCA000F19
+ B000000BAE00464BB300C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0
+ D400C8D0D400C8D0D400C8D0D4009398C300B1B8CD00C8D0D4005665D000071B
+ C600000EB400010BAD00858CC100C8D0D400C8D0D400C8D0D400C8D0D400C8D0
+ D400C8D0D400BEC6D1005357B100020298005C60B300C8D0D400364CDD002342
+ F0000012BC00000EB5001119AE00B4BBCE00C8D0D400C8D0D400C8D0D400C8D0
+ D400989EC5001D1E9F00000098002122A100B7BECE00C8D0D4008B95CA002E4C
+ F2001C35DB000011BB00000EB5003037B200C2CAD200C8D0D400C1C8D1005A5D
+ B20004049900000098001D1EA000B3BACD00C8D0D400C8D0D400C8D0D4006672
+ C9004D67F7000D22C9000012BC00000EB5004C53B7009DA3C8002125A8000002
+ 9D000000980018199E00AEB5CB00C8D0D400C8D0D400C8D0D400C8D0D400C5CD
+ D2006972C9004C60E6000016C2000012BC00000EB500030DAD000009AA000006
+ A4001417A100A9B0CA00C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0
+ D400C7CFD300727BC600162ACB000015C2000012BC00000FB600000CB0001016
+ A900A5ABC900C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0
+ D400C8D0D400A2AACB00091DC4000018C9000015C3000012BD00000FB600767B
+ BD00C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0
+ D400AFB6CD00162DCC00001ED500001BCF000018C9000015C3000012BD000F1A
+ B300A6ADCA00C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400B8BF
+ CF002138D0000025E2000022DC000120D7002742E3002536C700071FCD000013
+ BE001723B400AFB6CC00C8D0D400C8D0D400C8D0D400C8D0D400C0C8D1002D44
+ D100002BEF000028E900092EE6003A57F2006D78CC00C1C9D2005562C8000D25
+ D1000013BE001823B400A7AECB00C8D0D400C8D0D400C8D0D4005A68C800002F
+ F700002EF500183FF4004662F8006C76CA00C7CFD300C8D0D400C8D0D4007F89
+ C8002539CE000518C2000F1BB4009AA1C700C8D0D400C8D0D400AFB6CD001535
+ DF002A4FFC004A66FA006C77CC00C7CFD300C8D0D400C8D0D400C8D0D400C8D0
+ D400B4BBCE005964C9001729C6000815B500878DC200C8D0D400C8D0D400B7BE
+ CF00707DCF006F7ACC00C7CFD300C8D0D400C8D0D400C8D0D400C8D0D400C8D0
+ D400C8D0D400C8D0D400949CC900424DBE009097C500C8D0D400C8D0D400C8D0
+ D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0
+ D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400}
+ end
+ end
+ end
+ object StatusBar: TStatusBar
+ Left = 0
+ Top = 152
+ Width = 350
+ Height = 19
+ Panels = <
+ item
+ Alignment = taRightJustify
+ Text = 'Tentativa: '
+ Width = 60
+ end
+ item
+ Alignment = taCenter
+ Width = 80
+ end
+ item
+ Alignment = taRightJustify
+ Text = 'Limite de Tentativas: '
+ Width = 130
+ end
+ item
+ Alignment = taCenter
+ Width = 50
+ end>
+ end
+end
diff --git a/official/2.20/Source/LoginWindow_U.pas b/official/2.20/Source/LoginWindow_U.pas
new file mode 100644
index 0000000..bfd5dcc
--- /dev/null
+++ b/official/2.20/Source/LoginWindow_U.pas
@@ -0,0 +1,139 @@
+unit LoginWindow_U;
+
+interface
+
+{$I 'UserControl.inc'}
+
+uses
+{$IFDEF DELPHI5_UP}
+ Variants,
+{$ENDIF}
+ Buttons,
+ Classes,
+ Controls,
+ Dialogs,
+ ExtCtrls,
+ Forms,
+ Graphics,
+ Math,
+ Messages,
+ StdCtrls,
+ SysUtils,
+ UCBase,
+ Windows, ComCtrls;
+
+type
+ TfrmLoginWindow = class(TForm)
+ PTop: TPanel;
+ ImgTop: TImage;
+ PLeft: TPanel;
+ imgLeft: TImage;
+ PBottom: TPanel;
+ ImgBottom: TImage;
+ Panel1: TPanel;
+ PLogin: TPanel;
+ LbUsuario: TLabel;
+ LbSenha: TLabel;
+ EditUsuario: TEdit;
+ EditSenha: TEdit;
+ btOK: TBitBtn;
+ BtCancela: TBitBtn;
+ lbEsqueci: TLabel;
+ StatusBar: TStatusBar;
+ procedure FormClose(Sender: TObject; var Action: TCloseAction);
+ procedure BtCancelaClick(Sender: TObject);
+ procedure FormShow(Sender: TObject);
+ procedure EditUsuarioChange(Sender: TObject);
+ procedure FormKeyPress(Sender: TObject; var Key: char);
+ procedure BotoesClickVisualizacao(Sender: TObject);
+ procedure FormActivate(Sender: TObject);
+ public
+ FUserControl: TUserControl;
+ end;
+
+implementation
+
+{$R *.dfm}
+
+procedure TfrmLoginWindow.FormClose(Sender: TObject; var Action: TCloseAction);
+begin
+ Action := caFree;
+
+end;
+
+procedure TfrmLoginWindow.BotoesClickVisualizacao(Sender: TObject);
+begin
+ Self.ModalResult := mrOk;
+end;
+
+procedure TfrmLoginWindow.BtCancelaClick(Sender: TObject);
+begin
+ Application.Terminate;
+end;
+
+procedure TfrmLoginWindow.FormShow(Sender: TObject);
+var
+ w, h: Integer;
+begin
+ w := Max(ImgTop.Width, ImgLeft.Width + PLogin.Width);
+ w := Max(w, ImgBottom.Width);
+ h := Max(ImgLeft.Height + ImgTop.Height + ImgBottom.Height, ImgTop.Height + PLogin.Height + ImgBottom.Height);
+
+ Width := w;
+ Height := h + 28;
+ If FUserControl.Login.MaxLoginAttempts > 0 then
+ Begin
+ Height := Height + 19; // by vicente barros leonel and Petrus van Breda
+ StatusBar.Panels[ 0 ].Text := FUserControl.UserSettings.Login.LabelTentativa;
+ StatusBar.Panels[ 2 ].Text := FUserControl.UserSettings.Login.LabelTentativas;
+ End;
+
+ // Topo
+ PTop.Height := ImgTop.Height;
+ ImgTop.AutoSize := False;
+ ImgTop.Align := alClient;
+ ImgTop.Center := True;
+
+ //Centro
+ PLeft.Width := ImgLeft.Width;
+ ImgLeft.AutoSize := False;
+ ImgLeft.Align := alClient;
+ ImgLeft.Center := True;
+
+ //Bottom
+ PBottom.Height := ImgBottom.Height;
+ ImgBottom.AutoSize := False;
+ ImgBottom.Align := alClient;
+ ImgBottom.Center := True;
+
+ PTop.Visible := ImgTop.Picture <> nil;
+ PLeft.Visible := ImgLeft.Picture <> nil;
+ PBottom.Visible := ImgBottom.Picture <> nil;
+
+ if FUserControl.Login.GetLoginName = lnUserName then
+ EditUsuario.Text := FUserControl.GetLocalUserName;
+ if FUserControl.Login.GetLoginName = lnMachineName then
+ EditUsuario.Text := FUserControl.GetLocalComputerName;
+ if FUserControl.Login.GetLoginName <> lnNone then
+ EditSenha.SetFocus;
+end;
+
+procedure TfrmLoginWindow.EditUsuarioChange(Sender: TObject);
+begin
+ lbEsqueci.Enabled := Length(EditUsuario.Text) > 0;
+end;
+
+procedure TfrmLoginWindow.FormKeyPress(Sender: TObject; var Key: char);
+begin
+ if Key = #13 then
+ btOK.Click;
+end;
+
+procedure TfrmLoginWindow.FormActivate(Sender: TObject);
+begin
+ EditUsuario.CharCase := Self.FUserControl.Login.CharCaseUser;
+ EditSenha.CharCase := Self.FUserControl.Login.CharCasePass; { Por Vicente Barros Leonel }
+end;
+
+end.
+
diff --git a/official/2.20/Source/MsgRecForm_U.dfm b/official/2.20/Source/MsgRecForm_U.dfm
new file mode 100644
index 0000000..ae8dacf
--- /dev/null
+++ b/official/2.20/Source/MsgRecForm_U.dfm
@@ -0,0 +1,263 @@
+object MsgRecForm: TMsgRecForm
+ Left = 215
+ Top = 162
+ BorderStyle = bsDialog
+ Caption = 'Mensagem'
+ ClientHeight = 336
+ ClientWidth = 506
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ FormStyle = fsStayOnTop
+ OldCreateOrder = False
+ OnCreate = FormCreate
+ PixelsPerInch = 96
+ TextHeight = 13
+ object lbDE: TLabel
+ Left = 16
+ Top = 57
+ Width = 20
+ Height = 13
+ Caption = 'De :'
+ end
+ object lbAssunto: TLabel
+ Left = 19
+ Top = 89
+ Width = 38
+ Height = 13
+ Caption = 'Assunto'
+ end
+ object lbMensagem: TLabel
+ Left = 16
+ Top = 120
+ Width = 52
+ Height = 13
+ Caption = 'Mensagem'
+ end
+ object lbData: TLabel
+ Left = 360
+ Top = 57
+ Width = 23
+ Height = 13
+ Caption = 'Data'
+ end
+ object Panel1: TPanel
+ Left = 0
+ Top = 0
+ Width = 506
+ Height = 35
+ Align = alTop
+ BevelOuter = bvLowered
+ Color = clWhite
+ TabOrder = 2
+ object lbTitulo: TLabel
+ Left = 48
+ Top = 10
+ Width = 181
+ Height = 18
+ Caption = 'Mensagem Recebida'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -16
+ Font.Name = 'Verdana'
+ Font.Style = [fsBold]
+ ParentFont = False
+ end
+ object Image1: TImage
+ Left = 8
+ Top = 4
+ Width = 28
+ Height = 28
+ AutoSize = True
+ Picture.Data = {
+ 07544269746D6170760C0000424D760C00000000000036000000280000001C00
+ 00001C0000000100200000000000400C00000000000000000000000000000000
+ 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0098300000FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF009830000098300000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00D3BDAF0069473100694731006947310069473100694731006947
+ 3100694731006947310069473100694731006947310069473100694731006947
+ 3100D76733009830000098300000983000009830000098300000C16E39009830
+ 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D3BDAF00FCF9F800B7A2
+ 9300B7A29300B7A29300B7A29300B7A29300B7A29300B7A29300B7A29300B7A2
+ 9300B7A29300B7A29300B7A29300B7A29300D7673300FBC4A100DD986500D48B
+ 5800D48B5800CE824E00C7784300C16E390098300000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00D3BDAF00FEFCFB00FCF9F800FAF6F400F8F3F100F6F0EE00F4EE
+ EA00F2EBE700F0E8E400EEE5E000ECE3DD00EAE0DA00E8DCD600E6D9D200E4D6
+ CF00D7673300FBC4A100DD986500DD986500D48B5800D78F5C00D1875300CB7D
+ 4900C16E390098300000FFFFFF00FFFFFF00FFFFFF00D3BDAF00FFFFFF00FEFC
+ FB00FCF9F800FAF6F400F8F3F100F6F0EE00F4EEEA00F2EBE700F0E8E400EEE5
+ E000ECE3DD00EAE0DA00E8DCD600E6D9D200D7673300FBC4A100E3A16E00DD98
+ 6500DD986500D48B5800D78F5C00D1875300CB7D4900C16E390098300000FFFF
+ FF00FFFFFF00D3BDAF00FFFFFF00FFFFFF00FEFCFB00FCF9F800E7B98600E7B9
+ 8600E7B98600E7B98600E7B98600E7B98600E7B98600E7B98600E7B98600E7B9
+ 8600D7673300FBC4A100E3A16E00E3A16E00DD986500DD986500D48B5800D78F
+ 5C00C16E390098300000FFFFFF00FFFFFF00FFFFFF00D3BDAF00FFFFFF00FFFF
+ FF00FFFFFF00FEFCFB00FCF9F800FAF6F400F8F3F100F6F0EE00F4EEEA00F2EB
+ E700F0E8E400EEE5E000ECE3DD00EAE0DA00D7673300FBC4A100FBC4A100FBC4
+ A100FBC4A100FBC4A100FBC4A100C16E390098300000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00D3BDAF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFDFD00FDFB
+ FA00FBF8F600F9F5F300F7F2EF00F5EFEC00F3ECE900F0E8E400EEE5E000ECE3
+ DD00D7673300D7673300D7673300D7673300D7673300D7673300FBC4A1009830
+ 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D3BDAF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00E7B98600E7B98600E7B98600E7B98600E7B98600E7B9
+ 8600E7B98600E7B98600E7B98600E7B98600EDE4DF00EBE1DB00E9DED800E7DB
+ D400E5D8D100D76733009830000069473100694731006947310069473100FFFF
+ FF00FFFFFF00D3BDAF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFDFD00FDFBFA00FBF8F600F9F5F300F7F2EF00F5EFEC00F3ECE900F1E9
+ E500EFE6E200EDE4DF00EBE1DB00E9DED800E7DBD40098300000B7A293006947
+ 3100B7A29300B7A2930069473100FFFFFF00FFFFFF00D3BDAF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFDFD00FDFBFA00FBF8
+ F600F9F5F300F7F2EF00F5EFEC00F3ECE900F1E9E500EFE6E200EDE4DF00EBE1
+ DB00E9DED800E7DBD400B7A2930069473100DBC9BF00B7A2930069473100FFFF
+ FF00FFFFFF00D3BDAF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0098300000FFFF
+ FF00FFFFFF00FFFFFF00FFFDFD00FDFBFA00FBF8F600F9F5F300F7F2EF00F5EF
+ EC00F3ECE900F1E9E500EFE6E200EDE4DF00EBE1DB00E9DED800B7A293006947
+ 3100DBC9BF00B7A2930069473100FFFFFF00FFFFFF00D3BDAF00FFFFFF00FFFF
+ FF00FFFFFF009830000098300000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFD
+ FD00FDFBFA00FBF8F600F9F5F300F7F2EF00F5EFEC00F3ECE900316ADC00316A
+ DC00316ADC00EBE1DB00B7A2930069473100DCCAC000B7A2930069473100FFFF
+ FF00FFFFFF00D3BDAF00FFFFFF00FFFFFF0098300000C16E3900983000009830
+ 000098300000983000009830000098300000FFFDFD00FDFBFA00FBF8F600F9F5
+ F300F7F2EF00F5EFEC00314A800060A2FA00316ADC00EDE4DF00B7A293006947
+ 3100DECDC400B7A2930069473100FFFFFF00FFFFFF00D3BDAF00FFFFFF009830
+ 0000CB7D4900D58B5700C16E3900C16E3900C16E3900C16E3900C16E39009830
+ 0000FFFFFF00FFFFFF00FEFCFB00FCF9F800FAF6F400F8F3F100396EE30060A2
+ FA00316ADC00EFE6E200B7A2930069473100E0D0C800B7A2930069473100FFFF
+ FF00FFFFFF00D3BDAF0098300000CB7D4900E19C6A00DB946100D58B5700D287
+ 5300CD7F4A00C7764100C16E390098300000FFFFFF00FFFFFF00FFFFFF00FEFC
+ FB00FCF9F800FAF6F400F8F3F100F6F0EE00F4EEEA00F2EBE700F0E8E4006947
+ 3100E3D5CD00B7A2930069473100FFFFFF00FFFFFF0098300000FBC4A100E3A1
+ 6E00E3A16E00E3A16E00DE986500D88F5C00D2875300CD7F4A00C16E39009830
+ 0000D3BDAF00D3BDAF00D3BDAF00D3BDAF00D3BDAF00D3BDAF00D3BDAF00D3BD
+ AF00D3BDAF00D3BDAF00D3BDAF00D3BDAF00E5D8D100B7A2930069473100FFFF
+ FF00FFFFFF00FFFFFF00D7673300FBC4A100E3A16E00E3A16E00E3A16E00DE98
+ 6500D88F5C00D2875300C16E390098300000FFFDFD00FDFBFA00FBF8F600F9F5
+ F300F7F2EF00F5EFEC00F3ECE900F1E9E500EFE6E200EDE4DF00EBE1DB00E9DE
+ D800E7DBD400B7A2930069473100FFFFFF00FFFFFF00FFFFFF00FFFFFF00D767
+ 3300FBC4A100E3A16E00FBC4A100FBC4A100FBC4A100FBC4A100FBC4A1009830
+ 0000FFFFFF00FFFDFD00FDFBFA00FBF8F600F9F5F300F7F2EF00F5EFEC00F3EC
+ E900F1E9E500EFE6E200EDE4DF00EBE1DB00E9DED800B7A2930069473100FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D7673300FBC4A100D7673300D767
+ 3300D7673300D7673300D7673300D7673300FFFFFF00FFFFFF00FFFDFD00FDFB
+ FA00FBF8F600F9F5F300F7F2EF00F5EFEC00F3ECE900316ADC00316ADC00316A
+ DC00EBE1DB00B7A2930069473100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00D3BDAF00D7673300D7673300FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFDFD00FDFBFA00FBF8F600F9F5F300F7F2
+ EF00F5EFEC00314A800060A2FA00316ADC00EDE4DF00B7A2930069473100FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D3BDAF00FFFFFF00D7673300FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FEFCFB00FCF9F800FAF6F400F8F3F100396EE30060A2FA00316A
+ DC00EFE6E200B7A2930069473100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00D3BDAF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FEFCFB00FCF9
+ F800FAF6F400F8F3F100F6F0EE00F4EEEA00F2EBE700F0E8E40069473100FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D3BDAF00D3BDAF00D3BDAF00D3BD
+ AF00D3BDAF00D3BDAF00D3BDAF00D3BDAF00D3BDAF00D3BDAF00D3BDAF00D3BD
+ AF00D3BDAF00D3BDAF00D3BDAF00D3BDAF00D3BDAF00D3BDAF00D3BDAF00D3BD
+ AF00D3BDAF00D3BDAF00D3BDAF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00}
+ end
+ end
+ object stDe: TStaticText
+ Left = 64
+ Top = 56
+ Width = 289
+ Height = 17
+ AutoSize = False
+ BorderStyle = sbsSunken
+ TabOrder = 3
+ end
+ object stAssunto: TStaticText
+ Left = 64
+ Top = 88
+ Width = 431
+ Height = 17
+ AutoSize = False
+ BorderStyle = sbsSunken
+ TabOrder = 4
+ end
+ object MemoMsg: TMemo
+ Left = 16
+ Top = 144
+ Width = 481
+ Height = 145
+ MaxLength = 255
+ ReadOnly = True
+ ScrollBars = ssBoth
+ TabOrder = 0
+ end
+ object btFechar: TBitBtn
+ Left = 199
+ Top = 303
+ Width = 79
+ Height = 25
+ Caption = '&Fechar'
+ TabOrder = 1
+ OnClick = btFecharClick
+ Glyph.Data = {
+ 42040000424D4204000000000000420000002800000020000000100000000100
+ 1000030000000004000000000000000000000000000000000000007C0000E003
+ 00001F0000001F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C45261F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C94521F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C4526862645261F7C1F7C1F7C1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C9452D65A94521F7C1F7C1F7C1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C673286268626862645261F7C1F7C1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7CD65AD65AD65AD65A94521F7C1F7C1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C45268626C62A862E862645261F7C1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C9452D65AF75ED65AD65A94521F7C1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C47328626C62A252E252EC62A8822C62A1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7CB556D65AF75EB556B556F75ED65AF75E1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C4526C62A252E1F7C1F7C252EC62A45261F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C9452F75EB5561F7C1F7CB556F75E94521F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C252E1F7C1F7C1F7C1F7C252EC62A45261F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7CB5561F7C1F7C1F7C1F7CB556F75E94521F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C252EC62AC62A1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7CB556F75EF75E1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C252E86261F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7CB556D65A1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C252E86261F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7CB556D65A1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C252E8626
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7CB556D65A
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C252E
+ 86261F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7CB556
+ D65A1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C
+ 252E86261F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C
+ B556D65A1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C
+ 1F7C252E1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C
+ 1F7CB5561F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C}
+ NumGlyphs = 2
+ end
+ object stData: TStaticText
+ Left = 397
+ Top = 56
+ Width = 97
+ Height = 17
+ AutoSize = False
+ BorderStyle = sbsSunken
+ Caption = '99/99/9999 99:99'
+ TabOrder = 5
+ end
+end
diff --git a/official/2.20/Source/MsgRecForm_U.pas b/official/2.20/Source/MsgRecForm_U.pas
new file mode 100644
index 0000000..a180469
--- /dev/null
+++ b/official/2.20/Source/MsgRecForm_U.pas
@@ -0,0 +1,77 @@
+unit MsgRecForm_U;
+
+interface
+
+uses
+{$IFDEF VER130}
+{$ELSE}
+ Variants,
+{$ENDIF}
+ Buttons,
+ Classes,
+ Controls,
+ Dialogs,
+ ExtCtrls,
+ Forms,
+ Graphics,
+ Messages,
+ StdCtrls,
+ SysUtils,
+ UCBase,
+ Windows;
+
+type
+ TMsgRecForm = class(TForm)
+ Panel1: TPanel;
+ lbTitulo: TLabel;
+ Image1: TImage;
+ lbDE: TLabel;
+ stDe: TStaticText;
+ lbAssunto: TLabel;
+ stAssunto: TStaticText;
+ lbMensagem: TLabel;
+ MemoMsg: TMemo;
+ btFechar: TBitBtn;
+ lbData: TLabel;
+ stData: TStaticText;
+ procedure btFecharClick(Sender: TObject);
+ procedure FormCreate(Sender: TObject); //added by fduenas
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ MsgRecForm: TMsgRecForm;
+
+implementation
+
+uses
+ UCMessages;
+
+{$R *.dfm}
+
+procedure TMsgRecForm.btFecharClick(Sender: TObject);
+begin
+ Close;
+end;
+
+procedure TMsgRecForm.FormCreate(Sender: TObject);
+begin
+ //added by fduenas
+ if not (Self.Owner is TUCApplicationMessage) then
+ Exit;
+ with TUCApplicationMessage(Self.Owner).UserControl.UserSettings.AppMessages do
+ begin
+ Self.Caption := MsgRec_WindowCaption;
+ lbTitulo.Caption := MsgRec_Title;
+ lbDE.Caption := MsgRec_LabelFrom;
+ lbData.Caption := MsgRec_LabelDate;
+ lbAssunto.Caption := MsgRec_LabelSubject;
+ lbMensagem.Caption := MsgRec_LabelMessage;
+ btFechar.Caption := MsgRec_BtClose;
+ end;
+end;
+
+end.
diff --git a/official/2.20/Source/MsgsForm_U.dfm b/official/2.20/Source/MsgsForm_U.dfm
new file mode 100644
index 0000000..905767a
--- /dev/null
+++ b/official/2.20/Source/MsgsForm_U.dfm
@@ -0,0 +1,1153 @@
+object MsgsForm: TMsgsForm
+ Left = 144
+ Top = 150
+ BorderStyle = bsDialog
+ Caption = 'Mensagens do Sistema'
+ ClientHeight = 452
+ ClientWidth = 598
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ OldCreateOrder = False
+ OnClose = FormClose
+ OnCreate = FormCreate
+ OnShow = FormShow
+ PixelsPerInch = 96
+ TextHeight = 13
+ object Splitter1: TSplitter
+ Left = 0
+ Top = 237
+ Width = 598
+ Height = 6
+ Cursor = crVSplit
+ Align = alTop
+ Beveled = True
+ end
+ object ListView1: TListView
+ Left = 0
+ Top = 52
+ Width = 598
+ Height = 185
+ Align = alTop
+ Columns = <
+ item
+ Caption = 'Remetente'
+ MaxWidth = 300
+ MinWidth = 50
+ Width = 150
+ end
+ item
+ Caption = 'Assunto'
+ MaxWidth = 500
+ MinWidth = 50
+ Width = 300
+ end
+ item
+ Caption = 'Data'
+ MaxWidth = 150
+ MinWidth = 50
+ Width = 100
+ end>
+ HideSelection = False
+ MultiSelect = True
+ ReadOnly = True
+ RowSelect = True
+ SmallImages = ImageList1
+ TabOrder = 0
+ ViewStyle = vsReport
+ OnColumnClick = ListView1ColumnClick
+ OnCompare = ListView1Compare
+ OnDblClick = ListView1DblClick
+ OnSelectItem = ListView1SelectItem
+ end
+ object ToolBar1: TToolBar
+ Left = 0
+ Top = 0
+ Width = 598
+ Height = 52
+ ButtonHeight = 44
+ ButtonWidth = 94
+ Caption = 'Op'#231#245'es'
+ Images = ImageList2
+ ShowCaptions = True
+ TabOrder = 1
+ object btnova: TToolButton
+ Left = 0
+ Top = 2
+ Caption = '&Nova Mensagem'
+ ImageIndex = 0
+ OnClick = btnovaClick
+ end
+ object btResponder: TToolButton
+ Left = 94
+ Top = 2
+ Caption = '&Responder'
+ ImageIndex = 1
+ OnClick = btResponderClick
+ end
+ object btEncaminhar: TToolButton
+ Left = 188
+ Top = 2
+ Caption = 'E&ncaminhar'
+ ImageIndex = 2
+ OnClick = btEncaminharClick
+ end
+ object btExcluir: TToolButton
+ Left = 282
+ Top = 2
+ Caption = '&Excluir'
+ ImageIndex = 3
+ OnClick = btExcluirClick
+ end
+ object btClose: TToolButton
+ Left = 376
+ Top = 2
+ Caption = '&Fechar'
+ ImageIndex = 4
+ OnClick = btCloseClick
+ end
+ end
+ object MemoMsg: TMemo
+ Left = 0
+ Top = 243
+ Width = 598
+ Height = 209
+ Align = alClient
+ ReadOnly = True
+ TabOrder = 2
+ end
+ object ImageList1: TImageList
+ Height = 14
+ Left = 48
+ Top = 88
+ Bitmap = {
+ 494C010102000400040010000E00FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
+ 0000000000003600000028000000400000000E0000000100200000000000000E
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000007B7B7B00FFFFFF0000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000007B7B7B00FFFFFF007B7B7B00FFFFFF00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000007B7B7B00000000007B7B7B00FFFFFF00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000007B7B7B00FFFFFF007B7B7B00FFFFFF00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000007B7B7B00000000007B7B7B0000000000FFFFFF000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000007B7B7B00FFFFFF007B7B7B00FFFFFF00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000007B7B7B00FFFFFF0000000000000000007B7B7B00FFFFFF000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000FFFFFF00FFFFFF007B7B7B00FFFFFF007B7B7B00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000007B7B7B000000000000000000000000007B7B7B0000000000FFFF
+ FF00000000000000000000000000000000000000000000000000000000007B7B
+ 7B007B7B7B007B7B7B007B7B7B00000000007B7B7B007B7B7B007B7B7B007B7B
+ 7B00FFFFFF000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00007B7B7B00FFFFFF00000000000000000000000000000000007B7B7B00FFFF
+ FF00000000000000000000000000000000000000000000000000000000007B7B
+ 7B0000000000FFFFFF0000000000000000000000000000000000000000007B7B
+ 7B00000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00007B7B7B0000000000000000000000000000000000000000007B7B7B000000
+ 0000FFFFFF000000000000000000000000000000000000000000000000000000
+ 00007B7B7B00FFFFFF00000000000000000000000000000000007B7B7B00FFFF
+ FF00000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000007B7B
+ 7B00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF00FFFFFF007B7B
+ 7B00FFFFFF000000000000000000000000000000000000000000000000000000
+ 00007B7B7B0000000000FFFFFF000000000000000000000000007B7B7B000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000007B7B
+ 7B007B7B7B007B7B7B007B7B7B00FFFFFF007B7B7B007B7B7B007B7B7B007B7B
+ 7B00000000000000000000000000000000000000000000000000000000000000
+ 0000000000007B7B7B00FFFFFF0000000000000000007B7B7B00FFFFFF000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000007B7B7B00FFFFFF007B7B7B00FFFFFF00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000007B7B7B0000000000FFFFFF00000000007B7B7B00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000007B7B7B00FFFFFF007B7B7B00FFFFFF00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000007B7B7B00FFFFFF007B7B7B00FFFFFF00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000007B7B7B00FFFFFF007B7B7B00FFFFFF00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000007B7B7B00000000007B7B7B0000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000007B7B7B00FFFFFF007B7B7B00FFFFFF00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000007B7B7B00FFFFFF0000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000007B7B7B007B7B7B007B7B7B0000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000007B7B7B000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000424D3E000000000000003E000000
+ 28000000400000000E0000000100010000000000700000000000000000000000
+ 000000000000000000000000FFFFFF00FE7FFC3F00000000FD3FFC3F00000000
+ FD5FFC3F00000000F99FF00700000000FBAFE10700000000F3CFEBEF00000000
+ F7D7F3CF00000000E087F5DF00000000E00FF99F00000000FC3FFABF00000000
+ FC3FFC3F00000000FC3FFD7F00000000FC3FFE7F00000000FC7FFEFF00000000
+ 00000000000000000000000000000000000000000000}
+ end
+ object ImageList2: TImageList
+ Height = 24
+ Width = 24
+ Left = 216
+ Top = 328
+ Bitmap = {
+ 494C010105000900040018001800FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
+ 000000000000360000002800000060000000480000000100200000000000006C
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000CE732900A54A
+ 2100A54A2100A54A2100A54A2100A54A2100A54A2100A54A2100A54A2100A54A
+ 2100A54A2100A54A2100A54A2100A54A2100A54A2100A54A2100A54A2100A54A
+ 2100A54A2100A54A210000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000CE732900FFF7
+ F700DEC6BD00D6C6B500D6BDB500CEBDAD00CEB5AD00C6B5A500C6AD9C00BDAD
+ 9C00BDA59C00BDA59400B5A59400B59C8C00B59C8C00B59C8C00B59C8C00B59C
+ 8C00B59C8C00A54A210000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000CE732900FFFF
+ FF00FFF7F700F7F7F700F7EFEF00F7EFEF00F7EFE700EFE7E700EFE7DE00EFE7
+ DE00E7DED600E7DED600E7D6CE00E7D6CE00DECEC600DECEC600DECEBD00DECE
+ BD00B59C8C00A54A210000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000CE732900FFFF
+ FF00FFFFFF00FFF7F700F7F7F700F7EFEF00F7EFEF00F7EFE700EFE7E700EFE7
+ DE00EFE7DE00E7DED600E7DED600E7D6CE00E7D6CE00DECEC600DECEC600DECE
+ BD00B59C8C00A54A210000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000CE732900FFFF
+ FF00FFFFFF00FFFFFF00FFF7F700F7F7F700F7EFEF00F7EFEF00F7EFE700EFE7
+ E700EFE7DE00EFE7DE00E7DED600E7DED600E7D6CE00E7D6CE00DECEC600DECE
+ C600B59C8C00A54A210000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000CE732900FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFF7F700F7F7F700F7EFEF00F7EFEF00F7EF
+ E700EFE7E700EFE7DE00EFE7DE00E7DED600E7DED600E7D6CE00E7D6CE00DECE
+ C600B59C8C00A54A210000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000CE732900FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFF7F700F7F7F700F7EFEF00F7EF
+ EF00F7EFE700EFE7E700EFE7DE00EFE7DE00E7DED600E7DED600E7D6CE00E7D6
+ CE00B59C8C00A54A210000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000CE732900FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFF7F700F7F7F700F7EF
+ EF00F7EFEF00F7EFE700EFE7E700EFE7DE00EFE7DE00E7DED600E7DED600E7D6
+ CE00B5A59400A54A210000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000CE732900FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFF7F700F7F7
+ F700F7F7EF00F7EFEF00F7EFE700EFE7E700EFE7DE00EFE7DE00EFDEDE00E7DE
+ D600BDA59400A54A210000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000CE732900FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFF7
+ F700F7F7F700F7F7EF00F7EFEF00F7EFE700EFE7E700EFE7DE00EFE7DE00EFDE
+ DE00BDA59C00A54A210000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000CE732900FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFF7F700F7F7F700F7F7EF00F7EFEF00F7EFE700EFE7E700EFE7DE00EFE7
+ DE00BDAD9C00A54A210000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000CE732900FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFF7F700F7F7F700F7F7EF00F7EFEF00F7EFE700EFE7E700EFE7
+ DE00C6AD9C00A54A210000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000CE732900FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFF7F700F7F7F700F7F7EF00F7EFEF00F7EFE700EFE7
+ E700C6B5A500A54A210000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000CE732900FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00BDCEF70000009C0000009C0000009C000000
+ 9C0000009C0000009C0000009C00C608FF000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000CE732900FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF000031FF00294ACE001842CE001039C6000029
+ C6000029C6000029C6000029C60000009C000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000CE732900A54A
+ 2100A54A2100A54A2100A54A2100A54A2100A54A2100A54A2100A54A2100A54A
+ 2100A54A2100A54A2100A54A21000031FF003152D600B5C6F7009CADF7001039
+ C6009CADF700B5C6F7000029C60000009C000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000CE732900D66B
+ 0000D66B0000D66B0000D66B0000D66B0000D66B0000D66B0000D66B0000D66B
+ 0000D66B0000D66B0000D66B00000031FF004263D600CED6F700F7F7FF009CAD
+ F700F7F7FF009CADF7000029C60000009C000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000E7426300E78C
+ 2900EF943100EF943100EF943100EF943100EF943100EF943100EF943100EF94
+ 3100EF943100EF943100EF9431000031FF004A63D6004A63D600D6DEFF00FFFF
+ FF009CADF7001839CE000831C60000009C000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000FF10DE00E742
+ 6300DE7B0800DE7B0800DE7B0800DE7B0800DE7B0800DE7B0800DE7B0800DE7B
+ 0800DE7B0800DE7B0800DE7B08000031FF004A63DE008CA5EF00F7F7FF00CED6
+ FF00F7F7FF009CADF7001839CE0000009C000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000031FF005A73E700B5C6F7008C9CEF004A63
+ D6009CADF700B5C6F700214ACE0000009C000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000031FF006B84E7005A73E7004A63DE004A63
+ D6004A63D600395AD6003152D60000009C000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000C608FF000031FF000031FF000031FF000031
+ FF000031FF000031FF000031FF00C608FF000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000000000000000000000005A185A000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000000000000000000000009C3100000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000000000000000C6B5A5006B4231006B42
+ 31006B4231006B4231006B4231006B4231006B4231006B4231006B4231006B42
+ 31006B4231006B4231006B4231006B4231006B4231006B4231006B4231006B42
+ 31006B4231006B4231006B423100000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000000000005A185A005A185A000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000000000000000000000009C3100009C31
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000018D6000018D6000000000000000000C6B5A500DED6C600B5A5
+ 9400B5A59400B5A59400B5A59400B5A59400B5A59400B5A59400B5A59400B5A5
+ 9400B5A59400B5A59400B5A59400B5A59400B5A59400B5A59400B5A59400B5A5
+ 9400B5A59400B5A594006B423100000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000005A185A00B56BAD00B563A5005A18
+ 5A005A185A005A185A005A185A005A185A000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000D66331009C3100009C3100009C3100009C3100009C310000DE8C
+ 63009C3100000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000018D6000018D6000018D6000000000000000000C6B5A500B5A59400DED6
+ C600DED6C600DED6C600DED6C600DED6C600DED6C600DED6C600DED6C600DED6
+ C600DED6C600DED6C600DED6C600DED6C600DED6C600DED6C600DED6C600DED6
+ C600DED6C600B5A594006B42310000000000C6B5A5006B4231006B4231006B42
+ 31006B4231006B4231006B4231006B4231006B4231006B4231006B4231006B42
+ 31006B4231006B423100B5A594005A185A00C67BBD00C67BBD00BD6BB500B563
+ AD00AD5AA500A5529C009C4A94005A185A00C6B5A5006B4231006B4231006B42
+ 31006B4231006B4231006B4231006B4231006B4231006B4231006B4231006B42
+ 3100B5A59400D6633100FFC6A500FFB58C00FFAD8C00FFAD8400F7A57B00EF9C
+ 7300E7946B009C310000000000000000000000000000000000000018D6000018
+ D6000018D6000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000018
+ D6000018D6000018D600000000000000000000000000C6B5A500DED6C600B5A5
+ 9400E7DED600E7DED600E7DED600E7DED600E7DED600E7DED600E7DED600E7DE
+ D600E7DED600E7DED600E7DED600E7DED600E7DED600E7DED600E7DED600E7DE
+ D600B5A59400B5A594006B42310000000000C6B5A500DED6C600B5A59400B5A5
+ 9400B5A59400B5A59400B5A59400B5A59400B5A59400B5A59400B5A59400B5A5
+ 9400B5A59400DECEBD005A185A00CE84BD00CE84BD00CE84BD00C67BBD00BD6B
+ B500B563AD00AD5AA500A5529C005A185A00C6B5A500DED6C600B5A59400B5A5
+ 9400B5A59400B5A59400B5A59400B5A59400B5A59400B5A59400B5A59400B5A5
+ 9400DECEBD00D6633100FFC6A500FFB58C00FFB58C00FFB58C00FFAD8400F7A5
+ 7B00EF9C7300E7946B009C3100000000000000000000000000000018D6000018
+ D6000018D6000018D60000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000000000000018D6000018D6000018
+ D6000018D60000000000000000000000000000000000C6B5A500E7D6CE00E7D6
+ CE00B5A59400EFE7DE00EFE7DE00EFE7DE00EFE7DE00EFE7DE00EFE7DE00EFE7
+ DE00EFE7DE00EFE7DE00EFE7DE00EFE7DE00EFE7DE00EFE7DE00EFE7DE00B5A5
+ 9400DED6C600B5A594006B42310000000000C6B5A500B5A59400DED6C600DED6
+ C600DED6C600DED6C600DED6C600DED6C600DED6C600DED6C600DED6C600DED6
+ C600DED6C6005A185A00D6A5CE00CE84BD00CE84BD00CE84BD00CE84BD00C67B
+ BD00BD6BB500B563AD00AD5AA5005A185A00C6B5A500B5A59400DED6C600DED6
+ C600DED6C600DED6C600DED6C600DED6C600DED6C600DED6C600DED6C600DED6
+ C600DED6C600D6633100FFC6A500FFB58C00FFB58C00FFB58C00FFB58C00FFAD
+ 8400F7A57B00EF9C7300E7946B009C31000000000000000000000018D6000018
+ D6000018D6000018D6000018D600000000000000000000000000000000000000
+ 0000000000000000000000000000000000000018D6000018D6000018D6000018
+ D6000000000000000000000000000000000000000000C6B5A500EFDEDE00EFDE
+ DE00EFDEDE00B5A59400F7EFEF00F7EFEF00F7EFEF00F7EFEF00F7EFEF00F7EF
+ EF00F7EFEF00F7EFEF00F7EFEF00F7EFEF00F7EFEF00F7EFEF00B5A59400E7DE
+ D600E7DED600B5A594006B42310000000000C6B5A500DED6C600B5A59400E7DE
+ D600E7DED600E7DED600E7DED600E7DED600E7DED600E7DED600E7DED600E7DE
+ D600E7DED600E7DED600A5429400D6A5CE00CE84BD00CE84BD00CE84BD00CE84
+ BD00C67BBD00BD6BB500B563AD005A185A00C6B5A500DED6C600B5A59400E7DE
+ D600E7DED600E7DED600E7DED600E7DED600E7DED600E7DED600E7DED600E7DE
+ D600E7DED600D6633100FFC6A500FFB58C00FFB58C00FFB58C00FFB58C00FFB5
+ 8C00FFAD8400F7A57B009C310000000000000000000000000000000000000018
+ D6000018D6000018D6000018D6000018D6000000000000000000000000000000
+ 00000000000000000000000000000018D6000018D6000018D6000018D6000000
+ 00000000000000000000000000000000000000000000C6B5A500EFE7E700EFE7
+ E700EFE7E700EFE7E700B5A59400F7F7F700F7F7F700F7F7F700F7F7F700F7F7
+ F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700B5A59400EFE7DE00EFE7
+ DE00EFE7DE00B5A594006B42310000000000C6B5A500E7D6CE00E7D6CE00B5A5
+ 9400EFE7DE00EFE7DE00EFE7DE00EFE7DE00EFE7DE00EFE7DE00EFE7DE00EFE7
+ DE00EFE7DE00EFE7DE00EFE7DE00A5429400D6A5CE00CE84BD00CE84BD00CE84
+ BD00CE84BD00CE84BD00CE84BD005A185A00C6B5A500E7D6CE00E7D6CE00B5A5
+ 9400EFE7DE00EFE7DE00EFE7DE00EFE7DE00EFE7DE00EFE7DE00EFE7DE00EFE7
+ DE00EFE7DE00D6633100FFC6A500FFC6A500FFC6A500FFC6A500FFC6A500FFC6
+ A500FFB58C009C31000000000000000000000000000000000000000000000000
+ 00000018FF000018D6000018D6000018D6000018D60000000000000000000000
+ 000000000000000000000018D6000018D6000018D6000018D600000000000000
+ 00000000000000000000000000000000000000000000C6B5A500F7EFE700F7EF
+ E700F7EFE700F7EFE700F7EFE700B5A59400FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00B5A59400F7EFEF00F7EFEF00F7EF
+ EF00F7EFEF00B5A594006B42310000000000C6B5A500EFDEDE00EFDEDE00EFDE
+ DE00B5A59400F7EFEF00F7EFEF00F7EFEF00F7EFEF00F7EFEF00F7EFEF00F7EF
+ EF00F7EFEF00F7EFEF00F7EFEF00F7EFEF00A5429400D6A5CE00A5429400A542
+ 9400A5429400A5429400A5429400A5429400C6B5A500EFDEDE00EFDEDE00EFDE
+ DE00B5A59400F7EFEF00F7EFEF00F7EFEF00F7EFEF00F7EFEF00F7EFEF00F7EF
+ EF00F7EFEF00D6633100D6633100D6633100D6633100D6633100D6633100FFC6
+ A5009C3100000000000000000000000000000000000000000000000000000000
+ 000000000000000000000018D6000018D6000018D6000018D600000000000000
+ 00000018D6000018D6000018D6000018D6000018D60000000000000000000000
+ 00000000000000000000000000000000000000000000C6B5A500F7EFEF00F7EF
+ EF00F7EFEF00F7EFEF00B5A59400EFE7E700B5A59400FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00B5A59400DEC6C600B5A59400F7F7F700F7F7
+ F700F7F7F700B5A594006B42310000000000C6B5A500EFE7E700EFE7E700EFE7
+ E700EFE7E700B5A59400F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7
+ F700F7F7F700F7F7F700F7F7F700B5A59400EFE7DE00A5429400A5429400DECE
+ BD00B5A59400000000000000000000000000C6B5A500EFE7E700EFE7E700EFE7
+ E700EFE7E700B5A59400F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7
+ F700F7F7F700F7F7F700F7F7F700B5A59400EFE7DE00EFE7DE00D66331009C31
+ 0000B5A594000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000018D6000018D6000018D6000018D6000018
+ D6000018D6000018D6000018D6000018D6000000000000000000000000000000
+ 00000000000000000000000000000000000000000000C6B5A500FFF7F700FFF7
+ F700FFF7F700B5A59400EFE7E700FFFFF700EFE7E700B5A59400B5A59400B5A5
+ 9400B5A59400B5A59400B5A59400DEC6C600DECEBD00DEC6C600B5A59400FFFF
+ FF00FFFFFF00B5A594006B42310000000000C6B5A500F7EFE700F7EFE700F7EF
+ E700F7EFE700F7EFE700B5A59400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00B5A59400F7EFEF00F7EFEF00F7EFEF00A5429400DECE
+ BD006B423100000000000000000000000000C6B5A500F7EFE700F7EFE700F7EF
+ E700F7EFE700F7EFE700B5A59400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00B5A59400F7EFEF00F7EFEF00F7EFEF009C310000DECE
+ BD006B4231000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000018D6000018D6000018FF000018
+ D6000018FF000018D6000018D600000000000000000000000000000000000000
+ 00000000000000000000000000000000000000000000C6B5A500FFFFFF00FFFF
+ FF00B5A59400EFE7E700FFFFFF00FFFFFF00FFFFF700EFE7E700EFE7E700EFE7
+ E700EFE7E700EFE7E700EFE7E700E7D6CE00E7D6CE00DECEC600DEC6C600B5A5
+ 9400FFFFFF00B5A594006B42310000000000C6B5A500F7EFEF00F7EFEF00F7EF
+ EF00F7EFEF00B5A59400DEC6C600B5A59400FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00B5A59400DEC6C600B5A59400F7F7F700F7F7F700F7F7F700B5A5
+ 94006B423100000000000000000000000000C6B5A500F7EFEF00F7EFEF00F7EF
+ EF00F7EFEF00B5A59400DEC6C600B5A59400FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00B5A59400DEC6C600B5A59400F7F7F700F7F7F700F7F7F700B5A5
+ 94006B4231000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000000000000018D6000018D6000018
+ D6000018FF000018D60000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000000000000000C6B5A500FFFFFF00BDA5
+ 9400FFFFFF00FFFFFF00B5A59400B5A59400B5A59400B5A59400B5A59400B5A5
+ 9400B5A59400B5A59400B5A59400B5A59400B5A59400E7D6CE00DECEC600CEB5
+ A500B5A59400F7F7EF006B42310000000000C6B5A500FFF7F700FFF7F700FFF7
+ F700B5A59400DEC6C600B5E7FF00ADDEFF00B5A59400B5A59400B5A59400B5A5
+ 9400B5A59400DEC6C60073C6FF006BC6FF00B5A59400FFFFFF00FFFFFF00B5A5
+ 94006B423100000000000000000000000000C6B5A500FFF7F700FFF7F700FFF7
+ F700B5A59400DEC6C600B5E7FF00ADDEFF00B5A59400B5A59400B5A59400B5A5
+ 9400B5A59400DEC6C60073C6FF006BC6FF00B5A59400FFFFFF00FFFFFF00B5A5
+ 94006B4231000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000018D6000018D6000018FF000018
+ D6000018D6000018FF000018FF00000000000000000000000000000000000000
+ 00000000000000000000000000000000000000000000C6B5A500B5A59400CEB5
+ A500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFF7
+ F700F7F7EF00F7EFEF00EFE7E700EFE7DE00EFDED600E7D6CE00E7D6CE00CEB5
+ A500DEC6C600D6A59C006B42310000000000C6B5A500FFFFFF00FFFFFF00B5A5
+ 9400DEC6C600C6EFFF00BDE7FF00B5E7FF00ADDEFF00A5DEFF009CDEFF0094D6
+ FF008CD6FF0084CEFF007BCEFF0073C6FF006BC6FF00B5A59400FFFFFF00B5A5
+ 94006B423100000000000000000000000000C6B5A500FFFFFF00FFFFFF00B5A5
+ 9400DEC6C600C6EFFF00BDE7FF00B5E7FF00ADDEFF00A5DEFF009CDEFF0094D6
+ FF008CD6FF0084CEFF007BCEFF0073C6FF006BC6FF00B5A59400FFFFFF00B5A5
+ 94006B4231000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000018D6000018D6000018FF000018D6000018
+ FF000018FF000018FF000018D6000018FF000000000000000000000000000000
+ 00000000000000000000000000000000000000000000C6B5A50021A5EF00CEB5
+ A500FFFFFF00FFFFFF00B5A59400B5A59400B5A59400B5A59400B5A59400B5A5
+ 9400B5A59400B5A59400B5A59400B5A59400B5A59400EFDED600E7D6CE00CEB5
+ A50021A5EF00B5A594006B42310000000000C6B5A500FFFFFF00BDA59400DEC6
+ C600D6EFFF00CEEFFF00C6EFFF00BDE7FF00B5E7FF00ADDEFF00A5DEFF009CDE
+ FF0094D6FF008CD6FF0084CEFF007BCEFF0073C6FF006BC6FF00B5A59400F7F7
+ EF006B423100000000000000000000000000C6B5A500FFFFFF00BDA59400DEC6
+ C600D6EFFF00CEEFFF00C6EFFF00BDE7FF00B5E7FF00ADDEFF00A5DEFF009CDE
+ FF0094D6FF008CD6FF0084CEFF007BCEFF0073C6FF006BC6FF00B5A59400F7F7
+ EF006B4231000000000000000000000000000000000000000000000000000000
+ 000000000000000000000018FF000018FF000018FF000018D6000018FF000000
+ 0000000000000018FF000018FF000018FF000018FF0000000000000000000000
+ 00000000000000000000000000000000000000000000C6B5A50021A5EF00CEB5
+ A500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFF7F700F7F7EF00F7EFEF00EFE7E700EFE7DE00EFDED600CEB5
+ A50021A5EF00B5A594006B42310000000000C6B5A500B5A59400DEC6C600DEF7
+ FF00DEF7FF00D6EFFF00CEEFFF00C6EFFF00BDE7FF00B5E7FF00ADDEFF00A5DE
+ FF009CDEFF0094D6FF008CD6FF0084CEFF007BCEFF0073C6FF006BC6FF00D6A5
+ 9C006B423100000000000000000000000000C6B5A500B5A59400DEC6C600DEF7
+ FF00DEF7FF00D6EFFF00CEEFFF00C6EFFF00BDE7FF00B5E7FF00ADDEFF00A5DE
+ FF009CDEFF0094D6FF008CD6FF0084CEFF007BCEFF0073C6FF006BC6FF00D6A5
+ 9C006B4231000000000000000000000000000000000000000000000000000000
+ 0000000000000018FF000018FF000018D6000018FF000018FF00000000000000
+ 000000000000000000000018FF000018FF000018FF000018FF00000000000000
+ 0000000000000000000000000000000000000000000000000000C6B5A500CEB5
+ A500CEB5A500CEB5A500CEB5A500CEB5A500CEB5A500CEB5A500CEB5A500CEB5
+ A500CEB5A500CEB5A500CEB5A500CEB5A500CEB5A500CEB5A500CEB5A500CEB5
+ A500BDA594006B4231000000000000000000C6B5A500DEC6C600DEF7FF00DEF7
+ FF00DEF7FF00DEF7FF00D6EFFF00CEEFFF00C6EFFF00BDE7FF00B5E7FF00ADDE
+ FF00A5DEFF009CDEFF0094D6FF008CD6FF0084CEFF007BCEFF0073C6FF006BC6
+ FF006B423100000000000000000000000000C6B5A500DEC6C600DEF7FF00DEF7
+ FF00DEF7FF00DEF7FF00D6EFFF00CEEFFF00C6EFFF00BDE7FF00B5E7FF00ADDE
+ FF00A5DEFF009CDEFF0094D6FF008CD6FF0084CEFF007BCEFF0073C6FF006BC6
+ FF006B4231000000000000000000000000000000000000000000000000000000
+ 00000018FF000018FF000018FF000018FF000018FF0000000000000000000000
+ 0000000000000000000000000000000000000018FF000018FF000018FF000000
+ 000000000000000000000000000000000000000000000000000000000000C6B5
+ A500DEF7FF00DEF7FF00DEF7FF00D6F7FF00C6EFFF00B5E7FF00A5DEFF009CD6
+ FF008CD6FF007BCEFF006BC6FF005ABDFF004ABDFF0042B5FF0042B5FF00B5A5
+ 94006B42310000000000000000000000000000000000C6B5A500DEF7FF00DEF7
+ FF00DEF7FF00DEF7FF00DEF7FF00D6F7FF00CEEFFF00C6EFFF00BDE7FF00B5E7
+ FF00ADDEFF00A5DEFF009CDEFF0094D6FF008CD6FF0084CEFF007BCEFF006B42
+ 31000000000000000000000000000000000000000000C6B5A500DEF7FF00DEF7
+ FF00DEF7FF00DEF7FF00DEF7FF00D6F7FF00CEEFFF00C6EFFF00BDE7FF00B5E7
+ FF00ADDEFF00A5DEFF009CDEFF0094D6FF008CD6FF0084CEFF007BCEFF006B42
+ 3100000000000000000000000000000000000000000000000000000000000018
+ FF000018FF000018FF000018FF000018FF000000000000000000000000000000
+ 000000000000000000000000000000000000000000000018FF000018FF000018
+ FF00000000000000000000000000000000000000000000000000000000000000
+ 0000C6B5A500DEF7FF00DEF7FF00DEF7FF00D6F7FF00C6EFFF00B5E7FF00A5DE
+ FF009CD6FF0094D6FF0084CEFF0073CEFF0063C6FF0052BDFF00B5A594006B42
+ 3100000000000000000000000000000000000000000000000000C6B5A500DEF7
+ FF00DEF7FF00DEF7FF00DEF7FF00DEF7FF00D6F7FF00CEEFFF00C6EFFF00BDE7
+ FF00B5E7FF00ADE7FF00A5DEFF009CDEFF0094D6FF008CD6FF006B4231000000
+ 0000000000000000000000000000000000000000000000000000C6B5A500DEF7
+ FF00DEF7FF00DEF7FF00DEF7FF00DEF7FF00D6F7FF00CEEFFF00C6EFFF00BDE7
+ FF00B5E7FF00ADE7FF00A5DEFF009CDEFF0094D6FF008CD6FF006B4231000000
+ 00000000000000000000000000000000000000000000000000000018FF000018
+ FF000018FF000018FF000018FF00000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000018
+ FF00000000000000000000000000000000000000000000000000000000000000
+ 000000000000C6B5A500DEF7FF00DEF7FF00DEF7FF00DEF7FF00CEEFFF00BDE7
+ FF00ADE7FF009CDEFF0094D6FF0084CEFF0073CEFF00B5A594006B4231000000
+ 000000000000000000000000000000000000000000000000000000000000C6B5
+ A500DEF7FF00DEF7FF00DEF7FF00DEF7FF00DEF7FF00D6F7FF00CEEFFF00C6EF
+ FF00BDE7FF00B5E7FF00ADE7FF00A5DEFF009CDEFF006B423100000000000000
+ 000000000000000000000000000000000000000000000000000000000000C6B5
+ A500DEF7FF00DEF7FF00DEF7FF00DEF7FF00DEF7FF00D6F7FF00CEEFFF00C6EF
+ FF00BDE7FF00B5E7FF00ADE7FF00A5DEFF009CDEFF006B423100000000000000
+ 000000000000000000000000000000000000000000000018FF000018FF000018
+ FF000018FF000018FF0000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000C6B5A500DEF7FF00DEF7FF00DEF7FF00DEF7FF00CEEF
+ FF00BDE7FF00ADE7FF009CDEFF0094D6FF00B5A594006B423100000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000C6B5A500DEF7FF00DEF7FF00DEF7FF00DEF7FF00DEF7FF00D6F7FF00CEEF
+ FF00C6EFFF00BDE7FF00B5E7FF00ADE7FF006B42310000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000C6B5A500DEF7FF00DEF7FF00DEF7FF00DEF7FF00DEF7FF00D6F7FF00CEEF
+ FF00C6EFFF00BDE7FF00B5E7FF00ADE7FF006B42310000000000000000000000
+ 000000000000000000000000000000000000000000000018FF000018FF000018
+ FF000018FF000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000C6B5A500DEF7FF00DEF7FF00DEF7FF00DEF7
+ FF00CEEFFF00BDE7FF00ADE7FF009CDEFF006B42310000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000C6B5A500DEF7FF00DEF7FF00DEF7FF00DEF7FF00DEF7FF00D6F7
+ FF00CEEFFF00C6EFFF00BDE7FF006B4231000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000C6B5A500DEF7FF00DEF7FF00DEF7FF00DEF7FF00DEF7FF00D6F7
+ FF00CEEFFF00C6EFFF00BDE7FF006B4231000000000000000000000000000000
+ 000000000000000000000000000000000000000000000018FF000018FF000018
+ FF00000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C6B5A500C6B5A500C6B5A500C6B5
+ A500C6B5A500C6B5A500C6B5A500C6B5A5000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000C6B5A500DEF7FF00DEF7FF00DEF7FF00DEF7FF00DEF7
+ FF00D6F7FF00CEEFFF006B423100000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000C6B5A500DEF7FF00DEF7FF00DEF7FF00DEF7FF00DEF7
+ FF00D6F7FF00CEEFFF006B423100000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000C6B5A500C6B5A500C6B5A500C6B5A500C6B5
+ A500C6B5A500C6B5A50000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000C6B5A500C6B5A500C6B5A500C6B5A500C6B5
+ A500C6B5A500C6B5A50000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000424D3E000000000000003E000000
+ 2800000060000000480000000100010000000000600300000000000000000000
+ 000000000000000000000000FFFFFF0000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000FFFFFF000000000000000000FFFFFF00
+ 0000000000000000C00003000000000000000000C00003000000000000000000
+ C00003000000000000000000C00003000000000000000000C000030000000000
+ 00000000C00003000000000000000000C00003000000000000000000C0000300
+ 0000000000000000C00003000000000000000000C00003000000000000000000
+ C00003000000000000000000C00003000000000000000000C000030000000000
+ 00000000C00000000000000000000000C00000000000000000000000C0000000
+ 0000000000000000C00000000000000000000000C00000000000000000000000
+ C00000000000000000000000FFFE00000000000000000000FFFE000000000000
+ 00000000FFFE00000000000000000000FFFFFFFFFFDFFFFFDFFFFFFF800001FF
+ FF9FFFFFCFFFFFF9800001FFFF00FFF807FFFFF1800001000000000003C7FFE3
+ 800001000000000001C3FF87800001000000000000C1FF0F8000010000000000
+ 01E0FE1F800001000000000003F07C3F800001000000000007FC307F80000100
+ 0007000007FE00FF800001000007000007FF01FF800001000007000007FF83FF
+ 800001000007000007FF01FF800001000007000007FE00FF8000010000070000
+ 07FC187F800001000007000007F83C3FC00003000007000007F07F1FE0000780
+ 000F80000FE0FF8FF0000FC0001FC0001FC1FFEFF8001FE0003FE0003F83FFFF
+ FC003FF0007FF0007F87FFFFFE007FF800FFF800FF8FFFFFFF00FFFC01FFFC01
+ FFFFFFFFFFFFFFFE03FFFE03FFFFFFFF00000000000000000000000000000000
+ 000000000000}
+ end
+end
diff --git a/official/2.20/Source/MsgsForm_U.pas b/official/2.20/Source/MsgsForm_U.pas
new file mode 100644
index 0000000..6913efe
--- /dev/null
+++ b/official/2.20/Source/MsgsForm_U.pas
@@ -0,0 +1,346 @@
+unit MsgsForm_U;
+
+interface
+
+{$I 'UserControl.inc'}
+
+uses
+{$IFDEF DELPHI5_UP}
+ Variants,
+{$ENDIF}
+ Classes,
+ ComCtrls,
+ Controls,
+ DB,
+ Dialogs,
+ ExtCtrls,
+ Forms,
+ Graphics,
+ ImgList,
+ Messages,
+ StdCtrls,
+ SysUtils,
+ ToolWin,
+ Windows;
+
+type
+ TPointMsg = ^PPointMsg;
+
+ PPointMsg = record
+ IdMsg: Integer;
+ Msg: String;
+ end;
+
+ TMsgsForm = class(TForm)
+ ImageList1: TImageList;
+ ListView1: TListView;
+ ToolBar1: TToolBar;
+ btnova: TToolButton;
+ ImageList2: TImageList;
+ btResponder: TToolButton;
+ btEncaminhar: TToolButton;
+ btExcluir: TToolButton;
+ Splitter1: TSplitter;
+ btClose: TToolButton;
+ MemoMsg: TMemo;
+ procedure btCloseClick(Sender: TObject);
+ procedure btnovaClick(Sender: TObject);
+ procedure ListView1SelectItem(Sender: TObject; Item: TListItem; Selected: Boolean);
+ procedure ListView1ColumnClick(Sender: TObject; Column: TListColumn);
+ procedure ListView1Compare(Sender: TObject; Item1, Item2: TListItem; Data: Integer; var Compare: Integer);
+ procedure ListView1DblClick(Sender: TObject);
+ procedure btExcluirClick(Sender: TObject);
+ procedure btEncaminharClick(Sender: TObject);
+ procedure btResponderClick(Sender: TObject);
+ procedure FormShow(Sender: TObject);
+ procedure FormCreate(Sender: TObject);
+ procedure FormClose(Sender: TObject; var Action: TCloseAction);
+ private
+ FColuna: Integer;
+ FAsc: Boolean;
+ FListaTPointMsg: array of TPointMsg;
+ procedure MontaTela;
+ public
+ DSMsgs: TDataset;
+ DSUsuarios: TDataset;
+ end;
+
+var
+ MsgsForm: TMsgsForm;
+
+implementation
+
+uses
+ EnvMsgForm_U,
+ MsgRecForm_U,
+ UCBase;
+
+{$R *.dfm}
+
+procedure TMsgsForm.btCloseClick(Sender: TObject);
+begin
+ Close;
+end;
+
+procedure TMsgsForm.btnovaClick(Sender: TObject);
+begin
+ EnvMsgForm := TEnvMsgForm.Create(Self.Owner);
+ EnvMsgForm.DataSource1.DataSet := DSUsuarios;
+ EnvMsgForm.Showmodal;
+ FreeAndNil(EnvMsgForm);
+end;
+
+function FmtDtHr(dt: String): String;
+begin
+ Result := Copy(dt, 7, 2) + '/' + Copy(dt, 5, 2) + '/' + Copy(dt, 1, 4) + ' ' + Copy(dt, 9, 2) + ':' + Copy(dt, 11, 2);
+end;
+
+procedure TMsgsForm.MontaTela;
+var
+ TempPoint: TPointMsg;
+begin
+ DSMsgs.Open;
+ while not DSMsgs.EOF do
+ begin
+ with ListView1.Items.Add do
+ begin
+ ImageIndex := -1;
+ StateIndex := -1;
+ Caption := DSMsgs.FieldByName('de').AsString;
+ SubItems.Add(DSMsgs.FieldByName('Subject').AsString);
+ SubItems.Add(FmtDtHr(DSMsgs.FieldByName('DtSend').AsString));
+ New(TempPoint);
+ SetLength(FListaTPointMsg, Length(FListaTPointMsg) + 1);
+ FListaTPointMsg[High(FListaTPointMsg)] := TempPoint;
+ TempPoint.IdMsg := DSMsgs.FieldByName('idMsg').AsInteger;
+ TempPoint.Msg := DSMsgs.FieldByName('Msg').AsString;
+ Data := TempPoint;
+ end;
+ DSMsgs.Next;
+{$IFDEF DELPHI5}
+ ListView1.Selected := nil;
+{$ELSE}
+ ListView1.ItemIndex := 0;
+{$ENDIF}
+
+ end;
+ DSMsgs.Close;
+end;
+
+procedure TMsgsForm.ListView1SelectItem(Sender: TObject; Item: TListItem; Selected: Boolean);
+begin
+ if ListView1.SelCount > 1 then
+ begin
+ btResponder.Enabled := False;
+ btEncaminhar.Enabled := False;
+ end
+ else
+ begin
+ btResponder.Enabled := True;
+ btEncaminhar.Enabled := True;
+ end;
+ MemoMsg.Text := TPointMsg(Item.Data).Msg;
+end;
+
+procedure TMsgsForm.ListView1ColumnClick(Sender: TObject; Column: TListColumn);
+begin
+ if FColuna = Column.Index then
+ begin
+ FAsc := not FAsc;
+ ListView1.Columns[FColuna].ImageIndex := integer(FAsc);
+ end
+ else
+ begin
+ ListView1.Columns[FColuna].ImageIndex := -1;
+ FColuna := Column.Index;
+ FAsc := True;
+ ListView1.Columns[FColuna].ImageIndex := integer(FAsc);
+ end;
+ (Sender as TCustomListView).AlphaSort;
+end;
+
+procedure TMsgsForm.ListView1Compare(Sender: TObject; Item1, Item2: TListItem; Data: Integer; var Compare: Integer);
+var
+ ix: Integer;
+begin
+ if FColuna = 0 then
+ begin
+ if FAsc then
+ Compare := CompareText(Item1.Caption, Item2.Caption)
+ else
+ Compare := CompareText(Item2.Caption, Item1.Caption);
+ end
+ else
+ begin
+ ix := FColuna - 1;
+ if FAsc then
+ Compare := CompareText(Item1.SubItems[ix], Item2.SubItems[ix])
+ else
+ Compare := CompareText(Item2.SubItems[ix], Item1.SubItems[ix]);
+ end;
+end;
+
+procedure TMsgsForm.ListView1DblClick(Sender: TObject);
+begin
+ if ListView1.Selected = nil then
+ exit; //added to prevent AV error {fduenas}
+ MsgRecForm := TMsgRecForm.Create(Self.Owner); //midifed by fduenas
+
+ MsgRecForm.MemoMsg.Text := TPointMsg(ListView1.Selected.Data).Msg;
+ MsgRecForm.stDe.Caption := ListView1.Selected.Caption;
+ MsgRecForm.stAssunto.Caption := ListView1.Selected.SubItems[0];
+ MsgRecForm.stData.Caption := ListView1.Selected.SubItems[1];
+
+ MsgRecForm.ShowModal;
+ FreeAndNil(MsgRecForm);
+end;
+
+procedure TMsgsForm.btExcluirClick(Sender: TObject);
+var
+ contador: Integer;
+begin
+{$IFDEF DELPHI5}
+ if ListView1.Selected = nil then
+ begin
+ //Modfied by fduenas
+ MessageBox(Handle, PChar(TUCApplicationMessage(Owner).UserControl.Settings.AppMessages.MsgsForm_NoMessagesSelected),
+ PChar(TUCApplicationMessage(Owner).UserControl.Settings.AppMessages.MsgsForm_NoMessagesSelected_WindowCaption),
+ MB_ICONINFORMATION + MB_OK);
+ Exit;
+ end;
+{$ELSE}
+ if ListView1.ItemIndex = -1 then
+ begin
+ //Modfied by fduenas
+ MessageBox(Handle, PChar(TUCApplicationMessage(Owner).UserControl.UserSettings.AppMessages.MsgsForm_NoMessagesSelected),
+ PChar(TUCApplicationMessage(Owner).UserControl.UserSettings.AppMessages.MsgsForm_NoMessagesSelected_WindowCaption),
+ MB_ICONINFORMATION or mb_OK);
+ Exit;
+ end;
+{$ENDIF}
+
+ if ListView1.SelCount = 1 then
+ begin
+ TUCApplicationMessage(Owner).DeleteAppMessage(TPointMsg(ListView1.Selected.Data).idMsg);
+ {$IFDEF DELPHI5}
+ ListView1.Selected.Delete;
+ {$ELSE}
+ ListView1.DeleteSelected;
+ {$ENDIF}
+ end
+ else
+ begin
+ for contador := 0 to LIstView1.Items.Count - 1 do
+ if ListView1.items[contador].selected then
+ TUCApplicationMessage(Owner).DeleteAppMessage(TPointMsg(ListView1.items[contador].Data).idMsg);
+ {$IFDEF DELPHI5}
+ ListView1.Selected.Delete;
+ {$ELSE}
+ ListView1.DeleteSelected;
+ {$ENDIF}
+ end;
+
+end;
+
+procedure TMsgsForm.btEncaminharClick(Sender: TObject);
+var
+ contador: Integer;
+begin
+{$IFDEF DELPHI5}
+ if ListView1.Selected = nil then
+ begin
+ //Modfied by fduenas
+ MessageBox(Handle, PChar(TUCApplicationMessage(Owner).UserControl.Settings.AppMessages.MsgsForm_NoMessagesSelected),
+ PChar(TUCApplicationMessage(Owner).UserControl.Settings.AppMessages.MsgsForm_NoMessagesSelected_WindowCaption),
+ MB_ICONINFORMATION or mb_OK);
+ Exit;
+ end;
+{$ELSE}
+ if ListView1.ItemIndex = -1 then
+ begin
+ //Modfied by fduenas
+ MessageBox(Handle, PChar(TUCApplicationMessage(Owner).UserControl.UserSettings.AppMessages.MsgsForm_NoMessagesSelected),
+ PChar(TUCApplicationMessage(Owner).UserControl.UserSettings.AppMessages.MsgsForm_NoMessagesSelected_WindowCaption),
+ MB_ICONINFORMATION or mb_OK);
+ Exit;
+ end;
+{$ENDIF}
+ try
+ EnvMsgForm := TEnvMsgForm.Create(Self.Owner);
+ EnvMsgForm.DataSource1.DataSet := DSUsuarios;
+ if EnvMsgForm.dbUsuario.Text <> '' then
+ EnvMsgForm.dbUsuario.Enabled := False;
+ EnvMsgForm.EditAssunto.Text := Copy('Enc: ' + ListView1.Selected.SubItems[0], 1, EnvMsgForm.EditAssunto.MaxLength);
+ EnvMsgForm.MemoMsg.Text := TPointMsg(ListView1.Selected.Data).Msg;
+ for contador := 0 to EnvMsgForm.MemoMsg.Lines.Count - 1 do
+ EnvMsgForm.MemoMsg.Lines[contador] := '>' + EnvMsgForm.MemoMsg.Lines[contador];
+ EnvMsgForm.MemoMsg.Lines.Insert(0, ListView1.Selected.Caption + ' ' + ListView1.Selected.SubItems[1]);
+ EnvMsgForm.MemoMsg.Text := Copy(EnvMsgForm.MemoMsg.Text, 1, EnvMsgForm.MemoMsg.MaxLength);
+ EnvMsgForm.Showmodal;
+ finally
+ FreeAndNil(EnvMsgForm);
+ end;
+end;
+
+procedure TMsgsForm.btResponderClick(Sender: TObject);
+begin
+{$IFDEF DELPHI5}
+ if ListView1.Selected = nil then
+ begin
+ //Modfied by fduenas
+ MessageBox(Handle, PChar(TUCApplicationMessage(Owner).UserControl.Settings.AppMessages.MsgsForm_NoMessagesSelected), PChar(TUCApplicationMessage(Owner).UserControl.Settings.AppMessages.MsgsForm_NoMessagesSelected_WindowCaption), MB_ICONINFORMATION + MB_OK);
+ Exit;
+ end;
+{$ELSE}
+ if ListView1.ItemIndex = -1 then
+ begin
+ //Modfied by fduenas
+ MessageBox(Handle, PChar(TUCApplicationMessage(Owner).UserControl.UserSettings.AppMessages.MsgsForm_NoMessagesSelected),
+ PChar(TUCApplicationMessage(Owner).UserControl.UserSettings.AppMessages.MsgsForm_NoMessagesSelected_WindowCaption),
+ MB_ICONINFORMATION or mb_OK);
+ Exit;
+ end;
+{$ENDIF}
+ try
+ EnvMsgForm := TEnvMsgForm.Create(Self.Owner);
+ EnvMsgForm.rbUsuario.Checked := True;
+ EnvMsgForm.rbTodos.Enabled := False;
+ DSMsgs.Open;
+ DSMsgs.Locate('idMsg', TPointMsg(ListView1.Selected.Data).idMsg, []);
+ EnvMsgForm.DataSource1.DataSet := DSUsuarios;
+ EnvMsgForm.dbUsuario.KeyValue := DSMsgs.FieldByName('UsrFrom').AsInteger;
+ if EnvMsgForm.dbUsuario.Text <> '' then
+ EnvMsgForm.dbUsuario.Enabled := False;
+ EnvMsgForm.EditAssunto.Text := Copy('Re: ' + ListView1.Selected.SubItems[0], 1, EnvMsgForm.EditAssunto.MaxLength);
+ EnvMsgForm.Showmodal;
+ finally
+ DSMsgs.Close;
+ FreeAndNil(EnvMsgForm);
+ end;
+end;
+
+procedure TMsgsForm.FormClose(Sender: TObject; var Action: TCloseAction);
+var
+ I: Integer;
+begin
+ for I := 0 to High(FListaTPointMsg) do
+ Dispose(FListaTPointMsg[I]);
+
+ if Assigned(DSMsgs) then
+ SysUtils.FreeAndNil(DSMsgs);
+
+ if Assigned(DSUsuarios) then
+ SysUtils.FreeAndNil(DSUsuarios);
+end;
+
+procedure TMsgsForm.FormCreate(Sender: TObject);
+begin
+ SetLength(FListaTPointMsg, 0);
+end;
+
+procedure TMsgsForm.FormShow(Sender: TObject);
+begin
+ MontaTela;
+end;
+
+end.
diff --git a/official/2.20/Source/SenhaForm_U.dfm b/official/2.20/Source/SenhaForm_U.dfm
new file mode 100644
index 0000000..3ad53eb
--- /dev/null
+++ b/official/2.20/Source/SenhaForm_U.dfm
@@ -0,0 +1,73 @@
+object SenhaForm: TSenhaForm
+ Left = 355
+ Top = 241
+ ActiveControl = edtSenha
+ BorderStyle = bsDialog
+ Caption = 'Digitar Senha...'
+ ClientHeight = 145
+ ClientWidth = 244
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ OldCreateOrder = False
+ Position = poMainFormCenter
+ OnClose = FormClose
+ OnCloseQuery = FormCloseQuery
+ OnCreate = FormCreate
+ OnShow = FormShow
+ PixelsPerInch = 96
+ TextHeight = 13
+ object LabelSenha: TLabel
+ Left = 16
+ Top = 7
+ Width = 30
+ Height = 13
+ Caption = 'Senha'
+ end
+ object LabelConfirma: TLabel
+ Left = 16
+ Top = 51
+ Width = 30
+ Height = 13
+ Caption = 'Senha'
+ end
+ object edtSenha: TEdit
+ Left = 16
+ Top = 23
+ Width = 217
+ Height = 21
+ Ctl3D = True
+ ParentCtl3D = False
+ PasswordChar = '*'
+ TabOrder = 0
+ end
+ object edtConfirmaSenha: TEdit
+ Left = 16
+ Top = 67
+ Width = 217
+ Height = 21
+ Ctl3D = True
+ ParentCtl3D = False
+ PasswordChar = '*'
+ TabOrder = 1
+ end
+ object btnOK: TBitBtn
+ Left = 44
+ Top = 108
+ Width = 75
+ Height = 25
+ TabOrder = 2
+ Kind = bkOK
+ end
+ object BtCancel: TBitBtn
+ Left = 124
+ Top = 108
+ Width = 75
+ Height = 25
+ TabOrder = 3
+ Kind = bkCancel
+ end
+end
diff --git a/official/2.20/Source/SenhaForm_U.pas b/official/2.20/Source/SenhaForm_U.pas
new file mode 100644
index 0000000..ee9be2c
--- /dev/null
+++ b/official/2.20/Source/SenhaForm_U.pas
@@ -0,0 +1,95 @@
+unit SenhaForm_U;
+
+interface
+
+{$I 'UserControl.inc'}
+
+uses
+ Buttons,
+ Classes,
+ Controls,
+ Dialogs,
+ Forms,
+ Graphics,
+ Messages,
+ StdCtrls,
+ SysUtils,
+ Variants,
+ Windows,
+ UCBase;
+
+type
+ TSenhaForm = class(TForm)
+ edtSenha: TEdit;
+ edtConfirmaSenha: TEdit;
+ btnOK: TBitBtn;
+ BtCancel: TBitBtn;
+ LabelSenha: TLabel;
+ LabelConfirma: TLabel;
+ procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
+ procedure FormClose(Sender: TObject; var Action: TCloseAction);
+ procedure FormCreate(Sender: TObject);
+ procedure FormShow(Sender: TObject);
+ private
+ { Private declarations }
+ function CompararSenhas(Senha, ConfirmaSenha: String): Boolean;
+ public
+ fUserControl : TUserControl;
+ { Public declarations }
+ end;
+
+implementation
+
+{$R *.dfm}
+
+{ TForm1 }
+
+function TSenhaForm.CompararSenhas(Senha, ConfirmaSenha: String): Boolean;
+begin
+ Result := False;
+ With fUserControl do
+ begin
+ if ( UserPasswordChange.ForcePassword ) and ( senha = '' ) then
+ MessageDlg(UserSettings.CommonMessages.ChangePasswordError.PasswordRequired, mtWarning, [mbOK], 0)
+ else if Length( Senha ) < UserPasswordChange.MinPasswordLength then
+ MessageDlg(Format(UserSettings.CommonMessages.ChangePasswordError.MinPasswordLength, [UserPasswordChange.MinPasswordLength]), mtWarning, [mbOK], 0)
+ else if Pos(LowerCase(senha), 'abcdeasdfqwerzxcv1234567890321654987teste' + LowerCase(CurrentUser.UserName) + LowerCase(CurrentUser.UserLogin)) > 0 then
+ MessageDlg(UserSettings.CommonMessages.ChangePasswordError.InvalidNewPassword, mtWarning, [mbOK], 0)
+ else if ( senha <> confirmasenha ) then
+ MessageDlg( UserSettings.CommonMessages.ChangePasswordError.NewPasswordError , mtWarning, [mbOK], 0)
+ else result := true;
+ End;
+end;
+
+procedure TSenhaForm.FormClose(Sender: TObject; var Action: TCloseAction);
+begin
+ Action := caFree;
+end;
+
+procedure TSenhaForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
+begin
+ if not (ModalResult = mrCancel) then
+ begin
+ CanClose := CompararSenhas(edtSenha.Text, edtConfirmaSenha.Text);
+ if not CanClose then
+ edtSenha.SetFocus;
+ end;
+end;
+
+procedure TSenhaForm.FormCreate(Sender: TObject);
+begin
+ edtSenha.Clear;
+ edtConfirmaSenha.Clear;
+end;
+
+procedure TSenhaForm.FormShow(Sender: TObject);
+begin
+ edtSenha.CharCase := fUserControl.Login.CharCasePass;
+ edtConfirmaSenha.CharCase := fUserControl.Login.CharCasePass;
+ LabelSenha.Caption := fUserControl.UserSettings.Login.LabelPassword;
+ LabelConfirma.Caption := fUserControl.UserSettings.ChangePassword.LabelConfirm;
+ btnOK.Caption := fUserControl.UserSettings.Login.BtOk;
+ BtCancel.Caption := fUserControl.UserSettings.Login.BtCancel;
+end;
+
+end.
diff --git a/official/2.20/Source/TrocaSenha_U.dfm b/official/2.20/Source/TrocaSenha_U.dfm
new file mode 100644
index 0000000..5bdaf68
--- /dev/null
+++ b/official/2.20/Source/TrocaSenha_U.dfm
@@ -0,0 +1,350 @@
+object TrocaSenha: TTrocaSenha
+ Left = 398
+ Top = 263
+ ActiveControl = EditAtu
+ BorderStyle = bsDialog
+ Caption = 'Seguran'#231'a'
+ ClientHeight = 163
+ ClientWidth = 353
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ OldCreateOrder = False
+ OnActivate = FormActivate
+ OnClose = FormClose
+ OnCloseQuery = FormCloseQuery
+ PixelsPerInch = 96
+ TextHeight = 13
+ object Panel1: TPanel
+ Left = 0
+ Top = 0
+ Width = 353
+ Height = 35
+ Align = alTop
+ BevelOuter = bvNone
+ Color = clWhite
+ TabOrder = 0
+ object lbDescricao: TLabel
+ Left = 47
+ Top = 11
+ Width = 124
+ Height = 18
+ Caption = 'Trocar Senha '
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -16
+ Font.Name = 'Verdana'
+ Font.Style = [fsBold]
+ ParentFont = False
+ end
+ object Image1: TImage
+ Left = 8
+ Top = 4
+ Width = 28
+ Height = 28
+ AutoSize = True
+ Picture.Data = {
+ 07544269746D6170760C0000424D760C00000000000036000000280000001C00
+ 00001C0000000100200000000000400C00000000000000000000000000000000
+ 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FEFEFE00F9F9F900F1F1F100EAEA
+ EA00E3E3E300E0E0E000DEDEDE00DFDFDF00D3D0CD0077594300694731006947
+ 310069473100D8D1CD00FAFAFA00FEFEFE00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F6F6F600C5C7
+ C5008E9F91006E8A70005E815C00527B4F004E7C4A004B7C48004A7C47004B7B
+ 480074574100EAD3BB00F4CA9F00E8BB8E0069473100626B570078817500A19F
+ 9F00D4D4D400FAFAFA00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00F2F4F30074967100487638004E7C35004E8334004B893300488E
+ 31004592300044962F0043972F0043982F00A08C7D00F3EEEB00FEF3E300FEE6
+ CA00DFBF9A0069473100694731004C663600526C5200A9A9A900FAFAFA00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0094B3910058743900537B
+ 36004E8334004A8A33004690310043962F00409B2E003E9F2D003DA12D003DA1
+ 2D00519F3E00A08C7D00EEEAE500FEF5EA00FCE6CB00E2B8900069473100545E
+ 2E00566736005A6F5700E5E5E500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00688D5B0055783700508035004B8833004790310043982F003F9E
+ 2D003BA42C0039A82B0037AB2A0037AB2A0038A92B004B9E3800A08C7D00EAE7
+ E200FEF7EC00FCE8CC00D8B99400694731006947310054664600DEDEDE00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF005E875100527C36004D84
+ 3400488D320044962F003F9E2E003BA52C0037AC2A0034B1290032B4280032B5
+ 280033B3280035AD2A004B9E3800A08C7D00E7E4DE00FDFAEF00FBE8CD00DEB6
+ 8F0069473100535B3C00BEB7B400D4CCC900D3CBC800D9D2D000F9F9F800FFFF
+ FF00FFFFFF00729A6800507F35004B88330046913100419A2E003CA32C0037AB
+ 2A0033B328002FB927002DBE25002CBF25002EBC260031B6270036AD29004D9A
+ 3700A08C7D00E6E3DE00FEF9EF00FBE8CF00D4B6900069473100694731006947
+ 31006947310069473100CFC5C000FCFCFC00FFFFFF00A5C6A700508136004A8A
+ 3300449330003F9D2E003AA62B0035AF290030B827002BBF250035B237002BBB
+ 2B0029C324002DBC260034B3280038A72A0050943900A08C7D00E4E1DA00FBF4
+ EA00F8E3C700E6C39D00DFBB9100E1BD9300E3BE9300DAB2890069473100D8CF
+ C900FFFFFF00F6FAF70058904D00498B3200449530003E9E2D0039A82B0034B2
+ 28002EBB26004BA34E00DEE0DF00DDEADF0044BB47002BC0250031B6270037AD
+ 2B003D9F2B00588D3F00A08C7D00F4EADE00FEF2E200FDEBD300FCE8CD00FCE5
+ C700FCE3C200FFE1BB00DFBB950069473100FFFFFF00FFFFFF00D4E4D6004A8E
+ 3D00449530003E9E2D0039A82B0034B129002FA92C00A4B0A700E5E6E600E8E9
+ E900CFDED20035B3340031B6270036AC2A003CA22C004E8F3800A08C7D00F0E5
+ D700FDF1E100FBE7D300FAE4CD00FBE1C600FBDCBE00EED2B300F5D0A9006947
+ 3100FFFFFF00FFFFFF00FFFFFF00D2E4D4004E984500409C2E003AA52C0035AE
+ 2900518B5400989B9F00798A96006B7F8C00757E85005B7F5D002D9E240038A9
+ 2A003DA12D00508D3B00A08C7D00F1E6D700FCEDD900FAE1C900FBDFC300FCDD
+ BD00E0C2A600AA907B00EBC49F0069473100FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00EDF4EF007BB57B003A9D2E00319131004F7C93004992C5004A98CF004897
+ CE004592C800437DA400235437002C7F22004B9B4500A6B69E00A08C7D00F3E8
+ D800FBEAD300FADDC000FADABA00DFC1A3009A806C008D6A5000EEC69F006947
+ 3100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00BDD3C7004C90
+ AF0052A0D60052A0D500519FD4004F9DD3004C9AD1004997CE00438CBF004363
+ 6700C1C2C100E6E2DF00A08C7D00E8DBCB00FDE9D100FDE2C300EFD4B800AD96
+ 85008E705A00D9C19B00E1BC970069473100FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00F5F6F70072ABD00056A4D90056A4D90056A4D90055A3D80054A2
+ D70052A0D5004F9DD3004B99D000468DC000727D8400E5E4E300E2DDD900A08C
+ 7D00ECDFD100F9EEE000F4E7DA00F0E3D700F0E6D900E6D9CB0069473100E7E3
+ DF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A2C4DC005AA6DB005BA8
+ DC005BA8DC005BA8DC005AA7DB0058A5DA0056A4D90053A1D600509ED4004B9A
+ D0004C7FA500ADADAD00FCFCFB00E6E1DE00A08C7D00A08C7D00A08C7D00A08C
+ 7D00A08C7D00A08C7D00EDEAE600FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00E9EEF4005FA7D7005EABDF005FACE0005FACE0005FACE0005EABDF005CA9
+ DD005AA7DB0057A4D90054A2D700509ED4004A95CA0076828B00F0F0F000FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00ADCDE20060ACE00061AEE20063B0
+ E30063B0E30063B0E30061AEE2005FACE0005DAADE005AA7DC0056A4D90053A1
+ D6004E9DD3005B7E9600DADADA00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF007EB5DA0063B0E30065B2E50067B4E70068B4E70067B4E60065B2E50063B0
+ E30060ADE1005DAADE0059A7DB0055A3D800519FD5004F84A800C5C5C500FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FAFBFC0064AAD80066B3E60069B5E8006BB7
+ E9006CB8EA006BB7E90069B5E80066B3E60062AFE3005FACE0005BA8DC0057A5
+ DA0053A1D6004E8DBB00B8B8B800FEFEFE00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00EDF2
+ F50062A9D9005696BF00538EB5005E9FC9006BB4E3006EBAEC006CB8EA0069B5
+ E70064B1E40060ADE1005DAADE0059A6DB0054A2D7004E91C000B8B8B800FEFE
+ FE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00F1F5F9004F8FB9004385AF004485AE003F79
+ 9D003E708F004B7FA00062A5D10069B5E60066B3E60062AFE2005EABDF0059A7
+ DB0053A0D4004D88B200C4C4C400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF005490B8004D94C1004F96C3005097C3004E95C200488BB5003D7192004375
+ 95005B9FCD0061AEE1005DAADE004C8FBC003B779D003C627A00D0D0D000FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0084B1CD00569ECB0058A0CE0059A1
+ CE00579FCC00539BC8004E95C2004689B300386A8A00447B9F004786B0003C7F
+ A9003C81AC005C7A8B00EDEDED00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00C3D8E5005EA5D30061AAD80062ABD9005FA8D6005BA3D100559DCA004E95
+ C200478DB9003D7DA6003C7FAA003D82AD003C7CA200A3AAAE00FDFDFD00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FCFDFE0079B1D5006AB4E2006AB5
+ E30067B1DF0062ABD9005BA3D000539AC7004B91BE004388B4003D82AD003C81
+ AC0062849A00ECECEC00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00DDE9F00075B9E40073BEED006EB9E80067B1DF005FA7D500569E
+ CB004D94C100458BB7003D82AE005584A200D8DBDD00FEFEFE00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D8E7F1007FBF
+ E80072BDEC0069B3E20061A9D70058A0CD004F96C2004689B5006994B000DCDF
+ E300FEFEFE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00F4F7FA00B2D0E30085B8D80070A9CE0071A6
+ C70087AFC900C3D1DB00FAFAFA00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00}
+ end
+ end
+ object Panel3: TPanel
+ Left = 256
+ Top = 35
+ Width = 97
+ Height = 128
+ Align = alRight
+ BevelOuter = bvNone
+ TabOrder = 1
+ object btGrava: TBitBtn
+ Left = 8
+ Top = 32
+ Width = 81
+ Height = 25
+ Caption = '&Gravar'
+ TabOrder = 0
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF
+ 6D422F6D422F6D422F6D422F6D422F6D422F6D422F6D422F6D422F6D422F6D42
+ 2F6D422F6D422F6D422FFF00FFFF00FF69696969696969696969696969696969
+ 6969696969696969696969696969696969696969696969696969FF00FFCE726F
+ D19792CB8E8A715A48C0B2ABC4BCB8CAC1BCCAC1BCCAC1BCCAC1BC8C76679443
+ 409443409443406D422FFF00FF9A9A9AB4B4B4AEAEAE7D7D7DC6C6C6CECECED2
+ D2D2D2D2D2D2D2D2D2D2D2969696707070707070707070696969FF00FFCE726F
+ D79F9BD19792715A482E1F185F5046FFFFFFFFFFFFFFFFFFF0E4DE8C76679747
+ 449443409443406D422FFF00FF9A9A9ABBBBBBB5B5B57C7C7C434343747474FF
+ FFFFFFFFFFFFFFFFECECEC969696747474707070707070696969FF00FFCE726F
+ DDA8A3D79F9B715A480A0A0A36241BFFFFFFF7F1EEF0E4DEE1CABD8C76679E50
+ 4D9747449443406D422FFF00FF9A9A9AC1C1C1BBBBBB7D7D7D2A2A2A4A4A4AFF
+ FFFFF6F6F6ECECECD8D8D89595957C7C7C757575707070696969FF00FFCE726F
+ E3B0ABDDA8A3715A48715A48715A48715A48715A48715A48715A48715A48A459
+ 569E504D9747446D422FFF00FF9A9A9AC8C8C8C1C1C17D7D7D7D7D7D7D7D7D7C
+ 7C7C7D7D7D7D7D7D7D7D7D7D7D7D8383837C7C7C747474696969FF00FFCE726F
+ EDBDB8E7B5B0E0ACA7DAA49FD49B97CB8E8AC58682BF7E79B97571B26B68AB62
+ 5FA459569E504D6D422FFF00FF9A9A9AD2D2D2CCCCCCC4C4C4BEBEBEB8B8B8AE
+ AEAEA8A8A8A1A1A19A9A9A9292928B8B8B8484847B7B7B696969FF00FFCE726F
+ F0C1BCEDBDB8E7B5B0E0ACA7DAA49FD49B97CE938EC88A86C2827EBC7975B26B
+ 68AB625FA459566D422FFF00FF9A9A9AD4D4D4D2D2D2CBCBCBC4C4C4BFBFBFB8
+ B8B8B1B1B1ABABABA5A5A59D9D9D9292928B8B8B848484696969FF00FFCE726F
+ F0C1BCF0C1BCC8635CC8635CC8635CC8635CC8635CC8635CC8635CC8635CC863
+ 5CB5706CAE67636D422FFF00FF9A9A9AD4D4D4D5D5D58E8E8E8E8E8E8E8E8E8E
+ 8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E9696968E8E8E696969FF00FFCE726F
+ F0C1BCC8635CFAF5F3F6EEEAF2E7E2EEE2DAEBDCD3E7D6CBE4D0C4E1CABDE1CA
+ BDC8635CB5706C6D422FFF00FF9A9A9AD4D4D48E8E8EF8F8F8F3F3F3EEEEEEEA
+ EAEAE6E6E6E1E1E1DDDDDDD8D8D8D8D8D88E8E8E969696676767FF00FFCE726F
+ F0C1BCC8635CFFFFFFFCF8F7F8F1EEF4EAE6F0E4DEECDFD6E9D9CFE6D3C8E2CD
+ C0C8635CBC79756D422FFF00FF9A9A9AD5D5D58E8E8EFFFFFFFAFAFAF6F6F6F1
+ F1F1ECECECE7E7E7E3E3E3DFDFDFDADADA8E8E8E9D9D9D696969FF00FFCE726F
+ F0C1BCC8635CFFFFFFFFFFFFFCF8F7F8F1EEF4EAE6F0E4DEECDFD6E9D9CFE6D3
+ C8C8635CC2827E6D422FFF00FF9A9A9AD4D4D48D8D8DFFFFFFFFFFFFFBFBFBF6
+ F6F6F0F0F0ECECECE7E7E7E3E3E3DFDFDF8E8E8EA5A5A5696969FF00FFCE726F
+ F0C1BCC8635CFFFFFFFFFFFFFFFFFFFCF8F7F8F1EEF4EAE6F0E4DEECDFD6E9D9
+ CFC8635CC88A866D422FFF00FF9A9A9AD4D4D48E8E8EFFFFFFFFFFFFFFFFFFFB
+ FBFBF5F5F5F1F1F1ECECECE8E8E8E3E3E38E8E8EABABAB696969FF00FFCE726F
+ F0C1BCC8635CFFFFFFFFFFFFFFFFFFFFFFFFFCF8F7F8F1EEF4EAE6F0E4DEECDF
+ D6C8635CD197926D422FFF00FF9A9A9AD4D4D48E8E8EFFFFFFFFFFFFFFFFFFFF
+ FFFFFBFBFBF6F6F6F1F1F1ECECECE7E7E78E8E8EB5B5B5696969FF00FFCE726F
+ F0C1BCC8635CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF8F7F8F1EEF4EAE6F0E4
+ DEC8635C0A0A0A6D422FFF00FF9A9A9AD4D4D48E8E8EFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFBFBFBF6F6F6F1F1F1ECECEC8E8E8E2A2A2A676767FF00FFCE726F
+ F0C1BCC8635CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF8F7F8F1EEF4EA
+ E6C8635CC88A866D422FFF00FF9A9A9AD5D5D58E8E8EFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFBFBFBF5F5F5F1F1F18E8E8EABABAB696969FF00FFCE726F
+ CE726FCE726FCE726FCE726FCE726FCE726FCE726FCE726FCE726FCE726FCE72
+ 6FCE726FCE726FCE726FFF00FF9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+ 9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A}
+ NumGlyphs = 2
+ end
+ object btCancel: TBitBtn
+ Left = 8
+ Top = 72
+ Width = 81
+ Height = 25
+ Caption = '&Cancelar'
+ TabOrder = 1
+ OnClick = btCancelClick
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFC066148E4019
+ 8E40198E40198E40198E40198E40198E40198E40198E40198E40198E40198E40
+ 198E40198E4019FF00FF8888886969696969696969696969696969696A6A6A69
+ 69696969696969696A6A6A6969696969696A6A6A696969FF00FFC06614F9F5F4
+ C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2
+ A5C3B2A58E4019FF00FF888888F8F8F8C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6
+ C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6696969FF00FFC06614FCFAFA
+ F9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCDFD0C7DFD0C7DCCB
+ C1C3B2A58E4019FF00FF888888FCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEAEAEAE7
+ E7E7E4E4E4E0E0E0DDDDDDDDDDDDD9D9D9C6C6C6696969FF00FFC06614FFFFFF
+ FCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCE2D4CCDFD0
+ C7C3B2A58E4019FF00FF888888FFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEA
+ EAEAE7E7E7E3E3E3E0E0E0E0E0E0DDDDDDC6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E5D9D1E2D4
+ CCC3B2A58E4019FF00FF888888FFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EE
+ EEEEEAEAEAE7E7E7E3E3E3E3E3E3E0E0E0C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E9DED7E5D9
+ D1C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1
+ F1F1EEEEEEEAEAEAE7E7E7E7E7E7E3E3E3C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F2EBE8EEE6E2ECE2DCECE2DCE9DE
+ D7C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFBFBFBF7
+ F7F7F1F1F1EEEEEEEAEAEAEAEAEAE7E7E7C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF0E9E5F0E9E5EDE4
+ DFC3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFB
+ FBFBF7F7F7F3F3F3F0F0F0F0F0F0ECECECC6C6C66A6A6AFF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF4EEEBF0E9
+ E5C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE
+ FEFEFBFBFBF7F7F7F3F3F3F3F3F3F0F0F0C6C6C66A6A6AFF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F78A9DE92546CD1D3F
+ C9193BC8183BC88194E1898989FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFEFEFEFAFAFAC6C6C6979797929292929292929292C0C0C0C06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFD3355DBF2F4FD4E6B
+ D94A67D8F2F4FD183BC8888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFEFEFEA1A1A1FAFAFAAAAAAAA8A8A8F9F9F9929292C066148E4019
+ 8E40198E40198E40198E40198E40198E40198E40198E40193C5CDD8296E4D9DF
+ F9CDD5F74C69D81A3CC88888886969696969696969696A6A6A69696969696969
+ 6969696969696969A5A5A5C1C1C1EDEDEDE7E7E7A8A8A8929292C06614ED9733
+ ED9733ED9733ED9733ED9733ED9733ED9733F6CA9AED97334563E16980E2E4E8
+ FBD8DEF9516DDA1F40C9888888ACACACACACACADADADADADADADADADACACACAD
+ ADADD5D5D5ADADADA8A8A8B6B6B6F2F2F2ECECECABABAB939393F810DCC06614
+ C06614C06614C06614C06614C06614C06614C06614C066144D6AE3F2F4FD667D
+ E26E85E2F2F4FD2749CEEF14EF88888888888888888888888889898988888888
+ 8888888888898989ACACACF9F9F9B5B5B5B9B9B9F9F9F9989898FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF9AABEF4D6AE34563
+ E14463DF3E5EDE8FA2EBFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFCFCFCFACACACA8A8A8A8A8A8A6A6A6C9C9C9}
+ NumGlyphs = 2
+ end
+ end
+ object Panel2: TPanel
+ Left = 0
+ Top = 35
+ Width = 256
+ Height = 128
+ Align = alClient
+ BevelInner = bvRaised
+ BevelOuter = bvLowered
+ TabOrder = 2
+ object lbSenhaAtu: TLabel
+ Left = 34
+ Top = 27
+ Width = 64
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'Senha Atual :'
+ end
+ object lbNovaSenha: TLabel
+ Left = 32
+ Top = 57
+ Width = 66
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'Nova Senha :'
+ end
+ object lbConfirma: TLabel
+ Left = 51
+ Top = 88
+ Width = 47
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'Confirma :'
+ end
+ object EditAtu: TEdit
+ Left = 103
+ Top = 24
+ Width = 121
+ Height = 21
+ Ctl3D = True
+ MaxLength = 10
+ ParentCtl3D = False
+ PasswordChar = '*'
+ TabOrder = 0
+ end
+ object EditNova: TEdit
+ Left = 103
+ Top = 54
+ Width = 121
+ Height = 21
+ Ctl3D = True
+ MaxLength = 10
+ ParentCtl3D = False
+ PasswordChar = '*'
+ TabOrder = 1
+ end
+ object EditConfirma: TEdit
+ Left = 103
+ Top = 85
+ Width = 121
+ Height = 21
+ Ctl3D = True
+ MaxLength = 10
+ ParentCtl3D = False
+ PasswordChar = '*'
+ TabOrder = 2
+ end
+ end
+end
diff --git a/official/2.20/Source/TrocaSenha_U.pas b/official/2.20/Source/TrocaSenha_U.pas
new file mode 100644
index 0000000..a034907
--- /dev/null
+++ b/official/2.20/Source/TrocaSenha_U.pas
@@ -0,0 +1,89 @@
+unit TrocaSenha_U;
+
+interface
+
+{$I 'UserControl.inc'}
+
+uses
+{$IFDEF DELPHI5_UP}
+{$ELSE}
+ Variants,
+{$ENDIF}
+ Buttons,
+ Classes,
+ Controls,
+ Dialogs,
+ ExtCtrls,
+ Forms,
+ Graphics,
+ Messages,
+ StdCtrls,
+ SysUtils,
+ Windows,
+// UCConsts,
+ UCBase; { Por Vicente Barros Leonel }
+
+type
+ TTrocaSenha = class(TForm)
+ Panel1: TPanel;
+ lbDescricao: TLabel;
+ Image1: TImage;
+ Panel3: TPanel;
+ btGrava: TBitBtn;
+ btCancel: TBitBtn;
+ Panel2: TPanel;
+ lbSenhaAtu: TLabel;
+ lbNovaSenha: TLabel;
+ lbConfirma: TLabel;
+ EditAtu: TEdit;
+ EditNova: TEdit;
+ EditConfirma: TEdit;
+ procedure FormClose(Sender: TObject; var Action: TCloseAction);
+ procedure btCancelClick(Sender: TObject);
+ procedure FormActivate(Sender: TObject);
+ procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
+ private
+ { Private declarations }
+ public
+ fUsercontrol : TUserControl; { Por Vicente Barros Leonel }
+ ForcarTroca : Boolean;
+ { Public declarations }
+ end;
+
+{
+var
+ TrocaSenha: TTrocaSenha;
+}
+
+implementation
+
+{$R *.dfm}
+
+procedure TTrocaSenha.FormClose(Sender: TObject; var Action: TCloseAction);
+begin
+ Action := caFree;
+end;
+
+procedure TTrocaSenha.btCancelClick(Sender: TObject);
+begin
+ Close;
+end;
+
+procedure TTrocaSenha.FormActivate(Sender: TObject);
+begin
+ EditAtu.CharCase := Self.FUserControl.Login.CharCasePass;
+ EditNova.CharCase := Self.FUserControl.Login.CharCasePass;
+ EditConfirma.CharCase := Self.FUserControl.Login.CharCasePass; { Por Vicente Barros Leonel }
+end;
+
+procedure TTrocaSenha.FormCloseQuery(Sender: TObject;
+ var CanClose: Boolean);
+begin
+ If ForcarTroca = True then
+ Begin
+ CanClose := False;
+ MessageDlg( fUsercontrol.UserSettings.CommonMessages.ForcaTrocaSenha ,mtWarning, [mbOK], 0);
+ End;
+end;
+
+end.
diff --git a/official/2.20/Source/UCAbout.dfm b/official/2.20/Source/UCAbout.dfm
new file mode 100644
index 0000000..5cccd28
--- /dev/null
+++ b/official/2.20/Source/UCAbout.dfm
@@ -0,0 +1,835 @@
+object AboutForm: TAboutForm
+ Left = 296
+ Top = 71
+ BorderStyle = bsNone
+ Caption = 'About User Control'
+ ClientHeight = 520
+ ClientWidth = 506
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clBlack
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ OldCreateOrder = False
+ Position = poMainFormCenter
+ OnClose = FormClose
+ OnCreate = FormCreate
+ OnShow = FormShow
+ PixelsPerInch = 96
+ TextHeight = 13
+ object pnlFundo: TPanel
+ Left = 0
+ Top = 0
+ Width = 506
+ Height = 520
+ Align = alClient
+ Caption = 'pnlFundo'
+ Color = 6435072
+ TabOrder = 0
+ object Image4: TImage
+ Left = 1
+ Top = 1
+ Width = 28
+ Height = 518
+ Align = alLeft
+ Center = True
+ Picture.Data = {
+ 0A544A504547496D6167653C0D0000FFD8FFE000104A46494600010200006400
+ 640000FFEC00114475636B79000100040000003C0000FFEE000E41646F626500
+ 64C000000001FFDB0084000604040405040605050609060506090B080606080B
+ 0C0A0A0B0A0A0C100C0C0C0C0C0C100C0E0F100F0E0C1313141413131C1B1B1B
+ 1C1F1F1F1F1F1F1F1F1F1F010707070D0C0D181010181A1511151A1F1F1F1F1F
+ 1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F
+ 1F1F1F1F1F1F1F1F1F1F1F1FFFC00011080206001903011100021101031101FF
+ C4008C0001000203010100000000000000000000000608030507020401010101
+ 0101010100000000000000000000050304020106100001040103030303020505
+ 010000000002000103040511120621130731412251321461718123331508A142
+ 53D3941611000202020200050303050000000000000001110212032131416122
+ 320451711381D162F091B1C152FFDA000C03010002110311003F00E14BF4A7E7
+ 8200802008020080200802008020080200802008020080200802008020080200
+ 8020080200802008020080200802008020080200802008020080200802008020
+ 0802008020080200802008020080200802008020080200802008020080200802
+ 0080200802008020080D8C5C6F914D40723162EDC98F32D83702094A172EBD1A
+ 461DBAFC5FDD79CEB313C9EB071306B97A3C8407BAEF0B4F1BCCCE50B10F705B
+ D5C75EADEDEC8CFA8BAB34395CD556CB60B3D8C1E2F05AC65CC29308B4756A56
+ 8DC6E01B3069B8B5F8B1136DF4F8BB2869AAF0D3CB99FF00458E5F29AC7882A7
+ F942F616FF009073D7309B1F1935B32AE51F402F4DE63A69F133DC4DFBAAFA13
+ 5449F64BDCD3BB8E88BAD4C8CD4BA5C83A8B7F303A9FDBF737DDFA23E8FA8B87
+ 94CB66A9F912971DAFE3F86EE0657802C67E3ACCD1334A22F24AC4C05180C6EE
+ FA8916AFA28B5AA74CB2E7E856766AF18F1F539BF9E70D8F9F85499C9B114B19
+ 93A3C826C555B7480631B950024D4C845FEE69237176277DAE25A7AAEAF8B679
+ 44B6B19FB1CFF26AB198873057E540E0325785E7B1142CFA3CA620CEFEDB9F44
+ 6CFA8B891C984E378C3E3D6796E74E3C558A589BD20F61CA396E44270BB49D82
+ 9C22262666713F8FA28BCD9E58D799656E2AA25F1C15B3CAF6F235B95E438D3C
+ F6870D85B53478EA1665EE76D8C9E4291F422622948DCDCDDF73EBD554F8E93A
+ AB78B276F6F275F044296C6264ADB3F262EE1BC71EF1DE63D1C5B5EAEDFB233E
+ A2D750A3E4FC772DB3C8AC720C44FC325A15E27E437F6BC735688CE5AF23C511
+ C4CF623794BE5B840B5D7D7A3486F5BAE30F29E8A895D5A65631D95C3C8D91A5
+ 92E739ABF4AE9646AD9B4724574DB6BCACFA7CB6ED0D1B5FB5B4F454F4A6A893
+ E09DB5A766D11C5A1992FF001D734C4F19B371F21C6297267BAD184115E103ED
+ 10B96AF1EF8E5EA7B9B5D3E8B1DDA9DBA6EA6DAB62AF6A4B10FCB1AA720C5F8D
+ B23C5B8ED1872959EDCB8F79A32A90CE4E651C1243D910294CC01FA0FF00BB56
+ DDA759BF8E6AEEAD6E0EFCE1AA355E4AD5E43866839BE6A19B1B062258AD1816
+ 36AE9D88B6F4D22DA20DB1FD5BE2DEAAA697E85CC93B6FB9F1047568667A8A53
+ 8A50941F438C9885FF00567D590FA5BB8F8AE3F915EA1CEB31E3EC90F2A1182C
+ 1C51DAA610CB3C203DA22096DC6ECC3B47A1833F4F933FBC7FC8EA9D15963FAF
+ EC55C159E4EAF2FEBCCAD7E52B399B3E41CECF9A802B648ED13CF5A3369063D1
+ 99823636E85B4346D7DD53D092A28E89DB9B7773D9165A991F760E8E4EEE56B4
+ 18CA735FB9BD8E3A95C0A490F63EE7D04189FD1BE8BE59A4B9E0F554DBE0B379
+ 5F21F1D9395E4A96733797E31159FEDD98A1F990CF5A4AF3D6DD158A8D1EDEB1
+ CB180BF4D409DC9F577F5955D36C53495BB452B6D5934DB5D32BBF90F2F8ACCF
+ 39CE657122ED8EB972596B39338B90917DFB5D99DB7BFCB47F4D552D3575A24F
+ B27EDB2766D11E5A199DB3FC6CAF95FC7E6B7305004DC8E0C68478873D9D2595
+ E47666791C43A900FDCFA74EAB87E6B5E94FDB3C9DBF113F535DC12BF23F8FBC
+ B1CCFC79C60723891B5CC284F647245DEA719764C9FB65B86408BE4221AB0BFA
+ B6AB2D3BB5D2EE1FA7F535DBAB65E8A57A8AEB9BC2E4F0995B389CA43F8F90A6
+ 7DBB30EE03DA4CDAE9B81C85FD7D9D52AD9594AE89F6ABAB867C4BE9E495703A
+ 1E49B72DC6E10591194043F3BFB6CD240FB5DCBB7DCD841AF5DDA2CB6BA2F7C7
+ EA6BA95DFB6497FF00F3FF00E4DFFCBC93FF00758FFB5639E8FE3FD8DB1DDFC8
+ E6DC861CEC39BB9167DE77CC048ED75ED1BC937734EBBC89C9DDFF008AE9A351
+ C74735E679ECD7AF479371C6F92F27C2D920C0E4EC6365B8E11CA55E428B7E8F
+ F1DCE3F4725E2F4ADBB527BA5ECBA7059CB5CA38871EE454BC7D98CC723BFC92
+ CF62BCB9A8EDD8001B16B6B46EC2D308336A7AFF0048B4F7D7AA96B5DAD5774A
+ B8FD0A4EF5ABC1BB495BFC938AC86279DE6B1D90BA792B75EC909DE95F7492B3
+ B33819BEAFF27076DCDECEA9E9B2744D2827EEAB5669F246D68647B86369268E
+ 37776632617766727EAFA7416F5FD919F4B65CB737E42E3F93823A1C28796D9A
+ D5C1B19CAA6AECF6BA8B7F58631736317FBBAC7AFD1948D75A59736C7C8A97B5
+ EAF8AE5E655DE4F26765E43919B3E12479A967392F84A3DB3694DF716A1A36DF
+ 5F4556918A8E89B79973D9AC5E8F049FC778EE2190E4215F946525C454D37C17
+ 220DE3DD1267603666776626D7426F7596EB5957D2A4D752AB7EA70596CFE678
+ CD5E55213791F214EAC12425261E0196D40C2C00441F90C3293F73D5FE7AB6BA
+ 74D14CA56CEBEC5F728DAD556F732B4F93F298ECAF9033990C69C9251B1688A0
+ 925636321D19B73B49A1B6BA6ADBBAE8A9E8AB544993B7593BB688C2D4C8CB50
+ 58ED422E1DC629059E3D74DDABB7C75FD51F47D45C1E645E7DAF9B28785D1C70
+ 71C08616A509F64648F48D98C2463366DC27AB36CF8EDD3F551B5FE16BD4DE45
+ 6D9F967D310559E7E5C84B99658B91880671E77FCF18B6EC69346D76ED771F4F
+ A2ABAB1C563D1336CE4E7B23EB4333DD70739E306368DC885B7BF461D5F4D7F8
+ 233EA2D1DECB78FF008C72DC7F8CECE172193B56FF001E09F347626EF1496599
+ 9A407DDBF4F96A5B09987AE8DD14A55BDAAF64A5E45276A56CA90DF995F3C8F8
+ 40C1F3ACD6242C9DC8E9DA300B1296F9087A38B197B90B3ED7FD551D36CA899C
+ 1B6B8D9A238B433265E30F1B5BE7396B307E6478DC5E3A17B393C94ADA8C5175
+ D3A3B8B6AFA3FA9333333BFB2C77EE5AD7D5B36D3A737F4475FF0014F94B9C72
+ 0BB73889663111DFA15E4870D9AB913CD3D8900D8044749A31937036EDCC2EFD
+ 357625C5BF452AB287E68EBD3BAD678CAFB9C0F95D3CDD3E4D94AB9D32933115
+ 9946FCA64E4E736E7DC7B9FEE627EACFF45475B4EAA3A386E9AB39ECD52F4783
+ A7784798719C4CB9FE3BC9E52AB85E514DAA4D7475FE5482C620E5B59DD85DA6
+ 2EBECFA6BD3576E5F95AECE2D5EEA74FC7D9552ADD589771BF18F8C7886729F2
+ AC9790F1F90A18C95ADD6AB57B7DE98E17DC1A34534A6FB4D9B51117D7D3A2C6
+ FBF65D62A8D49B534D28F2765C1C8B9F7261E51CCB2F9E08DE28AFD829218CB4
+ DC31333046C5A74DDB05B5FD5766AA61548E4DB7CACD9A05A19992BC6D2D88A3
+ 7D7433117DADABF57D3A3233EA3AEF3DFF001D396D1E4071F11C5DAC8E08E309
+ 2BD89A581A56221D4C0C5DE126DAFD3A8AE3D5F32AEBEA70CEADBF12C9FA5707
+ 29CBE232387C9D8C664A07AD7EA1F6EC404ECEE24DD74D45DDBFD575D6CACA51
+ CD6AB4E19F22FA7932550924B30C7196C90CC440F576D09DF467D5919F516DF2
+ 54AA6287FB235EE5172DE3AFE32A64725FDC6F3CB69AF813EE80467606117D37
+ 682DA68EDD74EB1EAE798AF29F82F02AB51C7ABB5E2CAD7E4FC44B87E7F9CC6C
+ B7A6C91D7B2EDF9B64DE59A4126621EE9BFDC6C2ECC4FF00554F45B2A27104ED
+ D58BB5D9185A991EA188E698220FBE42611D7EA4FA3233E971B016F96E1EA653
+ 1D9DE6111E3F071D3A07960A6C738DFB622C31B916F1268FBB0FDC04E5BBE4E3
+ D545BAAD9A6ABCBF0F22B55D94A76EBFC9563C8787C9E1B9BE6B1B93B657EF41
+ 68FBD78D9D8A673F9B4A4CEEFA398933BB6BD156D3656A26899B6AD59A647968
+ 664C3C75E3EB7CC2CDB6AD97A3893C7B47231DE91E3637372D3668C5AB8ECEAB
+ 1DDBB0F06E4DB56ACFC60B236A9790F2E54062B5C52FC952C0E46FD2AD24A2F7
+ ECC31EC88E4F848C3B7683B74F501F933374989D14FBBF6283577FF3FB95679B
+ DCCFDCE5D97B3C822ECE6A4B527E742CDA3048CFA380B6A5F11D341EAFD3DD56
+ D492AAC7A26EC6DD9CF66917B33265E37F1FE3F984F7E3BBC86A601A98C64077
+ 36E92F71C99D8774917DBB7AFEEB1DDB9D22149B6AD4AFDB83A6F17F0DF0FE33
+ C8B1BC82EF9171675F15623B671C471019F6498D818BBE5F73B68FA33BBB745C
+ B7F936B55D551F274D3E3D6AD3765C1C9FC9BC8A8F23E7B9BCD50676A572C3BD
+ 7771DAE4002C026E3EDB98772EBD1475A24CE5DD756B3688C2D4C82008020080
+ 2008020080200802008020080200802008020080200802008020080200802008
+ 0200802008020080200802008020080200802008020080200802008020080200
+ 8020080200802008020080200802008020080200802008020080200802008020
+ 080200802008020080FFD9}
+ end
+ object pnlComponentes: TPanel
+ Left = 29
+ Top = 1
+ Width = 476
+ Height = 518
+ Align = alClient
+ AutoSize = True
+ BevelOuter = bvNone
+ Color = 6435072
+ TabOrder = 0
+ object Panel1: TPanel
+ Left = 0
+ Top = 2
+ Width = 474
+ Height = 104
+ BevelOuter = bvNone
+ Color = clWhite
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ParentFont = False
+ TabOrder = 0
+ DesignSize = (
+ 474
+ 104)
+ object Image1: TImage
+ Left = 111
+ Top = 1
+ Width = 374
+ Height = 80
+ AutoSize = True
+ Picture.Data = {
+ 0A544A504547496D616765FE200000FFD8FFE000104A46494600010101004800
+ 480000FFDB0043000302020302020303030304030304050805050404050A0707
+ 06080C0A0C0C0B0A0B0B0D0E12100D0E110E0B0B1016101113141515150C0F17
+ 1816141812141514FFDB00430103040405040509050509140D0B0D1414141414
+ 1414141414141414141414141414141414141414141414141414141414141414
+ 14141414141414141414141414FFC00011080050017603012200021101031101
+ FFC4001F0000010501010101010100000000000000000102030405060708090A
+ 0BFFC400B5100002010303020403050504040000017D01020300041105122131
+ 410613516107227114328191A1082342B1C11552D1F02433627282090A161718
+ 191A25262728292A3435363738393A434445464748494A535455565758595A63
+ 6465666768696A737475767778797A838485868788898A92939495969798999A
+ A2A3A4A5A6A7A8A9AAB2B3B4B5B6B7B8B9BAC2C3C4C5C6C7C8C9CAD2D3D4D5D6
+ D7D8D9DAE1E2E3E4E5E6E7E8E9EAF1F2F3F4F5F6F7F8F9FAFFC4001F01000301
+ 01010101010101010000000000000102030405060708090A0BFFC400B5110002
+ 0102040403040705040400010277000102031104052131061241510761711322
+ 328108144291A1B1C109233352F0156272D10A162434E125F11718191A262728
+ 292A35363738393A434445464748494A535455565758595A636465666768696A
+ 737475767778797A82838485868788898A92939495969798999AA2A3A4A5A6A7
+ A8A9AAB2B3B4B5B6B7B8B9BAC2C3C4C5C6C7C8C9CAD2D3D4D5D6D7D8D9DAE2E3
+ E4E5E6E7E8E9EAF2F3F4F5F6F7F8F9FAFFDA000C03010002110311003F00FD52
+ DA2968A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2
+ 800A28A280129314EA2801980690A8A7919A6918A0040A29703DE8A5C52B00A3
+ 18A5A414B4C0422A3755352D3185260549A38D8739ACBBB82D70776EAD891335
+ 977908C1AC66B4378339CBE834C19DFE67E15CF5F43A1027779D5D06A76FC371
+ 5C86A96F8278AF36ABB743D3A4AFD4A772BE1B04EE37159D31F0B8CE5AE47E35
+ 46FE2C678AE7EF58464F19AF32752DD11EA429DFED33A573E14EED723F1A88BF
+ 84FF00BD75F9D7097BAC476F9DD139C7A62B3EF3C516569A72DE3966466D8100
+ F9B77A1F4AE7757FBA8E85497F333D2B7F84FF00BD75F9D1BFC27FDEBAFCEBC8
+ 1BE22582FF00CBB5D9FA22FF00F1552699E3FD3753BF8ACD56686690E17CD500
+ 13E9C1A9F6DFDD43F64BF999EB7BFC27FDEBAFCE8DFE13FEF5D7E75E47A87C43
+ D1F4FBD92D5A5925963387F2937007D2A23F12F460325A751D7988D1EDBFBA83
+ D92FE667B0EFF09FF7AEBF3A37F84FFBD75F9D7954FE39D1EDB4A8B507B922DE
+ 5E170A771F5E2AAC7F137C3EE3FE3EE45FADBC9FE147B6FEEA0F64BF999EBFBF
+ C27FDEBAFCE8DFE13FEF5D7E75E5FA678CB47D61E45B5BD5768D4BB0652B803A
+ 9E40A84F8FFC3C1CAFF6ADBE41C7DEA3DB7F7507B15FCCFEF3D5B7F84FFBD75F
+ 9D1BFC27FDEBAFCEBCD2CFC57A3DFCAB1C1A9DAC9231C2A0946E27D00A9E7D77
+ 4DB598C336A16D14A3AA3CCA187E19A3DB7F7507B15FCCFEF3D1E27F0A6E386B
+ AE9EB4579D5BF88F4A0E4FF695A631FF003D97FC68AB557FBA84E8FF00799F6F
+ D14515F667C48578AFED47FB58F843F64AF0BE8FAEF8BEC757D42DB54BC36504
+ 3A34514B287085CB1124B18DB85C6413C91C57B557E667FC16CF5069BC35F08B
+ 41882B5C5FEA779346A7824A2429D4F006661D7DBDE803F49347D622D6742B2D
+ 5638E5B782EAD92E563B850AE8ACA18061938201E79AF1CFD96BF6BDF08FED71
+ A46BFA978434AD774DB5D1AE23B69DB5B82188C8EEA5BE4F2E59338039CE3A8E
+ B5DFFC43BB83C1DF077C4B72A425B697A15CC80C996C2476EC79EE785AFCB9FD
+ 85F46F88FF00F0EF5F8D3A97C286963F1B5C6BE21B56B363F6A31C515B3CC21F
+ 493CB91F6E3924903E6DB401FAF1457E7A7FC13CEC3C3BE25D3EC7C6F17C70F8
+ 87ACF8CB44B694F8C3C19E24D51A4B7498C6EAE4DB3297DAAE772C9B9892B83B
+ 492A3C93E14FC51D5FF6CAD5BC69E37F1EF8B3E31693A1C7A8BD8E83A1FC32D3
+ 2FDED2C91515834B25BC32234A1644E1BE6E493F2B28A00FD67A2BF29A4F8C1F
+ 1E3C3DFB0B7C7AB3F185CF8E344D47C2F7FA58F0D78BF58B6BBD2F52BCB59B50
+ 4460257092310A9F31C96027DAC71815EFFF00B047C1DF889ACF87BC13F193C7
+ FF00167C41E26BBD4745096DE1E9EE5E4B38ED9D0089E42CC77CC400ECE46496
+ 20938CD007D91E24F12E95E0ED06FB5BD7350B6D2B48B189A7BABDBB90471428
+ 064B331E00AF8E6EBFE0AADF0FF56D5EEED3C0FE03F1F7C42B5B46227D4743D1
+ F740076203307C1E7EF2AF6FC392FF0082CF78BF57D13F67EF0BE8963349069B
+ AD6BAA97EC9902448E26748D8FA17C363D631E86BECDF82BF0DFC35F0A3E1778
+ 73C33E13B6B78744B2B2896192DD028B825413331FE2673F31249249EB4009F0
+ 57E2F693F1D3E1D69BE31D1AC752D2ECEF5E68CD8EB10082EEDDE295A3749630
+ CC15B284E327820F7AEE335F17FF00C144BF683F1B7C3DBCF865F0C3E1BEA3FD
+ 85E2CF885AA8B01AC0452D6B1192288042DC2B33CCBF375011B182411E47FB4F
+ 7C16F887FB117C2FB5F8B3E09F8E5E3AF10EADA75EDB26B361E28D40DE595F89
+ 1F696111E9F391C3163866C303C900FD2DA4AFCCBFDB1BE36FC4AF1F7C4AFD95
+ D3E17F89F56F085FF8DAC2DB54FB35B5ECB1DA319DADDD3ED31290264405B72B
+ 020AEE183922B8BFDB17E1FF00C62FD892F3C13F12346F8EFE2DF19EA1A96A62
+ CEEECF549A4F265976F981443E632344C10AF9647181827B007E9BFC48F8C1E0
+ EF84506972F8BF5EB7D15755BB5B1B1598333DCCEC40088AA092791D05762391
+ 5F969FF0534F86773AEFED57F01ED23F1BF88ADCF8C75986D16CD6EDBECFA291
+ 35A42B7166BD23918BB3B11CEE45356FF6EDB7F897FB3AFF00C339F81FC0DF16
+ 3C657DAB6A5AAEA513EABABEB33196FA469ECBC95BA2A40963432950AC080A48
+ C726803F5069335F9BDFB456ADF12BF61BF83DA7787343F893ACF8E3E23FC4BD
+ 6E3B74D775C3BFEC0422897ECE1CB040CD246173C28662390083F685FD9BBE24
+ 7ECABF042EFE2D785FE3F78F759F19E83E45CEAD0EB5A89B8D3EFD5A54470903
+ 676805C1C397C80470482003EBFF00DA37F6A3F0BFECC96BE179BC4BA66B5AA7
+ FC245A80D32CE3D1608A57129008DC1E44E39ED93ED5EC40EE00FAD7E5D7ED95
+ F14A4F8E3E0FFD8D3C4374134F9FC4FAD4379736711E165DF6A92140792AACED
+ 827B30CF5AFD451C28FA5007C6BE23FF0082A37C3BD03E2078ABC1F0780FE226
+ BDAA786B51B8D32F9F46D22DEE2212452B44CCA45C03B4B2360B0048EC3A57AC
+ 7ECC7FB63FC3DFDABACF566F07C9A8596A5A5328BCD27598161BA895890AF856
+ 752A4823218E08E71919F80BF65EF8A7E36F02FED0DFB53788FC01F0EA6F88FA
+ A5DF8A5D1F468AF85AC90C4F777CDE76E28DB82B0452A00CEFCE462BDC7F634F
+ D9DBC69F0C75BF8C5F1BFE30DCE9FF000DF57F1847707ECF1DC4489A5C72C865
+ 92777DC5130DB3682C4FCA77726803EFEC8CE296BF217F68DF8A3F0E349F873A
+ EDFF00C26F8C7F19BC75E3ED29A37FF84861D5EF64B0B502450E6E242B1C4232
+ ACC079631B99474241EE3E287ED25F17BE21F81FF664F857E1EF14CFE1CF177C
+ 45D2ADEF75AF135B7EEEE7C973B15D597054ED59246D855890002B93900FD41C
+ F04D78EFECF9FB517863F692BAF1941E1AD3359B0FF845B51FECCBC93568228D
+ 25972C0F945247C81B3BED3F30E39AE6BE05FEC872FC09F13C5ADDBFC5AF883E
+ 2B46B5782EF4AF12EAA2EACA66603122C7B46C652383927048CF35F99BF077F6
+ 88F137C38F83DE38F0A783E5934CF1DFC4EF1FCFA45B7882590DB5B69EB88449
+ 209BA47266E0004728096E0AAE403F6D5D720D52B88F703C57CFDAAF8234AF81
+ 3FB2F47E1FF881F1B3C43A34AE623A978E6F35A73A8CB3EE5774B692732140C1
+ 0A2A2293B37705896AFCF4F8FDF1D74CF056A3E0DF107ECF7F10FE2B6B178DAA
+ ADADE6B5E23BFBC9748BF623E58D85C01E63B1524AEDC60138CE312D5CA4EC7E
+ B6EA30641E335C9EAD66E413B49AF953E367C4AF885FB467ED8D3FECFF00E02F
+ 175E7C3FF0DF8774F1A9788F5CD24EDBE986D898AC520C1400CF120008F9998B
+ 6E002D79978CFE19EB3FB3EFEDA1F03BC1BE1AF8AFE3ED6348F105D25CEA969A
+ FEBCF32CCB14A494288114C6EAAC36B03DF9AE49D1E6D2E75C2B72EB63EC8D42
+ D5D890149FA5731AADAC9129DC8471DEBE5FF881F14F52F8E3FB58F8DBC0B7BA
+ EF8EF41F875E0D4F25ECFE1DE9D753DEDF5D0655633BDBC6EC91EEDE0646308B
+ 8192586A7ECFD71F107C3DF1C7C55E10B88FE206BBF0926D3FED3A46B7E3AD2E
+ EE1B8B49D550F95E74D1AE464C8BB78076A900739F3AA60DA8B95CF4A963173A
+ 8DB4D8F55D6530589FA570177765361203C6AECE14F4278AF40D7ADCBB380E40
+ 071D6B86D6745DD1A8128048DC0AB7415E1BDCF711CD6A17AD711A284085776E
+ 61DF3D3F2ACCFB535A5CDA4A8C77ACE9839E4722AD5E6892C793F6E7EBCE0D63
+ B69ACB9B87BB6985BCE8BB59F1927E607F4350C64F1EADE5CD70CD1ABC924E58
+ B9EA0066CE3EA71F954324E6595DB2CB131385CF41DA9B2F872EA646BC8A6115
+ BC929032C383DFF0EB43F873528ECBED4D707C8CECDF818CF5C50324D52F19B4
+ 9B488A868E3B99064807AAA9C7EA6A2BBD596E632208DA06F309C87E36E381D3
+ B63AD2CFA705F0FB34B3B3CA6E7098C7DEDA327F2C7D6A80D12F0410CEB3AEC9
+ 7215830EB9C629202DDADE4B0A4C530ED246C8FB8F6EA7F90FCAAB69D7F6B15A
+ 8596373212C77AB7418C0E3A7506A44D2AE6D512E259C3444942A1C020E3BFF9
+ E6B3EE74B9AD4C5FBC0AB28CA96C607247269812C37522CA926F3BD1832F3DFA
+ 8A20BCB792FEE1EEFCDD8DF364364E4E3D7E8696E743BFB7754255B70CA32302
+ AC0F420FF9EB556F6C26B3BC68DDB6C8A76B0E281D84D4DD3CD7113EE8836109
+ E0E314555786691701867D4D154897B9FB25451457DD9F0615F317EDD9FB175B
+ FED87E09D16D6DB595D07C4BA04D2CDA6DDCD11920612851245201C80DE5C677
+ 0CE0AF435F4ED1401F9EBE29F811FB6E7C4CF8793FC37F11F8EBC056BE1FBAB6
+ FB05FEB56E66379796F80ACACDE4F3BD7838542C0904F273EC3E05FD98FC7BFB
+ 2FFECD5A47827E08EB9A15E78BADB52FED1D46F7C556EE969A8EF5612AED8B73
+ 47D220B839C4782DC935F54D1401F10FECFF00FB22FC545FDA9F56F8E5F162FB
+ C27A6EA177A7BD89D0BC211CBE45CEE411969BCC1D3033C972C7192028159BF0
+ E7F655F8F7FB21F8A7C516DF04F56F077897E1D6B77CD7D1685E2B7B8867B291
+ 8019568860E15550B6EF9828F941E47DE145007C9BF1BBE04FC6DFDA23F647F1
+ 2F813C59AAF836D3C7BACEA104CBFD96D7316970DAC734522C459A3794B7EEC9
+ 2769E4819C0AF79F817E04BBF85FF05BC09E0FD40DABEA1A168765A6DD3D9126
+ 179A28112474255490CCA4E4804E7919AEE68A00F2BFDA5FF677F0E7ED3FF0A6
+ FF00C11E23696DA19644B9B4BFB700CB677299D92A83C1E199483D55D8646723
+ E5BF03FC14FDB53E07787ED7C19E14F1D780BC59E19B2416FA75EEBF1CEB736B
+ 08E1548099C28E80B49800007000AFBE28A00F8FBE3AFEC6DE38FDA0BE0FFC3F
+ 9FC41E34B0B4F8E1E0EBA7D46D3C49676FB6C8CCD207F2B68452117643B5F612
+ 0C5920EE6CF0DF107F65BFDA63F6AD8744F09FC67F15782BC3FE01D3AEE3B9BD
+ 4F08473B5DEA6C80804F98368C827BAA82C1B6315007DF545007C99F127F643F
+ 10F89BF6B3F833E3DD12E747B2F87FE01D2D6C8E9B35CCC2EF728982F95188CA
+ 1500C2325C13B4E470337BF6E6FD967C51FB4FC7F0DED7C3F79A3DA59F87F5B1
+ A96A3FDA9712C4D245F28DB17971BE588DDD4AF6E79E3EA5A2803E36FDB7FF00
+ 651F88FF0018BE25FC2DF88BF0CB55D1A0D7FC1571E72D8EB8EE90BB09525460
+ 555B23298653B72318354BE337ECA5F17BE3D78E3F677F17789753F080D43C0F
+ A9FF0069F88ACA092E12DE4DD7704CD1DAA989F70114213F78C3240C9E49AFB5
+ A8A00F9FBF6CEFD94ADFF6ADF86F65A4DBEAC7C3DE26D1AEC6A3A36ADB4B2C33
+ 01828E01076B71C8E54AA919C60F827C41FD9B3F6AEFDA4FC2B65F0EBE2878C7
+ C0BA2F81E39E27D4F52F0EC33BDF6A8B1B065DC8EA13EF2AB607963201C1C62B
+ EFCA2803E3BF8F7FB13EB1E39F1BFECD83C1B2E8963E0AF8557B0BDCDA6A934A
+ 2E27B7496D09540B132BB14B539DC572CDC9E491F6191C114B45007C7FFB177E
+ C89E36FD9E7E2FFC5FF1778AB52D0AF6D3C6579F6AB38B489E6778BF7F348448
+ 248900E255E85BA1FC7D4BF6C9F801A87ED33F0075EF02695AC268BA8DDC90DC
+ 5BCF3EEF21DE29038497682761C7500E08070718AF6EA2803E0ED7FF00661F8E
+ FE3FFD8FF50F8217DA5FC38F0CC70DA69F656979A6DE5CAA5CF913C723CB2010
+ 1D8CDE502700966624EDEFB1F1C7F60FF1378BFC13F05754F01F896C3C35F143
+ E18E996561697571BDECAE4411C63696DA5800E848250EE0CC1979E3ED9A2803
+ C1BE04C7FB464F79A8CBF175FC07159476061B0B5F0C8B9F366B9CAFEF676932
+ 02E01184EEC78E057CE5F0C3FE09A3AB59FEC65E32F845E38D4342B8F135EEBD
+ 36BFA26ABA6492CB0D9CFF006682388B33C48C3262757014FC8FC64F4FD06A28
+ 03F3DFE2E7EC47F1C7E32FC12F85FA6F8ABC45E13D5FC75F0FAF9DE159EEAE67
+ D3F5BB5222DBF6ADD0AB79A3C90872A430662581635D67C6DFD9A3E32FED1BA6
+ FC243E20B5F03785FF00E114F118D4AF74ED36FAE5A33669E408D623E472E42C
+ FF002FCAA0797C9C9DBF6D9E9514BF769303E1AF8CDFB2D7C48F0EFED5B77F1A
+ 3E077893C370789753B14835AF0EF8919C45345B563DDFBB058A3F90848CA9DD
+ 19218E481E05FD9DE339BFE0A9FF000B2D7C63E26D3FC4FE2B834B7B8D461D1A
+ 268AC34B3F67BC7FB3401C96D823D8FB9FE66694FA8AFB9FE3CFEC8FF0FF00E3
+ D789AC3C49E211AC69FE22B0B4FB0DBEABA26A525A4EB0EE66D9C641019D8F23
+ F88D731F06BF643F861FB386B97FAFF85B4EBEBDF135EC4F0CBAD6B578D75721
+ 18E5829202A93C6485C90304F5CE529A8ABB368C1C9D91E47E36FD9C7E22780B
+ F685F107C59F82FAFF0087E1B9F114623D6FC37E2712A5B5C1F972F1BC609C96
+ 50FC952096E483B6BB7F07FF00C2D478B56B9F89771E11B64758D74ED3FC2AF7
+ 1214396F31E7798724FC9B42718273CD7A9EAEE497393CD71BABBB156E49AF12
+ BD76E3CAD1EE50C3A52E64CE1356CF98C73EB5C76B9108A4DAA79C648C743FFE
+ AAEBF5C0E992B9CF3DABCF35ABABB47202E49E9953CD78EF73D8455D5EC05B5B
+ C6FE62E48E54BF24FB0F4FA135C4DE122F2E0E401F684079C7F09ABBA86A57A5
+ C8FBB838E10D6588A67B69A4663E679AAFEE7823A566CA35E5898E9913FDA588
+ DC40889E14FA819FE9DFE99D58F4991FC30938BA2A4B31F21BEE151CE47E22B8
+ B13DE200426476CA77A57BEBBCED2BB4F4236907E94EC05DD409FB2F04802688
+ F5F50C3FA5422DDA4D29A6FB50C472045B6CF232324E3F21F89A8E232DD59DD8
+ 98FCC4C65401D704E40FFBEAA9949F3900B0ED94CD219B1656F14BA44EED2482
+ 58183E09FDDE0F18FA9FE40D65EA058980EEC0194C7EBFFB3547299E2E1F838E
+ 8463FCFF00F5E9E13CFB52F23E595C6D53D48C75FE5400B730CCBA7DADC79EF2
+ 2312A149202107A0E7F954FABD835B7932995A7124633213BB6B775CFB7071D7
+ 9ACE5858703201F6C7144B1B4726D7C061C1C60E3FFD540CA52B10872790DDA8
+ A9EFAD96354084485802483800E3A73455AD897B9FB1F451457DD1F061505EDE
+ DBE9D6B2DD5DCF1DB5B44A5E49A670888A3A924F0054F5F3CFED75309DBE1DE9
+ 3A94EF6DE13D475E8A3D5E40FB10A0236ABB7653973CF1F2E7B567527C91722A
+ 2B99D8F4DD1FE3978035FD5E3D2F4FF17693757F236C8E14B95CC8D9C00A4F0C
+ 4F60339AD2F157C4EF09F81EF21B5D7FC43A7E9173347E6C715DCEA8CCB92320
+ 1ED906BCCFF69CF0C78374EF80FADB4FA769D66B6D6E3FB35A18923649F23CB1
+ 1631D4F503A8CF6AF318E7F10EAFF17BE1C4573A559EB3E251E038A792DF5872
+ 91CB2B3B06F30ED62AC0027A1E78E3AD73CAACE0F95EFA1A2826AE7D253FC5EF
+ 055B6836FADC9E29D297499E5304579F6A431348064A6ECFDE039C75A5F0F7C5
+ BF0678B2F64B4D1BC4DA6EA7751C4D33456D70AEC11719620761915F20FC5FF8
+ 4BA9FC2FF04682B7EFA75C6B9AEF8CC6A274FB2056CA12CADB6240403B464027
+ 1C020638C9FA374EB6F10E97E14F15DEF893C33E1DD0441A64CD04DA1C86491B
+ F76C5C3651703818C511AD37269AB581C2295D1E8BE17F19E85E36B192F740D5
+ AD357B48E4313CD67289155C004A923A1C107F1AB1A078934BF15581BDD22FE0
+ D46D048D119ADDC3AEE5386191DC1AF8EFE10492FECEBA6782FC5D24931F05F8
+ BEC92DF5757FBB6979F318A6F6565E3E9B89ED5ED1FB1B44E3F67FD0EE2460CF
+ 753DDCC5BB93F6891493EFF2D3A559CDA8B5ADBFCBFCC528249B477B75F187C1
+ 365E275F0ECDE27D363D6DA5100B3338DE2427010F60D9E3079C9157BC5DF11B
+ C31E028E27F10EBB63A479BFEAD2E660AEFEEABD48F702BC06DEC3FE19ABE234
+ B1EAB616BADF81BC61AC0787546895AEAC2EE424AA3E7974E3208E98247390D7
+ FE09E9FA778A3E3C7C57BFF12C50DE7892C75116B6305E00E60B205846D1AB67
+ 01805C91EA3A6EE45564DF2F5BFDDFE63E45BF43DC7C37F10BC35E30D2EE352D
+ 175CB1D4ECAD8133CB6D32B08B8CFCE3AAF009E7156B45F1768DE22D0CEB3A66
+ A76D7DA500E7ED90481A3C2E777CC3D3073F4AF997E274567E1CFDA32E3FE111
+ 8A18257F0A6A12EBF6F66A044408643099157A3171175E71B7D79DAFD9F751B5
+ D1FF00633B8BD17118686C753925F318611C3CD853E991B4E3AF3EF446B37271
+ 7D2FF8581C15AE7B45CFC5FF000559E8569AD4FE27D322D26EE468A0BC6B8511
+ 4AEBF7955BB918ABBE15F887E18F1C19D7C3FAF69FAC3C1CCA96770B2320EC48
+ 07207BD7C6DE15B655F85DFB3C59FD923964BCD7EEE631DC83E5B9170C006183
+ C1057B7415D1E836FA86B7A7FC54F899A7C36DE1BF14E9BA65CE88DE1FD2A3D8
+ F66C982F2BB0C6E7C2E548007CBDCAD66B11276D3FAB5C6E9A3E8FD77E38F807
+ C33AA49A76A5E2DD2AD6FA36DB2406E0168DBD1B19DA7D8E2A5D6BE33F817C39
+ A949A7EA9E2BD2AC2FA20ACF6F3DCAABA8650CA48F75607E84571DFB35F83BC2
+ 2BF05BC3971A7D8D8DEBDFD9A4D7F71246B23CB70C3F7A1D8E492AFB9707A018
+ AF2436BAD5D7ED7BF118786F43D135D923B0B557875890A431A886DC654856F9
+ B2318FAD5CAACD4632D35128C5B6BB1F56786FC51A478C34C5D4744D46DF54B1
+ 66282E2D640E85875191E95A958BE0FB4B9B3F0ED9A5F69F63A5DF32EEB8B5D3
+ 7FD4239EBB4E067B738ADAAEB57B6A64F70A2909C526EA621D45341A5CE68016
+ 8A28A0028A28A0043504C78A998D5699F8352CA4665F3F06B94D59F83CD747A8
+ 4A0035C8EAD36735C1599DF451CA6ACFF7AB92D4D861ABA5D525C93CFE15C96A
+ 92F04F7AF12AB3DDA48E4B597C0635E6FE2AB968A7B62A7E6DE4835E89AADD22
+ AB2B1C0279E33FE7BD79778AAE55AE611B8654312076E2B86476A29E9F756696
+ 98BB505C901495CF0E0066FC3191EF5957BA82C9772F908A232C4AA8E38CF1FA
+ 556B8B8263554E46DC649E9515B5F3DA5CA4E84ABA1CF071F5E6A063F509644B
+ 59B7864CC6C57231EBCF35957B7B25C5ECF2311BCED3D38FBA2AF6B3A925DBDC
+ CA5A42B22127CD604E7078CD624B701667E832A98CFF00BB40D1D16BFACDAC97
+ 28F64D09888236A2ED201C75F917FA9AAD7B7A9733FEEE268543124375E79C7B
+ 77FD2B0924000CB2E07239E95A775AF89558222A091104A0BEEDCCBFC43D3D3F
+ 1340CADA85DBC97A189C1F25003F4007F4AD1D5BC4C97D690C691324D16D1B88
+ CEEF9403D4F1C8381D0E7B62B1AEE50E6091082BB5813D7F88FF0088AABBC11C
+ 9183C60D03355ADEF0DB2DCC90CA203C6FDA42FE759AD73279ACCAC438C1DC09
+ CE6AECFAE3CDA65B59BB02B0B3156279C1C71598CE59B78FBA473ED4016F58D6
+ 66D426131762C5543193E6390B83C9F53CD1599338F2C73DF3CD156B621EE7EC
+ DD14515F747C18565789BC2DA478CF469F4AD6F4F8353D3E61F3C170BB94FA11
+ E847623915AB452693D181E57A47ECC7F0EF47BFB5BB5D124BC366C1AD60BFBD
+ 9EE61B7C74DB1C8E57D3A83D0576327C3CD025F1CC5E306B027C4515AFD892F3
+ CE93E58724EDD9BB675279C679AE8E8A954E0B6453937BB393F883F0AFC31F14
+ AD2CEDBC4DA69D461B394CD001712C251C8C6731B29E9EB597E1DF80DE09F0AC
+ 3AA45A669771047A9DA3D8DD07D46E64DF0BFDE51BE43B4FFB4B823B1AF40A28
+ 708B7CCD6A1CCED6B9CBDE7C32F0CEA1E034F065CE9693F869204B75B1791C80
+ 8841501F76EC82010739E3AD5DF07783747F00786ED340D06D3EC3A4DA6FF26D
+ FCC7936EE72EDF3392C72CC4F27BD6DD14F9527748577B1E61A57ECDBF0FF47D
+ 76CF55834691E6B193CEB382E2F26960B67C83BA38D9CA8E4647181DB1815A7E
+ 37F821E0EF883AAC5AAEADA511ABC4BB1351B3B892DA70BE85E3605B8C8E73C1
+ AEF28A9F670B5AC87CD2DEE721E07F849E13F87305DC7A0E8F15ABDDFF00C7CC
+ F2B34D34FECF2392C47278CE39E95C8CFF00B297C339EEA693FB06486DA6904B
+ 2D8417D3C76AEE3A1312B85F4E071C74AF5DA2874E0D59A41CD2EE723A87C28F
+ 0A6A571E199A6D1E356F0D36FD252091E24B53F2F44460A7EE2F0C0F4F735634
+ 9F86FE1DD0FC53ACF88AC74FF2356D65556FE513485270A00198CB6C078EA141
+ E4FA9CF4B9A322AB963BD8576795DC7ECC3F0EE5BF9AE61D1E6B18E77F327B3B
+ 1BE9E0B694FBC48E171DB0001567C43FB387C3DF15788AF75DD4B43965D56F48
+ 6B8B88B50B988C840007092003803A0AF4BDD499351ECA9FF2A1F34BB995E14F
+ 0AE99E09D06D745D1E07B6D3ADB779514933CA5773163F3392C7962793FA56A9
+ 3484D34B815A68B442DC7526EA85A5A6F99CF5A571D8B19A51CD5712548AF9A2
+ E1627A2981A9D9AA245A43416A8D9F14003BE0550BA97683534B2ED15937B738
+ 06B194AC6D0899FA95C601E6B8FD5AE3EF56D6A775D6B91D4EE09CF5AF2EB48F
+ 528C0C4D465C96FEB5CAEA90BCB9DA466B7AF9C9278358B73B893F29FCABC99B
+ B9ECD3470DAC786AF2EC10850E7D4D7253FC38D4AE2E49263452319DD5EB32AB
+ 7A1FCAABB23127E53F957233A923C3753F841AD198883CB9A3ECDBC0FE66B264
+ F83DE24278B65FC254FF001AFA17637F74FE546C6FEE9FCAA752AC7CEEBF073C
+ 4593BACF23DA58F9FF00C7AAFC9F07B57B848BFD1E48A5C618B49195FD1ABDE7
+ 637F74FE546C6FEE9FCA9582C7CEF71F077C41148CA962F30ECEB2C401FCDB35
+ 10F841E23FFA0549FF008110FF00F155F46EC6FEE9FCA8D8DFDD3F951619F3DB
+ FC2AF109B348468EFBD5890DF6A8BBFE3504FF00077C43184F2F4D798B282D99
+ E25DA7D3EF735F45EC6FEE9FCA8D8DFDD3F951603E71FF008543E25500FF0064
+ 06CF6FB4C7C7FE3D5249F0ABC4CF6EB18D0C295E770BA8B27FF1EAFA2B637F74
+ FE546C6FEE9FCA8B01F355CFC1EF15CBB443A2F18C906E62EBFF007D515F4D5B
+ A36F3F29E9E945689684B3FFD9}
+ end
+ object Image2: TImage
+ Left = 12
+ Top = 22
+ Width = 98
+ Height = 60
+ Cursor = crHandPoint
+ AutoSize = True
+ Picture.Data = {
+ 0A544A504547496D616765FE0E0000FFD8FFE000104A46494600010101004800
+ 480000FFDB0043000302020302020303030304030304050805050404050A0707
+ 06080C0A0C0C0B0A0B0B0D0E12100D0E110E0B0B1016101113141515150C0F17
+ 1816141812141514FFDB00430103040405040509050509140D0B0D1414141414
+ 1414141414141414141414141414141414141414141414141414141414141414
+ 14141414141414141414141414FFC0001108003C006203012200021101031101
+ FFC4001F0000010501010101010100000000000000000102030405060708090A
+ 0BFFC400B5100002010303020403050504040000017D01020300041105122131
+ 410613516107227114328191A1082342B1C11552D1F02433627282090A161718
+ 191A25262728292A3435363738393A434445464748494A535455565758595A63
+ 6465666768696A737475767778797A838485868788898A92939495969798999A
+ A2A3A4A5A6A7A8A9AAB2B3B4B5B6B7B8B9BAC2C3C4C5C6C7C8C9CAD2D3D4D5D6
+ D7D8D9DAE1E2E3E4E5E6E7E8E9EAF1F2F3F4F5F6F7F8F9FAFFC4001F01000301
+ 01010101010101010000000000000102030405060708090A0BFFC400B5110002
+ 0102040403040705040400010277000102031104052131061241510761711322
+ 328108144291A1B1C109233352F0156272D10A162434E125F11718191A262728
+ 292A35363738393A434445464748494A535455565758595A636465666768696A
+ 737475767778797A82838485868788898A92939495969798999AA2A3A4A5A6A7
+ A8A9AAB2B3B4B5B6B7B8B9BAC2C3C4C5C6C7C8C9CAD2D3D4D5D6D7D8D9DAE2E3
+ E4E5E6E7E8E9EAF2F3F4F5F6F7F8F9FAFFDA000C03010002110311003F00F58F
+ 8C1FB7F37C49F845F190781FE1C78A757F04E9FA7EA3A1FF00C279A7BC5E4C57
+ 4D0346932C7B8379419E372EAC596360ECAB902B6BE03FED47A5FC05FD84FE12
+ 6BBE24B7D67C55E20D77CCD3B4BD274C8CDD5F6A576D712848D79F6032493D00
+ 0CC429F15F8657DF10BE027ECC5F167F673B8F83FE33F1278B9D757B4D3755D1
+ 74E63A65D5A4F032FDA85C3633801CAA2A9673B2300392173BE20FECCBF10B5E
+ FD927F664D7E0F08F886F2F7E1FDDDCCBAE78674F8E4B3D696DE5BA490BC0AD8
+ 9164516E00D80B832A328C2922BA127D8DF0D7F6C083E267883C57F0FF00C49E
+ 0DD77E19FC43D3B4893548F49D599185CDB6DC79B04E84062A48C8E31CE09DAF
+ B7E75FD91FF6A33FB3F7FC13E2DFE2178A6DF53F166CF11CF65E58B9DD70DE64
+ 802FCCF9E07A569FECC5F0E2CFC67F1635BF1CE8FF000BFE2668D65A66897161
+ 69E26F88DAE49F6DBB778D94DB4766E8C4AEE773B84BB415E818EDAF06F15F81
+ BC45F0FF00FE0936FA5789741D4BC3BAB9F18098D86AB6525ACE15A5F94F96E0
+ 3608190693B0D1F6FE99FB795843F113C23A278ABE1D78A7C19E1AF194C96DE1
+ CF146A912182F6572A22124684B4224DE9B4B723782C154332FCF1F0F7F683F1
+ 87C36FDB2FF692B2D17C13E28F8A173F6A824B5D2B4CB80B059431EF32312E48
+ 42DBD76AA292C4115B7E3D8FC5DFB61EB7F01FE1F4BF0DBC5DE00B6F0F5CA6B1
+ E20F126ABA3B369F6D2DBDB7C90DACC24D93A4AE1903EE1C323618EE51E8DFB2
+ A780FC4DE1CFDB27F699D6B55F0EEA9A668BABDCD9B69FA8DD59C90DBDE85F33
+ 261760164C6E192A4E33EF43567661B947E37FED45E02F8E7FB056A5F11E4FF8
+ 4B74AD026BDB6B5BCB3D02F22B4D52DEE12EA3531F9A43A6DCED6CE0EE465E14
+ 92170BE25789AF62FDB5FF0064EB4D2B53D4E0D1EFB4099DAD66BA62664FB339
+ 065C101DB006491C9AF0EF0E7C14F8871FFC12BBC5FE117F01788E1F14DC78A9
+ 2E21D11B499D6FA5884D6C4C821D9BCAE15B9C630B5EF1E38F86DE2CBCFDAD7F
+ 651D660F0CEB13691A2787DE1D4AFD2C66682C6436CCA127902E236C9030D839
+ A6D6B60BE877BF14BF6EFD4BE1DDF78CAF2D3E0CF8B35BF067847503A6EADE25
+ 0F1DB46251805A189FE69630DC171F2805492030AD6F8D1FB79F85BE11693F09
+ 356B6F0CEBBE31D3FE244267D2D343895EEB18B728821620BC8FF694508083B8
+ 115F0E7C47F007C52F88DA0FC5AD27E25FC3EF8B7E3AF89D26A174DE1D48BCEF
+ F8452C6D1764BE6C255C46CFB629008943890F908AA64248F58BBF86BE33D461
+ FD83248BC19E2203C32CF16B824D2AE11B4B2A6C909B9CA66104C6E417C060A7
+ 0714AD7D02E7D39F03BF6C587E28FC55F11FC38F14781F56F86FE2FD22C46A82
+ CB579A39167B4CA664122FCA08F310E013FC5CFCA71E19F19FFE0A0927C41F81
+ BF14AFFC13F0CBC5DA8780BFB36FF45B5F1EC3B21885CBC4D124E21622458833
+ AB6FFBC0632AAD903A2D57E13F88FC47FF00051EF18EA72E89AB5A785B53F87F
+ 2694BE20FB1486CFCE708BB1652BB0B8193B320F07E87C37C107E29FC35FD8C3
+ E227ECF375F053C65A9F8CA2FED1B6B4D4ECB4D32E91736D26659265BA240770
+ A65D888ACCEDE52AE5998280647C2EF18F88E6F869E137935ED41DDB49B42CCF
+ 3B1627C95C9249E4D15BDF0CBE09FC41B1F86FE15B6B8F04EBD04F0E956B1C91
+ 4DA7C88E8C225055948041078208C8A290CFBCFF006997B9FF00855D0DBDB6A1
+ 7DA635F788FC3FA7CB73A6DE4B693F933EB1670CAAB344E9226E8E47525581C3
+ 1E6A13FB387855582FF6BF8EC64E307E20EBDCFD3FD33B54FF00B4AFFC93BD27
+ FEC70F0B7FE9FAC2A9FED01E30F11F84345B59745BD1A4D84ECD15C6AA9671DC
+ 3C1334912C2BFBC758D15B7481A493E55000CEE65CF2E2B111C2D19559EC8695
+ CCBF11FC22F87BE128E11A8F893C751CF306F22D62F1D78826B89F6805BCB852
+ EDA47DA082DB41C0E4E0035F287ED3567F0D7C67F083C79A71D5FC4ECD67A5CD
+ 7F67697BE32BBD49D2E20432C6CFF6BB996D5D59D42910334A1461198C8E9174
+ 57F796BACEB325BEABADCDA8DBDFA379B6E969F6D8DFCA39533BDAEA124F21CE
+ D5532BBE0485536AA8AF3EF8C9A5783EC7E0E78B6F2DE0B3469344BA96DCC650
+ CCA4C0C232631A9BB0390323CB3B7736E5C2E0FC054E23C555AF4E5452F66DA5
+ AECF5EE69CB169C7AFC8F77F0D7C569FC4BA54779A1F8A6EEE2D611E4B2477B2
+ 2B5BBA805A196332031C8B900C6CAAEA7A8ED5DCFC2BF166AD73E3DD2E1BCD66
+ FAE2176903C13DDB3A36227FE12E73FC273C8E477C1AFCDED43E227D8AF6EB54
+ D3FC63630DEDA01630EA365696769751053B96211CBAC24AF0A3F58E64688B03
+ B91F62E7ECAFD943C47E24F1558697A9F88A5FB4995CFD87506B416B2EA16BF6
+ 74FDFC902CF2286697CF0193E4608190142A6BF78A18FA18DC34E8CE928CD2E9
+ 6FBCFCF6AE16BE13150AD1AADC5CB6BBFB8FBA1183A2B0E411914EA86CC96B48
+ 0B72C5173CE7B54D5F22CFBC5AA392F8B9AE5F7867E14F8CB58D327FB36A5A7E
+ 8D79776D39556F2E5481D91B0C0838201C118F5AF96FC1DFB55F8ABC45E06F86
+ 76579A88B0F1B4FE2ED2B4FD66336D16FBFD32E91A449D536E156443182C9B48
+ 2323686507E95F881F0F75AF1D2F88AC3FE1296B2F0EEAFE1DB9D1BFB2858238
+ 8AE65DC3ED9E6E439C236DF2B214F5CE6BCF35FF00D91F4CD76F7E126A7FDB4F
+ 6FACF8092C207BB4B6DC35286D4AB2A3297FDDFCCAC41CB11E6303BB835D74A5
+ 4546D516BFF00C2A2A8E57833CAAC7E38788758F1CF8DB4FD57E31EA1E137B0F
+ 145EE95A7E996BE124BF4FB3C726232D32C0DCF3B7E66CFCB9279AF4DFDA01BE
+ 257873C57E17B9F0E7C459B48D23C45AEDA68A34E5D22D661641E272D207742C
+ E498C9C1231BB1D2AD693FB3FF008FBC21AC78AAE3C2DF14ADB47B0D7F5ABBD6
+ E4B49BC351DCB452CE7950E6619002A0CE39C138E6BD0FC77F0D66F1E45E0A37
+ 5AA882E7C3BACDB6B324AB6C08BA78A3910A6DDDF206F309CE4E31D0F5A994A0
+ A778DADE9FF00718CB96CF732A0F877F10A386347F8AD752BAA80D21D0ECC163
+ DCE02E28AF4FA2B98DCF2AFDA5BFE49D693FF637F85FFF004FD615B7F17E0593
+ E1578C997396D1EF3A1DA7FD43F427A1EBD78AE17F6DBBAB9D3FF66CF12DFD8D
+ D49657F6377A65EDADCC4A8CD14D16A36D246C03AB29C3229C1523DABE2EB9FD
+ A3BC59AFFC38D6A7D73E326B6D1C967245358CB67A1C02E370D862DD25B2AA82
+ 6450493C678EF8E98E02AE2B0F52AD36AD1DEEEDFF000E7156C5D3C3D48C26AE
+ DEC7D45E33D2D755F88BAE295202D85B0C904120DC5DE3079208C6015CE3038C
+ E057887ED39A6487F643BBB7B646966497536221C2E151B51666C860A0001C91
+ 93DF00F0B5E37E1FFDA9AEE7F19F885B5FF8B7ADD959CF6D0C50CEB1F8665697
+ 6B4CCC2411875E4CBC6C1D378663F28AE63C5BF1C0F89B4CD27C35AB78F75A9F
+ C2D7B2DD3DFC73DEF86A5648E7F3F0C0C2C5D5BFD209756E4658000852BF08B0
+ 2BEA387C3549ABD39F33DEC95F6D8F2BD9BA78BAD8A82779452F2D1F42DE8B65
+ 1E87F067E20A2848FCC31CE4921372F94C371064527E5503764E001865CE6BEF
+ 6F0513FF0009169F970E4B1C912139F90E490246078EA4E49C6322BF3FFC57F1
+ 7FC30BE0FF0015E9FA3496ED0DF794B0CB16B564A0BEC6E591AF926382E3E70A
+ 0707016BEEDF837E35D33E205BF87BC45A55D2CFA7EA1199D0FDA11CC7946DC8
+ FB6570194E558027041E7BD7E9B964E94F138B9C5A6A4AEBD2C7CC631577F559
+ D44E2DB775E6D9F5458926CADF2727CB5C9249EDEF53D4162316506460F96BC7
+ E153D788F73F485B0514514861451450014514500783FEDCB8FF00865CF1A64E
+ 07FA173FF6FB057E441D36587C40BAB69FA9DCE9B7C20580C96C226CA824E0EF
+ 56F5FA703D057EF06B9A169BE25D2E7D3757D3ED755D3A7C79B697B0ACD14982
+ 186E46041C100F23A815E41E30F80BF0E4DD208FC0FE1FB6FF00AE1A6409FC93
+ DEBD8C1E269C29BA1561CC9BB9E563284A7255612B5B43F367C01AFF00DB5960
+ BDF1FF0089AC651F29108D3957248FBBBADCE39553D3F810FF0002E3DB3C39E1
+ 0D3A68131E3CD76EE40415919EC8328DAA005D9100A46C8F040C8D91E0FEED31
+ F4B49FB3FF00C3EC063E12D21B9C60D8C3FF00C4D5FB4F83DE10B623ECFA1595
+ BE071E55BA2E3FF1DAF59D5CAAA4396AE13EE67CFD7C1E2EBAFE3687CEE9F0EE
+ C02204F17EBA8AB82AA8F6A8108C63680A00C6C4C7A6C4C7DC4DBDCFC05F0D69
+ BE04F101B0D3AFAE6ED2FEF65D418DD3444A48601195411ED50B88F71017E667
+ 278AF59FF8573E1F889DBA7C40FAED1FE15A3E1FF06E93A76A26E2DECE38A78F
+ 76D9154647CBFF00D73510AD96D252F6141C5B4D6E7152CAF14E4A6EADECD77E
+ E7B0D8E7EC56F9E0F96BFCAA7A8AD062D61E73F20E4FD2A5AF943F42B5B40A28
+ A2800A28A2800A28A2803FFFD9}
+ OnClick = Image2Click
+ end
+ object lblVersao: TLabel
+ Left = 395
+ Top = 81
+ Width = 72
+ Height = 23
+ Alignment = taRightJustify
+ Anchors = [akTop, akRight]
+ Caption = 'Version'
+ Color = clWhite
+ Font.Charset = ANSI_CHARSET
+ Font.Color = 6435072
+ Font.Height = -19
+ Font.Name = 'Verdana'
+ Font.Style = []
+ ParentColor = False
+ ParentFont = False
+ Transparent = True
+ Layout = tlCenter
+ end
+ end
+ object Panel2: TPanel
+ Left = 0
+ Top = 109
+ Width = 474
+ Height = 105
+ BevelOuter = bvNone
+ Color = clWhite
+ TabOrder = 1
+ object Label2: TLabel
+ Left = 8
+ Top = 8
+ Width = 109
+ Height = 13
+ Caption = 'Desenvolvido por :'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clBlack
+ Font.Height = -11
+ Font.Name = 'Verdana'
+ Font.Style = []
+ ParentFont = False
+ end
+ object Label3: TLabel
+ Left = 136
+ Top = 32
+ Width = 37
+ Height = 13
+ Caption = '( QmD )'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ParentFont = False
+ end
+ object Label8: TLabel
+ Left = 168
+ Top = 56
+ Width = 68
+ Height = 13
+ Caption = 'icq: 15630894'
+ end
+ object Label4: TLabel
+ Left = 16
+ Top = 56
+ Width = 143
+ Height = 13
+ Cursor = crHandPoint
+ Caption = 'qmd@usercontrol.com.br'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clBlue
+ Font.Height = -11
+ Font.Name = 'Verdana'
+ Font.Style = [fsUnderline]
+ ParentFont = False
+ OnClick = Label4Click
+ end
+ object Label5: TLabel
+ Left = 16
+ Top = 84
+ Width = 82
+ Height = 13
+ Cursor = crHandPoint
+ Caption = 'Canal #Delphi'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = 21248
+ Font.Height = -11
+ Font.Name = 'Verdana'
+ Font.Style = []
+ ParentFont = False
+ OnClick = Image2Click
+ end
+ object Label11: TLabel
+ Left = 104
+ Top = 84
+ Width = 84
+ Height = 13
+ Cursor = crHandPoint
+ Caption = 'irc.brasnet.org'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clGray
+ Font.Height = -11
+ Font.Name = 'Verdana'
+ Font.Style = [fsItalic]
+ ParentFont = False
+ end
+ object Label1: TLabel
+ Left = 16
+ Top = 32
+ Width = 108
+ Height = 13
+ Caption = 'Rodrigo Alves Cordeiro'
+ end
+ object Image3: TImage
+ Left = 424
+ Top = 56
+ Width = 30
+ Height = 16
+ Cursor = crHandPoint
+ AutoSize = True
+ Picture.Data = {
+ 0A544A504547496D61676502040000FFD8FFE000104A46494600010101004800
+ 480000FFDB0043000302020302020303030304030304050805050404050A0707
+ 06080C0A0C0C0B0A0B0B0D0E12100D0E110E0B0B1016101113141515150C0F17
+ 1816141812141514FFDB00430103040405040509050509140D0B0D1414141414
+ 1414141414141414141414141414141414141414141414141414141414141414
+ 14141414141414141414141414FFC00011080010001E03012200021101031101
+ FFC4001F0000010501010101010100000000000000000102030405060708090A
+ 0BFFC400B5100002010303020403050504040000017D01020300041105122131
+ 410613516107227114328191A1082342B1C11552D1F02433627282090A161718
+ 191A25262728292A3435363738393A434445464748494A535455565758595A63
+ 6465666768696A737475767778797A838485868788898A92939495969798999A
+ A2A3A4A5A6A7A8A9AAB2B3B4B5B6B7B8B9BAC2C3C4C5C6C7C8C9CAD2D3D4D5D6
+ D7D8D9DAE1E2E3E4E5E6E7E8E9EAF1F2F3F4F5F6F7F8F9FAFFC4001F01000301
+ 01010101010101010000000000000102030405060708090A0BFFC400B5110002
+ 0102040403040705040400010277000102031104052131061241510761711322
+ 328108144291A1B1C109233352F0156272D10A162434E125F11718191A262728
+ 292A35363738393A434445464748494A535455565758595A636465666768696A
+ 737475767778797A82838485868788898A92939495969798999AA2A3A4A5A6A7
+ A8A9AAB2B3B4B5B6B7B8B9BAC2C3C4C5C6C7C8C9CAD2D3D4D5D6D7D8D9DAE2E3
+ E4E5E6E7E8E9EAF2F3F4F5F6F7F8F9FAFFDA000C03010002110311003F00EC22
+ F12FC42F16F88A4B2D0D5AE56355DF2150B1C63FDA63C0FA753DB3567C57F193
+ 5DF84FE289BC3561A769FE33D7D2DD659E5D4B52B6B445C8DC2386DD9B7C8D8C
+ 60E7249C2A9AF21D3BF6BCB2F873E23BA8F4ED563B8B266FDED9CE85A22D800B
+ 0C1043600E41F4C835E77F1CBC5FE10F8C3E3DBBF16F877C4769692DEA45F68D
+ 3B5589A2963748C47942AACAEA4203C9041ED5F8EF0BE1DE3388254B889B8E0B
+ 924E2EF51273BC6CA6E0E2D2B7335AA8B764DBD11F3B4146182F6B85E6788E65
+ 7524ACA3AFC09DD3E9BEBD92DCFA7BC1BF10FC45F1B6C7C4571E1FB69BC39E23
+ D12758AFBC3F7243C6598B00639485DBCA499461C63AF35F3CFED1BF117C69A7
+ C96561A94F3595CC3236E85D0A10707F3FAD747F07FF00695F0CFC06F056A3A6
+ 0F11AF88F589D93ECD0A23C96968A32482EDB5893B8FCAA368C0E72493E2BF1F
+ 7E3643F15351B5BFB8D45EFEE9723EE61634E48551D00E4FE75857C3E2171262
+ 6860A2E597A6BD9B939B7F02BD9CB571E6BD9CAEFB4A4ACCAC452A32A54653BF
+ B777E7492E4DDDAFD13B5B45A79267FFD9}
+ OnClick = Image3Click
+ end
+ object Label12: TLabel
+ Left = 408
+ Top = 80
+ Width = 59
+ Height = 13
+ Cursor = crHandPoint
+ Caption = 'Curitiba - PR'
+ OnClick = Image3Click
+ end
+ end
+ object Panel3: TPanel
+ Left = 0
+ Top = 217
+ Width = 474
+ Height = 299
+ BevelOuter = bvNone
+ TabOrder = 2
+ object Label9: TLabel
+ Left = 6
+ Top = 9
+ Width = 163
+ Height = 13
+ Caption = 'Cr'#233'ditos e agradecimentos :'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clBlack
+ Font.Height = -11
+ Font.Name = 'Verdana'
+ Font.Style = []
+ ParentFont = False
+ end
+ object Label6: TLabel
+ Left = 77
+ Top = 271
+ Width = 154
+ Height = 13
+ Cursor = crHandPoint
+ Caption = 'http://www.usercontrol.net'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clBlue
+ Font.Height = -11
+ Font.Name = 'Verdana'
+ Font.Style = []
+ ParentFont = False
+ OnClick = Label6Click
+ end
+ object Label7: TLabel
+ Left = 6
+ Top = 271
+ Width = 68
+ Height = 13
+ Caption = 'Site oficial :'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clBlack
+ Font.Height = -11
+ Font.Name = 'Verdana'
+ Font.Style = []
+ ParentFont = False
+ end
+ object MemoAgrd: TMemo
+ Left = 6
+ Top = 24
+ Width = 463
+ Height = 228
+ Ctl3D = False
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clBlack
+ Font.Height = -11
+ Font.Name = 'Verdana'
+ Font.Style = []
+ Lines.Strings = (
+ 'Alexandre Oliveira Campioni - alexandre.rural@netsite.com.br'
+ 'Bernard Grandmougin'
+ 'Carlos Guerra'
+ 'Daniel Wszelaki'
+ 'Everton Ramos [BS2 Internet]'
+ 'Francisco Due'#241'as - fduenas@flashmail.com'
+ 'Germ'#225'n H. Cravero'
+ 'Luciano Almeida Pimenta [ClubeDelphi.net]'
+ 'Luiz Benevenuto - luiz@siffra.com'
+ 'Luiz Fernando Severnini'
+ 'Peter van Mierlo'
+ 'Rodolfo Ferezin Moreira - rodolfo.fm@bol.com.br'
+ 'Rodrigo Palhano (WertherOO)'
+ 'Ronald Marconi '
+ 'Sergiy Sekela (Dr.Web)'
+ 'Stefan Nawrath'
+ 'Vicente Barros Leonel [ Fknyght ]')
+ ParentCtl3D = False
+ ParentFont = False
+ ReadOnly = True
+ TabOrder = 1
+ end
+ object BitBtn1: TBitBtn
+ Left = 395
+ Top = 264
+ Width = 75
+ Height = 25
+ TabOrder = 0
+ Kind = bkOK
+ end
+ end
+ end
+ end
+end
diff --git a/official/2.20/Source/UCAbout.pas b/official/2.20/Source/UCAbout.pas
new file mode 100644
index 0000000..5c99bb4
--- /dev/null
+++ b/official/2.20/Source/UCAbout.pas
@@ -0,0 +1,115 @@
+unit UCAbout;
+
+interface
+
+{$I 'UserControl.inc'}
+
+uses
+ Messages,
+ Buttons,
+ Classes,
+ Controls,
+ ExtCtrls,
+ Forms,
+ jpeg,
+ StdCtrls;
+
+type
+ TAboutForm = class(TForm)
+ Panel1: TPanel;
+ Image1: TImage;
+ Image2: TImage;
+ lblVersao: TLabel;
+ Panel2: TPanel;
+ Label2: TLabel;
+ Label3: TLabel;
+ Label8: TLabel;
+ Label4: TLabel;
+ Label5: TLabel;
+ Label11: TLabel;
+ Panel3: TPanel;
+ Label9: TLabel;
+ Label6: TLabel;
+ Label7: TLabel;
+ MemoAgrd: TMemo;
+ Label1: TLabel;
+ Image3: TImage;
+ Label12: TLabel;
+ BitBtn1: TBitBtn;
+ pnlFundo: TPanel;
+ pnlComponentes: TPanel;
+ Image4: TImage;
+ procedure FormClose(Sender: TObject; var Action: TCloseAction);
+ procedure Label4Click(Sender: TObject);
+ procedure Label6Click(Sender: TObject);
+ procedure Image2Click(Sender: TObject);
+ procedure Image3Click(Sender: TObject);
+ procedure FormCreate(Sender: TObject);
+ procedure FormShow(Sender: TObject);
+ private
+ procedure WMNChitTest(var M: TWMNchitTest);message WM_NCHITTEST;
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+{
+var
+ AboutForm: TAboutForm;
+}
+
+implementation
+
+uses
+ ShellAPI,
+ UCBase,
+ Windows;
+
+{$R *.dfm}
+
+procedure TAboutForm.FormClose(Sender: TObject; var Action: TCloseAction);
+begin
+ Action := caFree;
+end;
+
+procedure TAboutForm.Label4Click(Sender: TObject);
+begin
+ //ShellExecute(0, 'open', 'mailto:qmd@usercontrol.com.br', '', '', SW_SHOW);
+end;
+
+procedure TAboutForm.Label6Click(Sender: TObject);
+begin
+ //ShellExecute(0, 'open', 'http://www.usercontrol.net', '', '', SW_SHOW);
+end;
+
+procedure TAboutForm.Image2Click(Sender: TObject);
+begin
+ //ShellExecute(0, 'open', 'http://delphiland.dyns.cx', nil, nil, SW_SHOW);
+end;
+
+procedure TAboutForm.Image3Click(Sender: TObject);
+begin
+ //ShellExecute(0, 'open', 'http://www.curitiba.pr.gov.br/', nil, nil, SW_SHOW);
+end;
+
+procedure TAboutForm.FormCreate(Sender: TObject);
+begin
+ Self.BorderStyle := bsNone;
+ lblVersao.Caption := 'Versão ' + UCVersion;
+end;
+
+procedure TAboutForm.FormShow(Sender: TObject);
+begin
+// pnlComponentes.Top := Round((pnlFundo.Height - pnlComponentes.Height) / 2);
+// pnlComponentes.Left := Round((pnlFundo.Width - pnlComponentes.Width) / 2);
+end;
+
+procedure TAboutForm.WMNChitTest(var M: TWMNchitTest);
+begin
+ inherited;
+ if M.result = htclient then
+ M.result := htCaption;
+end;
+
+end.
+
diff --git a/official/2.20/Source/UCAboutXpStyle_U.dfm b/official/2.20/Source/UCAboutXpStyle_U.dfm
new file mode 100644
index 0000000..966218a
--- /dev/null
+++ b/official/2.20/Source/UCAboutXpStyle_U.dfm
@@ -0,0 +1,768 @@
+object UCAboutXpStyle: TUCAboutXpStyle
+ Left = 245
+ Top = 225
+ BorderStyle = bsDialog
+ Caption = 'About TUCXpStyle'
+ ClientHeight = 315
+ ClientWidth = 510
+ Color = clGray
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ OldCreateOrder = False
+ Position = poDesktopCenter
+ PixelsPerInch = 96
+ TextHeight = 13
+ object Image1: TImage
+ Left = -1
+ Top = 0
+ Width = 510
+ Height = 151
+ AutoSize = True
+ Picture.Data = {
+ 0A544A504547496D616765F54C0000FFD8FFE000104A46494600010101006000
+ 600000FFDB0043000302020302020303030304030304050805050404050A0707
+ 06080C0A0C0C0B0A0B0B0D0E12100D0E110E0B0B1016101113141515150C0F17
+ 1816141812141514FFDB00430103040405040509050509140D0B0D1414141414
+ 1414141414141414141414141414141414141414141414141414141414141414
+ 14141414141414141414141414FFC0001108009701FE03012200021101031101
+ FFC4001E000100020301010101010000000000000000070805060904030A0201
+ FFC4006A10000103030204020505080610110C03000102030400051106120708
+ 21311341091422325115617181911618234254A1B1C138A2B2B3B4D117333637
+ 4352556272737475769293D2192425262734355364848594A3A4C2C3E1283946
+ 476365828395B5C4F0D3E2F1FFC4001B01000203010101000000000000000000
+ 000003010204050607FFC4002F11000202010302050305000203000000000001
+ 021103041221053113223241513361D1141571A1C12353424381FFDA000C0301
+ 0002110311003F00E9738E2196D4B716942123254A380056264EB2B0C26FC491
+ 7AB7C74633B9E928401F69AF5DE5D0C5A65B8AF752DA89E80F97C0D561E235FA
+ 3A19214CB0A013B49F0539CF7AE5CA51846DF73AB8F1BC8E913B4AE3670F6115
+ 7AC6B9D3AC6DEFE25D184E3ED55798F1FF008623BF10F4BFFF00588FFE7D5174
+ DA205F6F9E2FA9C6280A395A994F4E9FD8D652E3656448663A2D709008202FC1
+ 6FE1FD857267D4B163E25DCEDE3E94F246D32EB7F27DE191008E21E9639E9D2F
+ 11FF00CFA238F7C3471CD89E2069852F3B768BBB19CFF8F54E34FE92B6352521
+ C87094E673D5A6C63ED456957DD4D618F26732CDBA0ADE123C341532DABDACFC
+ 366690BAA29729705FF6895D597FFF0093B70E338FBBCD39DF6FFBA8CE33FE35
+ 15C76E1C2319D7BA6C67B7FAAAC75FDB55129F668B6F8B1643916DE1A7901650
+ DC64A55BBE19DBD2B2AC3365D5B692C376F61A92C607BA91D73F1F0E96FAB457
+ B0FF00D91FCB2EEB5C6BE1F3E406F5B69F709EC137264FFDAAFBB7C5CD10EA82
+ 51ABAC8B51380133DA3FF6AA8459AD6B5CB7633B1A3A10DAB614A425473FE27E
+ BA99B41F0E60458C64AE3B2E3A06E095B68C7E8A44FAD6D7492172E8FB5D5967
+ C71034C28029D416C502768299683D7EA35FD7DDDE9CF2BE5BCFD12507F5D562
+ B8C88D69BAAD8716DB51969CA709091BBCFF0017A563634C8525C5A187512413
+ D46E49FCC40CD57F7A6FB240BA3DFB96D11AC6C4E0CA6ED0D43E67926BFD6F57
+ D91DCEDBAC538FFDA8155A6D96F5BECF8AC846D1FD0D4D006B60B3E9BD892EBC
+ 184ACF64A9BC83F652A5D724A554BFBFC959F4A8C78B764F4753DA4027E528C4
+ 0F30E835FE7DD45A3FAA51B1F1F105549E33EBA8F60868B4DA0B4BB83982B759
+ 4E437839FD58FAEBC9C24E27196DBD0EF31824A13B9525491848F2FA727A7D74
+ E7D626D5C52FEFF2443A4EE8DB6CB83F75367FEAA44FF2C9FE3AF92B59D852B0
+ 937885B8F978E9CFE9A8463AADD7C64B915C5141F34242143F58FB2B0726D2EC
+ 175C54656F5792DC73247ED6B37EFB91774BFBFC911E957EE586775DE9C61652
+ E5F6DE850EE152503F5D7C871134B904FDD0DB7A7FC291FC755851A6E3DE1F58
+ 9EA5A64FE3786B391FB5C57B9BD096FB7462F02EF5F74B8B041FA462A575E7EE
+ 97F7F918BA3DFB96355C4BD26804AB51DB001E66523F8EBFDFE495A4CA41FBA4
+ B5907FE168FE3AAC31EC51D9716B90DA568CF61839FDAD6B770532DDCA5210DE
+ F69006D6B03AFD7B6991EB97EC86AE8A9FBB2E08E25E93270351DB3FE748FE3A
+ 0E25E933FF00A476CFF9D23F8EA8ECE8724C80E368F0D39F733FFF005AF43B18
+ 21090B52724754E707F73575D6EDD522FF00B1C6AF732F0C5D7DA6A6AC263DFA
+ DCF28F64A24A09FD35916AF76F7D7B1A9AC38AF821C06B9FECDF9EB5CA546491
+ BC00BF0FCC8CFD18FCF52568BE27ADB948695B4277241F670475F8D7574FD423
+ 99D1CBD4F4E783B170B70DC13E66BFDAC5E9EB80B94469C42F202015271594AE
+ C3AF6389CFB8AAF3CCDF3B3A2396C5C7B3BCD49D57AE26FB30B4C5A0853E54A0
+ 7C32F2BAF84952B6A47452CEECA50A00E242E61B8BB1780FC17D59AEA5A03DF2
+ 4432B61950514BD216436C3676F5014EAD0927C8127CAB983E8E9B34BE38F1BF
+ 5BF10B544A7AFBAB58530512E504AB0B925DDEE818F65494B2109DB84A52A500
+ 318C3611B56CA4A4D3A458AB87359CDADEE4C3B958381DA7AD36390DA5C106F5
+ 7342A6804E4856E90C96CE3036A9A0410723C8677417A4C2D96CD64DE8FE34E8
+ B9FC2BBDAC27C39CE3864C1741253E21504828415020293BD1D0E56306ADCDAB
+ 435AEDD1D285B097DCEEA52C773518F329CA9E95E61787770B0CC8CDC4B906D4
+ BB74F08DCA89236E12B1D412338CA73ED0C8E9DC4DC5F0D11525CD9F0639D0E1
+ BDCB980B1F08AD32E4DF2FB7688263574B7782EDB5B498EB9294A9EF1324A9A4
+ 2540A12A49F111D7A9C4EF5C1CE4E74E5C742F3B5A72C1734F8174B4DC2E3024
+ A10AC843ADC79085804771B927AD7772092614724E496D3D7EAA89C547B13093
+ 9773EF4A5292305294A8014A528014A528014A528014A528014A528014A52801
+ 4A528014A528014A528014A528014A528014A528014A52A40C06BE9420E88BF4
+ 927686613CE67E184135456F3A8A45E9294A944E427775ECAC76FCE2AEDF174A
+ 870BF5484F552ADCFA40F89282055046E4FABB016BE8A24287CE0A40FD46B87D
+ 432CA12DABE0F45D330A9C1CBEFF008363D3D6C5379DC8C255D4AAB292105525
+ AC273B54304F4AC7596F01684A428249E80D643504B8F63B248B94A7C283693B
+ 5BC1F695E5F9EBCDA4E72ED6CF53CE38F0423C52D633CEAA94CC77D715B8FECE
+ 5B3DCD66B86ECC2976EDEF2A0BCEE7D616E3C83E20FAF1519CA71ED65A8F6B08
+ 5788FE54A48EFE67F40ACD9B3DC6C501515511E8E5E3B52EA8E06D1D7F557665
+ 0C7186D6B9150C9293E495AE136DD7E69F93EB43C409D8D3683EC835F7D22A8F
+ 02F315B65C0E2D6D1DE8FEBB06A0F4F8D6C4A521E586F3EF673D6B60D352661B
+ B09515F52D4C9DCAF2C0F3EFF366B93934D149C91D14DB4582B459D8877F75E7
+ 46E69C0167033ED549D1AECEBE8D90E394242701407CD5A3D8E47CA91A0BAD37
+ E1A1C4654AEE55D3E1DEB3D7176E08B4BD1E23A88CE280C3CB38090082AEBF46
+ 457127EAA664CA9B9A56642668F87AB6D2B44E0ACA8F5711F8BD73DFCAA37BE7
+ 09665910F3B67F582A410A4A93ED63A8ACDE9BBB7C88EACC490A929DE80E23C4
+ 2B42C9501DBEBCD4AEECC75B92E3214B6C2D093840C63EDAB37E1F090A92941D
+ 27C118692E233B6AB53CD6A080B624B40203D903C539C0FA3AFC6BEB7DE26DC5
+ EB67ABC1692C2923F0AE9EA5093F38E9D7B7D7595D53A75B97252DBE12B6DC23
+ 25CC7D23B57F08D090EDB6E9E979D2A664B44123DD49C647E7C509C65CC91A61
+ 1C6D6E6F923DD37A1AD3ADA4BBE24B79B928214EE1585AC13D719ACF46D1D078
+ 7D73F9454DBF3ED2973608CB2327C8124F4E8483F557F4F59CE9FB3D96F30B08
+ BA297EAEE20F675B07DEAF67132E4F46D24B9697521C4A90B085F441F686720D
+ 31F9DD2EC2E772957646C568E2B5AAF3735C18B1D36F58C270BDA9F13E615B05
+ D4088E34F2FD92AEC93E67155DF40CB99A875EDBAE122032E30959DAFA127674
+ 49CD4F3799CEDDDF71A1B5B61046C2E7551FEC7E1F5D2B263D8E8A4F1A849462
+ CF4BF3E2C58C1F6D285C83EF253D7BF4AC14EBBC99C5D63C3D8063667AF9FC2B
+ 0B263A92F80DBBEA8D15ED538B574C8AF72E4A3D7938783AB40CE5A3DFA521C7
+ E50F58AA3767D5A8373536579429903AA36E09F877A5B74E371E33B224379794
+ 7A823B75ACAB17495290DA83ADA5A1FD0CA7DB557FB72B9AC3186FDB4F4DC318
+ 3DEA8DEDE12149BF935CBBC76D8F690D25381DEB587ED91653A875F5F86A27D9
+ 3D71F3FE6AD8A715C8960281013D5408AC7CE8C62A5C71080E38EF40850C84D5
+ E0EDF61D16DAAB347D496E4A64267B237141DBF4A7B5601529F4294FB0A294EE
+ 49C8E9D8835BC5DADAE18BE1B89521D3D7C30462B013EDA96ADAB4A127784924
+ 63E6AEC69DB8E44D19B3C13C6D32E1701F52FDD0E978EBDDB949484A8E0F90A9
+ 3EA03E529E53BA29A2AF7B7A81FB0D4F95F4387314CF9D64E26D1493D2ED7F97
+ 66E5621448CA0966EBA8A243920E7AB61A7DE0075FE9D9477CF6FAEB9C7C9573
+ 38E72C9C5B62E935B54AD2B71D91EEF1DB46E70201250EB7D47B4824F4EC52A5
+ 8C64823AD3E90AE1C4BE267297AE215BD90FDC6DECB776650491911DC4B8EE00
+ 0727C20EE0799C7D35C15ED5BF1D38D18B25A959FA61D25AB2D1AEB4DDBAFF00
+ 61B83174B3DC194BF1A5C756E43883D88FD047704107A8ACBD700395BE7275DF
+ 2AD7970D85E45D34D4B792ECFD3D3947D5DE3D0296D91D5A74A46378C8384EE4
+ AC240AEC8F2D5CDFF0F79A0B378BA66E061DF996CB9334F5C0A5136380424AC2
+ 4121C6F253EDA491EDA42B6A8ED09941C47466A4571E2EF2C9A8ACFE908D3DC5
+ 5B4598AF474D8BE2DCEE2990D252CCC319E8FB4365616720304909232B273DF1
+ 7D607FB463FF006B4FE8A4A84C4E40448692EA41DC028763507733BCDA59B952
+ 836A9DA8F4C5EAE7679EB11D99D6C5475243D8512D14ADD4AF2128CE71B7A8EB
+ 9C810DB95225251B64F14AA4FC3EF4AAF0F389DAF34D693B3696D48C5C6F5706
+ 6087AE098EDB2C85AB0564A5D51381D718ABACDB89750168214923208AAB8B5D
+ CB269F63FAA5294B245294A9014A52A005294A005294A9014A52A005294A9014
+ A528014A528014A52A005294A005294A00533D71E75E6B95C63DA2DD2A74B752
+ C448CD29E79D59C2508482544FCC0035CC2D6DE98FBA41E253ACE9BD136F97A2
+ 633CA68AE73CE2674A4838F112A49D8DE7A9DA52BF2EA29AA2E5D8AB928F73A8
+ D4AD3F847C53B271A387B66D61A7DD52EDB73603C843980B6CFE321401385039
+ 07E8ADC2AB5458D5F8A08F17879A8118CE61B831F55506B9B498D150A2839421
+ 00EE49C66AFF00F11491A1AF653DFD5578FB2A8FDFA72E5C4530E3284A425009
+ C8F85797EA726B2A5F6FF59EC7A1F38DA7F3FE23496F50AE3BC84B696FBFE28C
+ 1AD3788FACA55C18303C5213B8A9601EC3BD66AED67762179F6CA94002AE9E55
+ 18C97C4A97BD6A25D51DA5241EC4E3F5D65D142E7B8EEE67CD1BAF082D0CCDD5
+ 487CAD4831D9F13281D76E3A9ADBB8D97A61EBAC1619756A6D0D6E08EC14318C
+ 9AC6704A422D37B9C879A0ADE9F0867E158CE2ABC976FD25686D450DA7C30AC1
+ C0EB56CF52CFC0AC78D7734B952965A6CE7F07BBAA6B6AD117443321F56DC851
+ 4A7183D8900D69689252868ED2AEBDB15B169E7DAF5D254141AFC6083839F2FC
+ F8AD538258CDB1EC59BE12DC5BBA3B2E329636C5E890839C03D056F1334F9996
+ F9B0C3AB0EBE92105CEA9FCD508E81873AD739BB95B66B4C3EE6416CA0942860
+ E428799C671F3E2A4699C50865BF010DBD1AE2DA76A5851CA94A3D329C7D35E5
+ B3636F25AEC67C89B9AA350976F89A0F5E438D2E629D891D80E3C86158255FF8
+ 77FAAA6E8DAC6CF7A6FD6203C5C3E1A7A295920640AAD9AB6DD2A2DE9B7A5BA0
+ C998129587BA9482467AF6ED598D28E2F4BCF90B8F95425128539B4E074E9D7E
+ 9C52B24177343C4A51B65925D9A3C94B6F78CDAD4A1D947A0AC56A3B00930DB8
+ ED3AA703609C21584AAB45D3FF0029CB5154590A74AB0A1B81DA067E7A926DF6
+ A2194C85A96EBED8F6920E13D7A79F7EF5CF9368E6497872E089EFBA52F4D371
+ 489676A5794A4F66FF00FDED512F10F51DE27DD16C3CE789158F60A3F157F1FC
+ DD6ACAF126E6AB7E9E79F61D687868EA85903AF61DEAB55A34FDC3883A83D59C
+ 7C223303C678B293920F4EFF005D74F49CC6CD78E52C91B245E0BEA3876DB74C
+ 80E7868525A0EB0D8503B727AFDBF0AD9F517146DD6CB4253B10673990907B8F
+ A4797D75156A6D00BD0B716E6D9964B6FA3C35B6B3ED363E3F4D78D16599227D
+ BE3BD8971E42FDEC12FF00C7DA3E63E8AD3979E467876ED9B1DCB532E021A71C
+ F1DF75F4788851FE56927E20D7F568E21DBECF15722E4F2D4EEEC165381D6B2C
+ FDB576D7150A486DF75253E0B4B4E709C839FABBFD550E6A4D1D77BAEA7BD214
+ 96D3EAE03CB08411B904E011F59149C58B1E54DE47436B8A2CDE8ABB2350DADE
+ BBC771B5E07B083DD23FFF002B231A5BD25E03D5B2544E17E5DAA02E1A710646
+ 8AB7A218693323A95B5C03A11F6D4C07513B74F01D8CBF05858C8420E0938F8D
+ 62CB81C65C7633CA0D3E0CA5E47AB4553AE101EF36D2327BFCD5AE35AA524A90
+ 5290A4F62A159B8E82E36B4AD41D4FE31CFB63E18AC24C8ECC4F18A90D023CDC
+ 193F6D2A0A99314D2E4F3C5B8B5789EE9791D53D96074AC6EA95B486DE01012A
+ 4B6A3803BF4358E8D2DA89752DA1C56C7D5D0A4109E9D7F556735134D9B64A59
+ C1CB0AC2BEAAEAE17FF2242B3FA192FF002909F1347B6B07185A958F9B06AC0D
+ 57DE51891A45B03DDEB560ABE8F15508FF0007CE327D491FCB8DA5D6D485A429
+ 0A182923208AE24F3F3C92DCB97BD633B5469A86ECAE1DDC9F2EB6A6D19F92DC
+ 5ABF942F1D9BC9C2147E64925401576E2B17A974CDB357D925DA6F1099B85BA5
+ B6A65E8F21B0B438850C292A4904104120823041A7425B5889C7723F33759AD1
+ BACEF9C3DD4F6ED45A6EE722CF7BB7BA1E8D362AF6ADB56307E9041208390412
+ 08209157DF9BDF460DC74C3F3B5470ADB336DC478AEE9D272E37D7DA31D64FB4
+ 3183E1ABAF43B4AB2948E7A4C86FDBE5BD16532E4692CACB6EB2EA4A56850382
+ 9503D41046306B626A4B831B4D773BBDC8EF37B0B9A9E1CADC9C86A06B5B3EC6
+ 6EF09BE887090763ED0C93B1783D0F54A92A1D4614A83BD32BFCE57447F7FCFF
+ 000772A84F22DC5999C20E66B475C1871C10EE9253669AD231875A90A4A13BB3
+ E4973C273A7FBDD5F1F4C5C84CAE06E83791EEB97DDC3EB8EE5276ED9AA1FBB7
+ 419CE0E58094F30DC3D20E0FCB51BF762BF43763FF0072227F6B15F9DCE5C6E0
+ C5AB8F1A0E64A70351D9BBC75AD4AF20162BA1BCDE73DDC66E09BF668563D14D
+ E92B2CAC98576BC78525D9C94A46EFC1A16435EF24E15857C40EA2A7245C9D22
+ B8E4A2B93A494AA53C897A4097CCA5D24E8FD596E62D7AB634612599114E199A
+ 804256769F7140A93ECE4E41E9D8D59CE35718F4F701B87574D65A99E5B76D82
+ 90036D0CB8F38A3843681F151E959DC5A7468524D59BD52AAC72DBCCFDD39B5D
+ 2B7DBE5AE4A7454589735408B1186D12E5A9094B6E171DDE0A46E4ACA4003A14
+ 9393DAA07E237A46F5CF2CDC6EBC684D736881AC6DB0DD42D17185FE9593EAEE
+ 00B465006DDE12A008E9D7AD4A836E88DEBB9D1FA5687C15E35696E3E68283AB
+ 349CEF5BB7C8CA56D2C6D763B83DE6DC4F9281FA8F7190735E8E2F717B4CF03B
+ 42CFD5BAB277A8DA6200094A7738E2CF44A109FC6513D8556B92D6AACDD295CF
+ 8E0FFA46AFBCCBF1A62E8CD3F6D8DA1EC8A65E90AB849C4B96EA5006109491B1
+ 2A39CE4E4601AFBF335CFA6B3E5278AD6CD2B32145D716D9D6862E6254B6C439
+ 08DCEBADAD20363691F822474E9BB0738C9BEC95D15DF1AB2EEDF388FA574CDF
+ EDB63BB6A3B5DB6F372514C2812A5B6DBD208EE108272AFAAB63AE50F11B8131
+ B9E69BA5F8BBA0351163C42989A8D13B719515F428A89404F4F6429294A7A0DA
+ 1273D6A76E6579BCE22728BA43482CDB2CBA921DC774360CFF001D32C065B465
+ 6EAF7616A56EEA40152E1ECBB95DFF0025E8A5734B823E955D4DC58E2EE93D31
+ 72D2B69B1DAE6BEA4CD92C3CE3AE14A5A5AB080AF32A48C0EA4E70324D65F9DA
+ F4836B7E086B4B469DD2A9B645B929A4CE9B124470F96195FF002B69C56EC788
+ A00A88481B4148CAB39A8F0E5744F891EE745A955C3928E6FA1735BA0E7CD910
+ 9BB3EA4B3BA966E3090E6E4614096DD467AED56D58C1F342AA30E2F7A486D70B
+ 8CF69E1670F2345BA5D265CDAB54BD4131798911C5B81076253D5D2924E7A819
+ E99EF51B1F62772AB2EF52A9AF321CD76AAE51D9D2B79B9BED6BDB05E652E33E
+ CBECB70A535B4056E68A06D50C743B877C7519C558BE07F1C34B7305A0A26ACD
+ 2730C880F12DBACBA025E8EE8F79B7139E847E7041A8DAD724A926E8DFE954A7
+ 9D6E74B5FF0028F7FB0B08B269CBFC0BE994E45043EDBACB6D29B002CEE214A2
+ 1C1D4003A1E9D6B40E58BD26FA9F8F5C70D2DA2EEBA5ED564B7CEF595499315D
+ 5AD6AD91DC5A1290AEDED253E756D8DAB237ABA3A2B4AA2FCE7F3E3AE7953E20
+ DB6C71B4FE9FBF41BA42F5F8CEB85F6DC6D1BCA36AF0AC28FB24E463BD627947
+ F48FEA1E6378CF0F49DDF4D5B6C36F36F7A438EC4756E2DC753B3681BBB0EA7A
+ 7D1D68D8EAC37C6E8BFD4AAEBCE5F1F35972D5C3D7B5BD96158EED6969D6232A
+ 14E43C1F2E38A20A82D2A09DA063A633DFAD52CB47A627595DA742812345D8AD
+ E24496DB727092EED65B2A4852B6ABA741B8E49C7D950A0DF281CD274CEAED2A
+ 8473A1CF27143845658371D19A23E4AD3139D4311B545E0B6E7AC38415ED4470
+ B2A482942B05C093D0E076AF07243E929B871A75C41D01C41B7C58B7B9CDAFD4
+ 6EF086C6DF7120ACB6B47641290A208382538C648A9F0DD591BE3745F7D41648
+ BA9AC372B44E6FC585708CE457DB3F8CDAD252A1F5826B8B9C4BF46571334BF1
+ 21FB5DA556FB869A79F598F785BE1B0D359E81C6FDEDD8FE942874EE2BAEBC6C
+ D4FA934470FAF1A934E7C94B5DA21489F219BA36E2C3A86DA52F6A0A14304EDC
+ 64E475AE66C8F4C46AD9ADB9EB5C39B03AF630D2C49786CFA41CE7CBE157C7BB
+ D8AE4DBEE5FBE50F85C383FC2CB6E988CA52E1C26B697549DBE2BAA254B5E3CB
+ 2A2A3F5D4E951A72DFC47778AFC15D23A9E536D3370B95B999329A613B509716
+ 904848F866A4BA4CBBF2323DB835DE22AFC3D0D7B563388AB3F9AA80DEE705CA
+ 5A8925B213D079F4AE80EBE478BA32F08C12151963A7D154B752E8D8B19F5361
+ C0038842B27A63A66BC8F58938E58B5F1FEB3D7F449349AFBFE08E2ED3242ED3
+ 251193ED29381D326A3087A5E4DDEE896DB1BA420A77E081B0E7CEA62BF31F21
+ 4079C6543784FB0A3DB3DAB0FA22CE5AB34D94A49F5B93953AEE33BB1D463ECA
+ CFA6CEF1C3F93D24E09CB93FDD1F6136F74CF43E85252F96D655D82803D2B50D
+ 59735CABCDC587093B95918E8922B69D0115C9B639A1D75494AE528A09CE49FA
+ 2B63BD70B53758119D6886E5B60E14A1D17918EBF6D2DE48F896D8463B484CC6
+ 298C858649483DC75AF569A608BA171D412D107A1F33838FCF59476D12EDD395
+ 6C782912413D4E02079D65EC3A525A2E6CFAC496A3A09C92E754E0FD15B326A1
+ 3850D8F637DD3A1C6E3BD295E2376F623F89BD23A6E1D719AD4ECBABA4BBAADA
+ BD38D87D80EEC4A8A4E00C1F3FA335B4710B595BED9A7DCB0468921A5A9AD9EB
+ 23A32BCF7CFD59FAEB4FBB5E2D32F4841B45B1A75831D616642540070EDC1F9E
+ B99096E4EC3FF2245E2AC46EE973B74C65E4BBE234970349EF8FA2B76D3F68B7
+ B1A61F4AD45D0E33BB628E46F1D718EFE555EA0DCE52A304C97D4E0424368524
+ E56067A60F6AB53C2ED35063E8E86B790E3AEBA3F08B70E4A0115932C631E0D1
+ 964A30B3E1A43504455A602D2B4B6ADBED369EC4038FD3523BF2DB910DC5A4F8
+ 4360EDD327CBF3D46FA6B45C7B729D4BD1D69DAB5EC513D36EEC8ADA5C92FF00
+ 889C84B71074C2FB2AB8F349BA89CBC9152E51AA714624ABBF0FE63694308900
+ A4656924F45827A8F9AAB3D9265CED12A5A84B7A1B8EE194ADB5042719F9EACC
+ 7102ED161C7B7B725C508AE384BDE1A804E3076F7F9F151D3B7C665DDD82C5B6
+ 09B521D0DA9529A39512703AE3E38AE8E9B74214C7E9B7422D334D8EE25F118A
+ E5CEB9BAE15655BF294E3DEADF20C8F90E334A6D41B6D61252F38921480481D3
+ EDAF91B2C5B45FE0DB5B7E332E3CB5A9C0D9010D82723AFCF5BF5FED90576F2C
+ 486D0B4A53B52AC6524791E9F3E299926FB0D9E457C9A6DD3C0BACB75975E2F1
+ 28DA24B44EF04F4E847D358C92FB9A4E4AEE2DCD85F846043711209538A48EB9
+ AC843D29F73B19D96C3EA7DC07294672939E9F9B39AD3F5469A9BAB1F5C453CC
+ 32C21217BF610ADD9EA2931A7C36554AFB183D4776B64C4B66CD11697CEE2F96
+ FDD2707AE2B7FE14AA46A0D2ED34F1523C370A50E118DC7CC7D95AB5A786CEC6
+ 43715BB8A487B207843DB3819207D952469980DE912CB0B904C46C6F4327DFDF
+ E75B32644D28240E6D2B332AB5C9B3DC19DC545B7BA0CF9D7F372652EF8C5C4E
+ E493B704742475AFE75BF112D56B87EB8F2C0776FB2D7880907E8A86EEBCC230
+ 90B4222AD4950CA5455D0AB3D6918F459323B8995E777C9BA5F6E519EDAC3458
+ 69C64FB49030AFAABCF2EE8F2A03ACBA308534A0147B7BA71505EABE3239704E
+ F662B319D27AAF2370EBF1AD6E47166F975532C2DFDAC15252427AE7A8F315DA
+ C1D372EF527D8C1AAD56C833A31CA4B6A6B49212B183D47C6AC0541FCAB4411B
+ 44C6DC72B280AFB454E15ED1764BE0F0B2929C9B4415CE1F33FF007A7F0D6D7A
+ B7EE6FEEA3D76EED5ABD53D7BD5366F65E73C4DFE1B99C7838C63F1B39E9D66D
+ 81399B9446A4C7712E34E24282927E233546BD317FB19F4D7F85B1BF81CCA95F
+ D1F1C558BC53E5AF4C3C891E34FB64745AE6A56E6F703CCA420959EF9527639D
+ 4F670536BCB62F779A8B26EB287DB287101683D0850CD523E7AB900B4F19ECB7
+ 2D65A3A12626BD8D1F7EC6484A6E6103A36E03D37E3D94AFA1F7428ED036DDFA
+ 1191D7B556326B944CA2A4B93F3256AB849B35DA24D8ABF0A5C5790F34BDA15B
+ 5695029383D0F503A1AEA3FA5625197CB6F0ED655B88BE919FF8BB955024E8B5
+ 6AFF00482DF2C76F61B53035F4E74B4956C488ECCC71D70248EDF836D58C7CD5
+ 703D2B51150F96FE1EA0F637E2AFFABB9F0AD6DF28CAB84CE7E72C0A09E61387
+ E0A10E055DD84ED706475563B7D7577BD2F36E442D1BC205F7756E5C772B3FD6
+ C7E95483961FD90BC3DFEFD46FDD8ABD9E98AFE63B83BFDB2E3FB98F5597AD12
+ 979594F79169F22DFCD46845C7756D15C8790B09510149F01C383F11900E3E6A
+ EA97A41797CD43CC5F02E044D3323FD57B5C84CE44353A50DCA4ECC292AEF923
+ 394E7CEB94BC927ECA4D05FDD4EFEF0E5750F9EBE75DEE57B4A592CFA722C5B8
+ EAFBCC62B6552C6F6A2B4001E229208C924F40703A79818A89DEE544C1ADAEC8
+ 6BD1A1C0BD79C12D4378BA6A76D56B62EC84C64D9144297B90A3F85731900819
+ 09C1390B5671D2AAF7A50483CE56AEC75FF4AC0FE0AD5495C8DF12F577319C78
+ BA3DC41D4F77D431A2C33353674CA54684F3BBD081B996B62368CE76E304F706
+ A1DF48A69D81A5B9ADD516FB6DB21D9E2A23C258890194B2D24AA33649094800
+ 124927A75249A95EBE486FC8592F43A6B59AC5D35B69A2E1F93CA9898119E9E2
+ 2C2904E3E86D3FFE8ACA7A66EFD7841E1ED992D2858961F94A787654818484FF
+ 008A735A47A1FBF9E46B3FEE789FBB72AF673C1CBA5AB98BE0F3B6D9535BB5DD
+ EDCEFACDB26B99294BD8C6C20770AEDE6479551BA98C49BC672B3D1C9FB282CD
+ FDC723F722A4BF4C18C7321A540E83EE422FF0B9758CE50F82FAC7803CC1DAEF
+ BAF74F4DB1D9DB69F8E272901C682D4001B8A09294919EA7E6ADF3D20FC32D53
+ CCDF1F2C379E1FD965DE6C51AC112DCEDDD6D9663078C87D67DA5804801D4E48
+ 070723C8D5ED6F17CECA305E88CD5972B5F16755D98341DB1CDB736FC852FAA5
+ 0F21D096C0F9D4971CFF00147C2A5EF4CFA128D1FC304A404A44D9B800607B8D
+ 5487C8BF296381701C5CA784EBDDC54872E129B528340201D8DA01F24EE575C6
+ 4EE39F2023DF4D17F323C30FEEE9BFBDB555BBC85E9AC6ECA1BC9FC2893F993D
+ 08CCD8E994C7AE95786B008DE96D6A41C1F82824FD557AB9E4F47F5FB8ABABA2
+ F10B464B8EA9F718EC3172832D4500ADB4840792AEB8F6128494E3F173E66A8D
+ F267FB27340E7A0F5D57EF4BAFD015B1A43F688C97109524B63A11D3B54E4938
+ B54571C54AD3397A787D71E44F94CD6D718171F13575ECB715D9ED82D16D4E1F
+ 0D286883DDB4A9C5839EA49F2E9546397B3FECF3C3B27A9FBA1807FEB08AEADF
+ A59F45AAEDCABB33E26C659B25F22CD75013EFA54971803ED781FAAB947CBE1C
+ 71DF877FE1040FE108AB45DC5B2B35B5D23A0DE978404709B853F1F5E959FF00
+ 268A847D15BC639DA138E3234B2E462CD7F8E7C4656B2078C8EA8291DB241232
+ 7CAA70F4BD67F913F0AB3DFD7A5FEF68AA6DC8A69C95A83998D2AE465148B72D
+ 739DC0FC448DBFA562AB1E71F25A5EBB2D97A6988373E1291D4166E7D7EB8D55
+ 5BD1FDFB2BB45F5C7FB6BAFF00C55DAB41E99470B8BE0F150C2BD5AE5919CF9C
+ 5AABFE8FF19E6BB467FC6FF82BB52BE9912F593C7A61C7FB2BF0F8F9FDCEFF00
+ DFAEA2AF46912399C8641C116D918FB5152AFA61FF009EBF0F7FC1EFFBF5D453
+ E8D419E66A263FA9923F4A2A17D3225EA3A19E955EBCA0DD3FBE70BF7CAE32E8
+ 477C1D6FA7DC284B811708EAD8B190AC389E847C2BB35E955FD88375FEF9C2FD
+ F2B8C5A2FF009B0B1FF7731FBE26AD8FD24CFBA3A93E945B734C728DA49F032B
+ 56A88C91E4123D5257415CDBE5FE63D6FE3A70F5F8EEAD97537F823736A29382
+ FA01191E44120FCC6BA5DE94DFD879A3BFC298DFC125D732F819FCFAF407F7FE
+ 07F08454C3B04FD48EF9F17E4AE5F2E1AE9D70E56AD3370CFF00CD9CAFCEA9EE
+ 6BF44BC55FD8D3AE3FC19B87F0672BF3B47B9AA62F72F97D8EF7F2143FF264D0
+ E7FF007547FDC5588AAF1C857EC63D0DFDEA8FFB8AB0F59E5EA6361E946035E9
+ DBA36EE725204751C838AA8BAB59726F86E2101C616DA13BFCFDDAB6DC474173
+ 42DF120804C55E0ABB76AA8F012A9288D15D52C7BA0EDEC3D935E33ADF134FED
+ FEB3D5F47928C5BFBFE08C38845943B6EB4994843606F7727AE31D3F3E2BEBA3
+ D12373D1B79F56436A20246770DA7CEB70D6DA46DEC843CEB0D3EF9514EE503B
+ 80F2AC5E988688D9F0C143D9C16D241183D2B84B23A47AF693E4C470CED8D6E7
+ 9125A7A3AD0F29C6D4E7BA52723352DC88A12DC65216971AE870923AE3AD60AD
+ B39CB6C971B94C36E282B0DA0A7BA6B291EF81E75D8EA31DB69209C0490479F4
+ AA4F74BCC51AA311A9B4369AB94A72F8F4794B7C27DA682BD8E95E16AD369B8C
+ F6018E3C30D24A49EC067CEB6393257704B512227C46D632E380744A6BDF1B4D
+ C18A5C5C605C46C0929C609EBE59A5AC93F704E8D6B5DE8CB76A48B1E2224350
+ C3683B4ABDD5F4F3A898E94BAE9C054D448F3586C93EE7422A739B6684A7D323
+ 290F23DD6DCC9049E9D857926C9B75C202E3CA8F21975B3B3647E815D6B4473B
+ 8AA2CB976451A4ED364D61203CD30EC3951D60ADB49C209CFC3CEACC599FF538
+ 8DB681B17B000DFC00AD1F4F6826ECC80B891501B7C83D46E77BE7A62A428B0C
+ B3BBC4C216947627AF6ACD9B26F62F3C9CD6D67C85F95295B8A125B49DA40E84
+ F95691C59E249D330D10E2B8CBF31406124FB9D4673F566BE9AEF5D46D0D6E32
+ 5A8C1F7D4086C1EC547A7EBCD57C72E53F55BE5E7A1176E7217EDAB19C27BF6A
+ AE9F4EE72DC8AE382AB3E3A83575DB5038F225AD4B6B1B928CFB1D3AFEAADAE7
+ 3F0ACBA76D4FB2B7A427C2F1DE69E57407CB1F5E2B5E5C1B75AAE8D437E5A64B
+ EE25414B6D40A1A3B4E01C7CFD2BD7628726F32A2C59090DC44A94D9757D51B5
+ 20AB1F9ABB3971C60BEE6BDADAB4481C3ED191F88F61917BBC05C48EAC6C5215
+ B547072307CBB79D48D6E9564D3F6965969A97794B87624A0EF29C7C456034FE
+ ABB63D1E3DAE3B6531228214C471BBC6383E43EDACCC2BB3E10E2AD76F7ED2C8
+ E8A4BAD8EBF3E7CAB90DCE52A68C192AFCCCFEE64D43C95C78F09E68AF070B09
+ F671D7B039F2AD4752EB4B059CA5B75C6D324821CC10950E9F3D681C65E2C8D2
+ 5714B16875E7EE2B07C5710E0211F1F3AAE770BDCED4D7171E794644870F449C
+ 939FA2BADA7E9B2D42F16E90A79563548B2372E37592D105286007DC49EAA460
+ 2D3F41A8F3557196EBA85C2C5B12194AC603BFD113F41ED5A35B7435C1DC3920
+ 351D048CEF07A0A9460F0EAD96C80CBEC3A6549233EC7BA3E35BDE1C1A77576C
+ BE29CB2AE51174B4DD24202A63EE4A59392544E457898B04EB9C92D31BF67E28
+ 524E0D49B798C994E25086835B3B93D2BD8C4B90A4350E3434EE5F40E8181F6D
+ 5DEA6B949169E9A37CB2354F09AF13565186DB3DCA9C4F415B3D9B84F02D610F
+ 4B53AA92D9DC0A7F95FD62A6FB0E9B459EDAD3D35689925DEBB413ECFDBD2BC9
+ AAE3B6A657E06C4A76125208CF6A547A86594D2464CFA786C69969796B5A4693
+ 88949CE53D3E8C54CF50372A2F29FD26D15FE2A309A9E6BD7C1DC533C0CD2536
+ 9144BD317FB19F4D7F85B1BF81CCAA8BCA8EB6E2B72568B5F1026E97977AE15E
+ A561A7AEB1A210B5B2D12A0DC803FA1AC270A055F835A5C4A4A82882DF60B881
+ C3AD39C4FB01B46A6B1DB2FD092E07DA62EB0DB94DB6E80521C4A56080A014A1
+ 91D70A23CEBCF69E1CDBA15B9C8D250994A73DE591D6B5466946999E506DD91F
+ E8CE75381FAE2C6C5D21F13B4E406DD1D63DE27B7024367B14A9B78A54307CF0
+ 41EE09183516F329E913D07C3DD3D22CBC38BB45E21F10EE294C6B5C2B19F5C8
+ EDBAE129438B7500A1783D9A412B5129184856E1B17107900E146B998A912747
+ 5A94B5385D52E32150D6B51CE4AD4C290559273D49C9EB59DE1AF297A538641A
+ 3A7B4DD96C0F21A31FD722454996A6CE32953EADCE281C0CE54724026A3C9DC9
+ 7BCAC9C8BF28D76D117093ABF581764EBABD0529EF15D2EAA234B505AC2D59F6
+ 9D5A802A51CE30003EFEEF67A62971A3706342DBDB79BF1DBBD6FF0004286FD9
+ E03A376DEF8C83D6AFE58B4FC5D3F17C18C8EA7DE591D546B11AD7867A6F5E20
+ AEEF63B5DC25F861A4C99B09B79C4A0124242949240C92703E27E346FF0036E6
+ 1B3CB47E7F796879B8BC7FD00EBCB4B4D22F31CA96B3B5291BC7524D5E8F4C1C
+ F8B2B4A7081966434F3A854F5A9B42C15241447C1207607CAAEDA7954D109567
+ E41B3E739EB6E64E3F6B5B4DF782BA5F51406D99F61B3CB7D2D86BD65F80D2DC
+ D89184A7714E700761D855DCD3699450693470D392E90D42E677423D21D44765
+ 325DDCE3AA094A7F00E7726AD77A5978277A9D7DD2DC51B5479172B03B6B6E04
+ C798095B514A49536AE8738585ABDAC63A0EBD6AFAA3957D128712B160B36E07
+ 23FD4E6BE39FE96A4C3A4A0C9D309B14A8CC396F434184301B01B4200C252138
+ C0007402A1E4F35A058F8A671AFD175A9ACBA738F539BBB4E6A13D32DC598DEB
+ 0A0942C8712B5024F4076A49FB6B1FE942B6CBFBEC7505DFD55EF92E7468822C
+ DD87C17F6474217B17D95B54920E0F422BA663923E1D41D546FF000B4A59D371
+ F13C5F194C0EFDBA27DDFCD5256B4E0B58B88BA5DBB26A2810EE509A4EC6E3BA
+ C24B681F374E9F554EF5BB711E1BAA396FE89FD5B66D31C47D50DDCEE4C44953
+ 1B88DC48AB24BD29616E652DA002564129181D7DA181560B9D6E76EF9CBBF32F
+ A5A3274E2EEF6481675C85C07E4F80879F7CE038140286F6C2149EC461C57CC6
+ ACCF0D395BD33C2A92AFB9AB641B2B255B94A88DE16AFAFBFE7F2AAFBE93AE17
+ 70F755E9AD30BBCDE26C4D7EA5391EC70AD90D53665C49C1536184904A73B7DA
+ C80091DC9C12D4A564D350A21877D2EB6992A52DFE0D975E51CA9DFBA300E73F
+ DCB5EA67D2F7699CFC666E7C259061255EDA9BD4016A4A7E212632771F98A87D
+ 3D2ABD593D1C7C5CBB5B5326422CD699273BA04C98A53C8C123AF8485A3CB3EF
+ 798F3E95EF6FD19FC57712B3EBDA751B4765497F2AFA3F014CA80BB99D40E56B
+ 9C9E18F324D49B769372459EFB15BF15EB25D1B4B720B7D8B88DAA525C483807
+ 69C8C8C84E466ABFA66AE5125E9BE1BC662532F496274DF1596DC0A5B7F836BD
+ E03A8FAEAA6702741EBBE5D39C4E1FDBEE56C544BC09E82929505B6F467029B7
+ 1C428770105CF9C104100F4AED0DFB84FA4F5E45F5D99A6ECCFCB969DEF4A7ED
+ ECADD59C6325452493F49F2A534A124C626E71699C2AE4F64350F994D08F3EE2
+ 1865135454E38A0948FC12FB935FA06B13EDC9B24075A712EB4B610A4AD07214
+ 368C10477A899BE55F44216951D3F66560E71F2735D7F6B52CD8ED4DD8ED5160
+ 3096DA8F19B4B4D34D20210842461290074000E981F0AACE4A45A10DA61789FC
+ 3DB5F15B87F7ED257A643D6EBB44722B830329DC301493E4A07041F222B876CF
+ 2FFAA7976E6BB4558B53C65B1199D490FD5AEA50511E534242085A547A038EE9
+ 27A7D1D4F7B2B53D7DC33B17116DEA8B78811E6248C61E6C2863EBFD22A213A2
+ 650DDC9CFDF4B7B427F0CF851122A9322699D20222B432EAC29B48CA52339191
+ 8FA48AF9FA3AF959BAE81439A9B50C27225FAE8021A88F2005468E0E7DACF50A
+ 51C1C74E83AD5DAB6F002C368095C6B64633520A44E90A5BEF246EC909538545
+ 033D7A56FDA6F4AC4D36C6D65214E9F79C3DEADBFCB446CF35B2877A5F784172
+ D4BC32D1FACAD8C3F2DAD3521D8B2DB693BBC361F08FC2ABA760B6909FFE3EDD
+ 3239EDCA26BFB2F0C3980D31A8F50BEE46B54453C975C6D853CA056CAD09F612
+ 093D543B03F457E82EE76D8F7780FC296D21F8CFA0A1C6D690A4A81F883DEA01
+ 85C96E81D3FAB1DD4166D376A8771714A529F4B03764904E01E83A807A54C722
+ 4A995941B95A39F7E956BBC8D67ABF87FA99986E46B149B41620392D0E3325F0
+ 17B94B5B2B4852139574DD851EB903A546DE8E09D1EDBCCA447A53ED456BE4D9
+ 09DEF2C2139CA3A64D765AFBC18D3DAA6D6D46BD5BE1DDDE6861B7674643BE18
+ F827703815ABC7E56744C7790E0D3F66514A82B06DCD63F7346F5B688F0DDD90
+ D7A556E90FEF50B94232D8F5D5DC612D31FC41E214F89DC2739C7CF5C6BD1A76
+ 6AEB2295ECA44E60927B0FC20AFD196A2E1969FD56D21577B15A2E7343619F59
+ 9905A75610338485292481D4F4F9CD6887956D13924582CC3273D2DACFF9B446
+ 6A2A8B4A0DBB2A97A51EE70E4F289A2D86A532EBCBD4B19E4B687015291EA92C
+ 6E03CC67A67B5734B822E258E33E8371C506DB45FA0A94B51C0481211924D7E8
+ 11FE0B69699618F6C9560B44B4C668311D6FC0697E0B79276A729F64649381D3
+ A9AD4C72A7A201CFC8367F8FFB9CD7F9B531C8A2A825072767AB8B17CB6A3963
+ D60EAA7C54B5234DDC10CACBC9DAEABD5DCE8939EA7E615F9E820E4F435FA486
+ 3861601A621D924D92D3320C2C98B19F84DAD960924929494E06727B0AD2E5F2
+ BBA265CA53C74F595009CED45B9903E8C6CA884D4499C1CA8D4F902B84695CB5
+ 68D61990D3AF316B8C1D6D0B0A52328E9B80EDD8F7F8558FAD2B87BC2DB470D4
+ 48459604180DC9C78DEA9190D1736E76EE290338C9EFF1ADD6932E5D978AA546
+ 075DB064E8FBB343DE5B0A48FA4D40568D3AC8F0FD8CA80415123B6075AB0BAA
+ 97E1E9F9AAC818479FD22A1B430E04890CA82C6CF7479D78DEB5CE44BEDFEB3D
+ 0F4EE22DFDFF000469C42D2D21F056DE47B794E3AF4A8EA05B5DB65D545D52D0
+ B3EEA87C71560E5296FB690EB7B5C190323351C6ACD312E09764A8EF49F68015
+ E69499EB70E5B7B59ABDCED4BD42036CC85B17103D951248E9D7CAB4AF90F5CC
+ 6B8069B5C4CEEDA54A049DA7A7E8ADC61DC4C675A7C2B6AC1C28F6C7956CAC4C
+ 7234DCA02DF5A91E275ED8EFDE98B234A8DD91453460AC56C9DEA0B79B92E264
+ 36EF86E241DA838F98F7A932D8526D8DA9CDA878FB215904FCFD2A20D493EF2F
+ CF44DB7A434DB6A2E142BDD52B18EA2A46B1EA06751DB1B717222A5D4B290EA5
+ A385B6BC8F2A5B7625D7B1F57ECCD37710EB6A53EA47B6AE8401F6D78AF210AB
+ 489259282B7463C3EAA3D6B2CF5CA1426D2B6A5A1D73042D25D4E7B7C3351DEA
+ 2E22B16B095A55E3785B8A5B477CE0FE8EFF0055536EE95168F62414EB26B4DB
+ 31BC429502318CE1C1918158F9F3DDBA9F15996A0E39DD1BC6F03E6A86237106
+ 35D58F94A5B894BC85FB6B50EE3B002BC175E34B6B9454CB0F96D92925C6801D
+ 323CEB47E8F237C149C6D998E3BDC936F62D0CA4BA5D2A20AD7D810335127DDE
+ 5CA338EFAB492DB8A1B14FB430540F4207D5595E24F18236BC8AC45540290DAF
+ 295EF1BC8A8E9FBB4661B221C57BC6F252BA81F1AF45A2D34B1C36BF914F22C6
+ A8D96E9291608495C8012978152024E54B57CF8AFB49E374D8F65896D80D23C2
+ 6D395AD43A951AD420D96E3A84B9225BCA4B0D8F63776AFE2D5A3644894B0B51
+ 2D249CABCBEDAEBF83812B9F73064CD9E52A8AE0DCF4B73037FD26F9718896D9
+ 009C9F19A2A359EBE736BAB6ED0D71D98B6B8285A76A9E69ADAA4FD1D7EAAD25
+ 9E1FADD24B3B8A867A94E4564F4C707255E9D5F8CE214D8392903E1D7F552251
+ D2A8B97B95587513971D8C1698B3CDD613DD9329C5F84A512E388EAA593DB1F5
+ E2A65D2BC3762D308489296D2C647B5B70FF007F23FA7E6CD7A2CDA45D622B71
+ 6325A6100819C104E3E7AD96269E98971E66E03C4013F82752B3815C2CDAA6E5
+ 51748EB62D36C5E7EE79A559A3788B545417929006D7BDA1D7A7956305BDD4C7
+ 7A4B6EE108596FF03D81F318EF5F55DBAED6A7169873025D5E410B1B8015F1B5
+ 3F2E2C59169212B716ADE5D48F694A3F0AC4E519BDD26687517C231A887016DA
+ D5214E3AEA88C249C67AF5ACD69C7DA8B316AF60464FB892324D6B33346498ED
+ B9233216FA578DBDF049C76FAEB69D37A4A47AB054A0E3408CE542A6538BE2CA
+ CDEF76CCE4C9C9237A5FC23EBE95AC5CDE6990F292B538B52158575C0E86B3FF
+ 0020998957B64251F0F3AC0DE6DE5B42D08F68849EFD28C35BD519B341786D96
+ BB946255A35B2AEE062A7FA807946FE6347F646A7EAFA1C3D11FE0F9964FA921
+ 4A52AE505294A005294A005294A005294A005294A005519E6F783FA96C7CCFF0
+ F78D56D66E379B05B11EA772890925E7618295A3C56DA1D549C39956D04FB39C
+ 1ABCD5F1971199CC2997DB4B8DABB850ABC5B44356A8D4B8773F4AEAAD350EEB
+ 629D06F111E4058951DD4BA32476241E87E20F6ACC5EAF160D3EDA55707A2462
+ BC86DA5005C74FF4A840F6967E64826B5CD41C16D2BA9B6A6EDA76C97C6D2772
+ 5176B7352424FCDBD2AC56534EE81B76958498567B6DB2C91123019B6C36D940
+ 1F3250902A6C1264097CE09A3887C7E81C529F00DB3E4F81F24D8EDEB6CA5F52
+ 54A517253E93EE1216A4A53DF69CAB04E059E83184386CB00E76240CD7CE2DB1
+ A8CB2E7575D3DDC59C9AF5D0DD90950A5294B2C294A500294A500294A500294A
+ 500294A500294A500294A500294A50061759A928D2F7152FDC4B5B8FD00D4536
+ D094C36C01B55D539CE7A8C13FA6A4AE26BC63F0FF00503A06E2986E1007D150
+ 0E93D64CC88C9641C8751BC2CE7A13B7F88D792EB4AA4A5F6FF59E87A745BC6D
+ AF9FC1B8CC82F83BB72719F88AC75DED8BB8475B2B50248DB8FA6BE0DCF74C9F
+ 0DB73C504E48CF6AD8ED90038FF8EB57D44F7AF25B99D872943CC45323844A72
+ 5B496DE050D2F77B43A107BFD82B6563872988B5A83EA505109C818484FD1527
+ 46B7894F2CB48E87F1ABD4EDA17E0293DD5E4314394AAD165AC72F59114FE1F3
+ 125E7192AF61092404E01271D3F3D47772E14DD6E0E25F8321105C4AF0E390B2
+ 85AC76EF8AB17234C17D1B8AB63A7B8CD63B502E3E9EB5AB0A2DB8D23C4596B0
+ 57B7CF148597237543F1EA377088465F0625C1611211707D6A09CAC3CF95E7A7
+ C315A35E786CE5BA24C9CFC86DD696DA89C1F7303F356EFA8B983B4B897530E3
+ 4D71D40C05A969083E5D7AF4A87B5C6B7BCDF6DAB67C12D32B077223FBB8FEB8
+ D74F041B96E3A11DFF001C119DB2C73EEF1A4356FDCF0F13A0292411B87956FB
+ 6BD0931FB64982FC35A54E246E52505206083E7F4564780D3A340BE2AD325487
+ 172523C270F749EF8FD5539B16B7A15D253CF603493B02493D4D6FCFA89E392A
+ 468DB17DCAD13B84EAB7C7019610EAB3951DBED8FA2BCCDE9B8AC29A48692144
+ E09574C7C7BD4F7A99952D7907C34AD5B029033D7E15EB621166D4A8CEDB6049
+ 46DDCE296DFE100EFD0D57F5F92A986CC776411728DE1C736C80D21C6C81F860
+ 9CA4FC6BED074D14458F11390A1925450769E9E7527A349B4C237C75B6DB2FFB
+ 4D343F13E35F1718F0169492168070ADA30695FAB95558F5084B948D3A158A53
+ 8EA5090E32067DB48C2718AD86D6D31684A51112B0F38704A8F43F1FCD9ACDCD
+ 2861A436DB8A2A5FF43C649AF569CD3E89EB744869C094F54FB26B2CF3B7EE3A
+ D2E0F8B4F2E24A694908527FAE4E466BF9D42F495CD4A565480E0F6423DD3D2B
+ D77584843DB4BBE12500E100FB47A5639B5ED8895788B71F493EF9E82937BB91
+ 52767DBE4F6A24065730A92E28FB5B4E4FCDD6B73B4E99B71B5098CB0953F8C9
+ 594E542B44811244B77129D25A51F2EBF4548365BA2AD519705921C514F53DF1
+ 4A92E444BB9AE5CD80E4B75236B6D14E4AD408015FA6BE36A49948719714D9F8
+ 14A8D7875219720C95FAC018EBB3B5602C825021DF115B15920E69908DA2866A
+ E6DFC9C54E256A0D1E84A4E0D609E71C9D16586D9DC94A09538A1D47D75B14A7
+ E3CE88862602000494A7B9C751F9C5787C2C5A6429A5ADB6CA140B6AFC6E95BF
+ 02A92179BE932C3728BD34627FB3353FD401CA41C68C40F3F115FA0D4FF5F458
+ 7A23FC1F2EC9F525FC8A5295728294A500294A500294A500294A500294A50029
+ 4A500294A500294A500294A500294A500294A500294A500294A500294A500294
+ A500294A500294A5006B1C4D5251C3FBF15FBBEA8BCFD18AAA5C3228951DF380
+ F488CB082C248CEDC60FD99156A78AEDA9EE1AEA54273B8C07718F8ED38AA43A
+ 56FB2B44EA489BB608D311B96E7E30240C75F2ED5E5FAC477349FC7E4F5BD1D2
+ 78A49FCFF88B2B6C8515A65C7DB8E42881952BA63EAAC8C209796144FE081F68
+ 76AF85AA78BDD892B8CE32F367016A4104823AF715E28125D91352DE0A101452
+ 7E720578E51B36E5B69D9245B222584A0B4E8008F748F9ABECF3AB49242C2F1E
+ 5DABCD063295190A4ABA247527A57D5961A5255E23A0FC46698934A91C19F2CF
+ 8B6CA663A3AF5EBECF6A87B8AAFB835E5BADD1D5B1A90CFB6547A6D1DFF8AA6A
+ 73C04290A092DAD27A7CF51DEADD29F2B712EC929C6C94351561431D0939C0A2
+ 38D2E59AB4B2719591C6BBE15427ADE972345851B6A14A56D6CA52B0013957E9
+ AAC1799EE5A4391D92B5B8EA8B692DF540CF4EDDFCEACEF1D353B4D990C21C79
+ 8311B536B40384E48C0FA7BD41FC2BB65926872FD7A9495C588B3B230580B715
+ E400F98F5FAABA586548F658B33943947CA3F0D17A1F48D9F50B4A5BB7832029
+ E23AF868CFEBCE3EBA9B34DDE6F9AD6229366B626330A482E3D756D5B56AF9B0
+ 3350D6A2D613F5C3F2DE65D4DBA034E6D6620E81783D323BF7C558CE5EF52AF5
+ 3E8E48949025425968A50AE99EDD479FD354D4BDFE7663D44DE3568C02F83E13
+ 706E6DCEE9297B30B31E36030547A1C83D7A6735919765F54448F05490CA8040
+ 52939560900D4877665725D5C7D981E6723A79D6BD756550E3292B47B27A83DF
+ B1CFEAAE0CB236C5432CA4AD9A7C6D35062C5FC232A76436BC85760135AAEA4D
+ 1AFCA96EC98ABF0D0E63281F8BD6A5D5BAD5D2CCDBA86D2951E87C89C1AC34E6
+ 5A84C871E412938C04F73429B66DC5964A2476CE920CA1A5CB4B892923F083A6
+ 3EBADB61C584C4C65B8CF3CB6D430A5EE181D2BED73BB34F470969054823DC70
+ 74358180E21943886095BAE286327D91D727A7D1436D969E46D59F5D5F62696F
+ A0B2C6E27FA2F98FAEB5A7EC186D3E1A56777C106A594C56E5DA92B0145C0076
+ E89FCF5AD5C24CA8AF2DBE9EAC074DA3AD5E3371542B1E693746A8842ADB1490
+ 9C383B6EFCFF009ABC5659A9B7EA17945EF11D713B8157400115994C59375277
+ ED4344F52AF7B1E7F9AB55BEA3E4DBB21D4A01009432C9EBD08233D3E9A747CE
+ AD9A5BB327A890268714846545272B4F6AD43D6DD8A434C7B8848055F039ADB1
+ 4FA9AB4B697595B4B4F5049C24E7E35AB4E770E2B6202B77C2B4E35EC4A56659
+ 9485B4DBAE0CA88E8A0735F39D7667D49D654A4B6B6D0ACA7CFB1AC0499EF426
+ 9B6D454A49C93B14322BC4BB8B0603EB736A5C2850255D55DB03B56FC70A9AA1
+ 59D56365B2E5246747B5FD9295F560D580A8039483FEB39AFA3153FD7D0609A8
+ 46FE0F9664FA92FE45294AB1414A528014AE5EFA49A0F183972E21DA389DA178
+ 8BAAE0E89BACC6C39017A85F7E3C3B982B77C34C57145263B886F706C85A014B
+ A921082DA0E2B8FF00E909D59CCFD93879C3EE02337DB2EAFD45F84BDC78396E
+ 6477D2AF623332C29386C6C71D71D0103C3F0F72903C66C35636E9A16E695A67
+ 55E95CEEE7CADBABF95BE4CF4740B17137594FD4AAD511D171D4F22F7244D98A
+ 5C4925690AF1096D9CA11B590768DA09DCBDCB5437A27835C75D77C9E48E39C0
+ E64B5932FB16E9D73569F93729A9496A23CEA1D0240924EE28656A48F0F05442
+ 49032B0285ABB073A75475D6954AFD197CDB6B2E663486ADB6EB9F027DEB4CBD
+ 188BD32DA1954C6A4178A52E348484254D9648DC900292A4829CA4A97637992B
+ ACDB172EFC50B95B65BF6FB8C3D2F73911A5C570B6EB0EA22B8A42D0B49052A4
+ 900820E4100D51C5A7B5964D35648F4AE3B7A36F9C5D748E632DFA4B5CEB5BB6
+ A3B06A96570507515DD4F2624B4A4AD85B6A7B71DCB295321B4A93BD4F233B8A
+ 102B29E934E73753AF8E2D68AE1D6AFBB69EB76946551EE12EC17272319739CD
+ AA750A5B2EE169682508C2929521CF1D27CA99E1BDDB4A788AACEBAD2AAA7259
+ C656ACDC88696E21712B55BEE311599EFDC6FB7B94E4875494CF7D080A5A8A96
+ B560210848CA89DA94824815A1DD3D30DC13B7DCE5C68F66D65738EC3CB6913A
+ 2DBE38664242880E2039212B09501901694AB07A80722A9B1DB48BEE556CBCF4
+ A8935BF343A1B46F2FAF719A3CB7F53689432C3E87AC894B8EBA975F430004B8
+ A461495AF0B4ACA5492950202814D57DFF0045EB81DF72FF002AFA9EABF5DF5C
+ F56F917E4D6BD6BC3D9BBD63778DE0F879F631E26FCFE26DF6A85193EC81C92E
+ ECBBB4A893487341A1B5F700AE7C5DD3F2DFB9E9BB65BA4DC26C56509F5D8CA6
+ 1A2EBD19C6CA804BC903B156D3B92A0A285254743E0D73F9C3EE38685E23EABB
+ 159F5244B7683B70B9DC9AB846610EBCD16DF730C843CA0A5623AFA28A464A7A
+ F7C46D64EE4597A540DCADF395A2F9B6FBA5FB90B65F6DDF207AB7AD7CB4C32D
+ 6FF1FC5D9B3C375CCE3C156738EE319EB89E6A1A69D304EF94294A5412294A50
+ 0294A500294A500294A500294A500294A500294A5006075DA3C4D1D7841190A8
+ CB49FA08AA8970D3312E311E8786D5236A437B8F6E991F9EADFEB48EE4BD2776
+ 659197571D6940F8AB1D07DB549A6DECE9DB9AD17561C6969202D49F6B181FD6
+ E7CEB87D474F2CCEE3F077FA7678E1836DFB990B16A5D43C342C5BA7C45BF6EF
+ 7CC98682129FECAA66D29AA1AB9418CFB2B8E1A7145654A58C80474EBF4E2A2F
+ 83C74E1E26198F7CBE3F1D246C5B6B84FB8920F43EEB66A3ABDF10787B6E79C5
+ E99D62EC5677E531DC852C003E390D1AF28F459E2EB6367565A9C59179A49174
+ E0C97E4B4A08701481D723D9FB6BE4FEA3B4C47C32F488A873CD45C0923EDAAB
+ 3A6B8DFA063C46D778E22DD5D91E6CB0C4C2D7D60B2335B943E3DF01D0905EBE
+ 29F7F1FCB9FB64C511FF0045578E9F3C552C6CE6CE5A784AB75FF04D53B8A5A6
+ E3A92DCC9B19948E9BBC618FB7B0AC5DE3891A74C03259B934EA8E705A792484
+ 8EBDF3508DD38AFC03BC2D5E3EA379B07FDEAD72C7FDCD69772D51C1D9D24B49
+ E21DCDAB66E196116F95850CF6FE52287A7D43FF00D6C662CDA58F36CC6F18EE
+ 32757EA57DBB0BCBB9879BDEB6A37E1979CF6C27269A7B8497F5DB9B6A458DD8
+ 65B6FC525E6168EA7B64918A96348F1C7805A350916CBAA23BE93B4C85DA2592
+ B1F1386B35B24CE6C783F2D95EED4A03AA504EE4DA660F673FDAE991D3EA231E
+ 31B37FEEB8A1C47B1A5E8BE0E263479F7ABCBB1DF8ECC3594B4D8DBB17B48ACC
+ F0D25AB4EDFEDF2E02A3FC99758C5A7191EF25690559FCD5EA47339C1C69F798
+ 46A2DD01D1871B72D730A57F5785580BAF1E782698CA6A25E5C002BF0662DBA5
+ 20A3CF232D0ACD3C5AA9AAF0990F5F8F3AF33268B8CF4B296C24A54F3FDC67A8
+ F3AC4DD3470BA21878CB7D0E039F0C2BD9350CDB3997D090E4786ABF95C727DA
+ 75DB7C92E11E58FC1F4EB8ADC3EFAFE1686523EE916481DBE4D97FFF001573DE
+ 83537C63647EAF1C784CCD5C63C1B2A1F5B6FAD4E23A6D27201F3E9E75849F7E
+ 79E5C64BAC91849500474208EF5A6CCE62386931609BC389714F1529C3064901
+ 3F47875E8FBE63876C3636DDC3EA41DA90AB7C9C14FF0093AB4743A9F7C6CD18
+ F5B8D2E59B17AC7AE16C784521215BB03B7435F2D37604DCAE0CA90BF612A255
+ E5E46B553CC0F0DA4AD4E397E7985107D96E049C7EF75F4B5F319C3CB1361B8D
+ 7B2E851CA96AB7C9DC3FE8EADFA1D47FD6CB4B5F8FB5937784DA5B75A48C3490
+ 024E3B9CD6BD7AB7A0C27A42405049DB9F9EB4A739A4E1D2E3A922FCB0A23FA9
+ F27BF97F43AF223996E1CAE3069CBF28823242ADF248DDFE4E8FD0EA3FEB62E1
+ ADC49F73F9BADE531DBF063F57067200ED5ABCB65E425A90FB8572B3F83707E2
+ 67FF000C8AFE6FFC6DE1FCA709897A0927F1C5BE4823FE8EB4DBBF16B4D3BE08
+ 8777504A540AF7447BAFED29D8F49A85C3C6CE8AD6616B99A465EFD3A6BA95A1
+ C756BD98CA770F8D79E1CD21AC21A517FC891D3E7FCD9AD66E3C47B1AEE46435
+ 784B8823AA4C37F07F6958FBBF106D32168F57BB3A3E21B8CEA47E74D7461A1C
+ AB9DAD0D8EAF057D446C37D4A5C5EC657E1EEF7C28E0D6A6A5F86F2925DC8F85
+ 7CA66ADB5CD6FDAB8A8280E998EEEE3F5EDAFE74D5B266A0B935E1B2B5B255D1
+ 58C647D75D3D3E9726E4E48C9ABD76358DA84932F77294D291A359DC31DFF454
+ FD51372F361167D30849053848C0352CD7AB4DB493F63E7926DC9B6294A5040A
+ 5294014D7D273CC5693E18F01AF7A12588378D61AB627ABC2B3C960480CB2560
+ 2A6389DC3C3D9B545A5F53E3210529506D653CE5E59B555EB91AE6834C5CB895
+ A2FE4B6A6C469120DEE2AC3F0214BDB99B1F6A54A0E213B92A48495603EC9095
+ 956DEA6EB2E40F87FC4CE3935C50D6F78D49ACEE2CBC1C66C97892C2ED6DB49C
+ 96A38650CA4F8282776C2A216725CF137AF76D1CCFF281A179B2B5D862EB076E
+ B05FB23CEB90E6D9E4A5A752971290E3642D0B414A8A1B3D53B816C60805414F
+ 8CA296D1328C9BB2B97A5FAEB0AFDCA868DB95B65B170B74CD510E4469715C4B
+ 8D3ED2E14B521685A490A4A8104107041CD40DCBCF0039A4E34728F67B368FE2
+ 5E9BB2F0AEF2CCB8ED5965294C4A0D7ADBA1F42DD6E229CDAB712E6407485216
+ 527D9253577B54F219A475BF00AC3C22BF6B1D6574D3762B8A2E16E952264654
+ D6128696D223073D5F05948757B4149527A242821294896F817C1AB2F2FDC2DB
+ 2E82D3D2674CB3DA7C6F01EB93885BEAF15E5BCADCA421093ED38A03091D00EF
+ DEA37A51A44ED6E56CD0B93CE52ECBCA3F0F26D8615CBEE82F1729665DC6F4E4
+ 34465BF81B5A6929054A0DA139212A5ABDA71D50C6FDA368E69FF6327173FC11
+ BB7F0376A51AC0EBFD1B0B88DA1751694B93AFB16EBEDBA45B24BB15412EA1A7
+ 9B536B282A040500A3824119C7434BBB76C6552A4715F859C05D4DC4EE4691AD
+ B42A6EB2359687D7F2644489660E2A538D3F1ADC952D843485385E6DC6D85821
+ 4909425D5752134E29F0175370C791A5EB6D749BAC7D65AE35FC6912E25E4389
+ 94DB4C46B8A52B7D0EA12E079C71C7D649528290A695D095575AF968E5A34C72
+ AFA167694D293AEB70B74CB8AEE6E3B7875B71D0EADB6DB2016DB40DB8693D31
+ 9C93D7E0E65F968D31CD468583A5355CEBADBEDD0EE28B9B6ED9DD6DB74BA86D
+ C6C025C6D636E1D574C672075F8BBC4E7EC27C3E0E6DF11FE5AFF41E385DF25F
+ AF7A8FDD13DF2AFAA6FF000FD5BD72E1B7C7DBD3C3F1FD5F1BBA6FF0FF001B6D
+ 64B93FE5E6F5CCEF2A137465938ED6FB069F725937FD1AC6928AEC88EFF8FE23
+ 2E3B277B6F39BC32D292E67184784090D148E8E70CB970D17C34E08DBB851EA5
+ F753A421789FE96D48D332FC7DF21523F0A9F0C215B5C5653ECF4DA9F319AAE9
+ A9BD10DC0EBEDF24CF81335669B8AF6DD96CB65C9B547670900ED2FB2E387241
+ 51DCB3D547181800DEB941B1F0C8B389BC06B2F2E7E8D5E34E90B2EBD83C400D
+ EA28EECC9905A435EA7244BB7B4E45710975CDAE23C20482411BC0291DCC35C2
+ 148FF42278D87033F75D1FAFFF0036D55D116B91BE1A5BF973BC705ED68BB5A7
+ 4BDE1E6255C25C799BE6C892DA985178ADD4AD0952CC66F704A023BED4A7358B
+ D37C81F0FB4C72E5AA382F16F1A91CD2FA8AE28B9CA96F4960CD43A9547500DA
+ C32101398ADF42827AABAF51814D57FF0049707FD154F913FF00CD91CC0FFCBF
+ FF00D9D8A8BBD1E4A03964E6FB240FF5A29FE0772AE97F2FBCA968BE5D38637A
+ D03665CED41A76F12DE97358D445993E2F8ACB6CB8D29296D0953650D0052527
+ 3956720E04231BD123C098F74BECA527523EC5C597DB8F09CB980D5B14E2B287
+ 1829405A94D8E890F29D491EF859EB46F8F21B5F041FE84AFF00D71FFC8FFF00
+ E6D750EA06E56F935D17CA4FDD2FDC85CEFB71F97FD5BD6BE5A7D9776781E2EC
+ D9E1B4DE33E32B39CF618C75CCF34B9B5295A2F0551A6294A52CB8A529400A52
+ 9400A529400A529400A529400A529400A529401F390C890CADB3D943151C5F38
+ 1F69BDC871E79B4952CF5E94A55E2E88B6BB1AACDE5534F4D7095B0820FCC2BC
+ AAE50F4D1491E023EC14A5129C976E03629F323E7F7A069BFC9D1F60A7DE81A6
+ FF002747D8294AAF893F921C547843EF40D37F93A3EC14FBD034DFE4E8FB0529
+ 47893F92C90FBD034DFE4E8FB053EF40D37F93A3EC14A54F8B3AAB21AA1F7A06
+ 9BFC9D1F60A7DE81A6FF002747D8294AAC6725EE2DFD98FBD034DFE4E8FB053E
+ F40D37F93A3EC14A53565922C9B5EE3EF40D37F93A3EC14FBD034DFE4E8FB052
+ 950F2C98393F91F7A069BFC9D1F60A7DE81A6FF2747D8294AAF8922ADB7EE3EF
+ 40D37F93A3EC14FBD034DFE4E8FB052947892215A7DC7DE81A6FF2747D829F7A
+ 069BFC9D1F60A52AAE72BBB34A4A7CC87DE81A6FF2747D82BFD4F283A6C281F5
+ 747D8294A66E73E6459422BD8FA7DE8DA691D4474123CB02B61B0F2F365B2ED2
+ 88C8494F6E8294A2EBD85CBCAF824EB3DA1BB347430C3612D81DC57BE94AA5D8
+ 376294A5410294A500294A500294A500294A500294A500294A500294A500294A
+ 500294A500294A500294A500294A500294A500294A500294A500294A500294A5
+ 007FFFD9}
+ end
+ object Label1: TLabel
+ Left = 40
+ Top = 192
+ Width = 377
+ Height = 57
+ AutoSize = False
+ Caption =
+ 'XP Menu is a none-visual component that changes the visual aspec' +
+ 'ts of menus, toolbars and many other controls to nearly the same' +
+ ' look and feel of MS Office XP. No code required, you do not hav' +
+ 'e to reconstruct menus or toolbars using controls other than tho' +
+ 'se shipped with Delphi.'
+ Color = clGray
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clSilver
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ ParentColor = False
+ ParentFont = False
+ WordWrap = True
+ end
+ object Label2: TLabel
+ Left = 48
+ Top = 160
+ Width = 218
+ Height = 13
+ Caption = 'TUCXpStyle component is based in TXPMenu'
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clSilver
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ ParentFont = False
+ end
+ object Label3: TLabel
+ Left = 40
+ Top = 264
+ Width = 236
+ Height = 13
+ Cursor = crHandPoint
+ Caption = 'Author: Khaled Shagrouni khaled@shagrouni.com'
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWhite
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ ParentFont = False
+ OnClick = Label3Click
+ end
+ object Label4: TLabel
+ Left = 40
+ Top = 288
+ Width = 274
+ Height = 13
+ Cursor = crHandPoint
+ Caption = 'http://www.shagrouni.com/english/software/xpmenu.html'
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = 16634037
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = [fsUnderline]
+ ParentFont = False
+ OnClick = Label4Click
+ end
+ object SpeedButton1: TSpeedButton
+ Left = 424
+ Top = 282
+ Width = 75
+ Height = 25
+ Caption = '&Close'
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFC066148E4019
+ 8E40198E40198E40198E40198E40198E40198E40198E40198E40198E40198E40
+ 198E40198E4019FF00FF8888886969696969696969696969696969696A6A6A69
+ 69696969696969696A6A6A6969696969696A6A6A696969FF00FFC06614F9F5F4
+ C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2
+ A5C3B2A58E4019FF00FF888888F8F8F8C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6
+ C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6696969FF00FFC06614FCFAFA
+ F9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCDFD0C7DFD0C7DCCB
+ C1C3B2A58E4019FF00FF888888FCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEAEAEAE7
+ E7E7E4E4E4E0E0E0DDDDDDDDDDDDD9D9D9C6C6C6696969FF00FFC06614FFFFFF
+ FCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCE2D4CCDFD0
+ C7C3B2A58E4019FF00FF888888FFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEA
+ EAEAE7E7E7E3E3E3E0E0E0E0E0E0DDDDDDC6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E5D9D1E2D4
+ CCC3B2A58E4019FF00FF888888FFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EE
+ EEEEEAEAEAE7E7E7E3E3E3E3E3E3E0E0E0C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E9DED7E5D9
+ D1C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1
+ F1F1EEEEEEEAEAEAE7E7E7E7E7E7E3E3E3C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F2EBE8EEE6E2ECE2DCECE2DCE9DE
+ D7C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFBFBFBF7
+ F7F7F1F1F1EEEEEEEAEAEAEAEAEAE7E7E7C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF0E9E5F0E9E5EDE4
+ DFC3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFB
+ FBFBF7F7F7F3F3F3F0F0F0F0F0F0ECECECC6C6C66A6A6AFF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF4EEEBF0E9
+ E5C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE
+ FEFEFBFBFBF7F7F7F3F3F3F3F3F3F0F0F0C6C6C66A6A6AFF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F78A9DE92546CD1D3F
+ C9193BC8183BC88194E1898989FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFEFEFEFAFAFAC6C6C6979797929292929292929292C0C0C0C06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFD3355DBF2F4FD4E6B
+ D94A67D8F2F4FD183BC8888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFEFEFEA1A1A1FAFAFAAAAAAAA8A8A8F9F9F9929292C066148E4019
+ 8E40198E40198E40198E40198E40198E40198E40198E40193C5CDD8296E4D9DF
+ F9CDD5F74C69D81A3CC88888886969696969696969696A6A6A69696969696969
+ 6969696969696969A5A5A5C1C1C1EDEDEDE7E7E7A8A8A8929292C06614ED9733
+ ED9733ED9733ED9733ED9733ED9733ED9733F6CA9AED97334563E16980E2E4E8
+ FBD8DEF9516DDA1F40C9888888ACACACACACACADADADADADADADADADACACACAD
+ ADADD5D5D5ADADADA8A8A8B6B6B6F2F2F2ECECECABABAB939393F810DCC06614
+ C06614C06614C06614C06614C06614C06614C06614C066144D6AE3F2F4FD667D
+ E26E85E2F2F4FD2749CEEF14EF88888888888888888888888889898988888888
+ 8888888888898989ACACACF9F9F9B5B5B5B9B9B9F9F9F9989898FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF9AABEF4D6AE34563
+ E14463DF3E5EDE8FA2EBFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFCFCFCFACACACA8A8A8A8A8A8A6A6A6C9C9C9}
+ NumGlyphs = 2
+ OnClick = SpeedButton1Click
+ end
+end
diff --git a/official/2.20/Source/UCAboutXpStyle_U.pas b/official/2.20/Source/UCAboutXpStyle_U.pas
new file mode 100644
index 0000000..5cba471
--- /dev/null
+++ b/official/2.20/Source/UCAboutXpStyle_U.pas
@@ -0,0 +1,46 @@
+unit UCAboutXpStyle_U;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, Jpeg, ExtCtrls, StdCtrls, ShellApi, Buttons;
+
+type
+ TUCAboutXpStyle = class(TForm)
+ Image1: TImage;
+ Label1: TLabel;
+ Label2: TLabel;
+ Label3: TLabel;
+ Label4: TLabel;
+ SpeedButton1: TSpeedButton;
+ procedure Label3Click(Sender: TObject);
+ procedure SpeedButton1Click(Sender: TObject);
+ procedure Label4Click(Sender: TObject);
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+
+implementation
+
+{$R *.dfm}
+
+procedure TUCAboutXpStyle.Label3Click(Sender: TObject);
+begin
+ ShellExecute(0, 'open', 'mailto:khaled@shagrouni.com', nil, nil, sw_show);
+end;
+
+procedure TUCAboutXpStyle.SpeedButton1Click(Sender: TObject);
+begin
+ Close;
+end;
+
+procedure TUCAboutXpStyle.Label4Click(Sender: TObject);
+begin
+ ShellExecute(0, 'open', 'http://www.shagrouni.com/english/software/xpmenu.html', nil, nil, sw_show);
+end;
+
+end.
diff --git a/official/2.20/Source/UCBase.pas b/official/2.20/Source/UCBase.pas
new file mode 100644
index 0000000..3accfa5
--- /dev/null
+++ b/official/2.20/Source/UCBase.pas
@@ -0,0 +1,4910 @@
+{
+-----------------------------------------------------------------------------
+ Unit Name: UCBase
+ Author: QmD
+ changed: 06-dez-2004
+ Purpose: Main Unit
+ History: included delphi 2005 support
+-----------------------------------------------------------------------------}
+
+(*
+
+ Vesões do Delphi
+
+ VER120 = Delphi4
+ VER130 = Delphi5
+ VER140 = Delphi6
+ VER150 = Delphi7
+ VER160 = Delphi8
+ VER170 = BDS2005
+ VER180 = BDS2006
+
+*)
+
+unit UCBase;
+
+interface
+
+{$I 'UserControl.inc'}
+
+uses
+ ExtActns,
+ Variants,
+ Windows,
+ {$IFDEF UCACTMANAGER}
+ ActnMan,
+ ActnMenus,
+ {$ENDIF}
+ ActnList,
+ Classes,
+ Controls,
+ DB,
+ Forms,
+ Graphics,
+ md5,
+ Menus,
+ SysUtils,
+ StdCtrls,
+ UCDataConnector,
+ UCDataInfo,
+ {$IFDEF Indy}
+ UCMail,
+ {$ENDIF}
+ UCMessages,
+ UCSettings,
+ UcConsts_Language;
+
+const
+ llBaixo = 0;
+ llNormal = 1;
+ llMedio = 2;
+ llCritico = 3;
+
+// Version
+const
+ UCVersion = '2.20 Final';
+
+type
+ // Pensando em usar GUID para gerar a chave das tabelas !!!!
+ TUCGUID = class
+ //Creates and returns a new globally unique identifier
+ class function NovoGUID: TGUID;
+ //sometimes we need to have an "empty" value, like NULL
+ class function EmptyGUID: TGUID;
+ //Checks whether a Guid is EmptyGuid
+ class function IsEmptyGUID(GUID: TGUID): Boolean;
+ //Convert to string
+ class function ToString(GUID: TGUID): String;
+ //convert to quoted string
+ class function ToQuotedString(GUID: TGUID): String;
+ //return a GUID from string
+ class function FromString(Value: String): TGUID;
+ //Indicates whether two TGUID values are the same
+ class function EqualGUIDs(GUID1, GUID2: TGUID): Boolean;
+ //Creates and returns a new globally unique identifier string
+ class function NovoGUIDString: String;
+ end;
+
+ TUCAboutVar = String;
+
+ //classe para armazenar usuario logado = currentuser
+ TUCCurrentUser = class(TComponent)
+ private
+ FPerfilUsuario: TDataSet;
+ FPerfilGrupo: TDataSet;
+ public
+ UserID: Integer;
+ Profile: Integer;
+ UserIDOld: Integer;
+ IdLogon: String;
+ UserName: String;
+ UserLogin: String;
+ Password: String;
+ Email: String;
+ DateExpiration: TDateTime;
+ Privileged: Boolean;
+ UserNotExpired: Boolean;
+ UserDaysExpired: Integer;
+ published
+ { TODO 1 -oLuiz -cUpgrade : Terminar a implementação dos DataSets para os Perfis de Usuario Loggado }
+ property PerfilUsuario: TDataSet read FPerfilUsuario write FPerfilUsuario;
+ property PerfilGrupo: TDataSet read FPerfilGrupo write FPerfilGrupo;
+ end;
+
+ TUCUser = class(TPersistent) // armazenar menuitem ou action responsavel pelo cadastro de usuarios
+ private
+ FAction: TAction;
+ FMenuItem: TMenuItem;
+ FUsePrivilegedField: Boolean;
+ FProtectAdministrator: Boolean;
+ procedure SetAction(const Value: TAction);
+ procedure SetMenuItem(const Value: TMenuItem);
+ public
+ constructor Create(AOwner: TComponent);
+ destructor Destroy; override;
+ procedure Assign(Source: TPersistent); override;
+ published
+ property Action: TAction read FAction write SetAction;
+ property MenuItem: TMenuItem read FMenuItem write SetMenuItem;
+ property UsePrivilegedField: Boolean read FUsePrivilegedField write FUsePrivilegedField default False;
+ property ProtectAdministrator: Boolean read FProtectAdministrator write FProtectAdministrator default True;
+ end;
+
+ TUCUserProfile = class(TPersistent) // armazenar menuitem ou action responsavel pelo Perfil de usuarios
+ private
+ FAtive: Boolean;
+ FAction: TAction;
+ FMenuItem: TMenuItem;
+ procedure SetAction(const Value: TAction);
+ procedure SetMenuItem(const Value: TMenuItem);
+ public
+ constructor Create(AOwner: TComponent);
+ destructor Destroy; override;
+ procedure Assign(Source: TPersistent); override;
+ published
+ property Active: Boolean read FAtive write FAtive default True;
+ property Action: TAction read FAction write SetAction;
+ property MenuItem: TMenuItem read FMenuItem write SetMenuItem;
+ end;
+
+ TUCUserHistory = class(TPersistent) // armazenar menuitem ou action responsavel pelo historico
+ private
+ FAtive: Boolean;
+ FAction: TAction;
+ FMenuItem: TMenuItem;
+ procedure SetAction(const Value: TAction);
+ procedure SetMenuItem(const Value: TMenuItem);
+ public
+ constructor Create(AOwner: TComponent);
+ destructor Destroy; override;
+ procedure Assign(Source: TPersistent); override;
+ published
+ property Active: Boolean read FAtive write FAtive default True;
+ property Action: TAction read FAction write SetAction;
+ property MenuItem: TMenuItem read FMenuItem write SetMenuItem;
+ end;
+
+ TUCUserPasswordChange = class(TPersistent) // armazenar menuitem ou action responsavel pelo Form trocar senha
+ private
+ FForcePassword: Boolean;
+ FMinPasswordLength: Integer;
+ FAction: TAction;
+ FMenuItem: TMenuItem;
+ procedure SetAction(const Value: TAction);
+ procedure SetMenuItem(const Value: TMenuItem);
+ public
+ constructor Create(AOwner: TComponent);
+ destructor Destroy; override;
+ procedure Assign(Source: TPersistent); override;
+ published
+ property Action: TAction read FAction write SetAction;
+ property MenuItem: TMenuItem read FMenuItem write SetMenuItem;
+ property ForcePassword: Boolean read FForcePassword write FForcePassword default False;
+ property MinPasswordLength: Integer read FMinPasswordLength write FMinPasswordLength default 0;
+ end;
+
+ TUCUserLogoff = class(TPersistent) // armazenar menuitem ou action responsavel pelo logoff
+ private
+ FAction: TAction;
+ FMenuItem: TMenuItem;
+ procedure SetAction(const Value: TAction);
+ procedure SetMenuItem(const Value: TMenuItem);
+ public
+ constructor Create(AOwner: TComponent);
+ destructor Destroy; override;
+ procedure Assign(Source: TPersistent); override;
+ published
+ property Action: TAction read FAction write SetAction;
+ property MenuItem: TMenuItem read FMenuItem write SetMenuItem;
+ end;
+
+ TUCAutoLogin = class(TPersistent) // armazenar configuracao de Auto-Logon
+ private
+ FActive: Boolean;
+ FUser: String;
+ FPassword: String;
+ FMessageOnError: Boolean;
+ public
+ constructor Create(AOwner: TComponent);
+ destructor Destroy; override;
+ procedure Assign(Source: TPersistent); override;
+ published
+ property Active: Boolean read FActive write FActive default False;
+ property User: String read FUser write FUser;
+ property Password: String read FPassword write FPassword;
+ property MessageOnError: Boolean read FMessageOnError write FMessageOnError default True;
+ end;
+
+ TUCInitialLogin = class(TPersistent) // armazenar Dados do Login que sera criado na primeira execucao do programa.
+ private
+ FUser: String;
+ FPassword: String;
+ FInitialRights: TStrings;
+ FEmail: String;
+ procedure SetInitialRights(const Value: TStrings);
+ public
+ constructor Create(AOwner: TComponent);
+ destructor Destroy; override;
+ procedure Assign(Source: TPersistent); override;
+ published
+ property User: String read FUser write FUser;
+ property Email: String read FEmail write FEmail;
+ property Password: String read FPassword write FPassword;
+ property InitialRights: TStrings read FInitialRights write SetInitialRights;
+ end;
+
+ TUCGetLoginName = (lnNone, lnUserName, lnMachineName);
+
+ TUCLogin = class(TPersistent)
+ private
+ FAutoLogin: TUCAutoLogin;
+ FMaxLoginAttempts: Integer;
+ FInitialLogin: TUCInitialLogin;
+ FGetLoginName: TUCGetLoginName;
+ fCharCaseUser: TEditCharCase;
+ fCharCasePass: TEditCharCase;
+ fDateExpireActive: Boolean;
+ fDaysOfSunExpired: Word;
+ public
+ constructor Create(AOwner: TComponent);
+ destructor Destroy; override;
+ procedure Assign(Source: TPersistent); override;
+ published
+ property AutoLogin: TUCAutoLogin read FAutoLogin write FAutoLogin;
+ property InitialLogin: TUCInitialLogin read FInitialLogin write FInitialLogin;
+ property MaxLoginAttempts: Integer read FMaxLoginAttempts write FMaxLoginAttempts;
+ property GetLoginName : TUCGetLoginName read FGetLoginName write FGetLoginName default lnNone;
+ property CharCaseUser : TEditCharCase read fCharCaseUser write fCharCaseUser default ecNormal; { By Vicente Barros leonel }
+ property CharCasePass : TEditCharCase read fCharCasePass write fCharCasePass default ecNormal; { By Vicente Barros leonel }
+ property ActiveDateExpired : Boolean read fDateExpireActive write fDateExpireActive default false; { By Vicente Barros leonel }
+ property DaysOfSunExpired : Word read fDaysOfSunExpired write fDaysOfSunExpired default 30; { By Vicente Barros leonel }
+ end;
+
+ TUCNotAllowedItems = class(TPersistent) // Ocultar e/ou Desabilitar os itens que o usuario nao tem acesso
+ private
+ FMenuVisible: Boolean;
+ FActionVisible: Boolean;
+ public
+ constructor Create(AOwner: TComponent);
+ destructor Destroy; override;
+ procedure Assign(Source: TPersistent); override;
+ published
+ property MenuVisible: Boolean read FMenuVisible write FMenuVisible default True;
+ property ActionVisible: Boolean read FActionVisible write FActionVisible default True;
+ end;
+
+ TUCLogControl = class(TPersistent) // Responsavel pelo Controle de Log
+ private
+ FActive: Boolean;
+ FTableLog: String;
+ FMenuItem: TMenuItem;
+ FAction: TAction;
+ procedure SetMenuItem(const Value: TMenuItem);
+ procedure SetAction(const Value: TAction);
+ public
+ constructor Create(AOwner: TComponent);
+ destructor Destroy; override;
+ procedure Assign(Source: TPersistent); override;
+ published
+ property Action: TAction read FAction write SetAction;
+ property Active: Boolean read FActive write FActive default True;
+ property TableLog: String read FTableLog write FTableLog;
+ property MenuItem: TMenuItem read FMenuItem write SetMenuItem;
+ end;
+
+ TUCControlRight = class(TPersistent) // Menu / ActionList/ActionManager ou ActionMainMenuBar a serem Controlados
+ private
+ FActionList: TActionList;
+ FActionManager: TActionManager;
+ FActionMainMenuBar: TActionMainMenuBar;
+ FMainMenu: TMenu;
+ procedure SetActionList(const Value: TActionList);
+ procedure SetActionManager(const Value: TActionManager);
+ procedure SetActionMainMenuBar(const Value: TActionMainMenuBar);
+ procedure SetMainMenu(const Value: TMenu);
+ public
+ constructor Create(AOwner: TComponent);
+ destructor Destroy; override;
+ procedure Assign(Source: TPersistent); override;
+ published
+ property ActionList: TActionList read FActionList write SetActionList;
+ property MainMenu: TMenu read FMainMenu write SetMainMenu;
+ property ActionManager: TActionManager read FActionManager write SetActionManager;
+ property ActionMainMenuBar: TActionMainMenuBar read FActionMainMenuBar write SetActionMainMenuBar;
+ end;
+
+ TOnLogin = procedure(Sender: TObject; var User, Password: String) of object;
+ TOnLoginSucess = procedure(Sender: TObject; IdUser: Integer; Usuario, Nome, Senha, Email: String; Privileged: Boolean) of object;
+ TOnLoginError = procedure(Sender: TObject; Usuario, Senha: String) of object;
+ TOnApplyRightsMenuItem = procedure(Sender: TObject; MenuItem: TMenuItem) of object;
+ TOnApllyRightsActionItem = procedure(Sender: TObject; Action: TAction) of object;
+ TCustomUserForm = procedure(Sender: TObject; var CustomForm: TCustomForm) of object;
+ TCustomUserProfileForm = procedure(Sender: TObject; var CustomForm: TCustomForm) of object;
+ TCustomLoginForm = procedure(Sender: TObject; var CustomForm: TCustomForm) of object;
+ TCustomUserPasswordChangeForm = procedure(Sender: TObject; var CustomForm: TCustomForm) of object;
+ TCustomLogControlForm = procedure(Sender: TObject; var CustomForm: TCustomForm) of object;
+ TCustomInitialMessage = procedure(Sender: TObject; var CustomForm: TCustomForm; var Msg: TStrings) of object;
+ TCustomUserLoggedForm = procedure(Sender: TObject; var CustomForm: TCustomForm) of object; //Cesar: 13/07/2005
+ TOnAddUser = procedure(Sender: TObject; var Login, Password, Name, Mail: String; var Profile: Integer; var Privuser: Boolean) of object;
+ TOnChangeUser = procedure(Sender: TObject; IDUser: Integer; var Login, Name, Mail: String; var Profile: Integer; var Privuser: Boolean) of object;
+ TOnDeleteUser = procedure(Sender: TObject; IDUser: Integer; var CanDelete: Boolean; var ErrorMsg: String) of object;
+ TOnAddProfile = procedure(Sender: TObject; var Profile: String) of object;
+ TOnDeleteProfile = procedure(Sender: TObject; IDProfile: Integer; var CanDelete: Boolean; var ErrorMsg: String) of object;
+ TOnChangePassword = procedure(Sender: TObject; IDUser: Integer; Login, CurrentPassword, NewPassword: String) of object;
+ TOnLogoff = procedure(Sender: TObject; IDUser: Integer) of object;
+
+ TUCExtraRights = class;
+ TUCExecuteThread = class;
+ TUCApplicationMessage = class;
+ TUCControls = class;
+ TUCUsersLogged = class; //Cesar: 12/07/2005
+
+ TUCLoginMode = (lmActive, lmPassive);
+ TUCCriptografia = (cPadrao, cMD5);
+
+ TUserControl = class(TComponent) // Classe principal
+ private
+ FCurrentUser: TUCCurrentUser;
+ FUserSettings: TUCUserSettings;
+ FApplicationID: String;
+ FNotAllowedItems: TUCNotAllowedItems;
+ FOnLogin: TOnLogin;
+ FOnStartApplication: TNotifyEvent;
+ FOnLoginError: TOnLoginError;
+ FOnLoginSucess: TOnLoginSucess;
+ FOnApplyRightsActionIt: TOnApllyRightsActionItem;
+ FOnApplyRightsMenuIt: TOnApplyRightsMenuItem;
+ FLogControl: TUCLogControl;
+ {$IFDEF Indy}
+ FMailUserControl: TMailUserControl;
+ {$ENDIF}
+ FEncrytKey: Word;
+ FUser: TUCUser;
+ FLogin: TUCLogin;
+ FUserProfile: TUCUserProfile;
+ FUserPasswordChange: TUCUserPasswordChange;
+ FControlRight: TUCControlRight;
+ FOnCustomCadUsuarioForm: TCustomUserForm;
+ FCustomLogControlForm: TCustomLogControlForm;
+ FCustomLoginForm: TCustomLoginForm;
+ FCustomPerfilUsuarioForm: TCustomUserProfileForm;
+ FCustomTrocarSenhaForm: TCustomUserPasswordChangeForm;
+ FOnAddProfile: TOnAddProfile;
+ FOnAddUser: TOnAddUser;
+ FOnChangePassword: TOnChangePassword;
+ FOnChangeUser: TOnChangeUser;
+ FOnDeleteProfile: TOnDeleteProfile;
+ FOnDeleteUser: TOnDeleteUser;
+ FOnLogoff: TOnLogoff;
+ FCustomInicialMsg: TCustomInitialMessage;
+ FAbout: TUCAboutVar;
+ FExtraRights: TUCExtraRights;
+ FThUCRun: TUCExecuteThread;
+ FAutoStart: Boolean;
+ FTableRights: TUCTableRights;
+ FTableUsers: TUCTableUsers;
+ FLoginMode: TUCLoginMode;
+ FControlList: TList;
+ FDataConnector: TUCDataConnector;
+ FLoginMonitorList: TList;
+ FAfterLogin: TNotifyEvent;
+ FCheckValidationKey: Boolean;
+ FCriptografia: TUCCriptografia;
+ FUsersLogged: TUCUsersLogged;
+ FTableUsersLogged: TUCTableUsersLogged;
+ fUsersLogoff: TUCUserLogoff;
+ fTableHistory: TUCTableHistorico;
+ fUsersHistory: TUCUserHistory;
+ fLanguage: TUCLanguage;
+ procedure SetExtraRights(Value: TUCExtraRights);
+ procedure SetWindow;
+ procedure SetWindowProfile;
+ {$IFDEF Indy}
+ procedure SetMailUserControl(const Value: TMailUserControl);
+ {$ENDIF}
+ procedure ActionCadUser(Sender: TObject);
+ procedure ActionTrocaSenha(Sender: TObject);
+ procedure ActionUserProfile(Sender: TObject);
+ procedure ActionUserHistory(Sender: TObject);
+ procedure ActionUsersLogged(Sender: TObject);
+ procedure ActionOKLogin(Sender: TObject);
+ procedure TestaFecha(Sender: TObject; var CanClose: Boolean);
+ procedure ApplySettings(SourceSettings: TUCSettings);
+ procedure UnlockEX(FormObj: TCustomForm; ObjName: String);
+ procedure LockEX(FormObj: TCustomForm; ObjName: String; naInvisible: Boolean);
+ {$IFDEF UCACTMANAGER}
+ procedure TrataActMenuBarIt(IT: TActionClientItem; ADataset: TDataset);
+ procedure IncPermissActMenuBar(idUser: Integer; Act: TAction);
+ {$ENDIF}
+ procedure SetDataConnector(const Value: TUCDataConnector);
+ procedure DoCheckValidationField;
+ procedure SetfLanguage(const Value: TUCLanguage);
+ protected
+ FRetry: Integer;
+ // Formulários
+ FFormCadastroUsuarios: TCustomForm;
+ FFormPerfilUsuarios: TCustomForm;
+ FFormTrocarSenha: TCustomForm;
+ FFormLogin: TCustomForm;
+ FFormLogControl: TCustomForm;
+ FFormUsersLogged: TCustomForm;
+ FrmHistorico: TCustomForm;
+ // -----
+
+ procedure Loaded; override;
+ procedure ActionBtPermissDefault;
+ procedure ActionBtPermissProfileDefault;
+
+ // Criar Formulários
+ procedure CriaFormCadastroUsuarios; dynamic;
+ procedure CriaFormPerfilUsuarios; dynamic;
+ procedure CriaFormTrocarSenha; dynamic;
+ procedure CriaFormUsersLogged; dynamic;
+ // -----
+
+ procedure ActionLog(Sender: TObject); dynamic;
+ procedure ActionLogoff(Sender: TObject); dynamic;
+ procedure ActionBtnPermissao(Sender: TObject); dynamic;
+ procedure ActionBtnPermissaoProfile(Sender: TObject); dynamic;
+ procedure ActionTSBtGrava(Sender: TObject);
+ procedure SetUserSettings(const Value: TUCUserSettings);
+ procedure SetfrmLoginWindow(Form: TCustomForm);
+ procedure Notification(AComponent: TComponent; AOperation: TOperation); override;
+ procedure RegistraCurrentUser(Dados: TDataset);
+ procedure ApplyRightsObj(ADataset: TDataset; FProfile: Boolean = False);
+ procedure ActionEsqueceuSenha(Sender: TObject);
+ procedure ShowLogin;
+ procedure ApplyRights;
+
+ // Criar Tabelas
+ procedure CriaTabelaLog;
+ procedure CriaTabelaRights(ExtraRights: Boolean = False);
+ procedure CriaTabelaUsuarios(TableExists: Boolean);
+ procedure CriaTabelaMsgs(const TableName: String);
+ // -----
+
+ // Atualiza Versao
+ procedure AtualizarVersao;
+ //--------
+
+ procedure TryAutoLogon;
+ procedure AddUCControlMonitor(UCControl: TUCControls);
+ procedure DeleteUCControlMonitor(UCControl: TUCControls);
+ procedure ApplyRightsUCControlMonitor;
+ procedure LockControlsUCControlMonitor;
+ procedure AddLoginMonitor(UCAppMessage: TUCApplicationMessage);
+ procedure DeleteLoginMonitor(UCAppMessage: TUCApplicationMessage);
+ procedure NotificationLoginMonitor;
+ public
+ procedure Logoff;
+ procedure Execute;
+ procedure StartLogin;
+ procedure ShowUserManager;
+ procedure ShowProfileManager;
+ procedure ShowLogManager;
+ procedure ShowChangePassword;
+ procedure ChangeUser(IDUser: Integer; Login, Name, Mail: String; Profile,UserExpired,UserDaysSun: Integer; PrivUser: Boolean);
+ procedure ChangePassword(IDUser: Integer; NewPassword: String);
+ procedure AddRight(idUser: Integer; ItemRight: TObject; FullPath: Boolean = True); overload;
+ procedure AddRight(idUser: Integer; ItemRight: String); overload;
+ procedure AddRightEX(idUser: Integer; Module, FormName, ObjName: String);
+ procedure HideField(Sender: TField; var Text: String; DisplayText: Boolean);
+ procedure Log(MSG: String; Level: Integer = llNormal);
+ function VerificaLogin(User, Password: String): Boolean;
+ function GetLocalUserName: String;
+ function GetLocalComputerName: String;
+ function AddUser(Login, Password, Name, Mail: String; Profile , UserExpired , DaysExpired : Integer; PrivUser: Boolean): Integer;
+ function ExisteUsuario(Login: String): Boolean;
+ property CurrentUser: TUCCurrentUser read FCurrentUser write FCurrentUser;
+ property UserSettings: TUCUserSettings read FUserSettings write SetUserSettings;
+ constructor Create(AOwner: TComponent); override;
+ destructor Destroy; override;
+ published
+ property About: TUCAboutVar read FAbout write FAbout;
+ property Criptografia: TUCCriptografia read FCriptografia write FCriptografia default cPadrao;
+ property AutoStart: Boolean read FAutoStart write FAutoStart default False;
+ property ApplicationID: String read FApplicationID write FApplicationID;
+ property ControlRight: TUCControlRight read FControlRight write FControlRight;
+ // Controle dos formularios
+ property User: TUCUser read FUser write FUser;
+ property UserProfile: TUCUserProfile read FUserProfile write FUserProfile;
+ property UserPasswordChange: TUCUserPasswordChange read FUserPasswordChange write FUserPasswordChange;
+ property UsersLogged: TUCUsersLogged read FUsersLogged write FUsersLogged;
+ property UsersLogoff: TUCUserLogoff read fUsersLogoff write fUsersLogoff; //by vicente barros leonel
+ property UsersHistory: TUCUserHistory read fUsersHistory write fUsersHistory; //by vicente barros leonel
+ property LogControl: TUCLogControl read FLogControl write FLogControl;
+
+ property Language : TUCLanguage read fLanguage write SetfLanguage;
+
+ property EncryptKey: Word read FEncrytKey write FEncrytKey;
+ property NotAllowedItems: TUCNotAllowedItems read FNotAllowedItems write FNotAllowedItems;
+ property Login: TUCLogin read FLogin write FLogin;
+ property ExtraRights: TUCExtraRights read FExtraRights write SetExtraRights;
+ property LoginMode: TUCLoginMode read FLoginMode write FLoginMode default lmActive;
+ {$IFDEF Indy}
+ property MailUserControl: TMailUserControl read FMailUserControl write SetMailUserControl;
+ {$ENDIF}
+
+ // Tabelas
+ property TableUsers: TUCTableUsers read FTableUsers write FTableUsers;
+ property TableRights: TUCTableRights read FTableRights write FTableRights;
+ property TableUsersLogged: TUCTableUsersLogged read FTableUsersLogged write FTableUsersLogged;
+ property TableHistory : TUCTableHistorico read fTableHistory write fTableHistory;
+
+ property DataConnector: TUCDataConnector read FDataConnector write SetDataConnector;
+ property CheckValidationKey: Boolean read FCheckValidationKey write FCheckValidationKey default False;
+ // Eventos
+ property OnLogin: TOnLogin read FOnLogin write FOnLogin;
+ property OnStartApplication: TNotifyEvent read FOnStartApplication write FOnStartApplication;
+ property OnLoginSucess: TOnLoginSucess read FOnLoginSucess write FOnLoginSucess;
+ property OnLoginError: TOnLoginError read FOnLoginError write FOnLoginError;
+ property OnApplyRightsMenuIt: TOnApplyRightsMenuItem read FOnApplyRightsMenuIt write FOnApplyRightsMenuIt;
+ property OnApplyRightsActionIt: TOnApllyRightsActionItem read FOnApplyRightsActionIt write FOnApplyRightsActionIt;
+ property OnCustomUsersForm: TCustomUserForm read FOnCustomCadUsuarioForm write FOnCustomCadUsuarioForm;
+ property OnCustomUsersProfileForm: TCustomUserProfileForm read FCustomPerfilUsuarioForm write FCustomPerfilUsuarioForm;
+ property OnCustomLoginForm: TCustomLoginForm read FCustomLoginForm write FCustomLoginForm;
+ property OnCustomChangePasswordForm: TCustomUserPasswordChangeForm read FCustomTrocarSenhaForm write FCustomTrocarSenhaForm;
+ property OnCustomLogControlForm: TCustomLogControlForm read FCustomLogControlForm write FCustomLogControlForm;
+ property OnCustomInitialMsg: TCustomInitialMessage read FCustomInicialMsg write FCustomInicialMsg;
+ property OnCustomUserLoggedForm: TCustomUserForm read FOnCustomCadUsuarioForm write FOnCustomCadUsuarioForm; //Cesar: 13/07/2005
+ property OnAddUser: TOnAddUser read FOnAddUser write FOnAddUser;
+ property OnChangeUser: TOnChangeUser read FOnChangeUser write FOnChangeUser;
+ property OnDeleteUser: TOnDeleteUser read FOnDeleteUser write FOnDeleteUser;
+ property OnAddProfile: TOnAddProfile read FOnAddProfile write FOnAddProfile;
+ property OnDeleteProfile: TOnDeleteProfile read FOnDeleteProfile write FOnDeleteProfile;
+ property OnChangePassword: TOnChangePassword read FOnChangePassword write FOnChangePassword;
+ property OnLogoff: TOnLogoff read FOnLogoff write FOnLogoff;
+ property OnAfterLogin: TNotifyEvent read FAfterLogin write FAfterLogin;
+ end;
+
+ TUCExtraRightsItem = class(TCollectionItem)
+ private
+ FFormName: String;
+ FCompName: String;
+ FCaption: String;
+ FGroupName: String;
+ procedure SetFormName(const Value: String);
+ procedure SetCompName(const Value: String);
+ procedure SetCaption(const Value: String);
+ procedure SetGroupName(const Value: String);
+ protected
+ function GetDisplayName: String; override;
+ public
+ published
+ property FormName: String read FFormName write SetFormName;
+ property CompName: String read FCompName write SetCompName;
+ property Caption: String read FCaption write SetCaption;
+ property GroupName: String read FGroupName write SetGroupName;
+ end;
+
+ TUCExtraRights = class(TCollection)
+ private
+ FUCBase: TUserControl;
+ function GetItem(Index: Integer): TUCExtraRightsItem;
+ procedure SetItem(Index: Integer; Value: TUCExtraRightsItem);
+ protected
+ function GetOwner: TPersistent; override;
+ public
+ constructor Create(UCBase: TUserControl);
+ function Add: TUCExtraRightsItem;
+ property Items[Index: Integer]: TUCExtraRightsItem read GetItem write SetItem; default;
+ end;
+
+ TUCVerificaMensagemThread = class(TThread)
+ private
+ procedure VerNovaMansagem;
+ public
+ AOwner: TComponent;
+ protected
+ procedure Execute; override;
+ end;
+
+ TUCExecuteThread = class(TThread)
+ private
+ procedure UCStart;
+ public
+ AOwner: TComponent;
+ protected
+ procedure Execute; override;
+ end;
+
+ TUCApplicationMessage = class(TComponent)
+ private
+ FActive: Boolean;
+ FReady: Boolean;
+ FInterval: Integer;
+ FUserControl: TUserControl;
+ FVerifThread: TUCVerificaMensagemThread;
+ FTableMessages: String;
+ procedure SetActive(const Value: Boolean);
+ procedure SetUserControl(const Value: TUserControl);
+ protected
+ procedure Loaded; override;
+ procedure Notification(AComponent: TComponent; AOperation: TOperation); override;
+ public
+ constructor Create(AOWner: TComponent); override;
+ destructor Destroy; override;
+ procedure ShowMessages(Modal: Boolean = True);
+ procedure SendAppMessage(ToUser: Integer; Subject, Msg: String);
+ procedure DeleteAppMessage(IdMsg: Integer);
+ procedure CheckMessages;
+ published
+ property Active: Boolean read FActive write SetActive;
+ property Interval: Integer read FInterval write FInterval;
+ property TableMessages: String read FTableMessages write FTableMessages;
+ property UserControl: TUserControl read FUserControl write SetUserControl;
+ end;
+
+ TUCComponentsVar = String;
+
+ TUCNotAllowed = (naInvisible, naDisabled);
+
+ TUCControls = class(TComponent)
+ private
+ FGroupName: String;
+ FComponents: TUCComponentsVar;
+ FUserControl: TUserControl;
+ FNotAllowed: TUCNotAllowed;
+ function GetAccessType: String;
+ function GetActiveForm: String;
+ procedure SetGroupName(const Value: String);
+ procedure SetUserControl(const Value: TUserControl);
+ protected
+ procedure Loaded; override;
+ procedure Notification(AComponent: TComponent; AOperation: TOperation); override;
+ public
+ destructor Destroy; override;
+ procedure ApplyRights;
+ procedure LockControls;
+ procedure ListComponents(Form: String; List: TStrings);
+ published
+ property AccessType: String read GetAccessType;
+ property ActiveForm: String read GetActiveForm;
+ property GroupName: String read FGroupName write SetGroupName;
+ property UserControl: TUserControl read FUserControl write SetUserControl;
+ property Components: TUCComponentsVar read FComponents write FComponents;
+ property NotAllowed: TUCNotAllowed read FNotAllowed write FNotAllowed default naInvisible;
+ end;
+
+ TUCUsersLogged = class(TPersistent)
+ //Cesar: 12/07/2005: classe que armazena os usuarios logados no sistema
+ private
+ FUserControl: TUserControl;
+ FAction: TAction;
+ FMenuItem: TMenuItem;
+ FAtive: Boolean;
+ procedure SetAction(const Value: TAction);
+ procedure SetMenuItem(const Value: TMenuItem);
+ procedure AddCurrentUser;
+ public
+ constructor Create(AOwner: TComponent);
+ destructor Destroy; override;
+ procedure Assign(Source: TPersistent); override;
+ procedure DelCurrentUser;
+ procedure CriaTableUserLogado;
+ published
+ property Active: Boolean read FAtive write FAtive default True;
+ property Action: TAction read FAction write SetAction;
+ property MenuItem: TMenuItem read FMenuItem write SetMenuItem;
+ end;
+
+
+
+ TUCHistTypeSavePostEdit = ( tpSaveAllFields , tpSaveModifiedFields );
+
+ TUCHistOptions = Class( TPersistent )
+ private
+ fSavePostEdit: Boolean;
+ fSavePostInsert: Boolean;
+ fSaveDelete: Boolean;
+ fSaveNewRecord: Boolean;
+ fTypeSave: TUCHistTypeSavePostEdit;
+ public
+ constructor Create(AOwner: TComponent);
+ destructor Destroy; override;
+ procedure Assign(Source: TPersistent); override;
+ published
+ property SaveNewRecord : Boolean read fSaveNewRecord write fSaveNewRecord;
+ property SaveDelete : Boolean read fSaveDelete write fSaveDelete;
+ property SavePostInsert : Boolean read fSavePostInsert write fSavePostInsert;
+ property SavePostEdit : Boolean read fSavePostEdit Write fSavePostEdit;
+ Property TypeSavePostEdit : TUCHistTypeSavePostEdit read fTypeSave Write fTypeSave;
+ end;
+
+ TUCHistorico = class(TComponent) // Componente TUCHISTORICO
+ private
+ fUserControl: TUserControl;
+ fDataSet: TDataSet;
+ fOnNewRecord ,
+ fOnBeforeDelete ,
+ fOnBeforeEdit ,
+ fOnAfterPost : TDataSetNotifyEvent;
+ fOptions: TUCHistOptions;
+ procedure SetDataSet(const Value: TDataSet);
+ procedure SetUserControl(const Value: TUserControl);
+ { Private declarations }
+ protected
+ DataSetInEdit : Boolean;
+ AFields : Array of Variant;
+ procedure NewRecord(DataSet: TDataSet);
+ procedure BeforeDelete(DataSet: TDataSet);
+ procedure BeforeEdit(DataSet: TDataSet);
+ procedure AfterPost(DataSet: TDataSet);
+ procedure AddHistory( AppID , Form , FormCaption, Event , Obs , TableName : String; UserId : Integer );
+ Function GetValueFields : String;
+ procedure Loaded; override;
+ procedure Notification(AComponent: TComponent; AOperation: TOperation);override;
+ { Protected declarations }
+ public
+ constructor Create(AOwner: TComponent); override;
+ destructor Destroy; override;
+ procedure Assign(Source: TPersistent); override;
+ { Public declarations }
+ published
+ { Published declarations }
+ Property UserControl : TUserControl read fUserControl write SetUserControl;
+ Property DataSet : TDataSet Read fDataSet Write SetDataSet;
+ Property Options : TUCHistOptions read fOptions write fOptions;
+ end;
+
+
+function Decrypt(const S: ansistring; Key: Word): ansistring;
+function Encrypt(const S: ansistring; Key: Word): ansistring;
+function MD5Sum(strValor: String): String;
+
+{ TODO -oLuiz -cUpgrade : Mudar o GetLoginName para a Unit principal }
+
+implementation
+
+{$R UCLock.res}
+
+uses
+ CadPerfil_U,
+ CadUser_U,
+ DBGrids,
+ Dialogs,
+ LoginWindow_U,
+ MsgRecForm_U,
+ MsgsForm_U,
+ TrocaSenha_U,
+// UCConsts,
+ UserPermis_U,
+ UsersLogged_U,
+ ViewLog_U,
+ UCHist_Form;
+
+
+{$IFDEF DELPHI9_UP} {$REGION 'TUSerControl'} {$ENDIF}
+
+{ TUserControl }
+
+constructor TUserControl.Create(AOwner: TComponent);
+begin
+ inherited;
+ FCurrentUser := TUCCurrentUser.Create(self);
+ FControlRight := TUCControlRight.Create(Self);
+ FLogin := TUCLogin.Create(Self);
+ FLogControl := TUCLogControl.Create(Self);
+ FUser := TUCUser.Create(Self);
+ FUserProfile := TUCUserProfile.Create(Self);
+ FUserPasswordChange := TUCUserPasswordChange.Create(Self);
+ FUsersLogged := TUCUsersLogged.Create(Self);
+ fUsersLogoff := TUCUserLogoff.Create(Self);
+ fUsersHistory := TUCUserHistory.Create(Self);
+ FUserSettings := TUCUserSettings.Create(Self);
+ FNotAllowedItems := TUCNotAllowedItems.Create(Self);
+ FExtraRights := TUCExtraRights.Create(Self);
+ FTableUsers := TUCTableUsers.Create(Self);
+ FTableRights := TUCTableRights.Create(Self);
+ FTableUsersLogged := TUCTableUsersLogged.Create(Self);
+ fTableHistory := TUCTableHistorico.Create(Self);
+
+ if csDesigning in ComponentState then
+ begin
+ with TableUsers do
+ begin
+ if TableName = '' then
+ TableName := RetornaLingua( fLanguage,'Const_TableUsers_TableName');
+ if FieldUserID = '' then
+ FieldUserID := RetornaLingua( fLanguage,'Const_TableUsers_FieldUserID');
+ if FieldUserName = '' then
+ FieldUserName := RetornaLingua( fLanguage,'Const_TableUsers_FieldUserName');
+ if FieldLogin = '' then
+ FieldLogin := RetornaLingua( fLanguage,'Const_TableUsers_FieldLogin');
+ if FieldPassword = '' then
+ FieldPassword := RetornaLingua( fLanguage,'Const_TableUsers_FieldPassword');
+ if FieldEmail = '' then
+ FieldEmail := RetornaLingua( fLanguage,'Const_TableUsers_FieldEmail');
+ if FieldPrivileged = '' then
+ FieldPrivileged := RetornaLingua( fLanguage,'Const_TableUsers_FieldPrivileged');
+ if FieldTypeRec = '' then
+ FieldTypeRec := RetornaLingua( fLanguage,'Const_TableUsers_FieldTypeRec');
+ if FieldProfile = '' then
+ FieldProfile := RetornaLingua( fLanguage,'Const_TableUsers_FieldProfile');
+ if FieldKey = '' then
+ FieldKey := RetornaLingua( fLanguage,'Const_TableUsers_FieldKey');
+
+ If FieldDateExpired = '' then
+ FieldDateExpired := RetornaLingua( fLanguage,'Const_TableUsers_FieldDateExpired'); {Vicente Barros Leonel}
+
+ If FieldUserExpired = '' then
+ FieldUserExpired := RetornaLingua( fLanguage,'Const_TableUser_FieldUserExpired'); {Vicente Barros Leonel}
+
+ if FieldUserDaysSun = '' then
+ FieldUserDaysSun := RetornaLingua( fLanguage,'Const_TableUser_FieldUserDaysSun'); { Vicente Barros leoenl }
+ end;
+
+ with TableRights do
+ begin
+ if TableName = '' then
+ TableName := RetornaLingua( fLanguage,'Const_TableRights_TableName');
+ if FieldUserID = '' then
+ FieldUserID := RetornaLingua( fLanguage,'Const_TableRights_FieldUserID');
+ if FieldModule = '' then
+ FieldModule := RetornaLingua( fLanguage,'Const_TableRights_FieldModule');
+ if FieldComponentName = '' then
+ FieldComponentName := RetornaLingua( fLanguage,'Const_TableRights_FieldComponentName');
+ if FieldFormName = '' then
+ FieldFormName := RetornaLingua( fLanguage,'Const_TableRights_FieldFormName');
+ if FieldKey = '' then
+ FieldKey := RetornaLingua( fLanguage,'Const_TableRights_FieldKey');
+ end;
+
+ with TableUsersLogged do
+ begin
+ if TableName = '' then
+ TableName := RetornaLingua( fLanguage,'Const_TableUsersLogged_TableName');
+ if FieldLogonID = '' then
+ FieldLogonID := RetornaLingua( fLanguage,'Const_TableUsersLogged_FieldLogonID');
+ if FieldUserID = '' then
+ FieldUserID := RetornaLingua( fLanguage,'Const_TableUsersLogged_FieldUserID');
+ if FieldApplicationID = '' then
+ FieldApplicationID := RetornaLingua( fLanguage,'Const_TableUsersLogged_FieldApplicationID');
+ if FieldMachineName = '' then
+ FieldMachineName := RetornaLingua( fLanguage,'Const_TableUsersLogged_FieldMachineName');
+ if FieldData = '' then
+ FieldData := RetornaLingua( fLanguage,'Const_TableUsersLogged_FieldData');
+ end;
+
+
+ With fTableHistory do
+ Begin
+ if Length(Trim(TableName)) = 0 then
+ TableName := RetornaLingua( fLanguage,'Const_Hist_TableName');
+
+ if Length(Trim(FieldApplicationID)) = 0 then
+ FieldApplicationID := RetornaLingua( fLanguage,'Const_Hist_FieldApplicationID');
+
+ if Length(trim(FieldUserID)) = 0 then
+ FieldUserID := RetornaLingua( fLanguage,'Const_Hist_FieldUserID');
+
+ If Length(Trim(FieldEventDate)) = 0 then
+ FieldEventDate := RetornaLingua( fLanguage,'Const_Hist_FieldEventDate');
+
+ If Length(trim(FieldEventTime)) = 0 then
+ FieldEventTime := RetornaLingua( fLanguage,'Const_Hist_FieldEventTime');
+
+ If Length(trim(FieldForm)) = 0 then
+ FieldForm := RetornaLingua( fLanguage,'Const_Hist_FieldForm');
+
+ If Length(trim(FieldCaptionForm)) = 0 then
+ FieldCaptionForm := RetornaLingua( fLanguage,'Const_Hist_FieldCaptionForm');
+
+ If Length(trim(FieldEvent)) = 0 then
+ FieldEvent := RetornaLingua( fLanguage,'Const_Hist_FieldEvent');
+
+ If Length(trim(FieldObs)) = 0 then
+ FieldObs := RetornaLingua( fLanguage,'Const_Hist_FieldObs');
+
+ If Length(trim(FieldTableName)) = 0 then
+ FieldTableName := RetornaLingua( fLanguage,'Const_Hist_FieldTableName'); // nome do campo que grava a tabela nao confuda
+ End;
+
+ if LogControl.TableLog = '' then
+ LogControl.TableLog := 'UCLog';
+ if ApplicationID = '' then
+ ApplicationID := 'ProjetoNovo';
+ if Login.InitialLogin.User = '' then
+ Login.InitialLogin.User := 'admin';
+ if Login.InitialLogin.Password = '' then
+ Login.InitialLogin.Password := '123mudar';
+ if Login.InitialLogin.Email = '' then
+ Login.InitialLogin.Email := 'usercontrol@usercontrol.net';
+
+ FLoginMode := lmActive;
+ FCriptografia := cPadrao;
+ FAutoStart := False;
+ FUserProfile.Active := True;
+ FLogControl.Active := True;
+ FUser.UsePrivilegedField := False;
+ FUser.ProtectAdministrator := True;
+ FUsersLogged.Active := True;
+ NotAllowedItems.MenuVisible := True;
+ NotAllowedItems.ActionVisible := True;
+ end
+ else
+ begin
+ FControlList := TList.Create;
+ FLoginMonitorList := TList.Create;
+ end;
+
+ UCSettings.IniSettings(UserSettings);
+end;
+
+procedure TUserControl.Loaded;
+var
+ Contador: Integer;
+begin
+ inherited;
+ if not (csDesigning in ComponentState) then
+ begin
+ if not Assigned(DataConnector) then
+ raise Exception.Create(RetornaLingua( fLanguage,'MsgExceptConnector'));
+
+ if ApplicationID = '' then
+ raise Exception.Create(RetornaLingua( fLanguage,'MsgExceptAppID'));
+
+ If ( ( Not Assigned( ControlRight.ActionList ) ) and
+ ( Not Assigned( ControlRight.ActionManager ) ) and
+ ( Not Assigned( ControlRight.MainMenu ) ) and
+ ( Not Assigned( ControlRight.ActionMainMenuBar ) ) ) then
+ raise Exception.Create(Format(RetornaLingua( fLanguage,'MsgExceptPropriedade'),['ControlRight']));
+
+ for Contador := 0 to Pred(Owner.ComponentCount) do
+ if Owner.Components[Contador] is TUCSettings then
+ Begin
+ Language := TUCSettings(Owner.Components[Contador]).Language; // torna a linguage do UCSETTINGS como padrão
+ ApplySettings(TUCSettings(Owner.Components[Contador]));
+ end;
+
+ if Assigned(User.MenuItem) and (not Assigned(User.MenuItem.OnClick)) then
+ User.MenuItem.OnClick := ActionCadUser;
+
+ if Assigned(User.Action) and (not Assigned(User.Action.OnExecute)) then
+ User.Action.OnExecute := ActionCadUser;
+
+ If ( ( Not Assigned(User.Action) ) and ( not Assigned( User.MenuItem) ) ) then
+ raise Exception.Create(Format(RetornaLingua( fLanguage,'MsgExceptPropriedade'),['User']));
+
+ if UserProfile.Active then
+ begin
+ if Assigned(UserProfile.MenuItem) and (not Assigned(UserProfile.MenuItem.OnClick)) then
+ UserProfile.MenuItem.OnClick := ActionUserProfile;
+
+ if Assigned(UserProfile.Action) and (not Assigned(UserProfile.Action.OnExecute)) then
+ UserProfile.Action.OnExecute := ActionUserProfile;
+
+ If ( ( Not Assigned(UserProfile.Action) ) and ( not Assigned( UserProfile.MenuItem) ) ) then
+ raise Exception.Create(Format(RetornaLingua( fLanguage,'MsgExceptPropriedade'),['UserProfile']));
+ end;
+
+ if UsersLogged.Active then
+ begin
+ if Assigned(UsersLogged.MenuItem) and (not Assigned(UsersLogged.MenuItem.OnClick)) then
+ UsersLogged.MenuItem.OnClick := ActionUsersLogged;
+
+ if Assigned(UsersLogged.Action) and (not Assigned(UsersLogged.Action.OnExecute)) then
+ UsersLogged.Action.OnExecute := ActionUsersLogged;
+
+ If ( ( Not Assigned(UsersLogged.Action) ) and ( not Assigned( UsersLogged.MenuItem) ) ) then
+ raise Exception.Create(Format(RetornaLingua( fLanguage,'MsgExceptPropriedade'),['UsersLogged']));
+
+ end;
+
+ if Assigned(UserPasswordChange.MenuItem) and (not Assigned(UserPasswordChange.MenuItem.OnClick)) then
+ UserPasswordChange.MenuItem.OnClick := ActionTrocaSenha;
+
+ if Assigned(UserPasswordChange.Action) and (not Assigned(UserPasswordChange.Action.OnExecute)) then
+ UserPasswordChange.Action.OnExecute := ActionTrocaSenha;
+
+ { By Vicente Barros Leonel }
+ if Assigned(UsersLogoff.MenuItem) and (not Assigned(UsersLogoff.MenuItem.OnClick)) then
+ UsersLogoff.MenuItem.OnClick := ActionLogoff;
+
+ if Assigned(UsersLogoff.Action) and (not Assigned(UsersLogoff.Action.OnExecute)) then
+ UsersLogoff.Action.OnExecute := ActionLogoff;
+
+ If ( ( Not Assigned(UserPasswordChange.Action) ) and ( not Assigned( UserPasswordChange.MenuItem) ) ) then
+ raise Exception.Create(Format(RetornaLingua( fLanguage,'MsgExceptPropriedade'),['UserPasswordChange']));
+
+ If ( ( Not Assigned(UsersLogoff.Action) ) and ( not Assigned( UsersLogoff.MenuItem) ) ) then
+ raise Exception.Create(Format(RetornaLingua( fLanguage,'MsgExceptPropriedade'),['UsersLogoff']));
+
+
+ if (LogControl.Active) then
+ begin
+ if Assigned(LogControl.MenuItem) and (not Assigned(LogControl.MenuItem.OnClick)) then
+ LogControl.MenuItem.OnClick := ActionLog;
+
+ if Assigned(LogControl.Action) and (not Assigned(LogControl.Action.OnExecute)) then
+ LogControl.Action.OnExecute := ActionLog;
+
+ If ( ( Not Assigned(LogControl.Action) ) and ( not Assigned( LogControl.MenuItem) ) ) then
+ raise Exception.Create(Format(RetornaLingua( fLanguage,'MsgExceptPropriedade'),['LogControl']));
+ end;
+
+ If ( UsersHistory.Active ) then
+ begin
+ With fTableHistory do
+ Begin
+ if Length(trim(TableName)) = 0 then
+ Raise Exception.Create( Format( RetornaLingua( fLanguage,'Const_Hist_MsgExceptPropr'),['TableName']));
+
+ if Length(trim(FieldApplicationID)) = 0 then
+ Raise Exception.Create( Format( RetornaLingua( fLanguage,'Const_Hist_MsgExceptPropr'),['FieldApplicationID']));
+
+ if Length(trim(FieldUserID)) = 0 then
+ Raise Exception.Create(Format( RetornaLingua( fLanguage,'Const_Hist_MsgExceptPropr'),['FieldUserID']));
+
+ if Length(trim(FieldEventDate)) = 0 then
+ Raise Exception.Create(Format( RetornaLingua( fLanguage,'Const_Hist_MsgExceptPropr'),['FieldEventDate']));
+
+ if Length(trim(FieldEventTime)) = 0 then
+ Raise Exception.Create(Format( RetornaLingua( fLanguage,'Const_Hist_MsgExceptPropr'),['FieldEventTime']));
+
+ if Length(trim(FieldForm)) = 0 then
+ Raise Exception.Create(Format( RetornaLingua( fLanguage,'Const_Hist_MsgExceptPropr'),['FieldForm']));
+
+ if Length(trim(FieldEvent)) = 0 then
+ Raise Exception.Create(Format( RetornaLingua( fLanguage,'Const_Hist_MsgExceptPropr'),['FieldEvent']));
+
+ if Length(trim(FieldObs)) = 0 then
+ Raise Exception.Create(Format( RetornaLingua( fLanguage,'Const_Hist_MsgExceptPropr'),['FieldObs']));
+
+ if Length(trim(FieldCaptionForm)) = 0 then
+ Raise Exception.Create(Format( RetornaLingua( fLanguage,'Const_Hist_MsgExceptPropr'),['FieldCaptionForm']));
+
+ if Length(trim(FieldTableName)) = 0 then
+ Raise Exception.Create(Format( RetornaLingua( fLanguage,'Const_Hist_MsgExceptPropr'),['FieldTableName']));
+ end;
+
+ if Assigned(UsersHistory.MenuItem) and (not Assigned(UsersHistory.MenuItem.OnClick)) then
+ UsersHistory.MenuItem.OnClick := ActionUserHistory;
+
+ if Assigned(UsersHistory.Action) and (not Assigned(UsersHistory.Action.OnExecute)) then
+ UsersHistory.Action.OnExecute := ActionUserHistory;
+
+ If ( ( Not Assigned(UsersHistory.Action) ) and ( not Assigned( UsersHistory.MenuItem) ) ) then
+ raise Exception.Create(Format(RetornaLingua( fLanguage,'MsgExceptPropriedade'),['UsersHistory']));
+
+ End;
+
+ with TableUsers do
+ begin
+ if TableName = '' then
+ Exception.Create(RetornaLingua( fLanguage,'MsgExceptUsersTable'));
+ if FieldUserID = '' then
+ Exception.Create(RetornaLingua( fLanguage,'MsgExceptUsersTable') + #13 + #10 + 'FieldUserID***');
+ if FieldUserName = '' then
+ Exception.Create(RetornaLingua( fLanguage,'MsgExceptUsersTable') + #13 + #10 + 'FieldUserName***');
+ if FieldLogin = '' then
+ Exception.Create(RetornaLingua( fLanguage,'MsgExceptUsersTable') + #13 + #10 + 'FieldLogin***');
+ if FieldPassword = '' then
+ Exception.Create(RetornaLingua( fLanguage,'MsgExceptUsersTable') + #13 + #10 + 'FieldPassword***');
+ if FieldEmail = '' then
+ Exception.Create(RetornaLingua( fLanguage,'MsgExceptUsersTable') + #13 + #10 + 'FieldEmail***');
+ if FieldPrivileged = '' then
+ Exception.Create(RetornaLingua( fLanguage,'MsgExceptUsersTable') + #13 + #10 + 'FieldPrivileged***');
+ if FieldTypeRec = '' then
+ Exception.Create(RetornaLingua( fLanguage,'MsgExceptUsersTable') + #13 + #10 + 'FieldTypeRec***');
+ if FieldKey = '' then
+ Exception.Create(RetornaLingua( fLanguage,'MsgExceptUsersTable') + #13 + #10 + 'FieldKey***');
+ if FieldProfile = '' then
+ Exception.Create(RetornaLingua( fLanguage,'MsgExceptUsersTable') + #13 + #10 + 'FieldProfile***');
+
+ if FieldDateExpired = '' then
+ Exception.Create(RetornaLingua( fLanguage,'MsgExceptUsersTable') + #13 + #10 + 'FieldDateExpired***');
+
+ If FieldUserExpired = '' then
+ Exception.Create(RetornaLingua( fLanguage,'MsgExceptUsersTable') + #13 + #10 + 'FieldUserExpired***');
+
+ If FieldUserDaysSun = '' then
+ Exception.Create(RetornaLingua( fLanguage,'MsgExceptUsersTable') + #13 + #10 + 'FieldUserDaysSun***');
+ end;
+
+ with TableRights do
+ begin
+ if TableName = '' then
+ Exception.Create(RetornaLingua( fLanguage,'MsgExceptRightsTable'));
+ if FieldUserID = '' then
+ Exception.Create(RetornaLingua( fLanguage,'MsgExceptRightsTable') + #13 + #10 + 'FieldProfile***');
+ if FieldModule = '' then
+ Exception.Create(RetornaLingua( fLanguage,'MsgExceptRightsTable') + #13 + #10 + 'FieldModule***');
+ if FieldComponentName = '' then
+ Exception.Create(RetornaLingua( fLanguage,'MsgExceptRightsTable') + #13 + #10 + 'FieldComponentName***');
+ if FieldFormName = '' then
+ Exception.Create(RetornaLingua( fLanguage,'MsgExceptRightsTable') + #13 + #10 + 'FieldFormName***');
+ if FieldKey = '' then
+ Exception.Create(RetornaLingua( fLanguage,'MsgExceptRightsTable') + #13 + #10 + 'FieldKey***');
+ end;
+
+ if Assigned(OnStartApplication) then
+ OnStartApplication(self);
+
+ //desviar para thread monitorando conexao ao banco qmd 30/01/2004
+ if FAutoStart then
+ begin
+ FThUCRun := TUCExecuteThread.Create(True);
+ FThUCRun.AOwner := Self;
+ FThUCRun.FreeOnTerminate := True;
+ FThUCRun.Resume;
+ end;
+ end;
+end;
+
+procedure TUserControl.ActionUserProfile(Sender: TObject);
+begin
+ if Assigned(OnCustomUsersProfileForm) then
+ OnCustomUsersProfileForm(Self, FFormPerfilUsuarios);
+
+ if FFormPerfilUsuarios = nil then
+ CriaFormPerfilUsuarios;
+
+ FFormPerfilUsuarios.ShowModal;
+ FreeAndNil(FFormPerfilUsuarios);
+end;
+
+procedure TUserControl.ActionUsersLogged(Sender: TObject);
+begin
+ if Assigned(OnCustomUserLoggedForm) then
+ OnCustomUserLoggedForm(Self, FFormUsersLogged);
+
+ if FFormUsersLogged = nil then
+ CriaFormUsersLogged;
+
+ FFormUsersLogged.ShowModal;
+ FreeAndNil(FFormUsersLogged);
+end;
+
+
+procedure TUserControl.ActionUserHistory(Sender:TObject);
+Begin
+ FrmHistorico := TFrmHistorico.Create(Self);
+ TFrmHistorico(FrmHistorico).fUserControl := Self;
+ TFrmHistorico(FrmHistorico).Position := Self.UserSettings.WindowsPosition;
+ FrmHistorico.ShowModal;
+ FreeAndNil(FrmHistorico);
+End;
+
+procedure TUserControl.ActionCadUser(Sender: TObject);
+begin
+ if Assigned(OnCustomUsersForm) then
+ OnCustomUsersForm(Self, FFormCadastroUsuarios);
+
+ if FFormCadastroUsuarios = nil then
+ CriaFormCadastroUsuarios;
+
+ FFormCadastroUsuarios.ShowModal;
+ FreeAndNil(FFormCadastroUsuarios);
+end;
+
+procedure TUserControl.ActionTrocaSenha(Sender: TObject);
+begin
+ if Assigned(OnCustomChangePasswordForm) then
+ OnCustomChangePasswordForm(Self, FFormTrocarSenha);
+
+ if FFormTrocarSenha = nil then
+ CriaFormTrocarSenha;
+
+ FFormTrocarSenha.ShowModal;
+ FreeAndNil(FFormTrocarSenha);
+end;
+
+procedure TUserControl.CriaFormPerfilUsuarios;
+begin
+ FFormPerfilUsuarios := TfrmCadastrarPerfil.Create(self);
+ with Self.UserSettings.UsersProfile, TfrmCadastrarPerfil(FFormPerfilUsuarios) do
+ begin
+ Caption := WindowCaption;
+ lbDescricao.Caption := LabelDescription;
+ btAdic.Caption := BtAdd;
+ BtAlt.Caption := BtChange;
+ BtExclui.Caption := BtDelete;
+ BtAcess.Caption := BtRights;
+ BtExit.Caption := BtClose;
+ BtAcess.OnClick := ActionBtnPermissaoProfile;
+ FUserControl := Self;
+ Position := Self.UserSettings.WindowsPosition;
+ end;
+end;
+
+procedure TUserControl.ActionBtnPermissaoProfile(Sender: TObject);
+begin
+ if TfrmCadastrarPerfil(FFormPerfilUsuarios).FDataSetPerfilUsuario.IsEmpty then
+ Exit;
+ UserPermis := TUserPermis.Create(self);
+ UserPermis.FUserControl := Self;
+ SetWindowProfile;
+ UserPermis.lbUser.Caption := TfrmCadastrarPerfil(FFormPerfilUsuarios).FDataSetPerfilUsuario.FieldByName('Nome').AsString;
+ ActionBtPermissProfileDefault;
+end;
+
+procedure TUserControl.SetWindowProfile;
+begin
+ with Self.UserSettings.Rights do
+ begin
+ UserPermis.Caption := WindowCaption;
+ UserPermis.LbDescricao.Caption := LabelProfile;
+ UserPermis.lbUser.Left := UserPermis.LbDescricao.Left + UserPermis.LbDescricao.Width + 5;
+ UserPermis.PageMenu.Caption := PageMenu;
+ UserPermis.PageAction.Caption := PageActions;
+ UserPermis.PageControls.Caption := PageControls; // By Vicente Barros Leonel
+ UserPermis.BtLibera.Caption := BtUnlock;
+ UserPermis.BtBloqueia.Caption := BtLock;
+ UserPermis.BtGrava.Caption := BtSave;
+ UserPermis.BtCancel.Caption := BtCancel;
+ UserPermis.Position := Self.UserSettings.WindowsPosition;
+ end;
+end;
+
+procedure TUserControl.CriaFormCadastroUsuarios;
+begin
+ FFormCadastroUsuarios := TfrmCadastrarUsuario.Create(self);
+ with Self.UserSettings.UsersForm, TfrmCadastrarUsuario(FFormCadastroUsuarios) do
+ begin
+ Caption := WindowCaption;
+ lbDescricao.Caption := LabelDescription;
+ btAdic.Caption := BtAdd;
+ BtAlt.Caption := BtChange;
+ BtExclui.Caption := BtDelete;
+ BtAcess.Caption := BtRights;
+ BtPass.Caption := BtPassword;
+ BtExit.Caption := BtClose;
+ BtAcess.OnClick := Self.ActionBtnPermissao;
+ FUserControl := Self;
+ Position := Self.UserSettings.WindowsPosition;
+ end;
+end;
+
+procedure TUserControl.ActionBtnPermissao(Sender: TObject);
+begin
+ if TfrmCadastrarUsuario(FFormCadastroUsuarios).FDataSetCadastroUsuario.IsEmpty then
+ Exit;
+ UserPermis := TUserPermis.Create(self);
+ UserPermis.FUserControl := Self;
+ SetWindow;
+ UserPermis.lbUser.Caption := TfrmCadastrarUsuario(FFormCadastroUsuarios).FDataSetCadastroUsuario.FieldByName('Login').AsString;
+ ActionBtPermissDefault;
+end;
+
+procedure TUserControl.SetWindow;
+begin
+ with Self.UserSettings.Rights do
+ begin
+ UserPermis.Caption := WindowCaption;
+ UserPermis.LbDescricao.Caption := LabelUser;
+ UserPermis.lbUser.Left := UserPermis.LbDescricao.Left + UserPermis.LbDescricao.Width + 5;
+ UserPermis.PageMenu.Caption := PageMenu;
+ UserPermis.PageAction.Caption := PageActions;
+ UserPermis.PageControls.Caption := PageControls; // By Vicente Barros Leonel
+ UserPermis.BtLibera.Caption := BtUnlock;
+ UserPermis.BtBloqueia.Caption := BtLOck;
+ UserPermis.BtGrava.Caption := BtSave;
+ UserPermis.BtCancel.Caption := BtCancel;
+ UserPermis.Position := Self.UserSettings.WindowsPosition;
+ end;
+end;
+
+function TUserControl.ExisteUsuario(Login: String): Boolean;
+var
+ SQLstmt: String;
+ DataSet: TDataSet;
+begin
+ SQLstmt := Format('SELECT %s.%s FROM %s WHERE %s.%s=%s',
+ [Self.TableUsers.TableName,
+ Self.TableUsers.FieldLogin,
+ Self.TableUsers.TableName,
+ Self.TableUsers.TableName,
+ Self.TableUsers.FieldLogin,
+ QuotedStr(Login)]);
+
+ try
+ DataSet := Self.DataConnector.UCGetSQLDataset(SQLstmt);
+ Result := (Dataset.RecordCount > 0);
+ finally
+ SysUtils.FreeAndNil(DataSet);
+ end;
+end;
+
+function TUserControl.GetLocalComputerName: String;
+var
+ Count: DWORD;
+ Buffer: String;
+begin
+ Count := MAX_COMPUTERNAME_LENGTH + 1;
+ SetLength(Buffer, Count);
+ if GetComputerName(PChar(Buffer), Count) then
+ SetLength(Buffer, StrLen(PChar(Buffer)))
+ else
+ Buffer := '';
+ Result := Buffer;
+end;
+
+function TUserControl.GetLocalUserName: String;
+var
+ Count: DWORD;
+ Buffer: String;
+begin
+ Count := 254;
+ SetLength(Buffer, Count);
+ if GetUserName(PChar(Buffer), Count) then
+ SetLength(Buffer, StrLen(PChar(Buffer)))
+ else
+ Buffer := '';
+ Result := Buffer;
+end;
+
+procedure TUserControl.CriaFormTrocarSenha;
+begin
+ FFormTrocarSenha := TTrocaSenha.Create(Self);
+ with Self.UserSettings.ChangePassword do
+ begin
+ TTrocaSenha(FFormTrocarSenha).fUsercontrol := Self;
+ TTrocaSenha(FFormTrocarSenha).Caption := WindowCaption;
+ TTrocaSenha(FFormTrocarSenha).lbDescricao.Caption := LabelDescription;
+ TTrocaSenha(FFormTrocarSenha).lbSenhaAtu.Caption := LabelCurrentPassword;
+ TTrocaSenha(FFormTrocarSenha).lbNovaSenha.Caption := LabelNewPassword;
+ TTrocaSenha(FFormTrocarSenha).lbConfirma.Caption := LabelConfirm;
+ TTrocaSenha(FFormTrocarSenha).btGrava.Caption := BtSave;
+ TTrocaSenha(FFormTrocarSenha).btCancel.Caption := BtCancel;
+ TTrocaSenha(FFormTrocarSenha).ForcarTroca := False; // Vicente Barros Leonel
+ end;
+ TTrocaSenha(FFormTrocarSenha).Position := Self.UserSettings.WindowsPosition; // Adicionado por Luiz Benevenuto
+
+ TTrocaSenha(FFormTrocarSenha).btGrava.OnClick := ActionTSBtGrava;
+ if CurrentUser.Password = '' then
+ TTrocaSenha(FFormTrocarSenha).EditAtu.Enabled := False;
+end;
+
+procedure TUserControl.CriaFormUsersLogged;
+begin
+ FFormUsersLogged := TfrmUsersLogged.Create(Self);
+ TfrmUsersLogged(FFormUsersLogged).Position := Self.UserSettings.WindowsPosition;
+ TfrmUsersLogged(FFormUsersLogged).FUserControl := Self;
+end;
+
+procedure TUserControl.ActionTSBtGrava(Sender: TObject);
+Var AuxPass : String;
+begin
+ { Pelo que eu analizei, a gravação da senha no Banco de Dados e feita criptografada
+ Qdo a criptografia e padrão, a funcao RegistraCurrentUser descriptografa a senha atual
+ agora quando criptografia e MD5SUM, devemos criptografar a senha atual vinda do formulario de
+ troca de senha para podemoscomparar com a senha atual da classe TUCCurrentUser
+ Modificação Feita por Vicente Barros Leonel
+ }
+ case Self.Criptografia of // por Vicente Barros Leonel
+ cPadrao: AuxPass := TTrocaSenha(FFormTrocarSenha).EditAtu.Text;
+ cMD5: AuxPass := MD5Sum(TTrocaSenha(FFormTrocarSenha).EditAtu.Text);
+ end;
+
+ if CurrentUser.Password <> AuxPass Then //MD5Sum(TTrocaSenha(FFormTrocarSenha).EditAtu.Text) then Vicente Barros Leonel
+ begin
+ MessageDlg(UserSettings.CommonMessages.ChangePasswordError.InvalidCurrentPassword, mtWarning, [mbOK], 0);
+ TTrocaSenha(FFormTrocarSenha).EditAtu.SetFocus;
+ Exit;
+ end;
+
+ if TTrocaSenha(FFormTrocarSenha).EditNova.Text <> TTrocaSenha(FFormTrocarSenha).EditConfirma.Text then
+ begin
+ MessageDlg(UserSettings.CommonMessages.ChangePasswordError.InvalidNewPassword, mtWarning, [mbOK], 0);
+ TTrocaSenha(FFormTrocarSenha).EditNova.SetFocus;
+ Exit;
+ end;
+
+ case Self.Criptografia of // por Vicente Barros Leonel
+ cPadrao: AuxPass := TTrocaSenha(FFormTrocarSenha).EditNova.Text;
+ cMD5: AuxPass := MD5Sum(TTrocaSenha(FFormTrocarSenha).EditNova.Text);
+ end;
+
+ if AuxPass = CurrentUser.Password then
+ begin
+ MessageDlg(UserSettings.CommonMessages.ChangePasswordError.NewEqualCurrent, mtWarning, [mbOK], 0);
+ TTrocaSenha(FFormTrocarSenha).EditNova.SetFocus;
+ Exit;
+ end;
+
+ if (UserPasswordChange.ForcePassword) and (TTrocaSenha(FFormTrocarSenha).EditNova.Text = '') then
+ begin
+ MessageDlg(UserSettings.CommonMessages.ChangePasswordError.PasswordRequired, mtWarning, [mbOK], 0);
+ TTrocaSenha(FFormTrocarSenha).EditNova.Text;
+ Exit;
+ end;
+
+ if Length(TTrocaSenha(FFormTrocarSenha).EditNova.Text) < UserPasswordChange.MinPasswordLength then
+ begin
+ MessageDlg(Format(UserSettings.CommonMessages.ChangePasswordError.MinPasswordLength, [UserPasswordChange.MinPasswordLength]), mtWarning, [mbOK], 0);
+ TTrocaSenha(FFormTrocarSenha).EditNova.SetFocus;
+ Exit;
+ end;
+
+ if Pos(LowerCase(TTrocaSenha(FFormTrocarSenha).EditNova.Text), 'abcdeasdfqwerzxcv1234567890321654987teste' + LowerCase(CurrentUser.UserName) + LowerCase(CurrentUser.UserLogin)) > 0 then
+ begin
+ MessageDlg(UserSettings.CommonMessages.ChangePasswordError.InvalidNewPassword, mtWarning, [mbOK], 0);
+ TTrocaSenha(FFormTrocarSenha).EditNova.SetFocus;
+ Exit;
+ end;
+
+ if Assigned(OnChangePassword) then
+ OnChangePassword(Self, CurrentUser.UserID, CurrentUser.UserLogin, CurrentUser.Password, TTrocaSenha(FFormTrocarSenha).EditNova.Text);
+
+ ChangePassword(CurrentUser.UserID, TTrocaSenha(FFormTrocarSenha).EditNova.Text);
+
+ case Self.Criptografia of // Por Vicente Barros Leonel
+ cPadrao: CurrentUser.Password := TTrocaSenha(FFormTrocarSenha).EditNova.Text;
+ cMD5: CurrentUser.Password := MD5Sum(TTrocaSenha(FFormTrocarSenha).EditNova.Text);
+ end;
+
+
+ if CurrentUser.Password = '' then
+ MessageDlg(Format(UserSettings.CommonMessages.BlankPassword, [CurrentUser.UserLogin]), mtInformation, [mbOK], 0)
+ else
+ MessageDlg(UserSettings.CommonMessages.PasswordChanged, mtInformation, [mbOK], 0);
+
+ {$IFDEF Indy}
+ if (Assigned(MailUserControl)) and (MailUserControl.SenhaTrocada.Ativo) then
+ with CurrentUser do
+ try
+ MailUserControl.EnviaEmailSenhaTrocada(UserName, UserLogin, TTrocaSenha(FFormTrocarSenha).EditNova.Text, Email, '', EncryptKey);
+ except
+ on e: Exception do
+ Log(e.Message, 2);
+ end;
+ {$ENDIF}
+ If TTrocaSenha(FFormTrocarSenha).ForcarTroca = True then
+ TTrocaSenha(FFormTrocarSenha).ForcarTroca := False; // Vicente Barros Leonel
+ TTrocaSenha(FFormTrocarSenha).Close;
+end;
+
+procedure TUserControl.SetUserSettings(const Value: TUCUserSettings);
+begin
+ UserSettings := Value;
+end;
+
+procedure TUserControl.SetfrmLoginWindow(Form: TCustomForm);
+begin
+ with UserSettings.Login, Form as TfrmLoginWindow do
+ begin
+ Caption := WindowCaption;
+ LbUsuario.Caption := LabelUser;
+ LbSenha.Caption := LabelPassword;
+ btOK.Caption := UserSettings.Login.BtOk;
+ BtCancela.Caption := BtCancel;
+ if LeftImage <> nil then
+ ImgLeft.Picture.Assign(LeftImage);
+ if BottomImage <> nil then
+ ImgBottom.Picture.Assign(BottomImage);
+ if TopImage <> nil then
+ ImgTop.Picture.Assign(TopImage);
+
+ StatusBar.Visible := Login.FMaxLoginAttempts > 0; // by vicente barros leonel
+ StatusBar.Panels[ 1 ].Text := '0'; // by vicente barros leonel
+ StatusBar.Panels[ 3 ].Text := IntToStr( Login.FMaxLoginAttempts ); // by vicente barros leonel
+
+ {$IFDEF Indy}
+ if Assigned(MailUserControl) then
+ begin
+ lbEsqueci.Visible := MailUserControl.EsqueceuSenha.Ativo;
+ lbEsqueci.Caption := MailUserControl.EsqueceuSenha.LabelLoginForm;
+ end;
+ {$ENDIF}
+ Position := Self.UserSettings.WindowsPosition;
+ end;
+end;
+
+procedure TUserControl.Notification(AComponent: TComponent; AOperation: TOperation);
+begin
+ if (AOperation = opRemove) then
+ begin
+ if AComponent = User.MenuItem then
+ User.MenuItem := nil;
+ if AComponent = User.Action then
+ User.Action := nil;
+ if AComponent = UserProfile.MenuItem then
+ UserProfile.MenuItem := nil;
+ if AComponent = UserProfile.Action then
+ UserProfile.Action := nil;
+ if AComponent = UserPasswordChange.Action then
+ UserPasswordChange.Action := nil;
+ if AComponent = UserPasswordChange.MenuItem then
+ UserPasswordChange.MenuItem := nil;
+
+ { By Vicente Barros Leonel }
+ If AComponent = UsersLogoff.Action then
+ UsersLogoff.Action := Nil;
+ if AComponent = UsersLogoff.MenuItem then
+ UsersLogoff.MenuItem := Nil;
+
+
+ if AComponent = ControlRight.MainMenu then
+ ControlRight.MainMenu := nil;
+ if AComponent = ControlRight.ActionList then
+ ControlRight.ActionList := nil;
+ {$IFDEF UCACTMANAGER}
+ if AComponent = ControlRight.ActionManager then
+ ControlRight.ActionManager := nil;
+ if AComponent = ControlRight.ActionMainMenuBar then
+ ControlRight.ActionMainMenuBar := nil;
+ {$ENDIF}
+ if AComponent = LogControl.MenuItem then
+ LogControl.MenuItem := nil;
+ if AComponent = LogControl.Action then
+ LogControl.Action := nil;
+ if AComponent = FDataConnector then
+ FDataConnector := nil;
+
+ {$IFDEF Indy}
+ if AComponent = FMailUserControl then
+ FMailUserControl := nil;
+ {$ENDIF}
+ end;
+ inherited Notification(AComponent, AOperation);
+end;
+
+procedure TUserControl.ActionLog(Sender: TObject);
+begin
+ FFormLogControl := TViewLog.Create(self);
+ TViewLog(FFormLogControl).UCComponent := Self;
+ with TViewLog(FFormLogControl), UserSettings.Log do
+ begin
+ Caption := WindowCaption;
+ lbDescricao.Caption := LabelDescription;
+ lbUsuario.Caption := LabelUser;
+ lbData.Caption := LabelDate;
+ lbNivel.Caption := LabelLevel;
+ BtFiltro.Caption := BtFilter;
+ BtExclui.Caption := BtDelete;
+ BtFecha.Caption := BtClose;
+ with DBGrid1 do
+ begin
+ Columns[0].Title.Caption := ColAppID;
+ Columns[0].FieldName := 'APPLICATIONID';
+ Columns[0].Width := 60;
+ Columns[1].Title.Caption := ColLevel;
+ Columns[1].FieldName := 'NIVEL';
+ Columns[1].Width := 32;
+ Columns[2].Title.Caption := ColMessage;
+ Columns[2].FieldName := 'MSG';
+ Columns[2].Width := 260;
+ Columns[3].Title.Caption := ColUser;
+ Columns[3].FieldName := 'NOME';
+ Columns[3].Width := 120;
+ Columns[4].Title.Caption := ColDate;
+ Columns[4].FieldName := 'DATA';
+ Columns[4].Width := 111;
+ end;
+ Position := Self.UserSettings.WindowsPosition;
+ end;
+ TViewLog(FFormLogControl).ShowModal;
+ FreeAndNil(FFormLogControl);
+end;
+
+procedure TUserControl.ActionLogoff(Sender: TObject);
+begin
+ Self.Logoff;
+end;
+
+procedure TUserControl.Log(MSG: String; Level: Integer);
+begin
+ // Adicionado ao log a identificação da Aplicação
+ if not LogControl.Active then
+ Exit;
+ DataConnector.UCExecSQL('INSERT INTO ' + LogControl.TableLog +
+ '(APPLICATIONID, IDUSER, MSG, DATA, NIVEL) VALUES ( ' +
+ QuotedStr(Self.ApplicationID) + ', ' +
+ IntToStr(CurrentUser.UserID) + ', ' +
+ QuotedStr(Copy(MSG, 1, 250)) + ', ' +
+ QuotedStr(FormatDateTime('YYYYMMDDhhmmss', now)) + ', ' +
+ IntToStr(Level) + ')');
+end;
+
+{$IFDEF Indy}
+procedure TUserControl.SetMailUserControl(const Value: TMailUserControl);
+begin
+ FMailUserControl := Value;
+ if Value <> nil then
+ Value.FreeNotification(Self);
+end;
+
+{$ENDIF}
+
+procedure TUserControl.RegistraCurrentUser(Dados: TDataset);
+var
+ SQLStmt: String;
+begin
+ with CurrentUser do
+ begin
+ UserID := Dados.FieldByName(TableUsers.FieldUserID).AsInteger;
+ UserName := Dados.FieldByName(TableUsers.FieldUserName).AsString;
+ UserLogin := Dados.FieldByName(TableUsers.FieldLogin).AsString;
+ DateExpiration := StrToDateDef(Dados.FieldByName(TableUsers.FieldDateExpired).AsString, Now );
+ UserNotExpired := Dados.FieldByName(TableUsers.FieldUserExpired).AsInteger = 1; //by vicente barros leonel
+ UserDaysExpired := Dados.FieldByName(TableUsers.FieldUserDaysSun).AsInteger;
+
+ case Self.Criptografia of
+ cPadrao: Password := Decrypt(Dados.FieldByName(TableUsers.FieldPassword).AsString, EncryptKey);
+ cMD5: Password := Dados.FieldByName(TableUsers.FieldPassword).AsString;
+ end;
+
+ Email := Dados.FieldByName(TableUsers.FieldEmail).AsString;
+ Privileged := StrToBool(Dados.FieldByName(TableUsers.FieldPrivileged).AsString);
+ Profile := Dados.FieldByName(TableUsers.FieldProfile).AsInteger;
+
+ SQLStmt := Format('SELECT %s AS ObjName,' +
+ ' %s AS UCKey,' +
+ ' %s AS UserID' +
+ ' FROM %s' +
+ ' WHERE %s = %s AND %s = %s',
+ [TableRights.FieldComponentName,
+ TableRights.FieldKey,
+ TableRights.FieldUserID,
+ TableRights.TableName,
+ TableRights.FieldUserID,
+ IntToStr(UserID),
+ TableRights.FieldModule,
+ QuotedStr(ApplicationID)]);
+
+ PerfilUsuario := DataConnector.UCGetSQLDataset(SQLStmt);
+
+ // Aplica Permissoes do Perfil do usuario
+ if CurrentUser.Profile > 0 then
+ begin
+ SQLStmt := Format('SELECT %s AS ObjName,' +
+ ' %s AS UCKey,' +
+ ' %s AS UserID' +
+ ' FROM %s' +
+ ' WHERE %s = %s AND %s = %s',
+ [TableRights.FieldComponentName,
+ TableRights.FieldKey,
+ TableRights.FieldUserID,
+ TableRights.TableName,
+ TableRights.FieldUserID,
+ IntToStr(CurrentUser.Profile),
+ TableRights.FieldModule,
+ QuotedStr(ApplicationID)]);
+
+ PerfilGrupo := DataConnector.UCGetSQLDataset(SQLStmt);
+ end
+ else
+ PerfilGrupo := nil;
+
+ if Assigned(OnLoginSucess) then
+ OnLoginSucess(Self, UserID, UserLogin, UserName, Password, EMail, Privileged);
+ end;
+
+ //Cesar: 13/07/2005
+ if (CurrentUser.UserID <> 0) then
+ UsersLogged.AddCurrentUser;
+
+ ApplyRightsUCControlMonitor;
+ NotificationLoginMonitor;
+
+ If ( ( FLogin.fDateExpireActive = true ) and ( Date > CurrentUser.DateExpiration ) and ( CurrentUser.UserNotExpired = False ) ) then
+ Begin { By Vicente Barros Leonel }
+ MessageDlg( UserSettings.CommonMessages.PasswordExpired , mtInformation , [mbOK], 0);
+
+ if FFormTrocarSenha = nil then
+ CriaFormTrocarSenha;
+ TTrocaSenha(FFormTrocarSenha).ForcarTroca := True;
+ FFormTrocarSenha.ShowModal;
+ FreeAndNil(FFormTrocarSenha);
+ end;
+end;
+
+{$IFDEF Indy}
+procedure TUserControl.ActionEsqueceuSenha(Sender: TObject);
+var
+ FDataset: TDataset;
+begin
+ FDataset := DataConnector.UCGetSQLDataset('Select * from ' + TableUsers.TableName + ' Where ' +
+ TableUsers.FieldLogin + ' = ' + QuotedStr(TfrmLoginWindow(FFormLogin).EditUsuario.Text));
+ with FDataset do
+ try
+ if not IsEmpty then
+ { TODO -oLuiz -cUpgrade : Consertar o método EnviarEsquceuSenha para usar a criptografia md5 }
+ MailUserControl.EnviaEsqueceuSenha(FieldByName(TableUsers.FieldUserName).AsString,
+ FieldByName(TableUsers.FieldLogin).AsString,
+ FieldByName(TableUsers.FieldPassword).AsString,
+ FieldByName(TableUsers.FieldEmail).AsString, '', EncryptKey)
+ else
+ MessageDlg(UserSettings.CommonMessages.InvalidLogin, mtWarning, [mbOK], 0);
+ finally
+ Close;
+ Free;
+ end;
+end;
+
+{$ENDIF}
+
+procedure TUserControl.TryAutoLogon;
+begin
+ if not VerificaLogin(Login.AutoLogin.User, Login.AutoLogin.Password) then
+ begin
+ if Login.AutoLogin.MessageOnError then
+ MessageDlg(UserSettings.CommonMessages.AutoLogonError, mtWarning, [mbOK], 0);
+ ShowLogin;
+ end;
+end;
+
+function TUserControl.VerificaLogin(User, Password: String): Boolean;
+var
+ Senha: String;
+ Key: String;
+ SQLStmt: String;
+ Dataset: TDataset;
+ VerifKey: String;
+begin
+ case Self.Criptografia of
+ cPadrao: Senha := TableUsers.FieldPassword + ' = ' + QuotedStr(Encrypt(Password, EncryptKey));
+ cMD5: Senha := TableUsers.FieldPassword + ' = ' + QuotedStr(MD5Sum(Password));
+ end;
+
+ SQLStmt := 'SELECT * FROM ' + TableUsers.TableName + ' WHERE ' +
+ TableUsers.FieldLogin + ' = ' + QuotedStr(User) + ' AND ' + Senha;
+
+ Dataset := DataConnector.UCGetSQLDataset(SQLStmt);
+ with Dataset do
+ try
+ if not IsEmpty then
+ begin
+ case Self.Criptografia of
+ cPadrao:
+ begin
+ Key := Decrypt(Dataset.FieldByName(TableUsers.FieldKey).AsString, EncryptKey);
+ VerifKey := Dataset.FieldByName(TableUsers.FieldUserID).AsString +
+ Dataset.FieldByName(TableUsers.FieldLogin).AsString +
+ Decrypt(Dataset.FieldByName(TableUsers.FieldPassword).AsString, EncryptKey);
+ end;
+ cMD5:
+ begin
+ Key := Dataset.FieldByName(TableUsers.FieldKey).AsString;
+ VerifKey := MD5Sum(Dataset.FieldByName(TableUsers.FieldUserID).AsString +
+ Dataset.FieldByName(TableUsers.FieldLogin).AsString +
+ Dataset.FieldByName(TableUsers.FieldPassword).AsString);
+ end;
+ end;
+ if Key <> VerifKey then
+ begin
+ Result := False;
+ if Assigned(OnLoginError) then
+ OnLoginError(Self, User, Password);
+ end
+ else
+ begin
+ Result := True;
+ RegistraCurrentuser(Dataset);
+ end;
+ end
+ else
+ begin
+ Result := False;
+ if Assigned(OnLoginError) then
+ OnLoginError(Self, User, Password);
+ end;
+ finally
+ Close;
+ Free;
+ end;
+end;
+
+procedure TUserControl.Logoff;
+begin
+ if Assigned(onLogoff) then
+ onLogoff(Self, CurrentUser.UserID);
+
+ LockControlsUCControlMonitor;
+ UsersLogged.DelCurrentUser;
+ CurrentUser.UserID := 0;
+ if LoginMode = lmActive then
+ ShowLogin;
+ ApplyRights;
+end;
+
+function TUserControl.AddUser(Login, Password, Name, Mail: String; Profile, UserExpired, DaysExpired : Integer; PrivUser: Boolean): Integer;
+var
+ Key: String;
+ SQLStmt: String;
+ Senha: String;
+begin
+ with DataConnector.UCGetSQLDataset('Select Max(' + TableUsers.FieldUserID + ') as IdUser from ' + TableUsers.TableName) do
+ begin
+ Result := FieldByName('idUser').AsInteger + 1;
+ Close;
+ Free;
+ end;
+
+ case Self.Criptografia of
+ cPadrao:
+ begin
+ Key := Encrypt(IntToStr(Result) + Login + Password, EncryptKey);
+ Senha := Encrypt(Password, EncryptKey);
+ end;
+ cMD5:
+ begin
+ Key := MD5Sum(IntToStr(Result) + Login + MD5Sum(Password));
+ Senha := MD5Sum(Password);
+ end;
+ end;
+
+ with TableUsers do
+ begin
+ SQLStmt := Format('INSERT INTO %s( %s, %s, %s, %s, %s, %s, %s, %s, %s , %s , %s , %s ) VALUES(%d, %s, %s, %s, %s, %s, %d, %s, %s , %s , %d , %d )',
+ [TableName,
+ FieldUserID,
+ FieldUserName,
+ FieldLogin,
+ FieldPassword,
+ FieldEmail,
+ FieldPrivileged,
+ FieldProfile,
+ FieldTypeRec,
+ FieldKey,
+ FieldDateExpired, { By Vicente Barros Leonel }
+ FieldUserExpired,
+ FieldUserDaysSun,
+ Result,
+ QuotedStr(Name),
+ QuotedStr(Login),
+ QuotedStr(Senha),
+ QuotedStr(Mail),
+ BoolToStr(PrivUser),
+ Profile,
+ QuotedStr('U'),
+ QuotedStr(Key),
+ QuotedStr( FormatDateTime('dd/mm/yyyy',Date + FLogin.fDaysOfSunExpired) ), {By vicente Barros Leonel }
+ UserExpired,
+ DaysExpired ]); {By vicente Barros Leonel }
+ DataConnector.UCExecSQL(SQLStmt);
+ end;
+
+ if Assigned(OnAddUser) then
+ OnAddUser(Self, Login, Password, Name, Mail, Profile, Privuser);
+end;
+
+
+procedure TUserControl.ChangePassword(IDUser: Integer; NewPassword: String);
+var
+ cSql ,
+ Login,
+ Senha,
+ Key : String;
+begin
+ inherited;
+ with DataConnector.UCGetSQLDataset('Select ' + TableUsers.FieldLogin + ' as login, ' + TableUsers.FieldPassword + ' as senha from ' + TableUsers.TableName + ' where ' + TableUsers.FieldUserID + ' = ' + IntToStr(IdUser)) do
+ begin
+ Login := FieldByName('Login').AsString;
+ case Self.Criptografia of
+ cPadrao:
+ begin
+ Key := Encrypt(IntToStr(IDUser) + Login + NewPassword, EncryptKey);
+ Senha := Decrypt(FieldByName('Senha').AsString, EncryptKey);
+ end;
+ cMD5:
+ begin
+ Key := MD5Sum(IntToStr(IDUser) + Login + MD5Sum(NewPassword));
+ Senha := FieldByName('Senha').AsString;
+ end;
+ end;
+
+ Close;
+ Free;
+ end;
+
+ case Self.Criptografia of // Por Vicente Barros Leonel
+ cPadrao: cSql := 'Update ' + TableUsers.TableName +
+ ' Set ' + TableUsers.FieldPassword + ' = ' + QuotedStr(Encrypt(NewPassword,EncryptKey)) +
+ ', ' + TableUsers.FieldKey + ' = ' + QuotedStr(Key) +
+ ', ' + TableUsers.FieldDateExpired + ' = ' + QuotedStr( FormatDateTime('dd/mm/yyyy',Date + FCurrentUser.UserDaysExpired ) ) + // by vicente barros leonel
+ ' Where ' + TableUsers.FieldUserID + ' = ' + IntToStr(IdUser);
+
+ cMD5: cSql := 'Update ' + TableUsers.TableName +
+ ' Set ' + TableUsers.FieldPassword + ' = ' + QuotedStr(MD5Sum(NewPassword)) +
+ ', ' + TableUsers.FieldKey + ' = ' + QuotedStr(Key) +
+ ', ' + TableUsers.FieldDateExpired + ' = ' + QuotedStr( FormatDateTime('dd/mm/yyyy',Date + FCurrentUser.UserDaysExpired ) ) + // by vicente barros leonel
+ ' Where ' + TableUsers.FieldUserID + ' = ' + IntToStr(IdUser);
+ end;
+
+ DataConnector.UCExecSQL( cSql );
+
+ if Assigned(onChangePassword) then
+ OnChangePassword(Self, IdUser, Login, Senha, NewPassword);
+end;
+
+procedure TUserControl.ChangeUser(IDUser: Integer; Login, Name, Mail: String; Profile , UserExpired , UserDaysSun : Integer; PrivUser: Boolean);
+var
+ Key, Password: String;
+begin
+ with DataConnector.UCGetSQLDataset('SELECT ' + TableUsers.FieldPassword +
+ ' AS SENHA FROM ' + TableUsers.TableName + ' WHERE ' +
+ TableUsers.FieldUserID + ' = ' + IntToStr(IdUser)) do
+ begin
+ case Self.Criptografia of
+ cPadrao:
+ begin
+ Password := Decrypt(FieldByName('Senha').AsString, EncryptKey);
+ Key := Encrypt(IntToStr(IDUser) + Login + Password, EncryptKey);
+ end;
+ cMD5:
+ begin
+ Password := FieldByName('Senha').AsString;
+ Key := MD5Sum(IntToStr(IDUser) + Login + Password);
+ end;
+ end;
+ Close;
+ Free;
+ end;
+
+ with TableUsers do
+ DataConnector.UCExecSQL('Update ' + TableName + ' Set ' +
+ FieldUserName + ' = ' + QuotedStr(Name) + ', ' +
+ FieldLogin + ' = ' + QuotedStr(Login) + ', ' +
+ FieldEmail + ' = ' + QuotedStr(Mail) + ', ' +
+ FieldPrivileged + ' = ' + BooltoStr(PrivUser) + ', ' +
+ FieldProfile + ' = ' + IntToStr(Profile) + ', ' +
+ FieldKey + ' = ' + QuotedStr(Key) + ', ' +
+ FieldUserExpired + ' = ' + IntToStr( UserExpired ) + ' , ' + // vicente barros leonel
+ FieldUserDaysSun + ' = ' + IntToStr( UserDaysSun ) +
+ ' where ' + FieldUserID + ' = ' + IntToStr(IdUser));
+ if Assigned(OnChangeUser) then
+ OnChangeUser(Self, IdUser, Login, Name, Mail, Profile, PrivUser);
+end;
+
+procedure TUserControl.CriaTabelaMsgs(const TableName: String);
+begin
+ DataConnector.UCExecSQL('CREATE TABLE ' + TableName + ' ( ' +
+ 'IdMsg ' + UserSettings.TypeFieldsDB.Type_Int + ' , ' +
+ 'UsrFrom ' + UserSettings.TypeFieldsDB.Type_Int + ' , ' +
+ 'UsrTo ' + UserSettings.TypeFieldsDB.Type_Int + ' , ' +
+ 'Subject ' + UserSettings.TypeFieldsDB.Type_VarChar + '(50),' +
+ 'Msg ' + UserSettings.TypeFieldsDB.Type_Varchar + '(255),' +
+ 'DtSend ' + UserSettings.TypeFieldsDB.Type_Varchar + '(12),' +
+ 'DtReceive ' + UserSettings.TypeFieldsDB.Type_Varchar+ '(12) )');
+end;
+
+destructor TUserControl.Destroy;
+begin
+ if not (csDesigning in ComponentState) then;
+ fUsersLogged.DelCurrentUser;
+
+ FCurrentUser.Free;
+ FControlRight.Free;
+ FLogin.Free;
+ FLogControl.Free;
+ FUser.Free;
+ FUserProfile.Free;
+ FUserPasswordChange.Free;
+ fUsersLogoff.Free;
+ FUsersLogged.Free;
+ FUserSettings.Free;
+ FNotAllowedItems.Free;
+ FExtraRights.Free;
+ FTableUsers.Free;
+ FTableRights.Free;
+ FTableUsersLogged.Free;
+ fTableHistory.Free;
+ fUsersHistory.Free;
+
+ if Assigned( FControlList ) then
+ FControlList.Free;
+
+ If Assigned(FLoginMonitorList) then
+ FLoginMonitorList.Free;
+
+ inherited Destroy;
+end;
+
+procedure TUserControl.SetExtraRights(Value: TUCExtraRights);
+begin
+
+end;
+
+procedure TUserControl.HideField(Sender: TField; var Text: String; DisplayText: Boolean);
+begin
+ Text := '(Campo Bloqueado)';
+end;
+
+procedure TUserControl.StartLogin;
+begin
+ CurrentUser.UserID := 0;
+ ShowLogin;
+ ApplyRights;
+end;
+
+procedure TUserControl.Execute;
+begin
+ if Assigned(FThUCRun) then
+ FThUCRun.Terminate;
+ try
+ if not DataConnector.UCFindTable(FTableRights.TableName) then
+ CriaTabelaRights;
+
+ if not DataConnector.UCFindTable(FTableRights.TableName + 'EX') then
+ CriaTabelaRights(True); //extra rights table
+
+ if not DataConnector.UCFindTable(TableUsersLogged.TableName) then
+ UsersLogged.CriaTableUserLogado;
+
+ if LogControl.Active then
+ if not DataConnector.UCFindTable(LogControl.TableLog) then
+ CriaTabelaLog;
+
+ CriaTabelaUsuarios(DataConnector.UCFindTable(FTableUsers.TableName) ) ;
+
+ If UsersHistory.Active then
+ If not DataConnector.UCFindTable( TableHistory.TableName ) then
+ DataConnector.UCExecSQL(
+ Format('CREATE TABLE %s ( %s %s(250), %s %s , %s %s(10), %s %s(8), %s %s(250), %s %s(100), %s %s(50) , %s %s, %s %s(20) ) ',
+ [ TableHistory.TableName,
+ TableHistory.FieldApplicationID,
+ UserSettings.TypeFieldsDB.Type_VarChar,
+
+ TableHistory.FieldUserID,
+ UserSettings.TypeFieldsDB.Type_Int,
+
+ TableHistory.FieldEventDate,
+ UserSettings.TypeFieldsDB.Type_Char,
+
+ TableHistory.FieldEventTime,
+ UserSettings.TypeFieldsDB.Type_Char,
+
+ TableHistory.FieldForm,
+ UserSettings.TypeFieldsDB.Type_VarChar,
+
+ TableHistory.FieldCaptionForm,
+ UserSettings.TypeFieldsDB.Type_VarChar,
+
+ TableHistory.FieldEvent,
+ UserSettings.TypeFieldsDB.Type_VarChar,
+
+ TableHistory.FieldObs,
+ UserSettings.TypeFieldsDB.Type_MemoField,
+
+ TableHistory.FieldTableName,
+ UserSettings.TypeFieldsDB.Type_VarChar]));
+
+ //Atualizador de Versoes By vicente barros leonel
+ AtualizarVersao;
+
+ // testa campo KEY qmd 28-02-2005
+ if FCheckValidationKey then
+ DoCheckValidationField;
+ finally
+ if LoginMode = lmActive then
+ if not Login.AutoLogin.Active then
+ ShowLogin
+ else
+ TryAutoLogon;
+ ApplyRights;
+ end;
+end;
+
+procedure TUserControl.AtualizarVersao; // by vicente barros leonel
+Var Sql : String; DataSet : TDataSet;
+begin
+ { Procura o campo FieldUserDaysSun na tabela de usuarios se o mesmo não existi cria }
+ try
+ Sql := Format('select * from %s',[FTableUsers.TableName ] );
+ DataSet := DataConnector.UCGetSQLDataset( SQL );
+
+ If DataSet.FindField( FTableUsers.FieldDateExpired ) = nil then
+ Begin
+ Sql := Format('alter table %s add %s %s(10)',
+ [ FTableUsers.TableName,
+ FTableUsers.FieldDateExpired,
+ UserSettings.TypeFieldsDB.Type_Char ] );
+
+ DataConnector.UCExecSQL( Sql );
+ Sql := Format('update %s set %s = %s where %s = ''U''',
+ [ FTableUsers.TableName,
+ FTableUsers.FieldDateExpired,
+ QuotedStr( FormatDateTime('dd/mm/yyyy',Date + FLogin.fDaysOfSunExpired ) ),
+ FTableUsers.FieldTypeRec ] );
+ DataConnector.UCExecSQL( Sql );
+ End;
+
+ If DataSet.FindField( FTableUsers.FieldUserExpired ) = nil then
+ Begin
+ Sql := Format('alter table %s add %s %s',
+ [ FTableUsers.TableName,
+ FTableUsers.FieldUserExpired,
+ UserSettings.TypeFieldsDB.Type_Int] );
+ DataConnector.UCExecSQL( Sql );
+ Sql := Format('update %s set %s = 1 where %s = ''U''',
+ [ FTableUsers.TableName,
+ FTableUsers.FieldUserExpired,
+ FTableUsers.FieldTypeRec ] );
+ DataConnector.UCExecSQL( Sql );
+ End;
+
+ If DataSet.FindField( FTableUsers.FieldUserDaysSun ) = nil then
+ Begin // Cria campo setado no FieldUserDaysSun na tabela de usuarios
+ Sql := Format('alter table %s add %s %s',
+ [ FTableUsers.TableName,
+ FTableUsers.FieldUserDaysSun,
+ UserSettings.TypeFieldsDB.Type_Int] );
+ DataConnector.UCExecSQL( Sql );
+ Sql := Format('update %s set %s = 30 where %s = ''U''',
+ [ FTableUsers.TableName,
+ FTableUsers.FieldUserDaysSun,
+ FTableUsers.FieldTypeRec ] );
+ DataConnector.UCExecSQL( Sql );
+ End;
+
+
+ Finally
+ FreeAndNil( DataSet );
+ end;
+
+end;
+
+procedure TUserControl.DoCheckValidationField;
+var
+ TempDS: TDataset;
+ Key: String;
+ Login: String;
+ Senha: String;
+ UserID: Integer;
+begin
+ //verifica tabela de usuarios
+ TempDS := DataConnector.UCGetSQLDataset('SELECT * FROM ' + TableUsers.TableName);
+
+ if TempDS.FindField(TableUsers.FieldKey) = nil then
+ begin
+ DataConnector.UCExecSQL('ALTER TABLE ' + TableUsers.TableName + ' ADD ' + TableUsers.FieldKey + ' VARCHAR(255)');
+ TempDS.First;
+ with TempDS do
+ while not EOF do
+ begin
+ UserID := TempDS.FieldByName(TableUsers.FieldUserID).AsInteger;
+ Login := TempDS.FieldByName(TableUsers.FieldLogin).AsString;
+ case Self.Criptografia of
+ cPadrao:
+ begin
+ Senha := Decrypt(TempDS.FieldByName(TableUsers.FieldPassword).AsString, EncryptKey);
+ Key := Encrypt(IntToStr(UserID) + Login + Senha, EncryptKey);
+ end;
+ cMD5:
+ begin
+ Senha := TempDS.FieldByName(TableUsers.FieldPassword).AsString;
+ Key := MD5Sum(IntToStr(UserID) + Login + Senha);
+ end;
+ end;
+ DataConnector.UCExecSQL(Format('UPDATE %s SET %s = %s WHERE %s = %d',
+ [TableUsers.TableName,
+ TableUsers.FieldKey,
+ QuotedStr(Key),
+ TableUsers.FieldUserID,
+ TempDS.FieldByName(TableUsers.FieldUserID).AsInteger]));
+ Next;
+ end;
+ end;
+
+ TempDS.Close;
+ FreeAndNil(TempDS);
+
+ //verifica tabela de permissoes
+ TempDS := DataConnector.UCGetSQLDataset('SELECT * FROM ' + TableRights.TableName);
+
+ if TempDS.FindField(TableRights.FieldKey) = nil then
+ begin
+ DataConnector.UCExecSQL('ALTER TABLE ' + TableRights.TableName + ' ADD ' + TableUsers.FieldKey + ' VARCHAR(255)');
+ TempDS.First;
+ with TempDS do
+ while not EOF do
+ begin
+ UserID := TempDS.FieldByName(TableRights.FieldUserID).AsInteger;
+ Login := TempDS.FieldByName(TableRights.FieldComponentName).AsString;
+ case Self.Criptografia of
+ cPadrao: Key := Encrypt(IntToStr(UserID) + Login, EncryptKey);
+ cMD5: Key := MD5Sum(IntToStr(UserID) + Login);
+ end;
+ DataConnector.UCExecSQL(Format('UPDATE %s SET %s = %s where %s = %d and %s = %s and %s = %s',
+ [TableRights.TableName,
+ TableRights.FieldKey,
+ QuotedStr(Key),
+ TableRights.FieldUserID,
+ TempDS.FieldByName(TableRights.FieldUserID).AsInteger,
+ TableRights.FieldModule,
+ QuotedStr(ApplicationID),
+ TableRights.FieldComponentName,
+ QuotedStr(Login)]));
+ Next;
+ end;
+ end;
+ TempDS.Close;
+ FreeAndNil(TempDS);
+
+ //verifica tabela de permissoes extendidas
+ TempDS := DataConnector.UCGetSQLDataset('SELECT * FROM ' + TableRights.TableName + 'EX');
+ if TempDS.FindField(TableRights.FieldKey) = nil then
+ begin
+ DataConnector.UCExecSQL('ALTER TABLE ' + TableRights.TableName + 'EX ADD ' +
+ TableUsers.FieldKey + ' VARCHAR(255)');
+ TempDS.First;
+ with TempDS do
+ while not EOF do
+ begin
+ UserID := TempDS.FieldByName(TableRights.FieldUserID).AsInteger;
+ Login := TempDS.FieldByName(TableRights.FieldComponentName).AsString; //componentname
+ Senha := TempDS.FieldByName(TableRights.FieldFormName).AsString; // formname
+ case Self.Criptografia of
+ cPadrao: Key := Encrypt(IntToStr(UserID) + Login, EncryptKey);
+ cMD5: Key := MD5Sum(IntToStr(UserID) + Login);
+ end;
+ DataConnector.UCExecSQL(Format('UPDATE %s SET %s = %s' +
+ ' WHERE %s = %d AND' +
+ ' %s = %s AND %s = %s AND' +
+ ' %s = %s',
+ [TableRights.TableName + 'EX',
+ TableRights.FieldKey,
+ QuotedStr(Key),
+ TableRights.FieldUserID,
+ TempDS.FieldByName(TableRights.FieldUserID).AsInteger,
+ TableRights.FieldModule,
+ QuotedStr(ApplicationID),
+ TableRights.FieldComponentName,
+ QuotedStr(Login), // componente name
+ TableRights.FieldFormName,
+ QuotedStr(Senha)])); // formname
+ Next;
+ end;
+ end;
+ TempDS.Close;
+ FreeAndNil(TempDS);
+end;
+
+procedure TUserControl.ActionBtPermissDefault;
+var
+ TempCampos, TempCamposEX: String;
+begin
+ UserPermis.FTempIdUser := TfrmCadastrarUsuario(FFormCadastroUsuarios).FDataSetCadastroUsuario.FieldByName('IdUser').AsInteger;
+
+ TempCampos := Format(' %s as IdUser, %s as Modulo, %s as ObjName, %s as UCKey ',
+ [TableRights.FieldUserID, TableRights.FieldModule, TableRights.FieldComponentName, TableRights.FieldKey]);
+ TempCamposEX := Format(' %s, %s as FormName ',
+ [TempCampos, TableRights.FieldFormName]);
+
+ UserPermis.DSPermiss := DataConnector.UCGetSQLDataset(
+ Format('SELECT %s FROM %s TAB WHERE TAB.%s = %s AND TAB.%s = %s',
+ [TempCampos,
+ TableRights.TableName,
+ TableRights.FieldUserID,
+ TfrmCadastrarUsuario(FFormCadastroUsuarios).FDataSetCadastroUsuario.FieldByName('IdUser').AsString,
+ TableRights.FieldModule,
+ QuotedStr(ApplicationID)]));
+ UserPermis.DSPermiss.Open;
+
+ UserPermis.DSPermissEX := DataConnector.UCGetSQLDataset(
+ Format('SELECT %s FROM %s TAB1 WHERE TAB1.%s = %s AND TAB1.%s = %s',
+ [TempCamposEX,
+ TableRights.TableName + 'EX',
+ TableRights.FieldUserID,
+ TfrmCadastrarUsuario(FFormCadastroUsuarios).FDataSetCadastroUsuario.FieldByName('IdUser').AsString,
+ TableRights.FieldModule,
+ QuotedStr(ApplicationID)]));
+ UserPermis.DSPermissEX.Open;
+
+ UserPermis.DSPerfil := DataConnector.UCGetSQLDataset(
+ Format('Select %s from %s tab Where tab.%s = %s and tab.%s = %s',
+ [TempCampos,
+ TableRights.TableName,
+ TableRights.FieldUserID,
+ TfrmCadastrarUsuario(FFormCadastroUsuarios).FDataSetCadastroUsuario.FieldByName('Perfil').AsString,
+ TableRights.FieldModule,
+ QuotedStr(ApplicationID)]));
+ UserPermis.DSPerfil.Open;
+
+ UserPermis.DSPerfilEX := DataConnector.UCGetSQLDataset(
+ Format('Select %s from %s tab1 Where tab1.%s = %s and tab1.%s = %s',
+ [TempCamposEX,
+ TableRights.TableName + 'EX',
+ TableRights.FieldUserID,
+ TfrmCadastrarUsuario(FFormCadastroUsuarios).FDataSetCadastroUsuario.FieldByName('Perfil').AsString,
+ TableRights.FieldModule,
+ QuotedStr(ApplicationID)]));
+
+ UserPermis.DSPerfilEX.Open;
+
+ UserPermis.ShowModal;
+
+ TfrmCadastrarUsuario(FFormCadastroUsuarios).FDataSetCadastroUsuario.Close;
+ TfrmCadastrarUsuario(FFormCadastroUsuarios).FDataSetCadastroUsuario.Open;
+
+ TfrmCadastrarUsuario(FFormCadastroUsuarios).FDataSetCadastroUsuario.Locate('idUser', UserPermis.FTempIdUser, []);
+
+ FreeAndNil(UserPermis);
+end;
+
+procedure TUserControl.ActionBtPermissProfileDefault;
+var
+ TempCampos, TempCamposEX: String;
+begin
+ UserPermis.FTempIdUser := TfrmCadastrarPerfil(FFormPerfilUsuarios).FDataSetPerfilUsuario.FieldByName('IdUser').AsInteger;
+
+ TempCampos := Format(' %s as IdUser, %s as Modulo, %s as ObjName, %s as UCKey ',
+ [TableRights.FieldUserID,
+ TableRights.FieldModule,
+ TableRights.FieldComponentName,
+ TableRights.FieldKey]);
+ TempCamposEX := Format('%s, %s as FormName ', [TempCampos, TableRights.FieldFormName]);
+
+ UserPermis.DSPermiss := DataConnector.UCGetSQLDataset(Format('Select %s from %s tab Where tab.%s = %s and tab.%s = %s',
+ [TempCampos,
+ TableRights.TableName,
+ TableRights.FieldUserID,
+ TfrmCadastrarPerfil(FFormPerfilUsuarios).FDataSetPerfilUsuario.FieldByName('IdUser').AsString,
+ TableRights.FieldModule,
+ QuotedStr(ApplicationID)]));
+
+ UserPermis.DSPermiss.Open;
+
+ UserPermis.DSPermissEX := DataConnector.UCGetSQLDataset(Format('Select %s from %s tab1 Where tab1.%s = %s and tab1.%s = %s',
+ [TempCamposEX,
+ TableRights.TableName + 'EX',
+ TableRights.FieldUserID,
+ TfrmCadastrarPerfil(FFormPerfilUsuarios).FDataSetPerfilUsuario.FieldByName('IdUser').AsString,
+ TableRights.FieldModule,
+ QuotedStr(ApplicationID)]));
+
+ UserPermis.DSPermissEX.Open;
+
+ UserPermis.DSPerfil := TDataset.Create(UserPermis);
+
+ UserPermis.ShowModal;
+
+ TfrmCadastrarPerfil(FFormPerfilUsuarios).FDataSetPerfilUsuario.Close;
+ TfrmCadastrarPerfil(FFormPerfilUsuarios).FDataSetPerfilUsuario.Open;
+ TfrmCadastrarPerfil(FFormPerfilUsuarios).FDataSetPerfilUsuario.Locate('idUser', UserPermis.FTempIdUser, []);
+
+ FreeAndNil(UserPermis);
+end;
+
+procedure TUserControl.ShowChangePassword;
+begin
+ ActionTrocaSenha(self);
+end;
+
+procedure TUserControl.ShowLogManager;
+begin
+ ActionLog(Self);
+end;
+
+procedure TUserControl.ShowProfileManager;
+begin
+ ActionUserProfile(self);
+end;
+
+procedure TUserControl.ShowUserManager;
+begin
+ ActionCadUser(Self);
+end;
+
+procedure TUserControl.AddUCControlMonitor(UCControl: TUCControls);
+begin
+ FControlList.Add(UCControl);
+end;
+
+procedure TUserControl.ApplyRightsUCControlMonitor;
+var
+ Contador: Integer;
+begin
+ for Contador := 0 to Pred(FControlList.Count) do
+ TUCControls(FControlList.Items[Contador]).ApplyRights;
+end;
+
+procedure TUserControl.DeleteUCControlMonitor(UCControl: TUCControls);
+var
+ Contador: Integer;
+ SLControls: TStringList;
+begin
+ if not Assigned(FControlList) then
+ Exit;
+ SLControls := TStringList.Create;
+ for Contador := 0 to Pred(FControlList.Count) do
+ if TUCControls(FControlList.Items[Contador]) = UCControl then
+ SLControls.Add(IntToStr(Contador));
+
+ for Contador := 0 to Pred(SLControls.Count) do
+ FControlList.Delete(StrToInt(SLControls[Contador]));
+
+ FreeAndNil(SLControls);
+end;
+
+procedure TUserControl.LockControlsUCControlMonitor;
+var
+ Contador: Integer;
+begin
+ for Contador := 0 to Pred(FControlList.Count) do
+ TUCControls(FControlList.Items[Contador]).LockControls;
+end;
+
+procedure TUserControl.SetDataConnector(const Value: TUCDataConnector);
+begin
+ FDataConnector := Value;
+ if Assigned(Value) then
+ Value.FreeNotification(Self);
+end;
+
+procedure TUserControl.AddLoginMonitor(UCAppMessage: TUCApplicationMessage);
+begin
+ FLoginMonitorList.Add(UCAppMessage);
+end;
+
+procedure TUserControl.DeleteLoginMonitor(UCAppMessage: TUCApplicationMessage);
+var
+ Contador: Integer;
+ SLControls: TStringList;
+begin
+ SLControls := TStringList.Create;
+ if Assigned(FLoginMonitorList) then
+ for Contador := 0 to Pred(FLoginMonitorList.Count) do
+ if TUCApplicationMessage(FLoginMonitorList.Items[Contador]) = UCAppMessage then
+ SLControls.Add(IntToStr(Contador));
+ if assigned(SLControls) then
+ for Contador := 0 to Pred(SLControls.Count) do
+ FLoginMonitorList.Delete(StrToInt(SLControls[Contador]));
+ SysUtils.FreeAndNil(SLControls);
+end;
+
+procedure TUserControl.NotificationLoginMonitor;
+var
+ Contador: Integer;
+begin
+ for Contador := 0 to Pred(FLoginMonitorList.Count) do
+ TUCApplicationMessage(FLoginMonitorList.Items[Contador]).CheckMessages;
+end;
+
+procedure TUserControl.ShowLogin;
+begin
+ FRetry := 0;
+ if Assigned(onCustomLoginForm) then
+ OnCustomLoginForm(Self, FFormLogin);
+ if FFormLogin = nil then
+ begin
+ FFormLogin := TfrmLoginWindow.Create(self);
+ with FFormLogin as TfrmLoginWindow do
+ begin
+ SetfrmLoginWindow(TfrmLoginWindow(FFormLogin));
+ FUserControl := Self;
+ btOK.onClick := ActionOKLogin;
+ onCloseQuery := Testafecha;
+ {$IFDEF Indy}
+ lbEsqueci.OnClick := ActionEsqueceuSenha;
+ {$ENDIF}
+ end;
+ end;
+ FFormLogin.ShowModal;
+ FreeAndNil(FFormLogin);
+end;
+
+procedure TUserControl.ActionOKLogin(Sender: TObject);
+var
+ TempUser: String;
+ TempPassword: String;
+begin
+ TempUser := TfrmLoginWindow(FFormLogin).EditUsuario.Text;
+ TempPassword := TfrmLoginWindow(FFormLogin).EditSenha.Text;
+
+ if Assigned(OnLogin) then
+ Onlogin(Self, TempUser, TempPassword);
+ if VerificaLogin(TempUser, TempPassword) then
+ TfrmLoginWindow(FFormLogin).Close
+ else
+ begin
+ MessageDlg(UserSettings.CommonMessages.InvalidLogin, mtWarning, [mbOK], 0);
+ Inc(FRetry);
+ If TfrmLoginWindow(FFormLogin).StatusBar.Visible then
+ TfrmLoginWindow(FFormLogin).StatusBar.Panels[ 1 ].Text := IntToStr( FRetry );
+
+ if (Login.MaxLoginAttempts > 0) and (FRetry = Login.MaxLoginAttempts) then
+ begin
+ MessageDlg(Format(UserSettings.CommonMessages.MaxLoginAttemptsError, [Login.MaxLoginAttempts]), mtError, [mbOK], 0);
+ Halt;
+ end;
+ end;
+end;
+
+procedure TUserControl.TestaFecha(Sender: TObject; var CanClose: Boolean);
+begin
+ CanClose := (CurrentUser.UserID > 0);
+end;
+
+procedure TUserControl.ApplyRights;
+var
+ DataSet: TDataset;
+ SQLStmt: String;
+begin
+ try
+ // Aplica Permissoes do Usuario logado
+ SQLStmt := Format('SELECT %s AS ObjName,' +
+ ' %s AS UCKey,' +
+ ' %s AS UserID' +
+ ' FROM %s' +
+ ' WHERE %s = %s AND %s = %s',
+ [TableRights.FieldComponentName,
+ TableRights.FieldKey,
+ TableRights.FieldUserID,
+ TableRights.TableName,
+ TableRights.FieldUserID,
+ IntToStr(CurrentUser.UserID),
+ TableRights.FieldModule,
+ QuotedStr(ApplicationID)]);
+
+ DataSet := DataConnector.UCGetSQLDataset(SQLStmt);
+ ApplyRightsObj(DataSet);
+ DataSet.Close;
+
+ // Aplica Permissoes do Perfil do usuario
+ if CurrentUser.Profile > 0 then
+ begin
+ SQLStmt := Format('SELECT %s AS ObjName,' +
+ ' %s AS UCKey,' +
+ ' %s AS UserID' +
+ ' FROM %s' +
+ ' WHERE %s = %s AND %s = %s',
+ [TableRights.FieldComponentName,
+ TableRights.FieldKey,
+ TableRights.FieldUserID,
+ TableRights.TableName,
+ TableRights.FieldUserID,
+ IntToStr(CurrentUser.Profile),
+ TableRights.FieldModule,
+ QuotedStr(ApplicationID)]);
+
+ DataSet := DataConnector.UCGetSQLDataset(SQLStmt);
+ ApplyRightsObj(DataSet, True);
+ DataSet.Close;
+ end;
+ finally
+ FreeAndNil(DataSet);
+ end;
+
+ if Assigned(FAfterLogin) then
+ FAfterLogin(Self);
+end;
+
+procedure TUserControl.ApplyRightsObj(ADataset: TDataset; FProfile: Boolean = False);
+var
+ Contador: Integer;
+ Encontrado: Boolean;
+ KeyField: String;
+ Temp: String;
+ ObjetoAction: TObject;
+ OwnerMenu: TComponent;
+begin
+ //Permissao de Menus QMD
+ Encontrado := False;
+ if Assigned(ControlRight.MainMenu) then
+ begin
+ OwnerMenu := ControlRight.MainMenu.Owner;
+ for Contador := 0 to Pred(OwnerMenu.ComponentCount) do
+ if (OwnerMenu.Components[Contador].ClassType = TMenuItem) and (TMenuItem(OwnerMenu.Components[Contador]).GetParentMenu = ControlRight.MainMenu) then
+ begin
+ if not FProfile then
+ begin
+ Encontrado := ADataset.Locate('ObjName', OwnerMenu.Components[Contador].Name, []);
+ KeyField := ADataset.FindField('UCKey').AsString;
+ //verifica key
+ if Encontrado then
+ case Self.Criptografia of
+ cPadrao:
+ Encontrado := (KeyField = Encrypt(ADataset.FieldByName('UserID').AsString + ADataset.FieldByName('ObjName').AsString, EncryptKey));
+ cMD5:
+ Encontrado := (KeyField = MD5Sum(ADataset.FieldByName('UserID').AsString + ADataset.FieldByName('ObjName').AsString));
+ end;
+ TMenuItem(OwnerMenu.Components[Contador]).Enabled := Encontrado;
+ if not Encontrado then
+ TMenuItem(OwnerMenu.Components[Contador]).Visible := NotAllowedItems.MenuVisible
+ else
+ TMenuItem(OwnerMenu.Components[Contador]).Visible := True;
+ end
+ else
+ if ADataset.Locate('ObjName', OwnerMenu.Components[Contador].Name, []) then
+ begin
+ KeyField := ADataset.FindField('UCKey').AsString;
+ case Self.Criptografia of
+ cPadrao:
+ Encontrado := (KeyField = Encrypt(ADataset.FieldByName('UserID').AsString + ADataset.FieldByName('ObjName').AsString, EncryptKey));
+ cMD5:
+ Encontrado := (KeyField = MD5Sum(ADataset.FieldByName('UserID').AsString + ADataset.FieldByName('ObjName').AsString));
+ end;
+ if Encontrado then
+ begin
+ TMenuItem(OwnerMenu.Components[Contador]).Enabled := True;
+ TMenuItem(OwnerMenu.Components[Contador]).Visible := True;
+ end; //verifica key
+ end;
+ if Assigned(OnApplyRightsMenuIt) then
+ OnApplyRightsMenuIt(Self, TMenuItem(OwnerMenu.Components[Contador]));
+ end;
+ end; // Fim do controle do MainMenu
+
+ //Permissao de Actions
+ if (Assigned(ControlRight.ActionList))
+ {$IFDEF UCACTMANAGER} or (Assigned(ControlRight.ActionManager)) {$ENDIF} then
+ begin
+ if Assigned(ControlRight.ActionList) then
+ ObjetoAction := ControlRight.ActionList
+ {$IFDEF UCACTMANAGER}
+ else
+ ObjetoAction := ControlRight.ActionManager
+ {$ENDIF};
+ for Contador := 0 to TActionList(ObjetoAction).ActionCount - 1 do
+ begin
+ if not FProfile then
+ begin
+ Encontrado := ADataset.Locate('ObjName', TActionList(ObjetoAction).Actions[contador].Name, []);
+ KeyField := ADataset.FindField('UCKey').AsString;
+ //verifica key
+ if Encontrado then
+ case Self.Criptografia of
+ cPadrao: Encontrado := (KeyField = Encrypt(ADataset.FieldByName('UserID').AsString + ADataset.FieldByName('ObjName').AsString, EncryptKey));
+ cMD5: Encontrado := (KeyField = MD5Sum(ADataset.FieldByName('UserID').AsString + ADataset.FieldByName('ObjName').AsString));
+ end;
+
+ TAction(TActionList(ObjetoAction).Actions[contador]).Enabled := Encontrado;
+
+ if not Encontrado then
+ TAction(TActionList(ObjetoAction).Actions[contador]).Visible := NotAllowedItems.ActionVisible
+ else
+ TAction(TActionList(ObjetoAction).Actions[contador]).Visible := True;
+ end
+ else
+ if ADataset.Locate('ObjName', TActionList(ObjetoAction).Actions[contador].Name, []) then
+ begin
+ KeyField := ADataset.FindField('UCKey').AsString;
+ case Self.Criptografia of
+ cPadrao: Encontrado := (KeyField = Encrypt(ADataset.FieldByName('UserID').AsString + ADataset.FieldByName('ObjName').AsString, EncryptKey));
+ cMD5: Encontrado := (KeyField = MD5Sum(ADataset.FieldByName('UserID').AsString + ADataset.FieldByName('ObjName').AsString));
+ end;
+ if Encontrado then
+ begin
+ TAction(TActionList(ObjetoAction).Actions[contador]).Enabled := True;
+ TAction(TActionList(ObjetoAction).Actions[contador]).Visible := True;
+ end; //verifica key
+ end;
+
+ if Assigned(OnApplyRightsActionIt) then
+ OnApplyRightsActionIt(Self, TAction(TActionList(ObjetoAction).Actions[contador]));
+ end;
+ end; // Fim das permissões de Actions
+
+ {$IFDEF UCACTMANAGER}
+ if Assigned(ControlRight.ActionMainMenuBar) then
+ for Contador := 0 to ControlRight.ActionMainMenuBar.ActionClient.Items.Count - 1 do
+ begin
+ Temp := IntToStr(Contador);
+ if ControlRight.ActionMainMenuBar.ActionClient.Items[StrToInt(Temp)].Items.Count > 0 then
+ begin
+ if Self.Criptografia = cPadrao then
+ ControlRight.ActionMainMenuBar.ActionClient.Items[StrToInt(Temp)].Visible :=
+ (ADataset.Locate('ObjName', #1 + 'G' + ControlRight.ActionMainMenuBar.ActionClient.Items[StrToInt(Temp)].Caption, [])) and
+ (ADataset.FieldByName('UCKey').AsString = Encrypt(ADataset.FieldByName('UserID').AsString + ADataset.FieldByName('ObjName').AsString, EncryptKey));
+
+ if Self.Criptografia = cMD5 then
+ ControlRight.ActionMainMenuBar.ActionClient.Items[StrToInt(Temp)].Visible :=
+ (ADataset.Locate('ObjName', #1 + 'G' + ControlRight.ActionMainMenuBar.ActionClient.Items[StrToInt(Temp)].Caption, [])) and
+ (ADataset.FieldByName('UCKey').AsString = MD5Sum(ADataset.FieldByName('UserID').AsString + ADataset.FieldByName('ObjName').AsString));
+
+ TrataActMenuBarIt(ControlRight.ActionMainMenuBar.ActionClient.Items[StrToInt(Temp)], ADataset);
+ end;
+ end;
+ {$ENDIF}
+end;
+
+procedure TUserControl.UnlockEX(FormObj: TCustomForm; ObjName: String);
+begin
+ if FormObj.FindComponent(ObjName) = nil then
+ Exit;
+
+ if FormObj.FindComponent(ObjName) is TControl then
+ begin
+ TControl(FormObj.FindComponent(ObjName)).Enabled := True;
+ TControl(FormObj.FindComponent(ObjName)).Visible := True;
+ end;
+
+ if FormObj.FindComponent(ObjName) is TMenuItem then // TMenuItem
+ begin
+ TMenuItem(FormObj.FindComponent(ObjName)).Enabled := True;
+ TMenuItem(FormObj.FindComponent(ObjName)).Visible := True;
+ //chama evento OnApplyRightsMenuIt
+ if Assigned(OnApplyRightsMenuIt) then
+ OnApplyRightsMenuIt(self, FormObj.FindComponent(ObjName) as TMenuItem);
+ end;
+
+ if FormObj.FindComponent(ObjName) is TAction then // TAction
+ begin
+ TAction(FormObj.FindComponent(ObjName)).Enabled := True;
+ TAction(FormObj.FindComponent(ObjName)).Visible := True;
+ //chama evento OnApplyRightsMenuIt
+ if Assigned(OnApplyRightsActionIt) then
+ OnApplyRightsActionIt(self, FormObj.FindComponent(ObjName) as TAction);
+ end;
+
+ if FormObj.FindComponent(ObjName) is TField then // TField
+ begin
+ TField(FormObj.FindComponent(ObjName)).ReadOnly := False;
+ TField(FormObj.FindComponent(ObjName)).Visible := True;
+ TField(FormObj.FindComponent(ObjName)).onGetText := nil;
+ end;
+end;
+
+procedure TUserControl.LockEX(FormObj: TCustomForm; ObjName: String; naInvisible: Boolean);
+begin
+ if FormObj.FindComponent(ObjName) = nil then
+ Exit;
+
+ if FormObj.FindComponent(ObjName) is TControl then
+ begin
+ TControl(FormObj.FindComponent(ObjName)).Enabled := False;
+ TControl(FormObj.FindComponent(ObjName)).Visible := not naInvisible;
+ end;
+
+ if FormObj.FindComponent(ObjName) is TMenuItem then // TMenuItem
+ begin
+ TMenuItem(FormObj.FindComponent(ObjName)).Enabled := False;
+ TMenuItem(FormObj.FindComponent(ObjName)).Visible := not naInvisible;
+ //chama evento OnApplyRightsMenuIt
+ if Assigned(OnApplyRightsMenuIt) then
+ OnApplyRightsMenuIt(self, FormObj.FindComponent(ObjName) as TMenuItem);
+ end;
+
+ if FormObj.FindComponent(ObjName) is TAction then // TAction
+ begin
+ TAction(FormObj.FindComponent(ObjName)).Enabled := False;
+ TAction(FormObj.FindComponent(ObjName)).Visible := not naInvisible;
+ //chama evento OnApplyRightsMenuIt
+ if Assigned(OnApplyRightsActionIt) then
+ OnApplyRightsActionIt(self, FormObj.FindComponent(ObjName) as TAction);
+ end;
+
+ if FormObj.FindComponent(ObjName) is TField then // TField
+ begin
+ TField(FormObj.FindComponent(ObjName)).ReadOnly := True;
+ TField(FormObj.FindComponent(ObjName)).Visible := not naInvisible;
+ TField(FormObj.FindComponent(ObjName)).onGetText := HideField;
+ end;
+end;
+
+{$IFDEF UCACTMANAGER}
+procedure TUserControl.TrataActMenuBarIt(IT: TActionClientItem; ADataset: TDataset);
+var
+ Contador: Integer;
+begin
+ for contador := 0 to IT.Items.Count - 1 do
+ if IT.Items[Contador].Caption <> '-' then
+ if IT.Items[Contador].Items.Count > 0 then
+ begin
+ IT.Items[Contador].Visible := (ADataset.Locate('ObjName', #1 + 'G' + IT.Items[Contador].Caption, []));
+ TrataActMenuBarIt(IT.Items[Contador], ADataset);
+ end;
+end;
+
+{$ENDIF}
+
+procedure TUserControl.CriaTabelaRights(ExtraRights: Boolean = False);
+var
+ SQLStmt: String;
+ TipoCampo: String;
+begin
+ case Self.Criptografia of
+ cPadrao: TipoCampo := UserSettings.TypeFieldsDB.Type_Varchar + '(250)';
+ cMD5: TipoCampo := UserSettings.TypeFieldsDB.Type_Varchar + 'VARCHAR(32)';
+ end;
+
+ with TableRights do
+ if not ExtraRights then
+ begin
+ SQLStmt := Format('CREATE TABLE %s( %s %s, %s %s(50), %s %s(50), %s %s )',
+ [TableName,
+ FieldUserID,
+ UserSettings.TypeFieldsDB.Type_Int,
+ FieldModule,
+ UserSettings.TypeFieldsDB.Type_VarChar,
+ FieldComponentName,
+ UserSettings.TypeFieldsDB.Type_Varchar,
+ FieldKey,
+ TipoCampo]);
+ DataConnector.UCExecSQL(SQLStmt);
+ end
+ else
+ begin
+ SQLStmt := Format('CREATE TABLE %sEX( %s %s, %s %s(50), %s %s(50), %s %s(50), %s %s )',
+ [TableName,
+ FieldUserID,
+ UserSettings.TypeFieldsDB.Type_Int,
+ FieldModule,
+ UserSettings.TypeFieldsDB.Type_VarChar,
+ FieldComponentName,
+ UserSettings.TypeFieldsDB.Type_VarChar,
+ FieldFormName,
+ UserSettings.TypeFieldsDB.Type_VarChar,
+ FieldKey,
+ TipoCampo]);
+ DataConnector.UCExecSQL(SQLStmt);
+ end;
+end;
+
+procedure TUserControl.AddRightEX(idUser: Integer; Module, FormName, ObjName: String);
+var
+ KeyField: String;
+ SQLStmt: String;
+begin
+ case Self.Criptografia of
+ cPadrao: KeyField := Encrypt(IntToStr(idUser) + ObjName, EncryptKey);
+ cMD5: KeyField := MD5Sum(IntToStr(idUser) + ObjName);
+ end;
+
+ with TableRights do
+ SQLStmt := Format('INSERT INTO %sEX( %s, %s, %s, %s, %s) VALUES (%d, %s, %s, %s, %s)',
+ [TableName,
+ FieldUserID,
+ FieldModule,
+ FieldFormName,
+ FieldComponentName,
+ FieldKey,
+ IdUser,
+ QuotedStr(Module),
+ QuotedStr(FormName),
+ QuotedStr(ObjName),
+ QuotedStr(KeyField)]);
+
+ DataConnector.UCExecSQL(SQLStmt);
+end;
+
+procedure TUserControl.AddRight(idUser: Integer; ItemRight: String);
+var
+ KeyField: String;
+ SQLStmt: String;
+begin
+ if ItemRight = '' then
+ Exit;
+
+ case Self.Criptografia of
+ cPadrao: KeyField := Encrypt(IntToStr(idUser) + ItemRight, EncryptKey);
+ cMD5: KeyField := MD5Sum(IntToStr(idUser) + ItemRight);
+ end;
+
+ SQLStmt := Format('Insert into %s( %s, %s, %s, %s) Values( %d, %s, %s, %s)',
+ [TableRights.TableName,
+ TableRights.FieldUserID,
+ TableRights.FieldModule,
+ TableRights.FieldComponentName,
+ TableRights.FieldKey,
+ idUser,
+ QuotedStr(ApplicationID),
+ QuotedStr(ItemRight),
+ QuotedStr(KeyField)]);
+
+ DataConnector.UCExecSQL(SQLStmt);
+end;
+
+procedure TUserControl.AddRight(idUser: Integer; ItemRight: TObject; FullPath: Boolean = True);
+var
+ Obj: TObject;
+begin
+ if ItemRight = nil then
+ Exit;
+
+ Obj := ItemRight;
+
+ if Obj.ClassType = TMenuItem then
+ while Assigned(Obj) and (Obj.ClassType = TMenuItem) and (TComponent(Obj).Name <> '') do
+ begin
+ AddRight(idUser, TComponent(Obj).Name);
+ if FullPath then
+ Obj := TMenuItem(Obj).Parent
+ else
+ Obj := nil;
+ end
+ else
+ AddRight(idUser, TComponent(Obj).Name);
+end;
+
+procedure TUserControl.CriaTabelaLog;
+begin
+ DataConnector.UCExecSQL(
+ Format('CREATE TABLE %S (APPLICATIONID %s(250), IDUSER %s , MSG %s(250), DATA %s(14), NIVEL %s)',
+ [
+ LogControl.TableLog,
+ UserSettings.TypeFieldsDB.Type_VarChar,
+ UserSettings.TypeFieldsDB.Type_Int,
+ UserSettings.TypeFieldsDB.Type_Varchar,
+ UserSettings.TypeFieldsDB.Type_Varchar,
+ UserSettings.TypeFieldsDB.Type_Int
+ ]));
+end;
+
+{$IFDEF UCACTMANAGER}
+procedure TUserControl.IncPermissActMenuBar(idUser: Integer; Act: TAction);
+var
+ Temp: TActionClientItem;
+begin
+ if Act = nil then
+ exit;
+
+ Temp := ControlRight.ActionMainMenuBar.ActionManager.FindItemByAction(Act);
+ while Temp <> nil do
+ begin
+ AddRight(idUser, #1 + 'G' + Temp.Caption);
+ Temp := (TActionClientItem(Temp).ParentItem as TActionClientItem);
+ end;
+end;
+
+{$ENDIF}
+
+procedure TUserControl.CriaTabelaUsuarios(TableExists: Boolean);
+var
+ Contador: Integer;
+ IDUsuario: Integer;
+ CustomForm: TCustomForm;
+ Mensagens: TStrings;
+ DataSetUsuario: TDataSet;
+ DataSetPermissao: TDataSet;
+ SQLStmt: String;
+ TipoCampo: String;
+begin
+ case Self.Criptografia of
+ cPadrao: TipoCampo := UserSettings.TypeFieldsDB.Type_VarChar + '(250)';
+ cMD5 : TipoCampo := UserSettings.TypeFieldsDB.Type_Varchar + '(32)';
+ end;
+
+ if not TableExists then
+ with TableUsers do
+ begin
+ SQLStmt := Format('Create Table %s ' + // TableName
+ '( ' +
+ '%s %s, ' + // FieldUserID
+ '%s %s(30), ' + // FieldUserName
+ '%s %s(30), ' + // FieldLogin
+ '%s %s, ' + // FieldPassword
+ '%s %s(10), ' + // FieldDateExpired Vicente Barros Leonel
+ '%s %s , ' + //FieldUserExpired Vicente Barros Leonel
+ '%s %s , ' + //FieldUserDaysSun Vicente Barros Leonel
+ '%s %s(150), ' +
+ '%s %s, ' +
+ '%s %s(1), ' +
+ '%s %s, ' +
+ '%s %s ' + // FieldKey
+ ')',
+ [TableName,
+ FieldUserID,
+ UserSettings.TypeFieldsDB.Type_Int,
+
+ FieldUserName,
+ UserSettings.TypeFieldsDB.Type_VarChar,
+
+ FieldLogin,
+ UserSettings.TypeFieldsDB.Type_VarChar,
+
+ FieldPassword,
+ TipoCampo,
+
+ FieldDateExpired,
+ UserSettings.TypeFieldsDB.Type_Char,
+
+ FieldUserExpired,
+ UserSettings.TypeFieldsDB.Type_Int,
+
+ FieldUserDaysSun,
+ UserSettings.TypeFieldsDB.Type_Int,
+
+ FieldEmail,
+ UserSettings.TypeFieldsDB.Type_Varchar,
+
+ FieldPrivileged,
+ UserSettings.TypeFieldsDB.Type_Int,
+
+ FieldTypeRec,
+ UserSettings.TypeFieldsDB.Type_Char,
+
+ FieldProfile,
+ UserSettings.TypeFieldsDB.Type_Int,
+
+ FieldKey,
+ TipoCampo]);
+
+ DataConnector.UCExecSQL(SQLstmt);
+ end;
+
+ SQLStmt := 'SELECT ' + TableUsers.FieldUserID + ' as idUser ' +
+ 'FROM ' + TableUsers.TableName + ' ' +
+ 'WHERE ' + TableUsers.FieldLogin + ' = ' + QuotedStr(Login.InitialLogin.User);
+
+ DataSetUsuario := DataConnector.UCGetSQLDataset(SQLstmt);
+
+ // Inserir login inicial
+ if DataSetUsuario.IsEmpty then
+ IDUsuario := AddUser(Login.InitialLogin.User,
+ Login.InitialLogin.Password,
+ Login.InitialLogin.User,
+ Login.InitialLogin.Email,
+ 0, 0 , Login.DaysOfSunExpired,
+ True)
+ else
+ IDUsuario := DataSetUsuario.FieldByName('idUser').AsInteger;
+
+ DataSetUsuario.Close;
+ FreeAndNil(DataSetUsuario);
+
+ SQLStmt := 'SELECT ' + TableRights.FieldUserID + ' AS IDUSER ' +
+ 'FROM ' + TableRights.TableName + ' ' +
+ 'WHERE ' + TableRights.FieldUserID + ' = ' + IntToStr(IDUsuario) + ' ' +
+ 'AND ' + TableRights.FieldModule + ' = ' + QuotedStr(ApplicationID);
+
+ DataSetPermissao := DataConnector.UCGetSQLDataset(SQLStmt);
+
+ if not DataSetPermissao.IsEmpty then
+ begin
+ DataSetPermissao.Close;
+ FreeAndNil(DataSetPermissao);
+ Exit; //login!
+ end;
+
+ DataSetPermissao.Close;
+ FreeAndNil(DataSetPermissao);
+
+ AddRight(IDUsuario, User.MenuItem);
+ AddRight(IDUsuario, User.Action);
+ AddRight(IDUsuario, UserProfile.MenuItem);
+ AddRight(IDUsuario, UserProfile.Action);
+
+ AddRight(IDUsuario, UserPasswordChange.MenuItem);
+ AddRight(IDUsuario, UserPasswordChange.Action);
+
+ AddRight(IDUsuario, UsersLogoff.MenuItem);
+ AddRight(IDUsuario, UsersLogoff.Action);
+
+ {$IFDEF UCACTMANAGER}
+ if Assigned(ControlRight.ActionMainMenuBar) then
+ IncPermissActMenuBar(IDUsuario, User.Action);
+ if Assigned(ControlRight.ActionMainMenuBar) then
+ IncPermissActMenuBar(IDUsuario, UserProfile.Action);
+ if Assigned(ControlRight.ActionMainMenuBar) then
+ IncPermissActMenuBar(IDUsuario, UserPasswordChange.Action);
+ {$ENDIF}
+
+ if LogControl.Active then
+ begin
+ AddRight(IDUsuario, LogControl.MenuItem);
+ AddRight(IDUsuario, LogControl.Action);
+ {$IFDEF UCACTMANAGER}
+ if Assigned(ControlRight.ActionMainMenuBar) then
+ IncPermissActMenuBar(IDUsuario, LogControl.Action);
+ {$ENDIF}
+ end;
+
+ if UsersHistory.Active then
+ Begin
+ AddRight(IDUsuario, UsersHistory.MenuItem);
+ AddRight(IDUsuario, UsersHistory.Action);
+ {$IFDEF UCACTMANAGER}
+ if Assigned(ControlRight.ActionMainMenuBar) then
+ IncPermissActMenuBar(IDUsuario, UsersHistory.Action);
+ {$ENDIF}
+ End;
+
+ for Contador := 0 to Pred(Login.InitialLogin.InitialRights.Count) do
+ if Owner.FindComponent(Login.InitialLogin.InitialRights[contador]) <> nil then
+ begin
+ AddRight(IDUsuario, Owner.FindComponent(Login.InitialLogin.InitialRights[contador]));
+ AddRightEX(IDUsuario, ApplicationID, TcustomForm(Owner).Name, Login.InitialLogin.InitialRights[contador]);
+ end;
+
+ try
+ Mensagens := TStringList.Create;
+ Mensagens.Assign(UserSettings.CommonMessages.InitialMessage);
+ Mensagens.Text := StringReplace(Mensagens.Text, ':user', Login.InitialLogin.User, [rfReplaceAll]);
+ Mensagens.Text := StringReplace(Mensagens.Text, ':password', Login.InitialLogin.Password, [rfReplaceAll]);
+
+ if Assigned(OnCustomInitialMsg) then
+ OnCustomInitialMsg(Self, CustomForm, Mensagens);
+
+ if CustomForm <> nil then
+ CustomForm.ShowModal
+ else
+ MessageDlg(Mensagens.Text, mtInformation, [mbOK], 0);
+
+ finally
+ FreeAndNil(Mensagens);
+ end;
+end;
+
+procedure TUserControl.SetfLanguage(const Value: TUCLanguage);
+begin
+ fLanguage := Value;
+ Self.UserSettings.Language := Value;
+ UCSettings.AlterLanguage( Self.UserSettings );
+end;
+
+
+procedure TUserControl.ApplySettings(SourceSettings: TUCSettings);
+begin
+ with UserSettings.CommonMessages do
+ begin
+ BlankPassword := SourceSettings.CommonMessages.BlankPassword;
+ PasswordChanged := SourceSettings.CommonMessages.PasswordChanged;
+ InitialMessage.Text := SourceSettings.CommonMessages.InitialMessage.Text;
+ MaxLoginAttemptsError := SourceSettings.CommonMessages.MaxLoginAttemptsError;
+ InvalidLogin := SourceSettings.CommonMessages.InvalidLogin;
+ AutoLogonError := SourceSettings.CommonMessages.AutoLogonError;
+ UsuarioExiste := SourceSettings.CommonMessages.UsuarioExiste; // Luiz Benevenuto 20/04/06
+ PasswordExpired := SourceSettings.CommonMessages.PasswordExpired; // vicente barros leonel
+ ForcaTrocaSenha := SourceSettings.CommonMessages.ForcaTrocaSenha;
+ end;
+
+ with UserSettings.Login do
+ begin
+ BtCancel := SourceSettings.Login.BtCancel;
+ BtOK := SourceSettings.Login.BtOK;
+ LabelPassword := SourceSettings.Login.LabelPassword;
+ LabelUser := SourceSettings.Login.LabelUser;
+ WindowCaption := SourceSettings.Login.WindowCaption;
+ LabelTentativa := SourceSettings.Login.LabelTentativa;
+ LabelTentativas := SourceSettings.Login.LabelTentativas;
+
+ if Assigned(SourceSettings.Login.LeftImage.Bitmap) then
+ LeftImage.Bitmap := SourceSettings.Login.LeftImage.Bitmap
+ else
+ LeftImage.Bitmap := nil;
+
+ if Assigned(SourceSettings.Login.TopImage.Bitmap) then
+ TopImage.Bitmap := SourceSettings.Login.TopImage.Bitmap
+ else
+ TopImage.Bitmap := nil;
+
+ if Assigned(SourceSettings.Login.BottomImage.Bitmap) then
+ BottomImage.Bitmap := SourceSettings.Login.BottomImage.Bitmap
+ else
+ BottomImage.Bitmap := nil;
+ end;
+
+ with UserSettings.UsersForm do
+ begin
+ WindowCaption := SourceSettings.UsersForm.WindowCaption;
+ LabelDescription := SourceSettings.UsersForm.LabelDescription;
+ ColName := SourceSettings.UsersForm.ColName;
+ ColLogin := SourceSettings.UsersForm.ColLogin;
+ ColEmail := SourceSettings.UsersForm.ColEmail;
+ BtAdd := SourceSettings.UsersForm.BtAdd;
+ BtChange := SourceSettings.UsersForm.BtChange;
+ BtDelete := SourceSettings.UsersForm.BtDelete;
+ BtRights := SourceSettings.UsersForm.BtRights;
+ BtPassword := SourceSettings.UsersForm.BtPassword;
+ BtClose := SourceSettings.UsersForm.BtClose;
+ PromptDelete := SourceSettings.UsersForm.PromptDelete;
+ PromptDelete_WindowCaption := SourceSettings.UsersForm.PromptDelete_WindowCaption; //added by fduenas
+ end;
+
+ with UserSettings.UsersProfile do
+ begin
+ WindowCaption := SourceSettings.UsersProfile.WindowCaption;
+ LabelDescription := SourceSettings.UsersProfile.LabelDescription;
+ ColProfile := SourceSettings.UsersProfile.ColProfile;
+ BtAdd := SourceSettings.UsersProfile.BtAdd;
+ BtChange := SourceSettings.UsersProfile.BtChange;
+ BtDelete := SourceSettings.UsersProfile.BtDelete;
+ BtRights := SourceSettings.UsersProfile.BtRights; //added by fduenas
+ BtClose := SourceSettings.UsersProfile.BtClose;
+ PromptDelete := SourceSettings.UsersProfile.PromptDelete;
+ PromptDelete_WindowCaption := SourceSettings.UsersProfile.PromptDelete_WindowCaption; //added by fduenas
+ end;
+
+ with UserSettings.AddChangeUser do
+ begin
+ WindowCaption := SourceSettings.AddChangeUser.WindowCaption;
+ LabelAdd := SourceSettings.AddChangeUser.LabelAdd;
+ LabelChange := SourceSettings.AddChangeUser.LabelChange;
+ LabelName := SourceSettings.AddChangeUser.LabelName;
+ LabelLogin := SourceSettings.AddChangeUser.LabelLogin;
+ LabelEmail := SourceSettings.AddChangeUser.LabelEmail;
+ CheckPrivileged := SourceSettings.AddChangeUser.CheckPrivileged;
+ BtSave := SourceSettings.AddChangeUser.BtSave;
+ BtCancel := SourceSettings.AddChangeUser.BtCancel;
+ CheckExpira := SourceSettings.AddChangeUser.CheckExpira;
+ Day := SourceSettings.AddChangeUser.Day;
+ ExpiredIn := SourceSettings.AddChangeUser.ExpiredIn;
+ end;
+
+ with UserSettings.AddChangeProfile do
+ begin
+ WindowCaption := SourceSettings.AddChangeProfile.WindowCaption;
+ LabelAdd := SourceSettings.AddChangeProfile.LabelAdd;
+ LabelChange := SourceSettings.AddChangeProfile.LabelChange;
+ LabelName := SourceSettings.AddChangeProfile.LabelName;
+ BtSave := SourceSettings.AddChangeProfile.BtSave;
+ BtCancel := SourceSettings.AddChangeProfile.BtCancel;
+ end;
+
+ with UserSettings.Rights do
+ begin
+ WindowCaption := SourceSettings.Rights.WindowCaption;
+ LabelUser := SourceSettings.Rights.LabelUser;
+ LabelProfile := SourceSettings.Rights.LabelProfile;
+ PageMenu := SourceSettings.Rights.PageMenu;
+ PageActions := SourceSettings.Rights.PageActions;
+ PageControls := SourceSettings.Rights.PageControls;
+ BtUnlock := SourceSettings.Rights.BtUnlock;
+ BtLock := SourceSettings.Rights.BtLock;
+ BtSave := SourceSettings.Rights.BtSave;
+ BtCancel := SourceSettings.Rights.BtCancel;
+ end;
+
+ with UserSettings.ChangePassword do
+ begin
+ WindowCaption := SourceSettings.ChangePassword.WindowCaption;
+ LabelDescription := SourceSettings.ChangePassword.LabelDescription;
+ LabelCurrentPassword := SourceSettings.ChangePassword.LabelCurrentPassword;
+ LabelNewPassword := SourceSettings.ChangePassword.LabelNewPassword;
+ LabelConfirm := SourceSettings.ChangePassword.LabelConfirm;
+ BtSave := SourceSettings.ChangePassword.BtSave;
+ BtCancel := SourceSettings.ChangePassword.BtCancel;
+ end;
+
+ with UserSettings.CommonMessages.ChangePasswordError do
+ begin
+ InvalidCurrentPassword := SourceSettings.CommonMessages.ChangePasswordError.InvalidCurrentPassword;
+ NewPasswordError := SourceSettings.CommonMessages.ChangePasswordError.NewPasswordError;
+ NewEqualCurrent := SourceSettings.CommonMessages.ChangePasswordError.NewEqualCurrent;
+ PasswordRequired := SourceSettings.CommonMessages.ChangePasswordError.PasswordRequired;
+ MinPasswordLength := SourceSettings.CommonMessages.ChangePasswordError.MinPasswordLength;
+ InvalidNewPassword := SourceSettings.CommonMessages.ChangePasswordError.InvalidNewPassword;
+ end;
+
+ with UserSettings.ResetPassword do
+ begin
+ WindowCaption := SourceSettings.ResetPassword.WindowCaption;
+ LabelPassword := SourceSettings.ResetPassword.LabelPassword;
+ end;
+
+ with UserSettings.Log do
+ begin
+ WindowCaption := SourceSettings.Log.WindowCaption;
+ LabelDescription := SourceSettings.Log.LabelDescription;
+ LabelUser := SourceSettings.Log.LabelUser;
+ LabelDate := SourceSettings.Log.LabelDate;
+ LabelLevel := SourceSettings.Log.LabelLevel;
+ ColLevel := SourceSettings.Log.ColLevel;
+ ColMessage := SourceSettings.Log.ColMessage;
+ ColUser := SourceSettings.Log.ColUser;
+ ColDate := SourceSettings.Log.ColDate;
+ BtFilter := SourceSettings.Log.BtFilter;
+ BtDelete := SourceSettings.Log.BtDelete;
+ BtClose := SourceSettings.Log.BtClose;
+ PromptDelete := SourceSettings.Log.PromptDelete;
+ PromptDelete_WindowCaption := SourceSettings.Log.PromptDelete_WindowCaption; //added by fduenas
+ OptionUserAll := SourceSettings.Log.OptionUserAll; //added by fduenas
+ OptionLevelLow := SourceSettings.Log.OptionLevelLow; //added by fduenas
+ OptionLevelNormal := SourceSettings.Log.OptionLevelNormal; //added by fduenas
+ OptionLevelHigh := SourceSettings.Log.OptionLevelHigh; //added by fduenas
+ OptionLevelCritic := SourceSettings.Log.OptionLevelCritic; //added by fduenas
+ DeletePerformed := SourceSettings.Log.DeletePerformed; //added by fduenas
+ end;
+
+ with UserSettings.AppMessages do
+ begin
+ MsgsForm_BtNew := SourceSettings.AppMessages.MsgsForm_BtNew;
+ MsgsForm_BtReplay := SourceSettings.AppMessages.MsgsForm_BtReplay;
+ MsgsForm_BtForward := SourceSettings.AppMessages.MsgsForm_BtForward;
+ MsgsForm_BtDelete := SourceSettings.AppMessages.MsgsForm_BtDelete;
+ MsgsForm_BtClose := SourceSettings.AppMessages.MsgsForm_BtClose; //added by fduenas
+ MsgsForm_WindowCaption := SourceSettings.AppMessages.MsgsForm_WindowCaption;
+ MsgsForm_ColFrom := SourceSettings.AppMessages.MsgsForm_ColFrom;
+ MsgsForm_ColSubject := SourceSettings.AppMessages.MsgsForm_ColSubject;
+ MsgsForm_ColDate := SourceSettings.AppMessages.MsgsForm_ColDate;
+ MsgsForm_PromptDelete := SourceSettings.AppMessages.MsgsForm_PromptDelete;
+ MsgsForm_PromptDelete_WindowCaption := SourceSettings.AppMessages.MsgsForm_PromptDelete_WindowCaption; //added by fduenas
+ MsgsForm_NoMessagesSelected := SourceSettings.AppMessages.MsgsForm_NoMessagesSelected; //added by fduenas
+ MsgsForm_NoMessagesSelected_WindowCaption := SourceSettings.AppMessages.MsgsForm_NoMessagesSelected_WindowCaption; //added by fduenas
+
+ MsgRec_BtClose := SourceSettings.AppMessages.MsgRec_BtClose;
+ MsgRec_WindowCaption := SourceSettings.AppMessages.MsgRec_WindowCaption;
+ MsgRec_Title := SourceSettings.AppMessages.MsgRec_Title;
+ MsgRec_LabelFrom := SourceSettings.AppMessages.MsgRec_LabelFrom;
+ MsgRec_LabelDate := SourceSettings.AppMessages.MsgRec_LabelDate;
+ MsgRec_LabelSubject := SourceSettings.AppMessages.MsgRec_LabelSubject;
+ MsgRec_LabelMessage := SourceSettings.AppMessages.MsgRec_LabelMessage;
+ MsgSend_BtSend := SourceSettings.AppMessages.MsgSend_BtSend;
+ MsgSend_BtCancel := SourceSettings.AppMessages.MsgSend_BtCancel;
+ MsgSend_WindowCaption := SourceSettings.AppMessages.MsgSend_WindowCaption;
+ MsgSend_Title := SourceSettings.AppMessages.MsgSend_Title;
+ MsgSend_GroupTo := SourceSettings.AppMessages.MsgSend_GroupTo;
+ MsgSend_RadioUser := SourceSettings.AppMessages.MsgSend_RadioUser;
+ MsgSend_RadioAll := SourceSettings.AppMessages.MsgSend_RadioAll;
+ MsgSend_GroupMessage := SourceSettings.AppMessages.MsgSend_GroupMessage;
+ MsgSend_LabelSubject := SourceSettings.AppMessages.MsgSend_LabelSubject; //added by fduenas
+ MsgSend_LabelMessageText := SourceSettings.AppMessages.MsgSend_LabelMessageText; //added by fduenas
+ end;
+
+ With UserSettings.History do
+ Begin
+ Evento_edit := SourceSettings.History.Evento_edit;
+ Evento_NewRecord := SourceSettings.History.Evento_NewRecord;
+ Evento_Insert := SourceSettings.History.Evento_Insert;
+ Evento_delete := SourceSettings.History.Evento_Delete;
+ LabelTabela := SourceSettings.History.LabelTabela;
+ Msg_LogEmptyHistory := SourceSettings.History.Msg_LogEmptyHistory;
+ Msg_MensConfirma := SourceSettings.History.Msg_MensConfirma;
+ LabelDescricao := SourceSettings.History.LabelDescricao;
+ Hist_BtnExcluir := SourceSettings.History.Hist_BtnExcluir;
+ Hist_BtnFiltro := SourceSettings.History.Hist_BtnFiltro;
+ LabelForm := SourceSettings.History.LabelForm;
+ Hist_BtnFechar := SourceSettings.History.Hist_BtnFechar;
+ LabelDataEvento := SourceSettings.History.LabelDataEvento;
+ LabelEvento := SourceSettings.History.LabelEvento;
+ Msg_NewRecord := SourceSettings.History.Msg_NewRecord;
+ Hist_All := SourceSettings.History.Hist_All;
+ Msg_LimpHistorico := SourceSettings.History.Msg_LimpHistorico;
+ LabelHoraEvento := SourceSettings.History.LabelHoraEvento;
+ LabelUser := SourceSettings.History.LabelUser;
+ Hist_MsgExceptPropr := SourceSettings.History.Hist_MsgExceptPropr;
+ End;
+
+ with UserSettings.TypeFieldsDB do
+ Begin
+ Type_VarChar := SourceSettings.TypeFieldsDB.Type_VarChar;
+ Type_Char := SourceSettings.TypeFieldsDB.Type_Char;
+ Type_Int := SourceSettings.TypeFieldsDB.Type_Int;
+ Type_MemoField := SourceSettings.TypeFieldsDB.Type_MemoField;
+ end;
+
+ UserSettings.WindowsPosition := SourceSettings.WindowsPosition;
+end;
+
+{$IFDEF DELPHI9_UP} {$ENDREGION} {$ENDIF}
+
+{$IFDEF DELPHI9_UP} {$REGION 'Criptografia'} {$ENDIF}
+
+const
+ Codes64 = '0A1B2C3D4E5F6G7H89IjKlMnOPqRsTuVWXyZabcdefghijkLmNopQrStUvwxYz+/';
+ C1 = 52845;
+ C2 = 22719;
+
+function Decode(const S: ansistring): ansistring;
+const
+ Map: array[char] of Byte = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 0, 0, 0, 63, 52, 53,
+ 54, 55, 56, 57, 58, 59, 60, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2,
+ 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+ 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 26, 27, 28, 29, 30,
+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, 47, 48, 49, 50, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0);
+var
+ I: longint;
+begin
+ case Length(S) of
+ 2:
+ begin
+ I := Map[S[1]] + (Map[S[2]] shl 6);
+ SetLength(Result, 1);
+ Move(I, Result[1], Length(Result));
+ end;
+ 3:
+ begin
+ I := Map[S[1]] + (Map[S[2]] shl 6) + (Map[S[3]] shl 12);
+ SetLength(Result, 2);
+ Move(I, Result[1], Length(Result));
+ end;
+ 4:
+ begin
+ I := Map[S[1]] + (Map[S[2]] shl 6) + (Map[S[3]] shl 12) + (Map[S[4]] shl 18);
+ SetLength(Result, 3);
+ Move(I, Result[1], Length(Result));
+ end
+ end;
+end;
+
+function Encode(const S: ansistring): ansistring;
+const
+ Map: array[0..63] of char = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
+var
+ I: longint;
+begin
+ I := 0;
+ Move(S[1], I, Length(S));
+ case Length(S) of
+ 1:
+ Result := Map[I mod 64] + Map[(I shr 6) mod 64];
+ 2:
+ Result := Map[I mod 64] + Map[(I shr 6) mod 64] + Map[(I shr 12) mod 64];
+ 3:
+ Result := Map[I mod 64] + Map[(I shr 6) mod 64] + Map[(I shr 12) mod 64] + Map[(I shr 18) mod 64];
+ end;
+end;
+
+function InternalDecrypt(const S: ansistring; Key: Word): ansistring;
+var
+ I: Word;
+ Seed: int64;
+begin
+ Result := S;
+ Seed := Key;
+ for I := 1 to Length(Result) do
+ begin
+ Result[I] := char(byte(Result[I]) xor (Seed shr 8));
+ Seed := (byte(S[I]) + Seed) * word(C1) + word(C2);
+ end;
+end;
+
+function PreProcess(const S: ansistring): ansistring;
+var
+ SS: ansistring;
+begin
+ SS := S;
+ Result := '';
+ while SS <> '' do
+ begin
+ Result := Result + Decode(Copy(SS, 1, 4));
+ Delete(SS, 1, 4);
+ end;
+end;
+
+function Decrypt(const S: ansistring; Key: Word): ansistring;
+begin
+ Result := InternalDecrypt(PreProcess(S), Key);
+end;
+
+function PostProcess(const S: ansistring): ansistring;
+var
+ SS: ansistring;
+begin
+ SS := S;
+ Result := '';
+ while SS <> '' do
+ begin
+ Result := Result + Encode(Copy(SS, 1, 3));
+ Delete(SS, 1, 3);
+ end;
+end;
+
+function InternalEncrypt(const S: ansistring; Key: Word): ansistring;
+var
+ I: Word;
+ Seed: int64;
+begin
+ Result := S;
+ Seed := Key;
+ for I := 1 to Length(Result) do
+ begin
+ Result[I] := char(byte(Result[I]) xor (Seed shr 8));
+ Seed := (byte(Result[I]) + Seed) * word(C1) + word(C2);
+ end;
+end;
+
+function Encrypt(const S: ansistring; Key: Word): ansistring;
+begin
+ Result := PostProcess(InternalEncrypt(S, Key));
+end;
+
+function MD5Sum(strValor: String): String;
+begin
+ Result := md5.MD5Print(md5.MD5String(strValor));
+end;
+
+{$IFDEF DELPHI9_UP} {$ENDREGION} {$ENDIF}
+
+{$IFDEF DELPHI9_UP} {$REGION 'TUCAutoLogin'} {$ENDIF}
+
+{ TUCAutoLogin }
+
+procedure TUCAutoLogin.Assign(Source: TPersistent);
+begin
+ if Source is TUCAutoLogin then
+ begin
+ Self.Active := TUCAutoLogin(Source).Active;
+ Self.User := TUCAutoLogin(Source).User;
+ Self.Password := TUCAutoLogin(Source).Password;
+ end
+ else
+ inherited;
+end;
+
+constructor TUCAutoLogin.Create(AOwner: TComponent);
+begin
+ inherited Create;
+ Self.Active := False;
+ Self.MessageOnError := True;
+end;
+
+destructor TUCAutoLogin.Destroy;
+begin
+ inherited Destroy;
+end;
+
+{$IFDEF DELPHI9_UP} {$ENDREGION} {$ENDIF}
+
+{$IFDEF DELPHI9_UP} {$REGION 'TNaoPermitidos'} {$ENDIF}
+
+{ TNaoPermitidos }
+
+procedure TUCNotAllowedItems.Assign(Source: TPersistent);
+begin
+ if Source is TUCNotAllowedItems then
+ begin
+ Self.MenuVisible := TUCNotAllowedItems(Source).MenuVisible;
+ Self.ActionVisible := TUCNotAllowedItems(Source).ActionVisible; // Consertado Luiz Benvenuto
+ end
+ else
+ inherited;
+end;
+
+constructor TUCNotAllowedItems.Create(AOwner: TComponent);
+begin
+ inherited Create;
+ Self.MenuVisible := True;
+ Self.ActionVisible := True;
+end;
+
+destructor TUCNotAllowedItems.Destroy;
+begin
+ inherited Destroy;
+end;
+
+{$IFDEF DELPHI9_UP} {$ENDREGION} {$ENDIF}
+
+{$IFDEF DELPHI9_UP} {$REGION 'TLogControl'} {$ENDIF}
+
+{ TLogControl }
+
+constructor TUCLogControl.Create(AOwner: TComponent);
+begin
+ inherited Create;
+ Self.Active := True;
+end;
+
+destructor TUCLogControl.Destroy;
+begin
+ inherited Destroy;
+end;
+
+procedure TUCLogControl.Assign(Source: TPersistent);
+begin
+ if Source is TUCLogControl then
+ begin
+ Self.Active := TUCLogControl(Source).Active;
+ Self.TableLog := TUCLogControl(Source).TableLog;
+ Self.MenuItem := TUCLogControl(Source).MenuItem;
+ Self.Action := TUCLogControl(Source).Action;
+ end
+ else
+ inherited;
+end;
+
+procedure TUCLogControl.SetAction(const Value: TAction);
+begin
+ FAction := Value;
+ if Value <> nil then
+ begin
+ Self.MenuItem := nil;
+ Value.FreeNotification(Self.Action);
+ end;
+end;
+
+procedure TUCLogControl.SetMenuItem(const Value: TMenuItem);
+begin
+ FMenuItem := Value;
+ if Value <> nil then
+ begin
+ Self.Action := nil;
+ Value.FreeNotification(Self.MenuItem);
+ end;
+end;
+
+{$IFDEF DELPHI9_UP} {$ENDREGION} {$ENDIF}
+
+{$IFDEF DELPHI9_UP} {$REGION 'TCadastroUsuarios'} {$ENDIF}
+
+{ TCadastroUsuarios }
+
+procedure TUCUser.Assign(Source: TPersistent);
+begin
+ if Source is TUCUser then
+ begin
+ Self.MenuItem := TUCUser(Source).MenuItem;
+ Self.Action := TUCUser(Source).Action;
+ end
+ else
+ inherited;
+end;
+
+constructor TUCUser.Create(AOwner: TComponent);
+begin
+ inherited Create;
+ Self.FProtectAdministrator := True;
+ Self.FUsePrivilegedField := False;
+end;
+
+destructor TUCUser.Destroy;
+begin
+ inherited Destroy;
+end;
+
+procedure TUCUser.SetAction(const Value: TAction);
+begin
+ FAction := Value;
+ if Value <> nil then
+ begin
+ Self.FMenuItem := nil;
+ Value.FreeNotification(Self.Action);
+ end;
+end;
+
+procedure TUCUser.SetMenuItem(const Value: TMenuItem);
+begin
+ FMenuItem := Value;
+ if Value <> nil then
+ begin
+ Self.Action := nil;
+ Value.FreeNotification(Self.MenuItem);
+ end;
+end;
+
+{$IFDEF DELPHI9_UP} {$ENDREGION} {$ENDIF}
+
+{$IFDEF DELPHI9_UP} {$REGION 'TLogin'} {$ENDIF}
+
+{ TLogin }
+
+constructor TUCLogin.Create(AOwner: TComponent);
+begin
+ inherited Create;
+ AutoLogin := TUCAutoLogin.Create(nil);
+ InitialLogin := TUCInitialLogin.Create(nil);
+ if not AutoLogin.MessageOnError then
+ AutoLogin.MessageOnError := True;
+
+ fDateExpireActive := False; { By Vicente Barros Leonel }
+ fDaysOfSunExpired := 30; { By Vicente Barros Leonel }
+end;
+
+destructor TUCLogin.Destroy;
+begin
+ SysUtils.FreeAndNil(Self.FAutoLogin);
+ SysUtils.FreeAndNil(Self.FInitialLogin);
+
+ inherited Destroy;
+end;
+
+procedure TUCLogin.Assign(Source: TPersistent);
+begin
+ if Source is TUCLogin then
+ Self.MaxLoginAttempts := TUCLogin(Source).MaxLoginAttempts
+ else
+ inherited;
+end;
+
+{$IFDEF DELPHI9_UP} {$ENDREGION} {$ENDIF}
+
+{$IFDEF DELPHI9_UP} {$REGION 'TPerfilUsuarios'} {$ENDIF}
+
+{ TPerfilUsuarios }
+
+constructor TUCUserProfile.Create(AOwner: TComponent);
+begin
+ inherited Create;
+ Self.Active := True;
+end;
+
+destructor TUCUserProfile.Destroy;
+begin
+ inherited Destroy;
+end;
+
+procedure TUCUserProfile.Assign(Source: TPersistent);
+begin
+ if Source is TUCUserProfile then
+ begin
+ Self.MenuItem := TUCUserProfile(Source).MenuItem;
+ Self.Action := TUCUserProfile(Source).Action;
+ end
+ else
+ inherited;
+end;
+
+procedure TUCUserProfile.SetAction(const Value: TAction);
+begin
+ FAction := Value;
+ if Value <> nil then
+ begin
+ Self.MenuItem := nil;
+ Value.FreeNotification(Self.Action);
+ end;
+end;
+
+procedure TUCUserProfile.SetMenuItem(const Value: TMenuItem);
+begin
+ FMenuItem := Value;
+ if Value <> nil then
+ begin
+ Self.Action := nil;
+ Value.FreeNotification(Self.MenuItem);
+ end;
+end;
+
+{$IFDEF DELPHI9_UP} {$ENDREGION} {$ENDIF}
+
+{$IFDEF DELPHI9_UP} {$REGION 'TTrocarSenha'} {$ENDIF}
+
+{ TTrocarSenha }
+
+procedure TUCUserPasswordChange.Assign(Source: TPersistent);
+begin
+ if Source is TUCUserPasswordChange then
+ begin
+ Self.MenuItem := TUCUserPasswordChange(Source).MenuItem;
+ Self.Action := TUCUserPasswordChange(Source).Action;
+ Self.ForcePassword := TUCUserPasswordChange(Source).ForcePassword;
+ Self.MinPasswordLength := TUCUserPasswordChange(Source).MinPasswordLength;
+ end
+ else
+ inherited;
+end;
+
+constructor TUCUserPasswordChange.Create(AOwner: TComponent);
+begin
+ inherited Create;
+ Self.ForcePassword := False;
+end;
+
+destructor TUCUserPasswordChange.Destroy;
+begin
+ inherited Destroy;
+end;
+
+procedure TUCUserPasswordChange.SetAction(const Value: TAction);
+begin
+ FAction := Value;
+ if Value <> nil then
+ begin
+ Self.MenuItem := nil;
+ Value.FreeNotification(Self.Action);
+ end;
+end;
+
+procedure TUCUserPasswordChange.SetMenuItem(const Value: TMenuItem);
+begin
+ FMenuItem := Value;
+ if Value <> nil then
+ begin
+ Self.Action := nil;
+ Value.FreeNotification(Self.MenuItem);
+ end;
+end;
+
+{$IFDEF DELPHI9_UP} {$ENDREGION} {$ENDIF}
+
+{$IFDEF DELPHI9_UP} {$REGION 'TInitialLogin'} {$ENDIF}
+
+{ TInitialLogin }
+
+procedure TUCInitialLogin.Assign(Source: TPersistent);
+begin
+ if Source is TUCInitialLogin then
+ begin
+ Self.User := TUCInitialLogin(Source).User;
+ Self.Password := TUCInitialLogin(Source).Password;
+ end
+ else
+ inherited;
+end;
+
+constructor TUCInitialLogin.Create(AOwner: TComponent);
+begin
+ inherited Create;
+ FInitialRights := TStringList.Create;
+end;
+
+destructor TUCInitialLogin.Destroy;
+begin
+ if Assigned(Self.FInitialRights) then
+ Self.InitialRights.Free;
+ inherited Destroy;
+end;
+
+procedure TUCInitialLogin.SetInitialRights(const Value: TStrings);
+begin
+ FInitialRights.Assign(Value);
+end;
+
+{$IFDEF DELPHI9_UP} {$ENDREGION} {$ENDIF}
+
+{$IFDEF DELPHI9_UP} {$REGION 'TUCControlRight'} {$ENDIF}
+
+{ TUCControlRight }
+
+procedure TUCControlRight.Assign(Source: TPersistent);
+begin
+ if Source is TUCControlRight then
+ Self.ActionList := TUCControlRight(Source).ActionList
+ {$IFDEF UCACTMANAGER}
+ {$ENDIF}
+ else
+ inherited;
+end;
+
+constructor TUCControlRight.Create(AOwner: TComponent);
+begin
+ inherited Create;
+end;
+
+destructor TUCControlRight.Destroy;
+begin
+ inherited Destroy;
+end;
+
+procedure TUCControlRight.SetActionList(const Value: TActionList);
+begin
+ FActionList := Value;
+ if Value <> nil then
+ begin
+ Value.FreeNotification(Self.ActionList);
+{ ActionManager := nil;
+ ActionMainMenuBar := nil;
+ MainMenu := nil; By Fknyght and QMD}
+ end;
+end;
+
+{$IFDEF UCACTMANAGER}
+procedure TUCControlRight.SetActionMainMenuBar(const Value: TActionMainMenuBar);
+begin
+ FActionMainMenuBar := Value;
+ if Value <> nil then
+ begin
+ Value.FreeNotification(Self.ActionMainMenuBar);
+ { ActionList := nil;
+ ActionManager := nil;
+ MainMenu := nil; By Fknyght and QMD }
+ end;
+end;
+
+procedure TUCControlRight.SetActionManager(const Value: TActionManager);
+begin
+ FActionManager := Value;
+ if Value <> nil then
+ begin
+ Value.FreeNotification(Self.ActionManager);
+ { ActionList := nil;
+ ActionMainMenuBar := nil;
+ MainMenu := nil; By Fknyght and QMD }
+ end;
+end;
+
+{$ENDIF}
+
+procedure TUCControlRight.SetMainMenu(const Value: TMenu);
+begin
+ FMainMenu := Value;
+ if Value <> nil then
+ begin
+ Value.FreeNotification(Self.MainMenu);
+ { ActionList := nil;
+ ActionMainMenuBar := nil;
+ ActionManager := nil; By Fknyght and QMD }
+ end;
+end;
+
+{$IFDEF DELPHI9_UP} {$ENDREGION} {$ENDIF}
+
+{$IFDEF DELPHI9_UP} {$REGION 'TUCAppMessage'} {$ENDIF}
+
+{ TUCAppMessage }
+
+procedure TUCApplicationMessage.CheckMessages;
+
+ function FmtDtHr(dt: String): String;
+ begin
+ Result := Copy(dt, 7, 2) + '/' + Copy(dt, 5, 2) + '/' + Copy(dt, 1, 4) + ' ' + Copy(dt, 9, 2) + ':' + Copy(dt, 11, 2);
+ end;
+
+begin
+ if not FReady then
+ Exit;
+
+ with Self.UserControl.DataConnector.UCGetSQLDataset('SELECT UCM.IdMsg, ' +
+ 'UCC.' + Self.UserControl.TableUsers.FieldUserName + ' AS De, ' +
+ 'UCC_1.' + Self.UserControl.TableUsers.FieldUserName + ' AS Para, ' +
+ 'UCM.Subject, ' +
+ 'UCM.Msg, ' +
+ 'UCM.DtSend, ' +
+ 'UCM.DtReceive ' +
+ 'FROM (' + Self.TableMessages + ' UCM INNER JOIN ' + Self.UserControl.TableUsers.TableName + ' UCC ON UCM.UsrFrom = UCC.' + Self.UserControl.TableUsers.FieldUserID + ') INNER JOIN ' +
+ Self.UserControl.TableUsers.TableName + ' UCC_1 ON UCM.UsrTo = UCC_1.' + Self.UserControl.TableUsers.FieldUserID + ' where UCM.DtReceive is NULL and UCM.UsrTo = ' + IntToStr(Self.UserControl.CurrentUser.UserID)) do
+ begin
+ while not EOF do
+ begin
+ MsgRecForm := TMsgRecForm.Create(Self);
+ MsgRecForm.stDe.Caption := FieldByName('De').AsString;
+ MsgRecForm.stData.Caption := FmtDtHr(FieldByName('DtSend').AsString);
+ MsgRecForm.stAssunto.Caption := FieldByName('Subject').AsString;
+ MsgRecForm.MemoMsg.Text := FieldByName('msg').AsString;
+ Self.UserControl.DataConnector.UCExecSQL('Update ' + Self.TableMessages + ' set DtReceive = ' +
+ QuotedStr(FormatDateTime('YYYYMMDDhhmm', now)) +
+ ' Where idMsg = ' + FieldByName('idMsg').AsString);
+ MsgRecForm.Show;
+ Next;
+ end;
+ Close;
+ Free;
+ end;
+end;
+
+constructor TUCApplicationMessage.Create(AOWner: TComponent);
+begin
+ inherited Create(AOWner);
+ FReady := False;
+ if csDesigning in ComponentState then
+ begin
+ if Self.TableMessages = '' then
+ Self.TableMessages := 'UCTABMESSAGES';
+ Interval := 60000;
+ Active := True;
+ end;
+ Self.FVerifThread := TUCVerificaMensagemThread.Create(False);
+ Self.FVerifThread.AOwner := Self;
+ Self.FVerifThread.FreeOnTerminate := True;
+end;
+
+destructor TUCApplicationMessage.Destroy;
+begin
+
+ if not (csDesigning in ComponentState) then
+ if Assigned(UserControl) then
+ Usercontrol.DeleteLoginMonitor(Self);
+
+ Self.FVerifThread.Terminate;
+
+ inherited Destroy;
+end;
+
+procedure TUCApplicationMessage.DeleteAppMessage(IdMsg: Integer);
+begin
+ if MessageDlg(FUserControl.UserSettings.AppMessages.MsgsForm_PromptDelete, mtConfirmation, [mbYes, mbNo], 0) <> mrYes then
+ Exit;
+ UserControl.DataConnector.UCExecSQL('Delete from ' + TableMessages + ' where IdMsg = ' + IntToStr(idMsg));
+end;
+
+procedure TUCApplicationMessage.Loaded;
+begin
+ inherited;
+ if not (csDesigning in ComponentState) then
+ begin
+ if not Assigned(FUserControl) then
+ raise Exception.Create('Component UserControl not defined!');
+ Usercontrol.AddLoginMonitor(Self);
+ if not FUserControl.DataConnector.UCFindTable(TableMessages) then
+ FUserControl.CriaTabelaMsgs(TableMessages);
+ { FVerifThread := TVerifThread.Create(True);
+ FVerifThread.AOwner := Self;
+ FVerifThread.FreeOnTerminate := True;}
+ end;
+ FReady := True;
+end;
+
+procedure TUCApplicationMessage.Notification(AComponent: TComponent; AOperation: TOperation);
+begin
+ if AOperation = opRemove then
+ if AComponent = FUserControl then
+ FUserControl := nil;
+ inherited Notification(AComponent, AOperation);
+end;
+
+procedure TUCApplicationMessage.SendAppMessage(ToUser: Integer; Subject, Msg: String);
+var
+ UltId: Integer;
+begin
+ with UserControl.DataConnector.UCGetSQLDataset('Select Max(idMsg) as nr from ' + TableMessages) do
+ begin
+ UltID := FieldByName('nr').AsInteger + 1;
+ Close;
+ Free;
+ end;
+ UserControl.DataConnector.UCExecSQL('Insert into ' + TableMessages + '( idMsg, UsrFrom, UsrTo, Subject, Msg, DtSend) Values (' +
+ IntToStr(UltId) + ', ' +
+ IntToStr(UserControl.CurrentUser.UserID) + ', ' +
+ IntToStr(toUser) + ', ' +
+ QuotedStr(Subject) + ', ' +
+ QuotedStr(Msg) + ', ' +
+ QuotedStr(FormatDateTime('YYYYMMDDHHMM', now)) + ')');
+
+end;
+
+procedure TUCApplicationMessage.SetActive(const Value: Boolean);
+begin
+ FActive := Value;
+ if (csDesigning in ComponentState) then
+ exit;
+ if FActive then
+ FVerifThread.Resume
+ else
+ FVerifThread.Suspend;
+end;
+
+procedure TUCApplicationMessage.SetUserControl(const Value: TUserControl);
+begin
+ FUserControl := Value;
+ if Value <> nil then
+ Value.FreeNotification(self);
+end;
+
+procedure TUCApplicationMessage.ShowMessages;
+begin
+ try
+ MsgsForm := TMsgsForm.Create(self);
+ with FUserControl.UserSettings.AppMessages do
+ begin
+ MsgsForm.Caption := MsgsForm_WindowCaption;
+ MsgsForm.btnova.Caption := MsgsForm_BtNew;
+ MsgsForm.btResponder.Caption := MsgsForm_BtReplay;
+ MsgsForm.btEncaminhar.Caption := MsgsForm_BtForward;
+ MsgsForm.btExcluir.Caption := MsgsForm_BtDelete;
+ MsgsForm.btClose.Caption := MsgsForm_BtClose;
+
+ MsgsForm.ListView1.Columns[0].Caption := MsgsForm_ColFrom;
+ MsgsForm.ListView1.Columns[1].Caption := MsgsForm_ColSubject;
+ MsgsForm.ListView1.Columns[2].Caption := MsgsForm_ColDate;
+ end;
+
+ MsgsForm.DSMsgs := UserControl.DataConnector.UCGetSQLDataset('SELECT UCM.IdMsg, UCM.UsrFrom, UCC.' + Self.UserControl.TableUsers.FieldUserName + ' AS De, UCC_1.' + Self.UserControl.TableUsers.FieldUserName + ' AS Para, UCM.Subject, UCM.Msg, UCM.DtSend, UCM.DtReceive ' +
+ 'FROM (' + TableMessages + ' UCM INNER JOIN ' + UserControl.TableUsers.TableName + ' UCC ON UCM.UsrFrom = UCC.' + Self.UserControl.TableUsers.FieldUserID + ') ' +
+ ' INNER JOIN ' + UserControl.TableUsers.TableName + ' UCC_1 ON UCM.UsrTo = UCC_1.' + Self.UserControl.TableUsers.FieldUserID + ' WHERE UCM.UsrTo = ' + IntToStr(UserControl.CurrentUser.UserID) + ' ORDER BY UCM.DtReceive DESC');
+ MsgsForm.DSMsgs.Open;
+ MsgsForm.DSUsuarios := UserControl.DataConnector.UCGetSQLDataset('SELECT ' +
+ UserControl.TableUsers.FieldUserID + ' as idUser, ' +
+ UserControl.TableUsers.FieldLogin + ' as Login, ' +
+ UserControl.TableUsers.FieldUserName + ' as Nome, ' +
+ UserControl.TableUsers.FieldPassword + ' as Senha, ' +
+ UserControl.TableUsers.FieldEmail + ' as Email, ' +
+ UserControl.TableUsers.FieldPrivileged + ' as Privilegiado, ' +
+ UserControl.TableUsers.FieldTypeRec + ' as Tipo, ' +
+ UserControl.TableUsers.FieldProfile + ' as Perfil ' +
+ ' FROM ' + UserControl.TableUsers.TableName +
+ ' WHERE ' + UserControl.TableUsers.FieldUserID + ' <> ' + IntToStr(UserControl.CurrentUser.UserID) +
+ ' AND ' + UserControl.TableUsers.FieldTypeRec + ' = ' + QuotedStr('U') +
+ ' ORDER BY ' + UserControl.TableUsers.FieldUserName);
+ MsgsForm.DSUsuarios.Open;
+
+ MsgsForm.Position := Self.FUserControl.UserSettings.WindowsPosition;
+ MsgsForm.ShowModal;
+ finally
+ end;
+end;
+
+{$IFDEF DELPHI9_UP} {$ENDREGION} {$ENDIF}
+
+{$IFDEF DELPHI9_UP} {$REGION 'TVerifThread'} {$ENDIF}
+
+{ TVerifThread }
+
+procedure TUCVerificaMensagemThread.Execute;
+begin
+ if (Assigned(TUCApplicationMessage(AOwner).UserControl)) and (TUCApplicationMessage(AOwner).UserControl.CurrentUser.UserID <> 0) then
+ Synchronize(VerNovaMansagem);
+ Sleep(TUCApplicationMessage(AOwner).Interval);
+end;
+
+procedure TUCVerificaMensagemThread.VerNovaMansagem;
+begin
+ TUCApplicationMessage(AOwner).CheckMessages;
+end;
+
+{$IFDEF DELPHI9_UP} {$ENDREGION} {$ENDIF}
+
+{$IFDEF DELPHI9_UP} {$REGION 'TUCCollectionItem'} {$ENDIF}
+
+{ TUCCollectionItem }
+
+function TUCExtraRightsItem.GetDisplayName: String;
+begin
+ Result := FormName + '.' + CompName;
+ if Result = '' then
+ Result := inherited GetDisplayName;
+end;
+
+procedure TUCExtraRightsItem.SetFormName(const Value: String);
+begin
+ if FFormName <> Value then
+ FFormName := Value;
+end;
+
+procedure TUCExtraRightsItem.SetCompName(const Value: String);
+begin
+ if FCompName <> Value then
+ FCompName := Value;
+end;
+
+procedure TUCExtraRightsItem.SetCaption(const Value: String);
+begin
+ if FCaption <> Value then
+ FCaption := Value;
+end;
+
+procedure TUCExtraRightsItem.SetGroupName(const Value: String);
+begin
+ if FGroupName <> Value then
+ FGroupname := Value;
+end;
+
+{$IFDEF DELPHI9_UP} {$ENDREGION} {$ENDIF}
+
+{$IFDEF DELPHI9_UP} {$REGION 'TUCCollection'} {$ENDIF}
+
+{ TUCCollection }
+
+constructor TUCExtraRights.Create(UCBase: TUserControl);
+begin
+ inherited Create(TUCExtraRightsItem);
+ FUCBase := UCBase;
+end;
+
+function TUCExtraRights.Add: TUCExtraRightsItem;
+begin
+ Result := TUCExtraRightsItem(inherited Add);
+end;
+
+function TUCExtraRights.GetItem(Index: Integer): TUCExtraRightsItem;
+begin
+ Result := TUCExtraRightsItem(inherited GetItem(Index));
+end;
+
+procedure TUCExtraRights.SetItem(Index: Integer; Value: TUCExtraRightsItem);
+begin
+ inherited SetItem(Index, Value);
+end;
+
+function TUCExtraRights.GetOwner: TPersistent;
+begin
+ Result := FUCBase;
+end;
+
+{$IFDEF DELPHI9_UP} {$ENDREGION} {$ENDIF}
+
+{$IFDEF DELPHI9_UP} {$REGION 'TUCRun'} {$ENDIF}
+
+{ TUCRun }
+
+procedure TUCExecuteThread.Execute;
+begin
+ while not self.Terminated do
+ begin
+ if TUserControl(AOwner).DataConnector.UCFindDataConnection then
+ Synchronize(UCStart);
+ Sleep(50);
+ end;
+end;
+
+procedure TUCExecuteThread.UCStart;
+begin
+ TUserControl(AOwner).Execute;
+end;
+
+{$IFDEF DELPHI9_UP} {$ENDREGION} {$ENDIF}
+
+{$IFDEF DELPHI9_UP} {$REGION 'TUControls'} {$ENDIF}
+
+{ TUCControls }
+
+function TUCControls.GetActiveForm: String;
+begin
+ Result := Owner.Name;
+end;
+
+function TUCControls.GetAccessType: String;
+begin
+ if not Assigned(UserControl) then
+ Result := ''
+ else
+ Result := UserControl.ClassName;
+end;
+
+procedure TUCControls.ListComponents(Form: String; List: TStrings);
+var
+ Contador: Integer;
+begin
+ List.Clear;
+ if not Assigned(UserControl) then
+ Exit;
+ for Contador := 0 to Pred(UserControl.ExtraRights.Count) do
+ if UpperCase(UserControl.ExtraRights[Contador].FormName) = UpperCase(Form) then
+ List.Append(UserControl.ExtraRights[Contador].CompName);
+end;
+
+procedure TUCControls.ApplyRights;
+var
+ FListObj: TStringList;
+ TempDS: TDataset;
+ Contador: Integer;
+ SQLStmt: String;
+ ExisteObj: Boolean;
+ String1: String;
+ String2: String;
+begin
+ // Apply Extra Rights
+
+ if not Assigned(UserControl) then
+ Exit;
+ with UserControl do
+ begin
+ if (UserControl.LoginMode = lmActive) and (CurrentUser.UserID = 0) then
+ Exit;
+
+ FListObj := TStringList.Create;
+ Self.ListComponents(Self.Owner.Name, FListObj);
+
+ if UserControl.DataConnector.UCFindDataConnection then
+ begin
+ // permissoes do usuario
+ SQLStmt := Format('SELECT %s AS UserID,' +
+ ' %s AS ObjName,' +
+ ' %s AS UCKey ' +
+ 'FROM %sEX ' +
+ 'WHERE %s = %d AND ' +
+ ' %s = %s AND ' +
+ ' %s = %s',
+ [ TableRights.FieldUserID ,
+ TableRights.FieldComponentName,
+ TableRights.FieldKey,
+ TableRights.TableName,
+ TableRights.FieldUserID,
+ CurrentUser.UserID,
+ TableRights.FieldModule,
+ QuotedStr(ApplicationID),
+ TableRights.FieldFormName,
+ QuotedStr(Self.Owner.Name)]);
+
+ TempDS := DataConnector.UCGetSQLDataset(SQLStmt);
+
+ for Contador := 0 to Pred(FListObj.Count) do
+ begin
+ UnlockEX(TCustomForm(Self.Owner), FListObj[Contador]);
+
+ ExisteObj := (TempDS.Locate('ObjName', FListObj[Contador], []));
+
+ case Self.UserControl.Criptografia of
+ cPadrao:
+ begin
+ String1 := Decrypt(TempDS.FieldByName('UCKey').AsString, EncryptKey);
+ String2 := TempDS.FieldByName('UserID').AsString + TempDS.FieldByName('ObjName').AsString;
+ end;
+ cMD5:
+ begin
+ String1 := TempDS.FieldByName('UCKey').AsString;
+ String2 := MD5Sum(TempDS.FieldByName('UserID').AsString + TempDS.FieldByName('ObjName').AsString);
+ end;
+ end;
+
+ if not ExisteObj or (String1 <> String2) then
+ LockEX(TCustomForm(Self.Owner), FListObj[Contador], NotAllowed = naInvisible);
+ end;
+ TempDS.Close;
+
+ //permissoes do grupo
+ SQLStmt := Format('SELECT' +
+ ' %s AS UserID,' +
+ ' %s AS ObjName,' +
+ ' %s AS UCKey ' +
+ 'FROM %sEX ' +
+ 'WHERE %s = %d AND ' +
+ ' %s = %s AND ' +
+ ' %s = %s',
+ [TableRights.FieldUserID,
+ TableRights.FieldComponentName,
+ TableRights.FieldKey,
+ TableRights.TableName,
+ TableRights.FieldUserID,
+ CurrentUser.Profile,
+ TableRights.FieldModule,
+ QuotedStr(ApplicationID),
+ TableRights.FieldFormName,
+ QuotedStr(Self.Owner.Name)]);
+
+ TempDS := DataConnector.UCGetSQLDataset(SQLStmt);
+
+ for contador := 0 to Pred(FListObj.Count) do
+ begin
+ ExisteObj := (TempDS.Locate('ObjName', FListObj[Contador], []));
+
+ case Self.UserControl.Criptografia of
+ cPadrao:
+ begin
+ String1 := Decrypt(TempDS.FieldByName('UCKey').AsString, EncryptKey);
+ String2 := TempDS.FieldByName('UserID').AsString + TempDS.FieldByName('ObjName').AsString;
+ end;
+ cMD5:
+ begin
+ String1 := TempDS.FieldByName('UCKey').AsString;
+ String2 := MD5Sum(TempDS.FieldByName('UserID').AsString + TempDS.FieldByName('ObjName').AsString);
+ end;
+ end;
+
+ if ExisteObj and (String1 = String2) then
+ UnlockEX(TCustomForm(Self.Owner), FListObj[Contador]);
+ end;
+ TempDS.Close;
+ end
+ else
+ LockControls;
+ end;
+
+ FreeAndNil(FListObj);
+end;
+
+procedure TUCControls.LockControls;
+var
+ Contador: Integer;
+ FListObj: TStringList;
+begin
+ FListObj := TStringList.Create;
+ Self.ListComponents(Self.Owner.Name, FListObj);
+ for Contador := 0 to Pred(FListObj.Count) do
+ UserControl.LockEX(TCustomForm(Self.Owner), FListObj[Contador], NotAllowed = naInvisible);
+ FreeAndNil(FListObj);
+end;
+
+procedure TUCControls.Loaded;
+begin
+ inherited;
+ if not (csDesigning in ComponentState) then
+ begin
+ ApplyRights;
+ UserControl.AddUCControlMonitor(Self);
+ end;
+end;
+
+procedure TUCControls.SetGroupName(const Value: String);
+var
+ Contador: Integer;
+begin
+ if FGroupName = Value then
+ Exit;
+ FGroupName := Value;
+ if Assigned(UserControl) then
+ for Contador := 0 to Pred(UserControl.ExtraRights.Count) do
+ if UpperCase(UserControl.ExtraRights[Contador].FormName) = UpperCase(Owner.Name) then
+ UserControl.ExtraRights[Contador].GroupName := Value;
+end;
+
+destructor TUCControls.Destroy;
+begin
+ if not (csDesigning in ComponentState) then
+ if Assigned(UserControl) then
+ UserControl.DeleteUCControlMonitor(Self);
+
+ inherited Destroy;
+end;
+
+procedure TUCControls.SetUserControl(const Value: TUserControl);
+begin
+ FUserControl := Value;
+ if Value <> nil then
+ Value.FreeNotification(self.UserControl);
+end;
+
+procedure TUCControls.Notification(AComponent: TComponent; AOperation: TOperation);
+begin
+ if AOperation = opRemove then
+ if AComponent = FUserControl then
+ FUserControl := nil;
+
+ inherited Notification(AComponent, AOperation);
+end;
+
+{$IFDEF DELPHI9_UP} {$ENDREGION} {$ENDIF}
+
+{$IFDEF DELPHI9_UP} {$REGION 'TUCGUID'} {$ENDIF}
+
+{ TUCGUID }
+
+class function TUCGUID.EmptyGUID: TGUID;
+begin
+ Result := FromString('{00000000-0000-0000-0000-000000000000}');
+end;
+
+class function TUCGUID.EqualGUIDs(GUID1, GUID2: TGUID): Boolean;
+begin
+ Result := IsEqualGUID(Guid1, Guid2);
+end;
+
+class function TUCGUID.FromString(Value: String): TGUID;
+begin
+ Result := StringToGuid(Value);
+end;
+
+class function TUCGUID.IsEmptyGUID(GUID: TGUID): Boolean;
+begin
+ Result := EqualGuids(Guid, EmptyGuid);
+end;
+
+class function TUCGUID.NovoGUID: TGUID;
+var
+ GUID: TGUID;
+begin
+ CreateGUID(GUID);
+ Result := GUID;
+end;
+
+class function TUCGUID.NovoGUIDString: String;
+begin
+ Result := ToString(NovoGUID);
+end;
+
+class function TUCGUID.ToQuotedString(GUID: TGUID): String;
+begin
+ Result := QuotedStr(ToString(Guid));
+end;
+
+class function TUCGUID.ToString(GUID: TGUID): String;
+begin
+ Result := GuidToString(Guid);
+end;
+
+{$IFDEF DELPHI9_UP} {$ENDREGION} {$ENDIF}
+
+{$IFDEF DELPHI9_UP} {$REGION 'TUSERLOGGED'} {$ENDIF}
+{ TUserLogged }
+
+procedure TUCUsersLogged.AddCurrentUser;
+var
+ SQLStmt: String;
+begin
+ if not Active then
+ Exit;
+ with FUserControl do
+ begin
+ CurrentUser.IDLogon := TUCGUID.NovoGUIDString;
+ SQLStmt := Format('INSERT INTO %s (%s, %s, %s, %s, %s) Values( %s, %d, %s, %s, %s)',
+ [TableUsersLogged.TableName,
+ TableUsersLogged.FieldLogonID,
+ TableUsersLogged.FieldUserID,
+ TableUsersLogged.FieldApplicationID,
+ TableUsersLogged.FieldMachineName,
+ TableUsersLogged.FieldData,
+ QuotedStr(CurrentUser.IDLogon),
+ CurrentUser.UserID,
+ QuotedStr(ApplicationID),
+ QuotedStr(GetLocalComputerName),
+ QuotedStr(FormatDateTime('dd/mm/yy hh:mm', now))]);
+ DataConnector.UCExecSQL(SQLStmt);
+ end;
+end;
+
+procedure TUCUsersLogged.Assign(Source: TPersistent);
+begin
+ inherited;
+end;
+
+constructor TUCUsersLogged.Create(AOwner: TComponent);
+begin
+ inherited Create;
+ FUserControl := TUserControl(AOwner);
+ Self.FAtive := True;
+end;
+
+procedure TUCUsersLogged.CriaTableUserLogado;
+var
+ SQLStmt: String;
+begin
+ if not Active then
+ Exit;
+
+ with FUserControl.TableUsersLogged do
+ SQLStmt := Format('CREATE TABLE %s (%s %s(38), %s %s, %s %s(50), %s %s(50), %s %s(14))',
+ [TableName,
+ FieldLogonID,
+ FUserControl.UserSettings.TypeFieldsDB.Type_Char,
+
+ FieldUserID,
+ FUserControl.UserSettings.TypeFieldsDB.Type_Int,
+
+ FieldApplicationID,
+ FUserControl.UserSettings.TypeFieldsDB.Type_VarChar,
+
+ FieldMachineName,
+ FUserControl.UserSettings.TypeFieldsDB.Type_VarChar,
+
+ FieldData,
+ FUserControl.UserSettings.TypeFieldsDB.Type_VarChar]);
+ FUserControl.DataConnector.UCExecSQL(SQLStmt);
+end;
+
+procedure TUCUsersLogged.DelCurrentUser;
+var
+ SQLStmt: String;
+begin
+ if not Active then
+ Exit;
+
+ if Assigned(FUserControl.DataConnector) = False then
+ Exit;
+
+ with FUserControl do
+ begin
+ SQLStmt := Format('DELETE FROM %s WHERE %s = %s',
+ [TableUsersLogged.TableName,
+ TableUsersLogged.FieldLogonID,
+ QuotedStr(CurrentUser.IdLogon)]);
+
+ if Assigned(DataConnector) then
+ DataConnector.UCExecSQL(SQLStmt);
+ end;
+end;
+
+destructor TUCUsersLogged.Destroy;
+begin
+ inherited Destroy;
+end;
+
+procedure TUCUsersLogged.SetAction(const Value: TAction);
+begin
+ FAction := Value;
+ if Value <> nil then
+ Value.FreeNotification(Self.Action);
+end;
+
+procedure TUCUsersLogged.SetMenuItem(const Value: TMenuItem);
+begin
+ FMenuItem := Value;
+ if Value <> nil then
+ Value.FreeNotification(Self.MenuItem);
+end;
+
+{$IFDEF DELPHI9_UP} {$ENDREGION} {$ENDIF}
+
+
+{ TUCUserLogoff Por Vicente Barros Leonel }
+
+{$IFDEF DELPHI9_UP} {$REGION 'TUCUserLogoff'} {$ENDIF}
+
+procedure TUCUserLogoff.Assign(Source: TPersistent);
+begin
+ if Source is TUCUserLogoff then
+ begin
+ Self.MenuItem := TUCUserLogoff(Source).MenuItem;
+ Self.Action := TUCUserLogoff(Source).Action;
+ end
+ else
+ inherited;
+end;
+
+constructor TUCUserLogoff.Create(AOwner: TComponent);
+begin
+ inherited Create;
+end;
+
+destructor TUCUserLogoff.Destroy;
+begin
+ inherited Destroy;
+end;
+
+procedure TUCUserLogoff.SetAction(const Value: TAction);
+begin
+ FAction := Value;
+ if Value <> nil then
+ begin
+ Self.MenuItem := nil;
+ Value.FreeNotification(Self.Action);
+ end;
+end;
+
+procedure TUCUserLogoff.SetMenuItem(const Value: TMenuItem);
+begin
+ FMenuItem := Value;
+ if Value <> nil then
+ begin
+ Self.Action := nil;
+ Value.FreeNotification(Self.MenuItem);
+ end;
+end;
+
+{$IFDEF DELPHI9_UP} {$ENDREGION} {$ENDIF}
+
+
+{$IFDEF DELPHI9_UP} {$REGION 'TUCHistorico'} {$ENDIF}
+
+{By Vicente Barros Leonel }
+
+function TUCHistorico.GetValueFields: String;
+Var Aux : Integer;
+begin
+ Result := '';
+ For Aux := 0 to DataSet.FieldCount -1 do
+ Begin
+ With DataSet.Fields[ Aux ] do
+ Begin
+ If DataSetInEdit = false then // inserindo ou deletando
+ try Result := Result + Format('%-20s = %s ',[ FieldName , AsString ] ) + #13#10; except end
+ else
+ Begin //editando
+ If Options.TypeSavePostEdit = tpSaveModifiedFields then
+ Begin
+ If Value <> AFields[ Aux ] then
+ try Result := Result + Format('%s||%s||%s',[FieldNAme, Value , AFields[ Aux ] ] ) + #13#10; except end;
+ End
+ else
+ try Result := Result + Format('%s||%s||%s',[FieldNAme, Value , AFields[ Aux ] ] )+ #13#10; except end;
+ End;
+ end;
+ End; // for
+end;
+
+procedure TUCHistorico.AfterPost(DataSet: TDataSet);
+begin
+ If Assigned( fOnAfterPost ) then
+ fOnAfterPost( DataSet );
+
+ If ( ( DataSetInEdit = False ) and ( Options.SavePostInsert ) ) then // quando inserindo
+ AddHistory(fUserControl.ApplicationID,
+ Screen.ActiveCustomForm.Name ,
+ Screen.ActiveCustomForm.Caption ,
+ fUserControl.UserSettings.History.Evento_Insert,
+ GetValueFields,
+ DataSet.Name,
+ UserControl.CurrentUser.UserID);
+
+ If ( ( DataSetInEdit = True ) and ( Options.SavePostEdit ) ) then // quando editando
+ AddHistory(fUserControl.ApplicationID,
+ Screen.ActiveCustomForm.Name ,
+ Screen.ActiveCustomForm.Caption ,
+ fUserControl.UserSettings.History.Evento_Edit,
+ GetValueFields,
+ DataSet.Name,
+ UserControl.CurrentUser.UserID);
+
+ DataSetInEdit := False;
+ SetLength( AFields , 0 );
+end;
+
+procedure TUCHistorico.BeforeDelete(DataSet: TDataSet);
+begin
+ If Assigned( fOnBeforeDelete ) then
+ fOnBeforeDelete( DataSet );
+
+ DataSetInEdit := False;
+ SetLength( AFields , 0 );
+
+ If Options.SaveDelete then
+ AddHistory(fUserControl.ApplicationID,
+ Screen.ActiveCustomForm.Name ,
+ Screen.ActiveCustomForm.Caption ,
+ fUserControl.UserSettings.History.Evento_Delete,
+ GetValueFields,
+ DataSet.Name,
+ UserControl.CurrentUser.UserID);
+end;
+
+procedure TUCHistorico.BeforeEdit(DataSet: TDataSet);
+Var I : Integer;
+begin
+ // Antes de Editar
+ If Assigned( fOnBeforeEdit ) then
+ fOnBeforeEdit( DataSet );
+
+ DataSetInEdit := True;
+ SetLength( AFields , DataSet.FieldCount );
+ For I := 0 to DataSet.FieldCount - 1 do
+ AFields[ i ] := DataSet.Fields[ i ].Value;
+end;
+
+procedure TUCHistorico.NewRecord(DataSet: TDataSet);
+begin { Adciona novo registro }
+ If Assigned( fOnNewRecord ) then
+ fOnNewRecord( DataSet );
+
+ DataSetInEdit := False; // Inserindo novo registro
+ SetLength( AFields , 0 );
+
+ If Options.SaveNewRecord then
+ AddHistory( fUserControl.ApplicationID,
+ Screen.ActiveCustomForm.Name ,
+ Screen.ActiveCustomForm.Caption,
+ fUserControl.UserSettings.History.Evento_NewRecord,
+ Format(RetornaLingua( fUserControl.Language,'Const_Msg_NewRecord'),[UserControl.CurrentUser.UserName]),
+ DataSet.Name,
+ UserControl.CurrentUser.UserID);
+end;
+
+procedure TUCHistorico.SetDataSet(const Value: TDataSet);
+begin
+ fDataSet := Value;
+ if Assigned(Value) then
+ Value.FreeNotification(Self);
+end;
+
+procedure TUCHistorico.SetUserControl(const Value: TUserControl);
+begin
+ FUserControl := Value;
+ if Value <> nil then
+ Value.FreeNotification(self);
+end;
+
+{----------------------------------------------------------------------------}
+
+constructor TUCHistorico.Create(AOwner: TComponent);
+begin
+ inherited;
+ DataSetInEdit := False;
+ fOptions := TUCHistOptions.Create(Self);
+ fDataSet := Nil;
+ fUserControl := Nil;
+end;
+
+destructor TUCHistorico.Destroy;
+begin
+ FreeAndNil( fOptions );
+ inherited;
+end;
+
+procedure TUCHistorico.Assign(Source: TPersistent);
+begin
+ if Source is TUCHistorico then
+ begin
+ Self.UserControl := TUCHistorico(Source).UserControl;
+ Self.DataSet := TUCHistorico(Source).DataSet;
+ Self.Options.Assign(TUCHistorico(Source).Options);
+ end
+ else
+ inherited;
+end;
+
+procedure TUCHistorico.Loaded;
+begin
+ inherited;
+ if not(csDesigning in ComponentState) then
+ begin
+ if not Assigned(UserControl) then
+ raise Exception.Create( Format( RetornaLingua( null ,'Const_Hist_MsgExceptPropr'),['UserControl']) );
+
+ If fUserControl.UsersHistory.Active = false then exit;
+
+ if not Assigned(DataSet) then
+ raise Exception.Create( Format( RetornaLingua( fUserControl.Language,'Const_Hist_MsgExceptPropr'),['DataSet']) );
+
+ if not Assigned(UserControl.DataConnector) then
+ raise Exception.Create( Format( RetornaLingua( fUserControl.Language,'Const_Hist_MsgExceptPropr'),['UserControl.DataConnector']) );
+
+ fOnNewRecord := Nil;
+ fOnBeforeDelete := Nil;
+ fOnBeforeEdit := Nil;
+ fOnAfterPost := Nil;
+
+ If Assigned( DataSet.OnNewRecord ) then
+ fOnNewRecord := DataSet.OnNewRecord;
+
+ If Assigned( DataSet.BeforeDelete ) then
+ fOnBeforeDelete := DataSet.BeforeDelete;
+
+ If Assigned( DataSet.AfterPost ) then
+ fOnAfterPost := DataSet.AfterPost;
+
+ If Assigned( DataSet.BeforeEdit ) then
+ fOnBeforeEdit := DataSet.BeforeEdit;
+
+ DataSet.OnNewRecord := NewRecord;
+ DataSet.BeforeDelete := BeforeDelete;
+ DataSet.AfterPost := AfterPost;
+ DataSet.BeforeEdit := BeforeEdit;
+ end;
+end;
+
+procedure TUCHistorico.Notification(AComponent: TComponent;
+ AOperation: TOperation);
+begin
+ if (AOperation = opRemove) then
+ begin
+ If AComponent = fUserControl then
+ fUserControl := Nil;
+
+ if AComponent = fDataSet then
+ fDataSet := Nil;
+ end;
+
+ inherited Notification(AComponent, AOperation);
+end;
+
+procedure TUCHistorico.AddHistory(AppID, Form, FormCaption, Event, Obs, TableName: String;
+ UserId: Integer);
+begin
+ If fUserControl.UsersHistory.Active then
+ fUserControl.DataConnector.UCExecSQL
+ (
+ Format('INSERT INTO %s VALUES( %s, %d , %s , %s , %s , %s ,%s ,%s , %s )',
+ [ fUserControl.TableHistory.TableName ,
+ QuotedStr(AppID),
+ UserID,
+ QuotedStr( FormatDateTime('dd/mm/yyyy',date) ),
+ QuotedStr( FormatDateTime('hh:mm:ss',time) ),
+ QuotedStr( Form ),
+ QuotedStr( FormCaption ),
+ QuotedStr( Event ),
+ QuotedStr( Obs ) ,
+ QuotedStr( Form + '.' + TableName )
+ ]));
+end;
+{$IFDEF DELPHI9_UP} {$ENDREGION} {$ENDIF}
+
+{ TUCUserHistory }
+
+{$IFDEF DELPHI9_UP} {$REGION 'TUCUserHistory'} {$ENDIF}
+
+procedure TUCUserHistory.Assign(Source: TPersistent);
+begin
+ if Source is TUCUserProfile then
+ begin
+ Self.MenuItem := TUCUserProfile(Source).MenuItem;
+ Self.Action := TUCUserProfile(Source).Action;
+ end
+ else
+ inherited;
+end;
+
+constructor TUCUserHistory.Create(AOwner: TComponent);
+begin
+ inherited Create;
+ Self.Active := True;
+end;
+
+destructor TUCUserHistory.Destroy;
+begin
+ inherited;
+end;
+
+procedure TUCUserHistory.SetAction(const Value: TAction);
+begin
+ FAction := Value;
+ if Value <> nil then
+ begin
+ Self.MenuItem := nil;
+ Value.FreeNotification(Self.Action);
+ end;
+end;
+
+procedure TUCUserHistory.SetMenuItem(const Value: TMenuItem);
+begin
+ FMenuItem := Value;
+ if Value <> nil then
+ begin
+ Self.Action := nil;
+ Value.FreeNotification(Self.MenuItem);
+ end;
+end;
+{$IFDEF DELPHI9_UP} {$ENDREGION} {$ENDIF}
+{ TUCHistOptions }
+
+{$IFDEF DELPHI9_UP} {$REGION 'TUCHistOptions'} {$ENDIF}
+procedure TUCHistOptions.Assign(Source: TPersistent);
+begin
+ if Source is TUCHistOptions then
+ begin
+ Self.SaveNewRecord := TUCHistOptions(Source).SaveNewRecord;
+ Self.SaveDelete := TUCHistOptions(Source).SaveDelete;
+ Self.SavePostInsert := TUCHistOptions(Source).SavePostInsert;
+ Self.SavePostEdit := TUCHistOptions(Source).SavePostEdit;
+ Self.TypeSavePostEdit := TUCHistOptions(Source).TypeSavePostEdit;
+ end
+ else
+ inherited;
+end;
+
+constructor TUCHistOptions.Create(AOwner: TComponent);
+begin
+ fSavePostEdit := true;
+ fSavePostInsert := true;
+ fSaveDelete := true;
+ fSaveNewRecord := true;
+ fTypeSave := tpSaveAllFields;
+end;
+
+destructor TUCHistOptions.Destroy;
+begin
+ inherited;
+end;
+{$IFDEF DELPHI9_UP} {$ENDREGION} {$ENDIF}
+
+end.
+
diff --git a/official/2.20/Source/UCDataConnector.pas b/official/2.20/Source/UCDataConnector.pas
new file mode 100644
index 0000000..7338e4b
--- /dev/null
+++ b/official/2.20/Source/UCDataConnector.pas
@@ -0,0 +1,25 @@
+unit UCDataConnector;
+
+interface
+
+{$I 'UserControl.inc'}
+
+uses
+ Classes,
+ DB;
+
+type
+ TUCDataConnector = class(TComponent)
+ public
+ procedure UCExecSQL(FSQL: String); virtual; abstract;
+ function UCGetSQLDataset(FSQL: String): TDataset; dynamic; abstract;
+ function UCFindTable(const Tablename: String): Boolean; virtual; abstract;
+ function UCFindDataConnection: Boolean; virtual; abstract;
+ function GetDBObjectName: String; virtual; abstract;
+ function GetTransObjectName: String; virtual; abstract;
+ end;
+
+implementation
+
+end.
+
diff --git a/official/2.20/Source/UCDataInfo.pas b/official/2.20/Source/UCDataInfo.pas
new file mode 100644
index 0000000..76e0cbb
--- /dev/null
+++ b/official/2.20/Source/UCDataInfo.pas
@@ -0,0 +1,244 @@
+unit UCDataInfo;
+
+interface
+
+uses
+ Classes;
+
+type
+ TUCTableUsers = class(TPersistent)
+ private
+ FEmail: String;
+ FTypeRec: String;
+ FUserID: String;
+ FPrivileged: String;
+ FUserName: String;
+ FTable: String;
+ FProfile: String;
+ FLogin: String;
+ FPassword: String;
+ FKey: String;
+ fDateExpired: String;
+ fUserExpired: String;
+ fFieldUserDaysSun: String;
+ protected
+ public
+ constructor Create(AOwner: TComponent);
+ destructor Destroy; override;
+ procedure Assign(Source: TPersistent); override;
+ published
+ property FieldUserID: String read FUserID write FUserID;
+ property FieldUserName: String read FUserName write FUserName;
+ property FieldLogin: String read FLogin write FLogin;
+ property FieldPassword: String read FPassword write FPassword;
+ property FieldEmail: String read FEmail write FEmail;
+ property FieldPrivileged: String read FPrivileged write FPrivileged;
+ property FieldTypeRec: String read FTypeRec write FTypeRec;
+ property FieldProfile: String read FProfile write FProfile;
+ property FieldKey: String read FKey write FKey;
+ property FieldDateExpired: String read fDateExpired write fDateExpired; { By Vicente Barros Leonel }
+ property FieldUserExpired: String read fUserExpired write fUserExpired; { By vicente barros leonel }
+ property FieldUserDaysSun: String read fFieldUserDaysSun write fFieldUserDaysSun; { By vicente barros leonel }
+ property TableName: String read FTable write FTable;
+ end;
+
+ TUCTableRights = class(TPersistent)
+ private
+ FUserID: String;
+ FFormName: String;
+ FModule: String;
+ FTable: String;
+ FComponentName: String;
+ FKey: String;
+ protected
+ public
+ constructor Create(AOwner: TComponent);
+ destructor Destroy; override;
+ procedure Assign(Source: TPersistent); override;
+ published
+ property FieldUserID: String read FUserID write FUserID;
+ property FieldModule: String read FModule write FModule;
+ property FieldComponentName: String read FComponentName write FComponentName;
+ property FieldFormName: String read FFormName write FFormName;
+ property FieldKey: String read FKey write FKey;
+ property TableName: String read FTable write FTable;
+ end;
+
+ TUCTableUsersLogged = class(TPersistent)
+ private
+ FTableName: String;
+ FData: String;
+ FApplicationID: String;
+ FUserID: String;
+ FLogonID: String;
+ FMachineName: String;
+ { private declarations }
+ protected
+ { protected declarations }
+ public
+ { public declarations }
+ constructor Create(AOwner: TComponent);
+ destructor Destroy; override;
+ procedure Assign(Source: TPersistent); override;
+ published
+ { published declarations }
+ property FieldLogonID: String read FLogonID write FLogonID;
+ property FieldUserID: String read FUserID write FUserID;
+ property FieldApplicationID: String read FApplicationID write FApplicationID;
+ property FieldMachineName: String read FMachineName write FMachineName;
+ property FieldData: String read FData write FData;
+ property TableName: String read FTableName write FTableName;
+ end;
+
+ TUCTableHistorico = class(TPersistent)
+ private
+ FTable: String;
+ FApplicationID: String;
+ FUserID: String;
+ fDateEvent: String;
+ fFieldForm: String;
+ fFieldEvent: String;
+ fFieldObs: String;
+ fCaptionForm: string;
+ fEventTime: String;
+ fFieldTableName: String;
+ protected
+ public
+ constructor Create(AOwner: TComponent);
+ destructor Destroy; override;
+ procedure Assign(Source: TPersistent); override;
+ published
+ property TableName : String read FTable write FTable; // nome da tabela
+ property FieldApplicationID : String read FApplicationID write FApplicationID;
+ property FieldUserID : String read FUserID write FUserID;
+ property FieldEventDate : String read fDateEvent write fDateEvent;
+ property FieldEventTime : String read fEventTime Write fEventTime;
+ property FieldForm : String read fFieldForm write fFieldForm;
+ property FieldCaptionForm : string read fCaptionForm write fCaptionForm;
+ Property FieldEvent : String read fFieldEvent write fFieldEvent;
+ property FieldObs : String read fFieldObs write fFieldObs;
+ property FieldTableName : String read fFieldTableName write fFieldTableName; // grava o nome da tabela monitorada
+ end;
+
+implementation
+
+{ TUCTableRights }
+
+procedure TUCTableRights.Assign(Source: TPersistent);
+begin
+ if Source is TUCTableRights then
+ begin
+ Self.FieldUserID := TUCTableRights(Source).FieldUserID;
+ Self.FieldModule := TUCTableRights(Source).FieldModule;
+ Self.FieldComponentName := TUCTableRights(Source).FieldComponentName;
+ Self.FieldFormName := TUCTableRights(Source).FieldFormName;
+ Self.FieldKey := TUCTableRights(Source).FieldKey;
+ end
+ else
+ inherited;
+end;
+
+constructor TUCTableRights.Create(AOwner: TComponent);
+begin
+ inherited Create;
+end;
+
+destructor TUCTableRights.Destroy;
+begin
+
+ inherited;
+end;
+
+{ TUCTableUsers }
+
+procedure TUCTableUsers.Assign(Source: TPersistent);
+begin
+ if Source is TUCTableUsers then
+ begin
+ Self.FieldUserID := TUCTableUsers(Source).FieldUserID;
+ Self.FieldUserName := TUCTableUsers(Source).FieldUserName;
+ Self.FieldLogin := TUCTableUsers(Source).FieldLogin;
+ Self.FieldPassword := TUCTableUsers(Source).FieldPassword;
+ Self.FieldEmail := TUCTableUsers(Source).FieldEmail;
+ Self.FieldPrivileged := TUCTableUsers(Source).FieldPrivileged;
+ Self.FieldProfile := TUCTableUsers(Source).FieldProfile;
+ Self.FieldKey := TUCTableUsers(Source).FieldKey;
+ Self.FieldDateExpired := TUCTableUsers(Source).FieldDateExpired; {By Vicente Barros Leonel}
+ Self.FieldUserExpired := TUCTableUsers(Source).FieldUserExpired; {By Vicente Barros Leonel}
+ Self.FieldUserDaysSun := TUCTableUsers(Source).FieldUserDaysSun; { By vicente barros leonel }
+ Self.TableName := TUCTableUsers(Source).TableName;
+ end
+ else
+ inherited;
+end;
+
+constructor TUCTableUsers.Create(AOwner: TComponent);
+begin
+ inherited Create;
+end;
+
+destructor TUCTableUsers.Destroy;
+begin
+ inherited;
+end;
+
+{ TUCTableUsersLogged }
+
+procedure TUCTableUsersLogged.Assign(Source: TPersistent);
+begin
+ if Source is TUCTableUsersLogged then
+ begin
+ Self.FieldLogonID := TUCTableUsersLogged(Source).FieldLogonID;
+ Self.FieldUserID := TUCTableUsersLogged(Source).FieldUserID;
+ Self.FieldApplicationID := TUCTableUsersLogged(Source).FieldApplicationID;
+ Self.FieldMachineName := TUCTableUsersLogged(Source).FieldMachineName;
+ Self.FieldData := TUCTableUsersLogged(Source).FieldData;
+ Self.TableName := TUCTableUsersLogged(Source).TableName;
+ end
+ else
+ inherited;
+end;
+
+constructor TUCTableUsersLogged.Create(AOwner: TComponent);
+begin
+
+end;
+
+destructor TUCTableUsersLogged.Destroy;
+begin
+ inherited;
+end;
+
+{ TUCTableHistorico }
+
+procedure TUCTableHistorico.Assign(Source: TPersistent);
+begin
+ if Source is TUCTableHistorico then
+ begin
+ Self.FieldApplicationID := TUCTableHistorico(Source).FieldApplicationID;
+ Self.FieldUserID := TUCTableHistorico(Source).FieldUserID;
+ Self.FieldEventDate := TUCTableHistorico(Source).FieldEventDate;
+ Self.TableName := TUCTableHistorico(Source).TableName;
+ Self.FieldForm := TUCTableHistorico(Source).FieldForm;
+ Self.FieldEvent := TUCTableHistorico(Source).FieldEvent;
+ Self.FieldObs := TUCTableHistorico(Source).FieldObs;
+ Self.FieldCaptionForm := TUCTableHistorico(Source).FieldCaptionForm;
+ Self.FieldEventTime := TUCTableHistorico(Source).FieldEventTime;
+ Self.FieldTableName := TUCTableHistorico(Source).FieldTableName;
+ end
+ else
+ inherited;
+end;
+
+constructor TUCTableHistorico.Create(AOwner: TComponent);
+begin
+ inherited Create;
+end;
+
+destructor TUCTableHistorico.Destroy;
+begin
+ inherited;
+end;
+
+end.
+
diff --git a/official/2.20/Source/UCEMailForm_U.dfm b/official/2.20/Source/UCEMailForm_U.dfm
new file mode 100644
index 0000000..2abfdac
--- /dev/null
+++ b/official/2.20/Source/UCEMailForm_U.dfm
@@ -0,0 +1,151 @@
+object UCEMailForm: TUCEMailForm
+ Left = 450
+ Top = 464
+ BorderStyle = bsDialog
+ Caption = 'Envio de Email'
+ ClientHeight = 34
+ ClientWidth = 303
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ FormStyle = fsStayOnTop
+ OldCreateOrder = False
+ Position = poScreenCenter
+ PixelsPerInch = 96
+ TextHeight = 13
+ object Panel1: TPanel
+ Left = 0
+ Top = 0
+ Width = 303
+ Height = 34
+ Align = alClient
+ BevelOuter = bvLowered
+ Color = clWhite
+ TabOrder = 0
+ object img: TImage
+ Left = 8
+ Top = 3
+ Width = 28
+ Height = 28
+ AutoSize = True
+ Picture.Data = {
+ 07544269746D6170760C0000424D760C00000000000036000000280000001C00
+ 00001C0000000100200000000000400C00000000000000000000000000000000
+ 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0098300000FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF009830000098300000FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00D76733009830000098300000983000009830000098300000DB8D
+ 630098300000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D7673300FBC4A100FFB3
+ 8B00FCAF8800F8AB8300F0A27A00E89A7100E092680098300000FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00D7673300FBC4A100FFB38B00FFB38B00FFB38B00F8AB8300F0A2
+ 7A00E89A7100E092680098300000FFFFFF00C7B2A30069473100694731006947
+ 3100694731006947310069473100694731006947310069473100694731006947
+ 310069473100694731006947310069473100B7A29300D7673300FBC4A100FFB3
+ 8B00FFB38B00FFB38B00FFB38B00F8AB8300F0A27A00E89A7100E09268009830
+ 0000C7B2A300DBC9BF00B7A29300B7A29300B7A29300B7A29300B7A29300B7A2
+ 9300B7A29300B7A29300B7A29300B7A29300B7A29300B7A29300B7A29300B7A2
+ 9300DDC5C200D7673300FBC4A100FFB38B00FFB38B00FFB38B00FFB38B00FFB3
+ 8B00F8AB8300F0A27A0098300000FFFFFF00C7B2A300DBC9BF00B7A29300E4D7
+ CF00E4D7CF00E4D7CF00E4D7CF00E4D7CF00E4D7CF00E4D7CF00E4D7CF00E4D7
+ CF00E4D7CF00E4D7CF00E4D7CF00E4D7CF00E4D7CF00D7673300FBC4A100FBC4
+ A100FBC4A100FBC4A100FBC4A100FBC4A100FFB38B0098300000FFFFFF00FFFF
+ FF00C7B2A300DECEC500DECEC500B7A29300E9DED700E9DED700E9DED700E9DE
+ D700E9DED700E9DED700E9DED700E9DED700E9DED700E9DED700E9DED700E9DE
+ D700E9DED700D7673300D7673300D7673300D7673300D7673300D7673300FBC4
+ A10098300000FFFFFF00FFFFFF00FFFFFF00C7B2A300E2D4CC00E2D4CC00E2D4
+ CC00B7A29300EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4
+ DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4
+ DF00DDC5C200E2D4CC00D767330098300000B7A29300FFFFFF00FFFFFF00FFFF
+ FF00C7B2A300E6D9D200E6D9D200E6D9D200E6D9D200B7A29300F0E9E500F0E9
+ E500F0E9E500F0E9E500F0E9E500F0E9E500F0E9E500F0E9E500F0E9E500F0E9
+ E500F0E9E500F0E9E500F0E9E500B7A29300E6D9D200E6D9D20098300000DDC5
+ C20069473100FFFFFF00FFFFFF00FFFFFF00C7B2A300EADFD900EADFD900EADF
+ D900EADFD900EADFD900B7A29300F4EFEC00F4EFEC00F4EFEC00F4EFEC00F4EF
+ EC00F4EFEC00F4EFEC00F4EFEC00F4EFEC00F4EFEC00F4EFEC00B7A29300EADF
+ D900EADFD900EADFD900EADFD900B7A2930069473100FFFFFF00FFFFFF00FFFF
+ FF00C7B2A300EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00B7A2
+ 9300F8F4F200F8F4F200F8F4F200F8F4F200F8F4F200F8F4F200F8F4F200F8F4
+ F200F8F4F200B7A29300EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00B7A2
+ 930069473100FFFFFF00FFFFFF00FFFFFF00C7B2A300F0E8E400F0E8E400F0E8
+ E400F0E8E400F0E8E400F0E8E400B7A29300B7A29300FCFAF900FCFAF900FCFA
+ F900FCFAF900FCFAF900FCFAF900FCFAF900B7A29300B7A29300F0E8E400F0E8
+ E400F0E8E400F0E8E400F0E8E400B7A2930069473100FFFFFF00FFFFFF00FFFF
+ FF00C7B2A300F3EDE900F3EDE900F3EDE900F3EDE900F3EDE900B7A29300DDC5
+ C200DDC5C200B7A29300DDC5C200FFFFFF00FFFFFF00FFFFFF00DDC5C200B7A2
+ 9300DDC5C200DDC5C200B7A29300F3EDE900F3EDE900F3EDE900F3EDE900B7A2
+ 930069473100FFFFFF00FFFFFF00FFFFFF00C7B2A300F6F1EF00F6F1EF00F6F1
+ EF00F6F1EF00B7A29300DDC5C200AFE0FB00A7DDFB00A0DAFC00C7B2A300B7A2
+ 9300B7A29300B7A29300C7B2A300DDC5C2006AC4FD0062C0FD005ABDFD00B7A2
+ 9300F6F1EF00F6F1EF00F6F1EF00B7A2930069473100FFFFFF00FFFFFF00FFFF
+ FF00C7B2A300F9F6F400F9F6F400F9F6F400B7A29300DDC5C200BDE7FB00B6E3
+ FB00AFE0FB00A7DDFB00A0DAFC0099D7FC0091D4FC008AD1FC0082CEFC007ACA
+ FD0072C7FD006AC4FD0062C0FD005ABDFD00B7A29300F9F6F400F9F6F400B7A2
+ 930069473100FFFFFF00FFFFFF00FFFFFF00C7B2A300FCFBFA00FCFBFA00B7A2
+ 9300C8B3A400CCEDFA00C5EAFB00BDE7FB00B6E3FB00AFE0FB00A7DDFB00A0DA
+ FC0099D7FC0091D4FC008AD1FC0082CEFC007ACAFD0072C7FD006AC4FD0062C0
+ FD005ABDFD00B7A29300FCFBFA00B7A2930069473100FFFFFF00FFFFFF00FFFF
+ FF00C7B2A300FFFFFF00B8A39400DDC5C200DBF3FA00D3F0FA00CCEDFA00C5EA
+ FB00BDE7FB00B6E3FB00AFE0FB00A7DDFB00A0DAFC0099D7FC0091D4FC008AD1
+ FC0082CEFC007ACAFD0072C7FD006AC4FD0062C0FD005ABDFD00B7A29300FFFF
+ FF0069473100FFFFFF00FFFFFF00FFFFFF00C7B2A300B7A29300DDC5C200DBF3
+ FA00DBF3FA00DBF3FA00D3F0FA00CCEDFA00C5EAFB00BDE7FB00B6E3FB00AFE0
+ FB00A7DDFB00A0DAFC0099D7FC0091D4FC008AD1FC0082CEFC007ACAFD0072C7
+ FD006AC4FD0062C0FD005ABDFD00B7A2930069473100FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00C7B2A300DBF3FA00DBF3FA00DBF3FA00DBF3FA00DBF3FA00D7F2
+ FA00D0EFFA00C8EBFA00C1E8FB00BAE5FB00B2E2FB00A7DDFB00A0DAFC0099D7
+ FC0091D4FC008AD1FC0082CEFC007ACAFD0072C7FD006AC4FD0062C0FD00B7A2
+ 930069473100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C7B2A300DBF3
+ FA00DBF3FA00DBF3FA00DBF3FA00DBF3FA00D7F2FA00D0EFFA00C8EBFA00C1E8
+ FB00BAE5FB00B2E2FB00ABDFFB00A4DBFC009CD8FC0095D6FC008ED3FC0086CF
+ FC007ECCFD0076C9FD00B7A2930069473100FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00C7B2A300DBF3FA00DBF3FA00DBF3FA00DBF3
+ FA00DBF3FA00D7F2FA00D0EFFA00C8EBFA00C1E8FB00BAE5FB00B2E2FB00ABDF
+ FB00A4DBFC009CD8FC0095D6FC008ED3FC0086CFFC00BCA7980069473100FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00C7B2A300DBF3FA00DBF3FA00DBF3FA00DBF3FA00DBF3FA00D7F2FA00D0EF
+ FA00C8EBFA00C1E8FB00BAE5FB00B2E2FB00ABDFFB00A4DBFC009CD8FC0095D6
+ FC00BBA6970073533E00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C7B2A300DBF3FA00DBF3
+ FA00DBF3FA00DBF3FA00DBF3FA00D7F2FA00D0EFFA00C8EBFA00C1E8FB00BAE5
+ FB00B2E2FB00ABDFFB00A4DBFC00B7A2930069473100FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00C7B2A300DBF3FA00DBF3FA00DBF3FA00DBF3FA00DBF3
+ FA00D7F2FA00D0EFFA00C8EBFA00C1E8FB00BAE5FB00B2E2FB00B7A293006947
+ 3100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C7B2
+ A300DBF3FA00DBF3FA00DBF3FA00DBF3FA00DBF3FA00D7F2FA00D0EFFA00C8EB
+ FA00C1E8FB00B7A2930069473100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C7B2A300C7B2A300C7B2A300C7B2
+ A300C7B2A300C7B2A300C7B2A300C7B2A300B7A2930069473100FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00}
+ end
+ object lbStatus: TLabel
+ Left = 48
+ Top = 14
+ Width = 66
+ Height = 14
+ Caption = 'Status email'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -12
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ParentFont = False
+ end
+ end
+end
diff --git a/official/2.20/Source/UCEMailForm_U.pas b/official/2.20/Source/UCEMailForm_U.pas
new file mode 100644
index 0000000..79101cb
--- /dev/null
+++ b/official/2.20/Source/UCEMailForm_U.pas
@@ -0,0 +1,34 @@
+unit UCEMailForm_U;
+
+interface
+
+{$I 'UserControl.inc'}
+
+uses
+ Classes,
+ Controls,
+ ExtCtrls,
+ Forms,
+ Graphics,
+ StdCtrls;
+
+type
+ TUCEMailForm = class(TForm)
+ Panel1: TPanel;
+ img: TImage;
+ lbStatus: TLabel;
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ UCEMailForm: TUCEMailForm;
+
+implementation
+
+{$R *.dfm}
+
+end.
+
diff --git a/official/2.20/Source/UCEditorForm_U.dfm b/official/2.20/Source/UCEditorForm_U.dfm
new file mode 100644
index 0000000..4c82d10
--- /dev/null
+++ b/official/2.20/Source/UCEditorForm_U.dfm
@@ -0,0 +1,1345 @@
+object UCEditorForm: TUCEditorForm
+ Left = 237
+ Top = 128
+ BorderStyle = bsDialog
+ Caption = 'User Control Editor'
+ ClientHeight = 524
+ ClientWidth = 594
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ OldCreateOrder = False
+ Position = poMainFormCenter
+ OnClose = FormClose
+ OnCreate = FormCreate
+ PixelsPerInch = 96
+ TextHeight = 13
+ object pnlBotoes: TPanel
+ Left = 0
+ Top = 479
+ Width = 594
+ Height = 45
+ Align = alBottom
+ BevelOuter = bvNone
+ TabOrder = 0
+ object btnOK: TBitBtn
+ Left = 219
+ Top = 7
+ Width = 75
+ Height = 25
+ TabOrder = 0
+ Kind = bkOK
+ end
+ object btnClose: TBitBtn
+ Left = 299
+ Top = 7
+ Width = 75
+ Height = 25
+ Caption = '&Fechar'
+ TabOrder = 1
+ Kind = bkClose
+ end
+ end
+ object Panel2: TPanel
+ Left = 0
+ Top = 0
+ Width = 594
+ Height = 73
+ Align = alTop
+ BevelOuter = bvNone
+ Color = clWhite
+ TabOrder = 1
+ object lbComponente: TLabel
+ Left = 5
+ Top = 27
+ Width = 230
+ Height = 19
+ Alignment = taCenter
+ AutoSize = False
+ Caption = 'Configura'#231#227'o B'#225'sica'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clBlack
+ Font.Height = -16
+ Font.Name = 'Tahoma'
+ Font.Style = [fsBold]
+ ParentFont = False
+ end
+ object Image1: TImage
+ Left = 220
+ Top = 0
+ Width = 374
+ Height = 73
+ Align = alRight
+ AutoSize = True
+ Picture.Data = {
+ 0A544A504547496D616765FE200000FFD8FFE000104A46494600010101004800
+ 480000FFDB0043000302020302020303030304030304050805050404050A0707
+ 06080C0A0C0C0B0A0B0B0D0E12100D0E110E0B0B1016101113141515150C0F17
+ 1816141812141514FFDB00430103040405040509050509140D0B0D1414141414
+ 1414141414141414141414141414141414141414141414141414141414141414
+ 14141414141414141414141414FFC00011080050017603012200021101031101
+ FFC4001F0000010501010101010100000000000000000102030405060708090A
+ 0BFFC400B5100002010303020403050504040000017D01020300041105122131
+ 410613516107227114328191A1082342B1C11552D1F02433627282090A161718
+ 191A25262728292A3435363738393A434445464748494A535455565758595A63
+ 6465666768696A737475767778797A838485868788898A92939495969798999A
+ A2A3A4A5A6A7A8A9AAB2B3B4B5B6B7B8B9BAC2C3C4C5C6C7C8C9CAD2D3D4D5D6
+ D7D8D9DAE1E2E3E4E5E6E7E8E9EAF1F2F3F4F5F6F7F8F9FAFFC4001F01000301
+ 01010101010101010000000000000102030405060708090A0BFFC400B5110002
+ 0102040403040705040400010277000102031104052131061241510761711322
+ 328108144291A1B1C109233352F0156272D10A162434E125F11718191A262728
+ 292A35363738393A434445464748494A535455565758595A636465666768696A
+ 737475767778797A82838485868788898A92939495969798999AA2A3A4A5A6A7
+ A8A9AAB2B3B4B5B6B7B8B9BAC2C3C4C5C6C7C8C9CAD2D3D4D5D6D7D8D9DAE2E3
+ E4E5E6E7E8E9EAF2F3F4F5F6F7F8F9FAFFDA000C03010002110311003F00FD52
+ DA2968A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2
+ 800A28A280129314EA2801980690A8A7919A6918A0040A29703DE8A5C52B00A3
+ 18A5A414B4C0422A3755352D3185260549A38D8739ACBBB82D70776EAD891335
+ 977908C1AC66B4378339CBE834C19DFE67E15CF5F43A1027779D5D06A76FC371
+ 5C86A96F8278AF36ABB743D3A4AFD4A772BE1B04EE37159D31F0B8CE5AE47E35
+ 46FE2C678AE7EF58464F19AF32752DD11EA429DFED33A573E14EED723F1A88BF
+ 84FF00BD75F9D7097BAC476F9DD139C7A62B3EF3C516569A72DE3966466D8100
+ F9B77A1F4AE7757FBA8E85497F333D2B7F84FF00BD75F9D1BFC27FDEBAFCEBC8
+ 1BE22582FF00CBB5D9FA22FF00F1552699E3FD3753BF8ACD56686690E17CD500
+ 13E9C1A9F6DFDD43F64BF999EB7BFC27FDEBAFCE8DFE13FEF5D7E75E47A87C43
+ D1F4FBD92D5A5925963387F2937007D2A23F12F460325A751D7988D1EDBFBA83
+ D92FE667B0EFF09FF7AEBF3A37F84FFBD75F9D7954FE39D1EDB4A8B507B922DE
+ 5E170A771F5E2AAC7F137C3EE3FE3EE45FADBC9FE147B6FEEA0F64BF999EBFBF
+ C27FDEBAFCE8DFE13FEF5D7E75E5FA678CB47D61E45B5BD5768D4BB0652B803A
+ 9E40A84F8FFC3C1CAFF6ADBE41C7DEA3DB7F7507B15FCCFEF3D5B7F84FFBD75F
+ 9D1BFC27FDEBAFCEBCD2CFC57A3DFCAB1C1A9DAC9231C2A0946E27D00A9E7D77
+ 4DB598C336A16D14A3AA3CCA187E19A3DB7F7507B15FCCFEF3D1E27F0A6E386B
+ AE9EB4579D5BF88F4A0E4FF695A631FF003D97FC68AB557FBA84E8FF00799F6F
+ D14515F667C48578AFED47FB58F843F64AF0BE8FAEF8BEC757D42DB54BC36504
+ 3A34514B287085CB1124B18DB85C6413C91C57B557E667FC16CF5069BC35F08B
+ 41882B5C5FEA779346A7824A2429D4F006661D7DBDE803F49347D622D6742B2D
+ 5638E5B782EAD92E563B850AE8ACA18061938201E79AF1CFD96BF6BDF08FED71
+ A46BFA978434AD774DB5D1AE23B69DB5B82188C8EEA5BE4F2E59338039CE3A8E
+ B5DFFC43BB83C1DF077C4B72A425B697A15CC80C996C2476EC79EE785AFCB9FD
+ 85F46F88FF00F0EF5F8D3A97C286963F1B5C6BE21B56B363F6A31C515B3CC21F
+ 493CB91F6E3924903E6DB401FAF1457E7A7FC13CEC3C3BE25D3EC7C6F17C70F8
+ 87ACF8CB44B694F8C3C19E24D51A4B7498C6EAE4DB3297DAAE772C9B9892B83B
+ 492A3C93E14FC51D5FF6CAD5BC69E37F1EF8B3E31693A1C7A8BD8E83A1FC32D3
+ 2FDED2C91515834B25BC32234A1644E1BE6E493F2B28A00FD67A2BF29A4F8C1F
+ 1E3C3DFB0B7C7AB3F185CF8E344D47C2F7FA58F0D78BF58B6BBD2F52BCB59B50
+ 4460257092310A9F31C96027DAC71815EFFF00B047C1DF889ACF87BC13F193C7
+ FF00167C41E26BBD4745096DE1E9EE5E4B38ED9D0089E42CC77CC400ECE46496
+ 20938CD007D91E24F12E95E0ED06FB5BD7350B6D2B48B189A7BABDBB90471428
+ 064B331E00AF8E6EBFE0AADF0FF56D5EEED3C0FE03F1F7C42B5B46227D4743D1
+ F740076203307C1E7EF2AF6FC392FF0082CF78BF57D13F67EF0BE8963349069B
+ AD6BAA97EC9902448E26748D8FA17C363D631E86BECDF82BF0DFC35F0A3E1778
+ 73C33E13B6B78744B2B2896192DD028B825413331FE2673F31249249EB4009F0
+ 57E2F693F1D3E1D69BE31D1AC752D2ECEF5E68CD8EB10082EEDDE295A3749630
+ CC15B284E327820F7AEE335F17FF00C144BF683F1B7C3DBCF865F0C3E1BEA3FD
+ 85E2CF885AA8B01AC0452D6B1192288042DC2B33CCBF375011B182411E47FB4F
+ 7C16F887FB117C2FB5F8B3E09F8E5E3AF10EADA75EDB26B361E28D40DE595F89
+ 1F696111E9F391C3163866C303C900FD2DA4AFCCBFDB1BE36FC4AF1F7C4AFD95
+ D3E17F89F56F085FF8DAC2DB54FB35B5ECB1DA319DADDD3ED31290264405B72B
+ 020AEE183922B8BFDB17E1FF00C62FD892F3C13F12346F8EFE2DF19EA1A96A62
+ CEEECF549A4F265976F981443E632344C10AF9647181827B007E9BFC48F8C1E0
+ EF84506972F8BF5EB7D15755BB5B1B1598333DCCEC40088AA092791D05762391
+ 5F969FF0534F86773AEFED57F01ED23F1BF88ADCF8C75986D16CD6EDBECFA291
+ 35A42B7166BD23918BB3B11CEE45356FF6EDB7F897FB3AFF00C339F81FC0DF16
+ 3C657DAB6A5AAEA513EABABEB33196FA469ECBC95BA2A40963432950AC080A48
+ C726803F5069335F9BDFB456ADF12BF61BF83DA7787343F893ACF8E3E23FC4BD
+ 6E3B74D775C3BFEC0422897ECE1CB040CD246173C28662390083F685FD9BBE24
+ 7ECABF042EFE2D785FE3F78F759F19E83E45CEAD0EB5A89B8D3EFD5A54470903
+ 676805C1C397C80470482003EBFF00DA37F6A3F0BFECC96BE179BC4BA66B5AA7
+ FC245A80D32CE3D1608A57129008DC1E44E39ED93ED5EC40EE00FAD7E5D7ED95
+ F14A4F8E3E0FFD8D3C4374134F9FC4FAD4379736711E165DF6A92140792AACED
+ 827B30CF5AFD451C28FA5007C6BE23FF0082A37C3BD03E2078ABC1F0780FE226
+ BDAA786B51B8D32F9F46D22DEE2212452B44CCA45C03B4B2360B0048EC3A57AC
+ 7ECC7FB63FC3DFDABACF566F07C9A8596A5A5328BCD27598161BA895890AF856
+ 752A4823218E08E71919F80BF65EF8A7E36F02FED0DFB53788FC01F0EA6F88FA
+ A5DF8A5D1F468AF85AC90C4F777CDE76E28DB82B0452A00CEFCE462BDC7F634F
+ D9DBC69F0C75BF8C5F1BFE30DCE9FF000DF57F1847707ECF1DC4489A5C72C865
+ 92777DC5130DB3682C4FCA77726803EFEC8CE296BF217F68DF8A3F0E349F873A
+ EDFF00C26F8C7F19BC75E3ED29A37FF84861D5EF64B0B502450E6E242B1C4232
+ ACC079631B99474241EE3E287ED25F17BE21F81FF664F857E1EF14CFE1CF177C
+ 45D2ADEF75AF135B7EEEE7C973B15D597054ED59246D855890002B93900FD41C
+ F04D78EFECF9FB517863F692BAF1941E1AD3359B0FF845B51FECCBC93568228D
+ 25972C0F945247C81B3BED3F30E39AE6BE05FEC872FC09F13C5ADDBFC5AF883E
+ 2B46B5782EF4AF12EAA2EACA66603122C7B46C652383927048CF35F99BF077F6
+ 88F137C38F83DE38F0A783E5934CF1DFC4EF1FCFA45B7882590DB5B69EB88449
+ 209BA47266E0004728096E0AAE403F6D5D720D52B88F703C57CFDAAF8234AF81
+ 3FB2F47E1FF881F1B3C43A34AE623A978E6F35A73A8CB3EE5774B692732140C1
+ 0A2A2293B37705896AFCF4F8FDF1D74CF056A3E0DF107ECF7F10FE2B6B178DAA
+ ADADE6B5E23BFBC9748BF623E58D85C01E63B1524AEDC60138CE312D5CA4EC7E
+ B6EA30641E335C9EAD66E413B49AF953E367C4AF885FB467ED8D3FECFF00E02F
+ 175E7C3FF0DF8774F1A9788F5CD24EDBE986D898AC520C1400CF120008F9998B
+ 6E002D79978CFE19EB3FB3EFEDA1F03BC1BE1AF8AFE3ED6348F105D25CEA969A
+ FEBCF32CCB14A494288114C6EAAC36B03DF9AE49D1E6D2E75C2B72EB63EC8D42
+ D5D890149FA5731AADAC9129DC8471DEBE5FF881F14F52F8E3FB58F8DBC0B7BA
+ EF8EF41F875E0D4F25ECFE1DE9D753DEDF5D0655633BDBC6EC91EEDE0646308B
+ 8192586A7ECFD71F107C3DF1C7C55E10B88FE206BBF0926D3FED3A46B7E3AD2E
+ EE1B8B49D550F95E74D1AE464C8BB78076A900739F3AA60DA8B95CF4A963173A
+ 8DB4D8F55D6530589FA570177765361203C6AECE14F4278AF40D7ADCBB380E40
+ 071D6B86D6745DD1A8128048DC0AB7415E1BDCF711CD6A17AD711A284085776E
+ 61DF3D3F2ACCFB535A5CDA4A8C77ACE9839E4722AD5E6892C793F6E7EBCE0D63
+ B69ACB9B87BB6985BCE8BB59F1927E607F4350C64F1EADE5CD70CD1ABC924E58
+ B9EA0066CE3EA71F954324E6595DB2CB131385CF41DA9B2F872EA646BC8A6115
+ BC929032C383DFF0EB43F873528ECBED4D707C8CECDF818CF5C50324D52F19B4
+ 9B488A868E3B99064807AAA9C7EA6A2BBD596E632208DA06F309C87E36E381D3
+ B63AD2CFA705F0FB34B3B3CA6E7098C7DEDA327F2C7D6A80D12F0410CEB3AEC9
+ 7215830EB9C629202DDADE4B0A4C530ED246C8FB8F6EA7F90FCAAB69D7F6B15A
+ 8596373212C77AB7418C0E3A7506A44D2AE6D512E259C3444942A1C020E3BFF9
+ E6B3EE74B9AD4C5FBC0AB28CA96C607247269812C37522CA926F3BD1832F3DFA
+ 8A20BCB792FEE1EEFCDD8DF364364E4E3D7E8696E743BFB7754255B70CA32302
+ AC0F420FF9EB556F6C26B3BC68DDB6C8A76B0E281D84D4DD3CD7113EE8836109
+ E0E314555786691701867D4D154897B9FB25451457DD9F0615F317EDD9FB175B
+ FED87E09D16D6DB595D07C4BA04D2CDA6DDCD11920612851245201C80DE5C677
+ 0CE0AF435F4ED1401F9EBE29F811FB6E7C4CF8793FC37F11F8EBC056BE1FBAB6
+ FB05FEB56E66379796F80ACACDE4F3BD7838542C0904F273EC3E05FD98FC7BFB
+ 2FFECD5A47827E08EB9A15E78BADB52FED1D46F7C556EE969A8EF5612AED8B73
+ 47D220B839C4782DC935F54D1401F10FECFF00FB22FC545FDA9F56F8E5F162FB
+ C27A6EA177A7BD89D0BC211CBE45CEE411969BCC1D3033C972C7192028159BF0
+ E7F655F8F7FB21F8A7C516DF04F56F077897E1D6B77CD7D1685E2B7B8867B291
+ 8019568860E15550B6EF9828F941E47DE145007C9BF1BBE04FC6DFDA23F647F1
+ 2F813C59AAF836D3C7BACEA104CBFD96D7316970DAC734522C459A3794B7EEC9
+ 2769E4819C0AF79F817E04BBF85FF05BC09E0FD40DABEA1A168765A6DD3D9126
+ 179A28112474255490CCA4E4804E7919AEE68A00F2BFDA5FF677F0E7ED3FF0A6
+ FF00C11E23696DA19644B9B4BFB700CB677299D92A83C1E199483D55D8646723
+ E5BF03FC14FDB53E07787ED7C19E14F1D780BC59E19B2416FA75EEBF1CEB736B
+ 08E1548099C28E80B49800007000AFBE28A00F8FBE3AFEC6DE38FDA0BE0FFC3F
+ 9FC41E34B0B4F8E1E0EBA7D46D3C49676FB6C8CCD207F2B68452117643B5F612
+ 0C5920EE6CF0DF107F65BFDA63F6AD8744F09FC67F15782BC3FE01D3AEE3B9BD
+ 4F08473B5DEA6C80804F98368C827BAA82C1B6315007DF545007C99F127F643F
+ 10F89BF6B3F833E3DD12E747B2F87FE01D2D6C8E9B35CCC2EF728982F95188CA
+ 1500C2325C13B4E470337BF6E6FD967C51FB4FC7F0DED7C3F79A3DA59F87F5B1
+ A96A3FDA9712C4D245F28DB17971BE588DDD4AF6E79E3EA5A2803E36FDB7FF00
+ 651F88FF0018BE25FC2DF88BF0CB55D1A0D7FC1571E72D8EB8EE90BB09525460
+ 555B23298653B72318354BE337ECA5F17BE3D78E3F677F17789753F080D43C0F
+ A9FF0069F88ACA092E12DE4DD7704CD1DAA989F70114213F78C3240C9E49AFB5
+ A8A00F9FBF6CEFD94ADFF6ADF86F65A4DBEAC7C3DE26D1AEC6A3A36ADB4B2C33
+ 01828E01076B71C8E54AA919C60F827C41FD9B3F6AEFDA4FC2B65F0EBE2878C7
+ C0BA2F81E39E27D4F52F0EC33BDF6A8B1B065DC8EA13EF2AB607963201C1C62B
+ EFCA2803E3BF8F7FB13EB1E39F1BFECD83C1B2E8963E0AF8557B0BDCDA6A934A
+ 2E27B7496D09540B132BB14B539DC572CDC9E491F6191C114B45007C7FFB177E
+ C89E36FD9E7E2FFC5FF1778AB52D0AF6D3C6579F6AB38B489E6778BF7F348448
+ 248900E255E85BA1FC7D4BF6C9F801A87ED33F0075EF02695AC268BA8DDC90DC
+ 5BCF3EEF21DE29038497682761C7500E08070718AF6EA2803E0ED7FF00661F8E
+ FE3FFD8FF50F8217DA5FC38F0CC70DA69F656979A6DE5CAA5CF913C723CB2010
+ 1D8CDE502700966624EDEFB1F1C7F60FF1378BFC13F05754F01F896C3C35F143
+ E18E996561697571BDECAE4411C63696DA5800E848250EE0CC1979E3ED9A2803
+ C1BE04C7FB464F79A8CBF175FC07159476061B0B5F0C8B9F366B9CAFEF676932
+ 02E01184EEC78E057CE5F0C3FE09A3AB59FEC65E32F845E38D4342B8F135EEBD
+ 36BFA26ABA6492CB0D9CFF006682388B33C48C3262757014FC8FC64F4FD06A28
+ 03F3DFE2E7EC47F1C7E32FC12F85FA6F8ABC45E13D5FC75F0FAF9DE159EEAE67
+ D3F5BB5222DBF6ADD0AB79A3C90872A430662581635D67C6DFD9A3E32FED1BA6
+ FC243E20B5F03785FF00E114F118D4AF74ED36FAE5A33669E408D623E472E42C
+ FF002FCAA0797C9C9DBF6D9E9514BF769303E1AF8CDFB2D7C48F0EFED5B77F1A
+ 3E077893C370789753B14835AF0EF8919C45345B563DDFBB058A3F90848CA9DD
+ 19218E481E05FD9DE339BFE0A9FF000B2D7C63E26D3FC4FE2B834B7B8D461D1A
+ 268AC34B3F67BC7FB3401C96D823D8FB9FE66694FA8AFB9FE3CFEC8FF0FF00E3
+ D789AC3C49E211AC69FE22B0B4FB0DBEABA26A525A4EB0EE66D9C641019D8F23
+ F88D731F06BF643F861FB386B97FAFF85B4EBEBDF135EC4F0CBAD6B578D75721
+ 18E5829202A93C6485C90304F5CE529A8ABB368C1C9D91E47E36FD9C7E22780B
+ F685F107C59F82FAFF0087E1B9F114623D6FC37E2712A5B5C1F972F1BC609C96
+ 50FC952096E483B6BB7F07FF00C2D478B56B9F89771E11B64758D74ED3FC2AF7
+ 1214396F31E7798724FC9B42718273CD7A9EAEE497393CD71BABBB156E49AF12
+ BD76E3CAD1EE50C3A52E64CE1356CF98C73EB5C76B9108A4DAA79C648C743FFE
+ AAEBF5C0E992B9CF3DABCF35ABABB47202E49E9953CD78EF73D8455D5EC05B5B
+ C6FE62E48E54BF24FB0F4FA135C4DE122F2E0E401F684079C7F09ABBA86A57A5
+ C8FBB838E10D6588A67B69A4663E679AAFEE7823A566CA35E5898E9913FDA588
+ DC40889E14FA819FE9DFE99D58F4991FC30938BA2A4B31F21BEE151CE47E22B8
+ B13DE200426476CA77A57BEBBCED2BB4F4236907E94EC05DD409FB2F04802688
+ F5F50C3FA5422DDA4D29A6FB50C472045B6CF232324E3F21F89A8E232DD59DD8
+ 98FCC4C65401D704E40FFBEAA9949F3900B0ED94CD219B1656F14BA44EED2482
+ 58183E09FDDE0F18FA9FE40D65EA058980EEC0194C7EBFFB3547299E2E1F838E
+ 8463FCFF00F5E9E13CFB52F23E595C6D53D48C75FE5400B730CCBA7DADC79EF2
+ 2312A149202107A0E7F954FABD835B7932995A7124633213BB6B775CFB7071D7
+ 9ACE5858703201F6C7144B1B4726D7C061C1C60E3FFD540CA52B10872790DDA8
+ A9EFAD96354084485802483800E3A73455AD897B9FB1F451457DD1F061505EDE
+ DBE9D6B2DD5DCF1DB5B44A5E49A670888A3A924F0054F5F3CFED75309DBE1DE9
+ 3A94EF6DE13D475E8A3D5E40FB10A0236ABB7653973CF1F2E7B567527C91722A
+ 2B99D8F4DD1FE3978035FD5E3D2F4FF17693757F236C8E14B95CC8D9C00A4F0C
+ 4F60339AD2F157C4EF09F81EF21B5D7FC43A7E9173347E6C715DCEA8CCB92320
+ 1ED906BCCFF69CF0C78374EF80FADB4FA769D66B6D6E3FB35A18923649F23CB1
+ 1631D4F503A8CF6AF318E7F10EAFF17BE1C4573A559EB3E251E038A792DF5872
+ 91CB2B3B06F30ED62AC0027A1E78E3AD73CAACE0F95EFA1A2826AE7D253FC5EF
+ 055B6836FADC9E29D297499E5304579F6A431348064A6ECFDE039C75A5F0F7C5
+ BF0678B2F64B4D1BC4DA6EA7751C4D33456D70AEC11719620761915F20FC5FF8
+ 4BA9FC2FF04682B7EFA75C6B9AEF8CC6A274FB2056CA12CADB6240403B464027
+ 1C020638C9FA374EB6F10E97E14F15DEF893C33E1DD0441A64CD04DA1C86491B
+ F76C5C3651703818C511AD37269AB581C2295D1E8BE17F19E85E36B192F740D5
+ AD357B48E4313CD67289155C004A923A1C107F1AB1A078934BF15581BDD22FE0
+ D46D048D119ADDC3AEE5386191DC1AF8EFE10492FECEBA6782FC5D24931F05F8
+ BEC92DF5757FBB6979F318A6F6565E3E9B89ED5ED1FB1B44E3F67FD0EE2460CF
+ 753DDCC5BB93F6891493EFF2D3A559CDA8B5ADBFCBFCC528249B477B75F187C1
+ 365E275F0ECDE27D363D6DA5100B3338DE2427010F60D9E3079C9157BC5DF11B
+ C31E028E27F10EBB63A479BFEAD2E660AEFEEABD48F702BC06DEC3FE19ABE234
+ B1EAB616BADF81BC61AC0787546895AEAC2EE424AA3E7974E3208E98247390D7
+ FE09E9FA778A3E3C7C57BFF12C50DE7892C75116B6305E00E60B205846D1AB67
+ 01805C91EA3A6EE45564DF2F5BFDDFE63E45BF43DC7C37F10BC35E30D2EE352D
+ 175CB1D4ECAD8133CB6D32B08B8CFCE3AAF009E7156B45F1768DE22D0CEB3A66
+ A76D7DA500E7ED90481A3C2E777CC3D3073F4AF997E274567E1CFDA32E3FE111
+ 8A18257F0A6A12EBF6F66A044408643099157A3171175E71B7D79DAFD9F751B5
+ D1FF00633B8BD17118686C753925F318611C3CD853E991B4E3AF3EF446B37271
+ 7D2FF8581C15AE7B45CFC5FF000559E8569AD4FE27D322D26EE468A0BC6B8511
+ 4AEBF7955BB918ABBE15F887E18F1C19D7C3FAF69FAC3C1CCA96770B2320EC48
+ 07207BD7C6DE15B655F85DFB3C59FD923964BCD7EEE631DC83E5B9170C006183
+ C1057B7415D1E836FA86B7A7FC54F899A7C36DE1BF14E9BA65CE88DE1FD2A3D8
+ F66C982F2BB0C6E7C2E548007CBDCAD66B11276D3FAB5C6E9A3E8FD77E38F807
+ C33AA49A76A5E2DD2AD6FA36DB2406E0168DBD1B19DA7D8E2A5D6BE33F817C39
+ A949A7EA9E2BD2AC2FA20ACF6F3DCAABA8650CA48F75607E84571DFB35F83BC2
+ 2BF05BC3971A7D8D8DEBDFD9A4D7F71246B23CB70C3F7A1D8E492AFB9707A018
+ AF2436BAD5D7ED7BF118786F43D135D923B0B557875890A431A886DC654856F9
+ B2318FAD5CAACD4632D35128C5B6BB1F56786FC51A478C34C5D4744D46DF54B1
+ 66282E2D640E85875191E95A958BE0FB4B9B3F0ED9A5F69F63A5DF32EEB8B5D3
+ 7FD4239EBB4E067B738ADAAEB57B6A64F70A2909C526EA621D45341A5CE68016
+ 8A28A0028A28A0043504C78A998D5699F8352CA4665F3F06B94D59F83CD747A8
+ 4A0035C8EAD36735C1599DF451CA6ACFF7AB92D4D861ABA5D525C93CFE15C96A
+ 92F04F7AF12AB3DDA48E4B597C0635E6FE2AB968A7B62A7E6DE4835E89AADD22
+ AB2B1C0279E33FE7BD79778AAE55AE611B8654312076E2B86476A29E9F756696
+ 98BB505C901495CF0E0066FC3191EF5957BA82C9772F908A232C4AA8E38CF1FA
+ 556B8B8263554E46DC649E9515B5F3DA5CA4E84ABA1CF071F5E6A063F509644B
+ 59B7864CC6C57231EBCF35957B7B25C5ECF2311BCED3D38FBA2AF6B3A925DBDC
+ CA5A42B22127CD604E7078CD624B701667E832A98CFF00BB40D1D16BFACDAC97
+ 28F64D09888236A2ED201C75F917FA9AAD7B7A9733FEEE268543124375E79C7B
+ 77FD2B0924000CB2E07239E95A775AF89558222A091104A0BEEDCCBFC43D3D3F
+ 1340CADA85DBC97A189C1F25003F4007F4AD1D5BC4C97D690C691324D16D1B88
+ CEEF9403D4F1C8381D0E7B62B1AEE50E6091082BB5813D7F88FF0088AABBC11C
+ 9183C60D03355ADEF0DB2DCC90CA203C6FDA42FE759AD73279ACCAC438C1DC09
+ CE6AECFAE3CDA65B59BB02B0B3156279C1C71598CE59B78FBA473ED4016F58D6
+ 66D426131762C5543193E6390B83C9F53CD1599338F2C73DF3CD156B621EE7EC
+ DD14515F747C18565789BC2DA478CF469F4AD6F4F8353D3E61F3C170BB94FA11
+ E847623915AB452693D181E57A47ECC7F0EF47BFB5BB5D124BC366C1AD60BFBD
+ 9EE61B7C74DB1C8E57D3A83D0576327C3CD025F1CC5E306B027C4515AFD892F3
+ CE93E58724EDD9BB675279C679AE8E8A954E0B6453937BB393F883F0AFC31F14
+ AD2CEDBC4DA69D461B394CD001712C251C8C6731B29E9EB597E1DF80DE09F0AC
+ 3AA45A669771047A9DA3D8DD07D46E64DF0BFDE51BE43B4FFB4B823B1AF40A28
+ 708B7CCD6A1CCED6B9CBDE7C32F0CEA1E034F065CE9693F869204B75B1791C80
+ 8841501F76EC82010739E3AD5DF07783747F00786ED340D06D3EC3A4DA6FF26D
+ FCC7936EE72EDF3392C72CC4F27BD6DD14F9527748577B1E61A57ECDBF0FF47D
+ 76CF55834691E6B193CEB382E2F26960B67C83BA38D9CA8E4647181DB1815A7E
+ 37F821E0EF883AAC5AAEADA511ABC4BB1351B3B892DA70BE85E3605B8C8E73C1
+ AEF28A9F670B5AC87CD2DEE721E07F849E13F87305DC7A0E8F15ABDDFF00C7CC
+ F2B34D34FECF2392C47278CE39E95C8CFF00B297C339EEA693FB06486DA6904B
+ 2D8417D3C76AEE3A1312B85F4E071C74AF5DA2874E0D59A41CD2EE723A87C28F
+ 0A6A571E199A6D1E356F0D36FD252091E24B53F2F44460A7EE2F0C0F4F735634
+ 9F86FE1DD0FC53ACF88AC74FF2356D65556FE513485270A00198CB6C078EA141
+ E4FA9CF4B9A322AB963BD8576795DC7ECC3F0EE5BF9AE61D1E6B18E77F327B3B
+ 1BE9E0B694FBC48E171DB0001567C43FB387C3DF15788AF75DD4B43965D56F48
+ 6B8B88B50B988C840007092003803A0AF4BDD499351ECA9FF2A1F34BB995E14F
+ 0AE99E09D06D745D1E07B6D3ADB779514933CA5773163F3392C7962793FA56A9
+ 3484D34B815A68B442DC7526EA85A5A6F99CF5A571D8B19A51CD5712548AF9A2
+ E1627A2981A9D9AA245A43416A8D9F14003BE0550BA97683534B2ED15937B738
+ 06B194AC6D0899FA95C601E6B8FD5AE3EF56D6A775D6B91D4EE09CF5AF2EB48F
+ 528C0C4D465C96FEB5CAEA90BCB9DA466B7AF9C9278358B73B893F29FCABC99B
+ B9ECD3470DAC786AF2EC10850E7D4D7253FC38D4AE2E49263452319DD5EB32AB
+ 7A1FCAABB23127E53F957233A923C3753F841AD198883CB9A3ECDBC0FE66B264
+ F83DE24278B65FC254FF001AFA17637F74FE546C6FEE9FCAA752AC7CEEBF073C
+ 4593BACF23DA58F9FF00C7AAFC9F07B57B848BFD1E48A5C618B49195FD1ABDE7
+ 637F74FE546C6FEE9FCA9582C7CEF71F077C41148CA962F30ECEB2C401FCDB35
+ 10F841E23FFA0549FF008110FF00F155F46EC6FEE9FCA8D8DFDD3F951619F3DB
+ FC2AF109B348468EFBD5890DF6A8BBFE3504FF00077C43184F2F4D798B282D99
+ E25DA7D3EF735F45EC6FEE9FCA8D8DFDD3F951603E71FF008543E25500FF0064
+ 06CF6FB4C7C7FE3D5249F0ABC4CF6EB18D0C295E770BA8B27FF1EAFA2B637F74
+ FE546C6FEE9FCA8B01F355CFC1EF15CBB443A2F18C906E62EBFF007D515F4D5B
+ A36F3F29E9E945689684B3FFD9}
+ end
+ end
+ object pnlCentro: TPanel
+ Left = 0
+ Top = 73
+ Width = 594
+ Height = 406
+ Align = alClient
+ BevelOuter = bvNone
+ TabOrder = 2
+ object PageControl: TPageControl
+ Left = 0
+ Top = 0
+ Width = 594
+ Height = 406
+ ActivePage = tabPrincipal
+ Align = alClient
+ Style = tsFlatButtons
+ TabOrder = 0
+ object tabPrincipal: TTabSheet
+ Caption = 'Principal'
+ object Panel5: TPanel
+ Left = 0
+ Top = 0
+ Width = 586
+ Height = 375
+ Align = alClient
+ BevelOuter = bvNone
+ TabOrder = 0
+ object Label5: TLabel
+ Left = 64
+ Top = 20
+ Width = 115
+ Height = 13
+ Caption = 'Identifica'#231#227'o Programa :'
+ end
+ object Label6: TLabel
+ Left = 47
+ Top = 276
+ Width = 132
+ Height = 13
+ Caption = 'Tabela de Usuarios/Perfis : '
+ end
+ object Label7: TLabel
+ Left = 69
+ Top = 213
+ Width = 110
+ Height = 13
+ Caption = 'Tabela de Permiss'#245'es :'
+ end
+ object Label29: TLabel
+ Left = 120
+ Top = 107
+ Width = 59
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'Criptografia :'
+ end
+ object Label30: TLabel
+ Left = 116
+ Top = 142
+ Width = 63
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'Encrypt Key :'
+ end
+ object Label32: TLabel
+ Left = 117
+ Top = 178
+ Width = 62
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'Login Mode :'
+ end
+ object edtApplicationID: TEdit
+ Left = 182
+ Top = 17
+ Width = 220
+ Height = 21
+ TabOrder = 0
+ end
+ object edtTableUsers: TEdit
+ Left = 182
+ Top = 268
+ Width = 220
+ Height = 21
+ TabOrder = 1
+ end
+ object edtTableRights: TEdit
+ Left = 182
+ Top = 205
+ Width = 220
+ Height = 21
+ TabOrder = 2
+ OnChange = edtTableRightsChange
+ end
+ object edtTabelaPermissoesEX: TEdit
+ Left = 182
+ Top = 233
+ Width = 220
+ Height = 21
+ Enabled = False
+ TabOrder = 3
+ Text = 'EX'
+ end
+ object ckAutoStart: TCheckBox
+ Left = 182
+ Top = 44
+ Width = 220
+ Height = 21
+ Caption = 'Iniciar Automaticamente'
+ TabOrder = 4
+ end
+ object btnTabelasPadrao: TButton
+ Left = 182
+ Top = 344
+ Width = 220
+ Height = 21
+ Caption = 'Tabelas Padr'#227'o'
+ TabOrder = 5
+ OnClick = btnTabelasPadraoClick
+ end
+ object ckValidationKey: TCheckBox
+ Left = 182
+ Top = 71
+ Width = 220
+ Height = 21
+ Caption = 'CheckValidationKey'
+ TabOrder = 6
+ end
+ object cbCriptografia: TComboBox
+ Left = 182
+ Top = 99
+ Width = 220
+ Height = 21
+ Style = csDropDownList
+ ItemHeight = 13
+ TabOrder = 7
+ Items.Strings = (
+ 'cPadrao'
+ 'cMD5')
+ end
+ object cbLoginMode: TComboBox
+ Left = 182
+ Top = 170
+ Width = 220
+ Height = 21
+ Style = csDropDownList
+ ItemHeight = 13
+ TabOrder = 8
+ Items.Strings = (
+ 'lmActive'
+ 'lmPassive')
+ end
+ object GroupBox3: TGroupBox
+ Left = 425
+ Top = 9
+ Width = 113
+ Height = 78
+ Caption = 'Not Allowed Items'
+ TabOrder = 9
+ object ckActionVisible: TCheckBox
+ Left = 12
+ Top = 24
+ Width = 89
+ Height = 17
+ Caption = 'Action Visible'
+ Checked = True
+ State = cbChecked
+ TabOrder = 0
+ end
+ object ckMenuVisible: TCheckBox
+ Left = 12
+ Top = 47
+ Width = 89
+ Height = 17
+ Caption = 'Menu Visible'
+ Checked = True
+ State = cbChecked
+ TabOrder = 1
+ end
+ end
+ object spedtEncryptKey: TSpinEdit
+ Left = 182
+ Top = 133
+ Width = 220
+ Height = 22
+ MaxValue = 0
+ MinValue = 0
+ TabOrder = 10
+ Value = 0
+ end
+ end
+ end
+ object tabControlRights: TTabSheet
+ Caption = 'Control Rights'
+ ImageIndex = 6
+ object Label33: TLabel
+ Left = 179
+ Top = 117
+ Width = 52
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'ActionList :'
+ end
+ object Label34: TLabel
+ Left = 129
+ Top = 159
+ Width = 102
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'ActionMainMenuBar :'
+ end
+ object Label35: TLabel
+ Left = 153
+ Top = 202
+ Width = 78
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'ActionManager :'
+ end
+ object Label36: TLabel
+ Left = 175
+ Top = 245
+ Width = 56
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'MainMenu :'
+ end
+ object cbActionList: TComboBox
+ Left = 237
+ Top = 113
+ Width = 220
+ Height = 21
+ Style = csDropDownList
+ ItemHeight = 13
+ TabOrder = 0
+ OnChange = ComboRightsChange
+ end
+ object cbActionMainMenuBar: TComboBox
+ Left = 237
+ Top = 155
+ Width = 220
+ Height = 21
+ Style = csDropDownList
+ ItemHeight = 13
+ TabOrder = 1
+ OnChange = ComboRightsChange
+ OnClick = ComboRightsChange
+ end
+ object cbActionManager: TComboBox
+ Left = 237
+ Top = 198
+ Width = 220
+ Height = 21
+ Style = csDropDownList
+ ItemHeight = 13
+ TabOrder = 2
+ OnChange = ComboRightsChange
+ end
+ object cbMainMenu: TComboBox
+ Left = 237
+ Top = 241
+ Width = 220
+ Height = 21
+ Style = csDropDownList
+ ItemHeight = 13
+ TabOrder = 3
+ OnChange = ComboRightsChange
+ end
+ end
+ object tabUser: TTabSheet
+ Caption = 'User'
+ ImageIndex = 3
+ object Label2: TLabel
+ Left = 172
+ Top = 122
+ Width = 36
+ Height = 13
+ Caption = 'Action :'
+ end
+ object Label27: TLabel
+ Left = 152
+ Top = 161
+ Width = 56
+ Height = 13
+ Caption = 'Menu Item :'
+ end
+ object cbUserAction: TComboBox
+ Left = 214
+ Top = 118
+ Width = 220
+ Height = 21
+ Style = csDropDownList
+ ItemHeight = 0
+ TabOrder = 0
+ OnChange = ComboActionMenuItem
+ OnClick = ComboActionMenuItem
+ end
+ object cbUserMenuItem: TComboBox
+ Left = 214
+ Top = 157
+ Width = 220
+ Height = 21
+ Style = csDropDownList
+ ItemHeight = 0
+ TabOrder = 1
+ OnChange = ComboActionMenuItem
+ OnClick = ComboActionMenuItem
+ end
+ object ckUserProtectAdministrator: TCheckBox
+ Left = 214
+ Top = 196
+ Width = 220
+ Height = 21
+ Caption = 'User Protect Administrator'
+ TabOrder = 2
+ end
+ object ckUserUsePrivilegedField: TCheckBox
+ Left = 214
+ Top = 236
+ Width = 220
+ Height = 21
+ Caption = 'Use Privileged Field'
+ TabOrder = 3
+ end
+ end
+ object tabUserProfile: TTabSheet
+ Caption = 'User Profile'
+ ImageIndex = 4
+ object Label3: TLabel
+ Left = 174
+ Top = 128
+ Width = 36
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'Action :'
+ end
+ object Label28: TLabel
+ Left = 154
+ Top = 181
+ Width = 56
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'Menu Item :'
+ end
+ object cbUserProfileAction: TComboBox
+ Left = 213
+ Top = 124
+ Width = 220
+ Height = 21
+ Style = csDropDownList
+ ItemHeight = 0
+ TabOrder = 0
+ OnChange = ComboActionMenuItem
+ OnClick = ComboActionMenuItem
+ end
+ object cbUserProfileMenuItem: TComboBox
+ Left = 213
+ Top = 177
+ Width = 220
+ Height = 21
+ Style = csDropDownList
+ ItemHeight = 0
+ TabOrder = 1
+ OnChange = ComboActionMenuItem
+ OnClick = ComboActionMenuItem
+ end
+ object ckUserProfileActive: TCheckBox
+ Left = 213
+ Top = 230
+ Width = 220
+ Height = 21
+ Caption = 'Active'
+ TabOrder = 2
+ end
+ end
+ object tabUserPasswordChange: TTabSheet
+ Caption = 'User Password Change'
+ ImageIndex = 5
+ object Label4: TLabel
+ Left = 126
+ Top = 252
+ Width = 108
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'Min Password Length :'
+ end
+ object Label31: TLabel
+ Left = 198
+ Top = 110
+ Width = 36
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'Action :'
+ end
+ object Label37: TLabel
+ Left = 178
+ Top = 157
+ Width = 56
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'Menu Item :'
+ end
+ object cbUserPasswordChangeAction: TComboBox
+ Left = 239
+ Top = 106
+ Width = 220
+ Height = 21
+ Style = csDropDownList
+ ItemHeight = 0
+ TabOrder = 0
+ OnChange = ComboActionMenuItem
+ OnClick = ComboActionMenuItem
+ end
+ object cbUserPasswordChangeMenuItem: TComboBox
+ Left = 239
+ Top = 153
+ Width = 220
+ Height = 21
+ Style = csDropDownList
+ ItemHeight = 0
+ TabOrder = 1
+ OnChange = ComboActionMenuItem
+ OnClick = ComboActionMenuItem
+ end
+ object ckUserPassowrdChangeForcePassword: TCheckBox
+ Left = 239
+ Top = 200
+ Width = 220
+ Height = 21
+ Caption = 'Force Password'
+ TabOrder = 2
+ end
+ object spedtUserPasswordChangeMinPasswordLength: TSpinEdit
+ Left = 239
+ Top = 247
+ Width = 220
+ Height = 22
+ MaxValue = 0
+ MinValue = 0
+ TabOrder = 3
+ Value = 0
+ end
+ end
+ object tabLogControl: TTabSheet
+ Caption = 'Log Control'
+ ImageIndex = 1
+ object Label25: TLabel
+ Left = 140
+ Top = 115
+ Width = 80
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'Tabela de Logs :'
+ end
+ object Label1: TLabel
+ Left = 164
+ Top = 75
+ Width = 56
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'Menu Item :'
+ end
+ object Label26: TLabel
+ Left = 184
+ Top = 35
+ Width = 36
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'Action :'
+ end
+ object Panel4: TPanel
+ Left = 0
+ Top = 205
+ Width = 586
+ Height = 170
+ Align = alBottom
+ BevelOuter = bvNone
+ Color = clWhite
+ TabOrder = 0
+ object Image4: TImage
+ Left = 20
+ Top = 28
+ Width = 25
+ Height = 24
+ Picture.Data = {
+ 07544269746D617076060000424D760600000000000036040000280000001800
+ 000018000000010008000000000040020000C40E0000C40E0000000100000000
+ 00000800000008080800310010004A08180031101800391821005A1821004A18
+ 290063292900522131006B21310039314200843142001042420018394A001042
+ 4A008C524A0031395200084252006B4A5200085252005A525200845252005A5A
+ 5A00635A5A006B5A5A00845A5A008C5A5A00635A6300845A63005A6363008463
+ 6300946363008C6B6B00A56B6B00086B7300426B730094737300396B7B009C7B
+ 7B00A57B7B00AD848400187B9400188C9C00298C9C0029949C002994A500B5A5
+ A500218CAD00089CAD0021A5AD0021ADAD009CA5B5007BB5B500089CBD00219C
+ BD0021B5BD00089CC60008BDC60010A5CE0018B5CE0008BDD60000B5DE0008B5
+ DE0010B5DE0008DEDE0000BDE70008BDE70000C6E70008C6E70018C6E70008CE
+ E70052CEE70000D6E70000DEE70018E7E70000BDEF0000C6EF0000CEEF0000D6
+ EF0018D6EF0000DEEF0008DEEF0063DEEF0000E7EF0008E7EF0010E7EF004AE7
+ EF0063E7EF0000EFEF004AEFEF0000C6F70000CEF7006BDEF70000E7F70094E7
+ F7009CE7F70000EFF70008F7F70010F7F700FF00FF0000D6FF0000DEFF0008DE
+ FF0000E7FF0008E7FF0000EFFF0008EFFF0010EFFF0000F7FF0008F7FF0010F7
+ FF0018F7FF0000FFFF0008FFFF0010FFFF0018FFFF0031FFFF0052FFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF007777777777777777777777777777777777777777777777777777772F1F1A
+ 1D1D1D1D1D1D1D1D1D1D1D1D1D1D161B77777777483B36363636363636393636
+ 36363636363930081B7777483F3E42424242424D3F37404C4242424242425B26
+ 10777753434D655C5C5C654E0F073446655C5C5C655C5C2429777777464D6765
+ 656565440104093C656565656C65431377777777534467676565654F12000E47
+ 656565676C5C2C277777777777464E69666565665E495E666565667067451C77
+ 77777777775D4E6769666666662A666666666970662E2977777777777777504F
+ 6C666666490B4F68666670674F1977777777777777775344676966683A063D6A
+ 666C6C662C28777777777777777777474F6B686A310C2B6A686F694715777777
+ 7777777777777753496B6B61230A26616B70682D287777777777777777777777
+ 505E6E540F0311496F6C5418777777777777777777777777585162410102053A
+ 706A322277777777777777777777777777526141000204386E52177777777777
+ 77777777777777777757515514010D4B6D332177777777777777777777777777
+ 777756616E4A746E551E7777777777777777777777777777777758546E72746D
+ 382077777777777777777777777777777777774B627573611E77777777777777
+ 77777777777777777777775A5975713825777777777777777777777777777777
+ 77777777636E6335777777777777777777777777777777777777777753765377
+ 7777777777777777777777777777777777777777775377777777777777777777
+ 7777}
+ end
+ object Label19: TLabel
+ Left = 60
+ Top = 28
+ Width = 320
+ Height = 13
+ Caption = 'O Componente n'#227'o grava nenhum log automaticamente!'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = [fsBold]
+ ParentFont = False
+ end
+ object Label20: TLabel
+ Left = 60
+ Top = 52
+ Width = 505
+ Height = 13
+ Caption =
+ 'Utilize o Metodo: Log(msg : String; nivel : Integer {0..3} = 0) ' +
+ 'para gravar registros no Log de mensagens'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ParentFont = False
+ end
+ object Label21: TLabel
+ Left = 68
+ Top = 76
+ Width = 16
+ Height = 13
+ Caption = 'Ex:'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ParentFont = False
+ end
+ object Label22: TLabel
+ Left = 92
+ Top = 76
+ Width = 175
+ Height = 13
+ Caption = 'UserControl1.Log('#39'Exemplo de Log'#39');'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ParentFont = False
+ end
+ object Label23: TLabel
+ Left = 280
+ Top = 76
+ Width = 285
+ Height = 65
+ Caption =
+ 'try'#13#10' ..'#13#10'except'#13#10' on e : Exception do ADOUserControl1.Log(e.M' +
+ 'essage, 3);'#13#10'end;'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ParentFont = False
+ end
+ object Label24: TLabel
+ Left = 92
+ Top = 108
+ Width = 162
+ Height = 13
+ Caption = 'UserControl1.Log('#39'Exemplo 2'#39', 1);'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ParentFont = False
+ end
+ end
+ object edtLogControlTableLog: TEdit
+ Left = 226
+ Top = 112
+ Width = 220
+ Height = 21
+ TabOrder = 1
+ end
+ object ckLogControlActive: TCheckBox
+ Left = 226
+ Top = 152
+ Width = 220
+ Height = 21
+ Caption = 'Active'
+ Checked = True
+ State = cbChecked
+ TabOrder = 2
+ end
+ object cbLogControlAction: TComboBox
+ Left = 226
+ Top = 32
+ Width = 220
+ Height = 21
+ Style = csDropDownList
+ ItemHeight = 0
+ TabOrder = 3
+ OnChange = ComboActionMenuItem
+ OnClick = ComboActionMenuItem
+ end
+ object cbLogControlMenuItem: TComboBox
+ Left = 226
+ Top = 72
+ Width = 220
+ Height = 21
+ Style = csDropDownList
+ ItemHeight = 0
+ TabOrder = 4
+ OnChange = ComboActionMenuItem
+ OnClick = ComboActionMenuItem
+ end
+ end
+ object tabLogin: TTabSheet
+ Caption = 'Login'
+ ImageIndex = 2
+ object Label14: TLabel
+ Left = 115
+ Top = 25
+ Width = 149
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'N'#250'mero m'#225'ximo de Tentativas :'
+ end
+ object Label15: TLabel
+ Left = 181
+ Top = 52
+ Width = 83
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'Get Login Name :'
+ end
+ object Label16: TLabel
+ Left = 136
+ Top = 350
+ Width = 79
+ Height = 13
+ Caption = 'Imagem Superior'
+ end
+ object Label17: TLabel
+ Left = 288
+ Top = 350
+ Width = 85
+ Height = 13
+ Caption = 'Imagem Esquerda'
+ end
+ object Label18: TLabel
+ Left = 440
+ Top = 350
+ Width = 72
+ Height = 13
+ Caption = 'Imagem Inferior'
+ end
+ object SpeedButton1: TSpeedButton
+ Left = 19
+ Top = 288
+ Width = 73
+ Height = 40
+ Caption = 'Visualizar'
+ Flat = True
+ Glyph.Data = {
+ 36030000424D3603000000000000360000002800000010000000100000000100
+ 18000000000000030000420B0000420B00000000000000000000FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFCC6701CC6701CC6701CC6701CC6701CC6701CC
+ 6701CC6701CC6701CC6701CC6701CC6701CC6701CC6701CC6701FF00FFCC6701
+ FFFFFFFFFFFFFFFAF5FFF3E6FEEBD5FEE3C3FEDCB5FED7ABFED7ABFED7ABFED7
+ ABFED7ABFED7ABCC6701FF00FFCC6701FFFFFFFFFFFFFFFFFFFFFAF5FFF3E6FE
+ EBD5FEE3C4FEDCB500C0C000C0C000C0C000C0C0FED7ABCC6701FF00FFCC6701
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFAF5FFF3E6FFEBD5FEE3C4FFFFFFFFFFFFFFFF
+ FF00C0C0FED7ABCC6701FF00FFCC6701FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FAF5FFF3E6FFEBD5FEE3C4FEDCB5FED7ABFED7ABFED7ABCC6701FF00FFCC6701
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF5FFF3E6FFEBD5FEE3C4FEDC
+ B5FED7ABFED7ABCC6701FF00FFCC6701FFFFFFFFFFFFFFFFFF80808080808080
+ 8080FFFFFF808080FFF3E6808080808080808080FED7ABCC6701FF00FFCC6701
+ 8080FF0000FF8080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF5FFF3E6FFEB
+ D5FEE3C4FEDCB5CC6701FF00FFCC67010000FF0000FF0000FFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFAF5FFF3E6FFEBD5FEE3C4CC6701FF00FFCC6701
+ 8080FF0000FF8080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA
+ F5FFF3E6FFEBD5CC6701FF00FFCC6701FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF5FFF3E6CC6701FF00FFCC6701
+ CC6701CC6701CC6701CC6701CC6701CC6701CC6701CC6701CC6701CC6701CC67
+ 01CC6701CC6701CC6701FF00FFFF00FFCC6701CC6701CC6701CC6701CC6701CC
+ 6701CC6701CC6701CC6701CC6701CC6701CC6701CC6701FF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF}
+ Layout = blGlyphTop
+ OnClick = SpeedButton1Click
+ end
+ object SpeedButton2: TSpeedButton
+ Left = 211
+ Top = 322
+ Width = 48
+ Height = 22
+ Caption = 'Limpar'
+ Flat = True
+ OnClick = SpeedButton2Click
+ end
+ object SpeedButton3: TSpeedButton
+ Left = 365
+ Top = 322
+ Width = 48
+ Height = 22
+ Caption = 'Limpar'
+ Flat = True
+ OnClick = SpeedButton3Click
+ end
+ object SpeedButton4: TSpeedButton
+ Left = 517
+ Top = 322
+ Width = 48
+ Height = 22
+ Caption = 'Limpar'
+ Flat = True
+ OnClick = SpeedButton4Click
+ end
+ object GroupBox1: TGroupBox
+ Left = 2
+ Top = 88
+ Width = 290
+ Height = 185
+ Caption = 'Login Inicial'
+ TabOrder = 0
+ object Label8: TLabel
+ Left = 14
+ Top = 24
+ Width = 42
+ Height = 13
+ Caption = 'Usu'#225'rio :'
+ end
+ object Label9: TLabel
+ Left = 19
+ Top = 55
+ Width = 37
+ Height = 13
+ Caption = 'Senha :'
+ end
+ object Label12: TLabel
+ Left = 25
+ Top = 87
+ Width = 31
+ Height = 13
+ Caption = 'Email :'
+ end
+ object lblInitialRights: TLabel
+ Left = -7
+ Top = 115
+ Width = 63
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'Initial Rights :'
+ end
+ object edtInitialLoginUser: TEdit
+ Left = 64
+ Top = 20
+ Width = 220
+ Height = 21
+ TabOrder = 0
+ end
+ object edtInitialLoginPassword: TEdit
+ Left = 64
+ Top = 51
+ Width = 220
+ Height = 21
+ TabOrder = 1
+ end
+ object edtInitialLoginEmail: TEdit
+ Left = 64
+ Top = 83
+ Width = 220
+ Height = 21
+ TabOrder = 2
+ end
+ object mmInitialRights: TMemo
+ Left = 64
+ Top = 115
+ Width = 220
+ Height = 62
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clGreen
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ ParentFont = False
+ TabOrder = 3
+ end
+ end
+ object GroupBox2: TGroupBox
+ Left = 295
+ Top = 88
+ Width = 290
+ Height = 185
+ Caption = 'Login Autom'#225'tico'
+ TabOrder = 1
+ object Label10: TLabel
+ Left = 13
+ Top = 44
+ Width = 42
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'Usu'#225'rio :'
+ end
+ object Label11: TLabel
+ Left = 18
+ Top = 81
+ Width = 37
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'Senha :'
+ end
+ object edtLoginAutoLoginUser: TEdit
+ Left = 56
+ Top = 40
+ Width = 220
+ Height = 21
+ TabOrder = 0
+ end
+ object edtLoginAutoLoginPassword: TEdit
+ Left = 56
+ Top = 77
+ Width = 220
+ Height = 21
+ TabOrder = 1
+ end
+ object ckLoginAutologinActive: TCheckBox
+ Left = 56
+ Top = 104
+ Width = 65
+ Height = 17
+ Caption = 'Ativo'
+ Checked = True
+ State = cbChecked
+ TabOrder = 2
+ end
+ object ckLoginAutoLoginMessageOnError: TCheckBox
+ Left = 33
+ Top = 127
+ Width = 225
+ Height = 17
+ Caption = 'Exibir mensagem padr'#227'o de erro se falhar ?'
+ TabOrder = 3
+ end
+ end
+ object cbGetLoginName: TComboBox
+ Left = 270
+ Top = 48
+ Width = 201
+ Height = 21
+ Style = csDropDownList
+ ItemHeight = 13
+ ItemIndex = 0
+ TabOrder = 2
+ Text = 'lnNone'
+ Items.Strings = (
+ 'lnNone'
+ 'lnUserName'
+ 'lnMachineName')
+ end
+ object Panel6: TPanel
+ Left = 143
+ Top = 280
+ Width = 65
+ Height = 65
+ BevelOuter = bvLowered
+ Color = clGray
+ TabOrder = 3
+ object imgTop: TImage
+ Left = 1
+ Top = 1
+ Width = 63
+ Height = 63
+ Cursor = crHandPoint
+ Align = alClient
+ Center = True
+ Proportional = True
+ Stretch = True
+ OnClick = ActionsExecute
+ end
+ end
+ object Panel7: TPanel
+ Left = 295
+ Top = 280
+ Width = 65
+ Height = 65
+ BevelOuter = bvLowered
+ Color = clGray
+ TabOrder = 4
+ object imgLeft: TImage
+ Left = 1
+ Top = 1
+ Width = 63
+ Height = 63
+ Cursor = crHandPoint
+ Align = alClient
+ Center = True
+ Proportional = True
+ Stretch = True
+ OnClick = ActionsExecute
+ end
+ end
+ object Panel8: TPanel
+ Left = 447
+ Top = 280
+ Width = 65
+ Height = 65
+ BevelOuter = bvLowered
+ Color = clGray
+ TabOrder = 5
+ object imgBottom: TImage
+ Left = 1
+ Top = 1
+ Width = 63
+ Height = 63
+ Cursor = crHandPoint
+ Align = alClient
+ Center = True
+ Proportional = True
+ Stretch = True
+ OnClick = ActionsExecute
+ end
+ end
+ object spedtMaxLoginAttempts: TSpinEdit
+ Left = 270
+ Top = 20
+ Width = 121
+ Height = 22
+ MaxValue = 0
+ MinValue = 0
+ TabOrder = 6
+ Value = 0
+ end
+ end
+ end
+ end
+ object OpenPictureDialog: TOpenPictureDialog
+ Left = 512
+ Top = 240
+ end
+ object ActionList: TActionList
+ Left = 545
+ Top = 240
+ object acCarregarFigura: TAction
+ Caption = 'Carregar Figura'
+ OnExecute = ActionsExecute
+ end
+ object acVisualizarTelaLogin: TAction
+ Caption = 'acVisualizarTelaLogin'
+ OnExecute = ActionsExecute
+ end
+ end
+end
diff --git a/official/2.20/Source/UCEditorForm_U.pas b/official/2.20/Source/UCEditorForm_U.pas
new file mode 100644
index 0000000..5fc2689
--- /dev/null
+++ b/official/2.20/Source/UCEditorForm_U.pas
@@ -0,0 +1,454 @@
+unit UCEditorForm_U;
+
+interface
+
+{$I 'UserControl.inc'}
+
+uses
+ ActnCtrls,
+ ActnList,
+ ActnMan,
+ ActnMenus,
+ Buttons,
+ Classes,
+ ComCtrls,
+ Contnrs,
+ Controls,
+ Dialogs,
+ ExtCtrls,
+ ExtDlgs,
+ Forms,
+ Graphics,
+ jpeg,
+ Menus,
+ Spin,
+ StdCtrls,
+ ToolWin,
+ UCBase;
+
+type
+ TUCEditorForm = class(TForm)
+ pnlBotoes: TPanel;
+ Panel2: TPanel;
+ lbComponente: TLabel;
+ pnlCentro: TPanel;
+ PageControl: TPageControl;
+ tabPrincipal: TTabSheet;
+ tabLogin: TTabSheet;
+ Label14: TLabel;
+ Label15: TLabel;
+ Label16: TLabel;
+ Label17: TLabel;
+ Label18: TLabel;
+ SpeedButton1: TSpeedButton;
+ GroupBox1: TGroupBox;
+ Label8: TLabel;
+ Label9: TLabel;
+ Label12: TLabel;
+ lblInitialRights: TLabel;
+ edtInitialLoginUser: TEdit;
+ edtInitialLoginPassword: TEdit;
+ edtInitialLoginEmail: TEdit;
+ mmInitialRights: TMemo;
+ GroupBox2: TGroupBox;
+ Label10: TLabel;
+ Label11: TLabel;
+ edtLoginAutoLoginUser: TEdit;
+ edtLoginAutoLoginPassword: TEdit;
+ ckLoginAutologinActive: TCheckBox;
+ ckLoginAutoLoginMessageOnError: TCheckBox;
+ cbGetLoginName: TComboBox;
+ tabLogControl: TTabSheet;
+ Label25: TLabel;
+ Panel4: TPanel;
+ Image4: TImage;
+ Label19: TLabel;
+ Label20: TLabel;
+ Label21: TLabel;
+ Label22: TLabel;
+ Label23: TLabel;
+ Label24: TLabel;
+ edtLogControlTableLog: TEdit;
+ ckLogControlActive: TCheckBox;
+ cbLogControlAction: TComboBox;
+ cbLogControlMenuItem: TComboBox;
+ Panel6: TPanel;
+ imgTop: TImage;
+ Panel7: TPanel;
+ imgLeft: TImage;
+ Panel8: TPanel;
+ imgBottom: TImage;
+ Panel5: TPanel;
+ Label5: TLabel;
+ Label6: TLabel;
+ Label7: TLabel;
+ edtApplicationID: TEdit;
+ edtTableUsers: TEdit;
+ edtTableRights: TEdit;
+ edtTabelaPermissoesEX: TEdit;
+ ckAutoStart: TCheckBox;
+ btnTabelasPadrao: TButton;
+ btnOK: TBitBtn;
+ btnClose: TBitBtn;
+ ckValidationKey: TCheckBox;
+ cbCriptografia: TComboBox;
+ Label29: TLabel;
+ Label30: TLabel;
+ Label32: TLabel;
+ cbLoginMode: TComboBox;
+ GroupBox3: TGroupBox;
+ ckActionVisible: TCheckBox;
+ ckMenuVisible: TCheckBox;
+ tabUser: TTabSheet;
+ tabUserProfile: TTabSheet;
+ tabUserPasswordChange: TTabSheet;
+ cbUserAction: TComboBox;
+ cbUserMenuItem: TComboBox;
+ Label3: TLabel;
+ cbUserProfileAction: TComboBox;
+ cbUserProfileMenuItem: TComboBox;
+ Label4: TLabel;
+ cbUserPasswordChangeAction: TComboBox;
+ cbUserPasswordChangeMenuItem: TComboBox;
+ Label1: TLabel;
+ Label26: TLabel;
+ tabControlRights: TTabSheet;
+ Label33: TLabel;
+ Label34: TLabel;
+ Label35: TLabel;
+ Label36: TLabel;
+ cbActionList: TComboBox;
+ cbActionMainMenuBar: TComboBox;
+ cbActionManager: TComboBox;
+ cbMainMenu: TComboBox;
+ spedtEncryptKey: TSpinEdit;
+ ckUserProtectAdministrator: TCheckBox;
+ ckUserUsePrivilegedField: TCheckBox;
+ Label2: TLabel;
+ Label27: TLabel;
+ Label28: TLabel;
+ ckUserProfileActive: TCheckBox;
+ Label31: TLabel;
+ Label37: TLabel;
+ ckUserPassowrdChangeForcePassword: TCheckBox;
+ spedtUserPasswordChangeMinPasswordLength: TSpinEdit;
+ spedtMaxLoginAttempts: TSpinEdit;
+ OpenPictureDialog: TOpenPictureDialog;
+ ActionList: TActionList;
+ acCarregarFigura: TAction;
+ acVisualizarTelaLogin: TAction;
+ SpeedButton2: TSpeedButton;
+ SpeedButton3: TSpeedButton;
+ SpeedButton4: TSpeedButton;
+ Image1: TImage;
+ procedure SpeedButton4Click(Sender: TObject);
+ procedure SpeedButton3Click(Sender: TObject);
+ procedure SpeedButton2Click(Sender: TObject);
+ procedure SpeedButton1Click(Sender: TObject);
+
+ procedure ComboRightsChange(Sender: TObject);
+
+ procedure ComboActionMenuItem(Sender: TObject);
+
+ procedure btnTabelasPadraoClick(Sender: TObject);
+ procedure edtTableRightsChange(Sender: TObject);
+ procedure FormCreate(Sender: TObject);
+ procedure FormClose(Sender: TObject; var Action: TCloseAction);
+
+ procedure ActionsExecute(Sender: TObject);
+ private
+ { Private declarations }
+ FUserControl: TUserControl;
+ public
+ constructor Create(AOwner: TComponent; UserControl: TUserControl); reintroduce;
+ end;
+
+implementation
+
+uses
+ LoginWindow_U,
+ ShellAPI,
+ SysUtils,
+ UcConsts_Language,
+ UCMessages,
+ Windows;
+
+{$R *.dfm}
+
+procedure TUCEditorForm.edtTableRightsChange(Sender: TObject);
+begin
+ edtTabelaPermissoesEX.Text := edtTableRights.Text + 'EX';
+end;
+
+procedure TUCEditorForm.ActionsExecute(Sender: TObject);
+begin
+ if Sender = imgTop then
+ if OpenPictureDialog.Execute then
+ imgTop.Picture.LoadFromFile(OpenPictureDialog.FileName);
+
+ if Sender = imgBottom then
+ if OpenPictureDialog.Execute then
+ imgBottom.Picture.LoadFromFile(OpenPictureDialog.FileName);
+
+ if Sender = imgLeft then
+ if OpenPictureDialog.Execute then
+ imgLeft.Picture.LoadFromFile(OpenPictureDialog.FileName);
+end;
+
+procedure TUCEditorForm.btnTabelasPadraoClick(Sender: TObject);
+begin
+ edtTableUsers.Text := RetornaLingua( FUserControl.Language,'Const_TableUsers_TableName');
+ edtTableRights.Text := RetornaLingua( FUserControl.Language,'Const_TableRights_TableName');
+end;
+
+procedure TUCEditorForm.ComboActionMenuItem(Sender: TObject);
+begin
+ // Combo USER
+ if (Sender = cbUserAction) and (cbUserAction.ItemIndex >= 0) then
+ cbUserMenuItem.ItemIndex := -1;
+
+ if (Sender = cbUserMenuItem) and (cbUserMenuItem.ItemIndex >= 0) then
+ cbUserAction.ItemIndex := -1;
+
+ // Combo USERPROFILE
+ if (Sender = cbUserProfileAction) and (cbUserProfileAction.ItemIndex >= 0) then
+ cbUserProfileMenuItem.ItemIndex := -1;
+
+ if (Sender = cbUserProfileMenuItem) and (cbUserProfileMenuItem.ItemIndex >= 0) then
+ cbUserProfileAction.ItemIndex := -1;
+
+ // Combo USERPASSWORDCHANGE
+ if (Sender = cbUserPasswordChangeAction) and (cbUserPasswordChangeAction.ItemIndex >= 0) then
+ cbUserPasswordChangeMenuItem.ItemIndex := -1;
+
+ if (Sender = cbUserPasswordChangeMenuItem) and (cbUserPasswordChangeMenuItem.ItemIndex >= 0) then
+ cbUserPasswordChangeAction.ItemIndex := -1;
+
+ // Combo LOGCONTROL
+ if (Sender = cbLogControlAction) and (cbLogControlAction.ItemIndex >= 0) then
+ cbLogControlMenuItem.ItemIndex := -1;
+
+ if (Sender = cbLogControlMenuItem) and (cbLogControlMenuItem.ItemIndex >= 0) then
+ cbLogControlAction.ItemIndex := -1;
+end;
+
+procedure TUCEditorForm.ComboRightsChange(Sender: TObject);
+begin
+ if Sender = cbActionList then
+ if cbActionList.ItemIndex >= 0 then
+ begin
+ cbActionMainMenuBar.ItemIndex := -1;
+ cbActionManager.ItemIndex := -1;
+ cbMainMenu.ItemIndex := -1;
+ end;
+
+ if Sender = cbActionMainMenuBar then
+ if cbActionMainMenuBar.ItemIndex >= 0 then
+ begin
+ cbActionList.ItemIndex := -1;
+ cbActionManager.ItemIndex := -1;
+ cbMainMenu.ItemIndex := -1;
+ end;
+
+ if Sender = cbActionManager then
+ if cbActionManager.ItemIndex >= 0 then
+ begin
+ cbActionList.ItemIndex := -1;
+ cbActionMainMenuBar.ItemIndex := -1;
+ cbMainMenu.ItemIndex := -1;
+ end;
+
+ if Sender = cbMainMenu then
+ if cbMainMenu.ItemIndex >= 0 then
+ begin
+ cbActionList.ItemIndex := -1;
+ cbActionMainMenuBar.ItemIndex := -1;
+ cbActionManager.ItemIndex := -1;
+ end;
+
+end;
+
+constructor TUCEditorForm.Create(AOwner: TComponent; UserControl: TUserControl);
+begin
+ inherited Create(AOwner);
+ FUserControl := UserControl;
+end;
+
+procedure TUCEditorForm.FormClose(Sender: TObject; var Action: TCloseAction);
+begin
+ Action := caFree;
+end;
+
+procedure TUCEditorForm.FormCreate(Sender: TObject);
+var
+ I: Integer;
+ Formulario: TForm;
+begin
+ lblInitialRights.Caption := 'Initial ' + #13 + 'Rights :';
+ PageControl.ActivePage := tabPrincipal;
+
+ with FUserControl do
+ begin
+ edtApplicationID.Text := ApplicationID;
+ ckAutoStart.Checked := AutoStart;
+ ckValidationKey.Checked := CheckValidationKey;
+ spedtEncryptKey.Value := EncryptKey;
+ edtTableRights.Text := TableRights.TableName;
+ edtTableUsers.Text := TableUsers.TableName;
+ ckActionVisible.Checked := NotAllowedItems.ActionVisible;
+ ckMenuVisible.Checked := NotAllowedItems.MenuVisible;
+ cbCriptografia.ItemIndex := integer(Criptografia);
+ cbLoginMode.ItemIndex := integer(LoginMode);
+ end;
+
+ Formulario := TForm(FUserControl.Owner);
+
+ for I := 0 to Formulario.ComponentCount - 1 do
+ begin
+ if Formulario.Components[I] is TAction then
+ begin
+ cbUserAction.Items.Add(TAction(Formulario.Components[I]).Name);
+ cbUserProfileAction.Items.Add(TAction(Formulario.Components[I]).Name);
+ cbLogControlAction.Items.Add(TAction(Formulario.Components[I]).Name);
+ cbUserPasswordChangeAction.Items.Add(TAction(Formulario.Components[I]).Name);
+ end;
+
+ if Formulario.Components[I] is TMenuItem then
+ begin
+ cbUserMenuItem.Items.Add(Formulario.Components[I].Name);
+ cbUserProfileMenuItem.Items.Add(Formulario.Components[I].Name);
+ cbLogControlMenuItem.Items.Add(Formulario.Components[I].Name);
+ cbUserPasswordChangeMenuItem.Items.Add(Formulario.Components[I].Name);
+ end;
+
+ // Adicionar os valores dos "ControlRights"
+ if Formulario.Components[I] is TActionList then
+ cbActionList.Items.Add(Formulario.Components[I].Name);
+
+ if Formulario.Components[I] is TActionMainMenuBar then
+ cbActionMainMenuBar.Items.Add(Formulario.Components[I].Name);
+
+ if Formulario.Components[I] is TActionManager then
+ cbActionManager.Items.Add(Formulario.Components[I].Name);
+
+ if Formulario.Components[I] is TMainMenu then
+ cbMainMenu.Items.Add(Formulario.Components[I].Name);
+ end;
+
+ with FUserControl.ControlRight do
+ begin
+ if Assigned(ActionList) then
+ cbActionList.ItemIndex := (cbActionList.Items.IndexOf(ActionList.Name));
+
+ if Assigned(MainMenu) then
+ cbMainMenu.ItemIndex := (cbMainMenu.Items.IndexOf(MainMenu.Name));
+
+ if Assigned(ActionMainMenuBar) then
+ cbActionMainMenuBar.ItemIndex := (cbActionMainMenuBar.Items.IndexOf(ActionMainMenuBar.Name));
+
+ if Assigned(ActionManager) then
+ cbActionManager.ItemIndex := (cbActionManager.Items.IndexOf(ActionManager.Name));
+ end;
+
+ // Action e MenuItem USER
+ if Assigned(FUserControl.User.Action) then
+ cbUserAction.ItemIndex := (cbUserAction.Items.IndexOf(FUserControl.User.Action.Name));
+
+ if Assigned(FUserControl.User.MenuItem) then
+ cbUserMenuItem.ItemIndex := (cbUserMenuItem.Items.IndexOf(FUserControl.User.MenuItem.Name));
+
+ // Action e MenuItem USERPROFILE
+ if Assigned(FUserControl.UserProfile.Action) then
+ cbUserProfileAction.ItemIndex := (cbUserProfileAction.Items.IndexOf(FUserControl.UserProfile.Action.Name));
+
+ if Assigned(FUserControl.UserProfile.MenuItem) then
+ cbUserProfileMenuItem.ItemIndex := (cbUserProfileMenuItem.Items.IndexOf(FUserControl.UserProfile.MenuItem.Name));
+
+ // Action e MenuItem USERPASSWORDCHANGE
+ if Assigned(FUserControl.UserPasswordChange.Action) then
+ cbUserPasswordChangeAction.ItemIndex := (cbUserPasswordChangeAction.Items.IndexOf(FUserControl.UserPasswordChange.Action.Name));
+
+ if Assigned(FUserControl.UserPasswordChange.MenuItem) then
+ cbUserPasswordChangeMenuItem.ItemIndex := (cbUserPasswordChangeMenuItem.Items.IndexOf(FUserControl.UserPasswordChange.MenuItem.Name));
+
+ // Action e MenuItem LOGCONTROL
+ if Assigned(FUserControl.LogControl.Action) then
+ cbLogControlAction.ItemIndex := (cbLogControlAction.Items.IndexOf(FUserControl.LogControl.Action.Name));
+
+ if Assigned(FUserControl.LogControl.MenuItem) then
+ cbLogControlMenuItem.ItemIndex := (cbLogControlMenuItem.Items.IndexOf(FUserControl.LogControl.MenuItem.Name));
+
+ ckUserProtectAdministrator.Checked := FUserControl.User.ProtectAdministrator;
+ ckUserUsePrivilegedField.Checked := FUserControl.User.UsePrivilegedField;
+
+ ckUserProfileActive.Checked := FUserControl.UserProfile.Active;
+
+ ckUserPassowrdChangeForcePassword.Checked := FUserControl.UserPasswordChange.ForcePassword;
+ spedtUserPasswordChangeMinPasswordLength.Value := FUserControl.UserPasswordChange.MinPasswordLength;
+
+ edtLogControlTableLog.Text := FUserControl.LogControl.TableLog;
+ ckLogControlActive.Checked := FUserControl.LogControl.Active;
+
+ // Login
+ spedtMaxLoginAttempts.Value := FUserControl.Login.MaxLoginAttempts;
+ cbGetLoginName.ItemIndex := integer(FUserControl.Login.GetLoginName);
+ // login inicial
+ edtInitialLoginUser.Text := FUserControl.Login.InitialLogin.User;
+ edtInitialLoginPassword.Text := FUserControl.Login.InitialLogin.Password;
+ edtInitialLoginEmail.Text := FUserControl.Login.InitialLogin.Email;
+ mmInitialRights.Lines := FUserControl.Login.InitialLogin.InitialRights;
+ // AutoLogin
+ edtLoginAutoLoginUser.Text := FUserControl.Login.AutoLogin.User;
+ edtLoginAutoLoginPassword.Text := FUserControl.Login.AutoLogin.Password;
+ ckLoginAutologinActive.Checked := FUserControl.Login.AutoLogin.Active;
+ ckLoginAutoLoginMessageOnError.Checked := FUserControl.Login.AutoLogin.MessageOnError;
+ // Figuras
+ imgTop.Picture.Bitmap := FUserControl.UserSettings.Login.TopImage.Bitmap;
+ imgLeft.Picture.Bitmap := FUserControl.UserSettings.Login.LeftImage.Bitmap;
+ imgBottom.Picture.Bitmap := FUserControl.UserSettings.Login.BottomImage.Bitmap;
+end;
+
+procedure TUCEditorForm.SpeedButton1Click(Sender: TObject);
+var
+ frmLogin: TfrmLoginWindow;
+begin
+ try
+ frmLogin := TfrmLoginWindow.Create(nil);
+ with frmLogin do
+ begin
+ FUserControl := Self.FUserControl;
+// btOK.onClick := BotoesClickVisualizacao;
+// BtCancela.OnClick := BotoesClickVisualizacao;
+ Caption := Self.FUserControl.UserSettings.Login.WindowCaption;
+ LbUsuario.Caption := Self.FUserControl.UserSettings.Login.LabelUser;
+ LbSenha.Caption := Self.FUserControl.UserSettings.Login.LabelPassword;
+ ImgTop.Picture := Self.ImgTop.Picture;
+ imgLeft.Picture := Self.imgLeft.Picture;
+ ImgBottom.Picture := Self.imgBottom.Picture;
+ btOK.Caption := Self.FUserControl.UserSettings.Login.BtOk;
+ BtCancela.Caption := Self.FUserControl.UserSettings.Login.BtCancel;
+ Position := Self.FUserControl.UserSettings.WindowsPosition;
+ ShowModal;
+ end;
+ finally
+ SysUtils.FreeAndNil(frmLogin);
+ end;
+end;
+
+procedure TUCEditorForm.SpeedButton2Click(Sender: TObject);
+begin
+ imgTop.Picture := nil;
+end;
+
+procedure TUCEditorForm.SpeedButton3Click(Sender: TObject);
+begin
+ imgLeft.Picture := nil;
+end;
+
+procedure TUCEditorForm.SpeedButton4Click(Sender: TObject);
+begin
+ imgBottom.Picture := nil;
+end;
+
+end.
+
diff --git a/official/2.20/Source/UCHist_Form.dfm b/official/2.20/Source/UCHist_Form.dfm
new file mode 100644
index 0000000..ad89169
--- /dev/null
+++ b/official/2.20/Source/UCHist_Form.dfm
@@ -0,0 +1,1309 @@
+object FrmHistorico: TFrmHistorico
+ Left = 99
+ Top = 127
+ BorderStyle = bsDialog
+ Caption = 'Historico de Tabelas'
+ ClientHeight = 453
+ ClientWidth = 813
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ OldCreateOrder = False
+ OnClose = FormClose
+ OnShow = FormShow
+ PixelsPerInch = 96
+ TextHeight = 13
+ object Panel1: TPanel
+ Left = 0
+ Top = 0
+ Width = 813
+ Height = 49
+ Align = alTop
+ Color = clWhite
+ TabOrder = 0
+ object Image1: TImage
+ Left = 1
+ Top = 1
+ Width = 48
+ Height = 47
+ Align = alLeft
+ Center = True
+ Picture.Data = {
+ 055449636F6E000001000C00101010000100040028010000C600000018181000
+ 01000400E8010000EE0100002020100001000400E8020000D603000030301000
+ 0100040068060000BE060000101000000100080068050000260D000018180000
+ 01000800C80600008E1200002020000001000800A80800005619000030300000
+ 01000800A80E0000FE210000101000000100200068040000A630000018180000
+ 01002000880900000E3500002020000001002000A8100000963E000030300000
+ 01002000A82500003E4F00002800000010000000200000000100040000000000
+ 8000000000000000000000000000000000000000000000000000800000800000
+ 0080800080000000800080008080000080808000C0C0C0000000FF0000FF0000
+ 00FFFF00FF000000FF00FF00FFFF0000FFFFFF00000780000000000000067E76
+ 00000000000C8E8E8E77000000068E87E8E77000000687E887E8E7000007E7C8
+ E88E8C00000788E87C87E000000E8888F8E8700000088E88FF8880000008E8CF
+ 6E888000000888E8F88E800000088FFFFFFFF7000008B3B7B888F700000B89BB
+ 9BBBB70000078B77B7B9B7000000000007787000E7FF0000E0FF0000E00F0000
+ E0070000E0030000E0030000E0070000E0070000E0070000E0070000E0070000
+ E0030000E0030000E0030000E0030000FF870000280000001800000030000000
+ 0100040000000000200100000000000000000000000000000000000000000000
+ 00008000008000000080800080000000800080008080000080808000C0C0C000
+ 0000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF0000000800
+ 000000000000000000006C86C8000000000000000000C768E8EC700000000000
+ 0000668E8E8E8EC7E00000000000C7E8E7E8E8E87C00000000006C888E87E8E8
+ E86000000000C8EE88E88C8E8E8E70000000678C6778E8E8E8E7EC000000CE86
+ 8ECF88888878C0000000688EF7E86E7E8E8C00000000C888686888C646800000
+ 000068888F8F8FFF888E00000000C88E68EF8F88F88700000000E88E787FFF8F
+ 88FC00000000C88EFE6F66E7E8F60000000068F7887F8886768E00000000CFF8
+ 88EFFFFFFFF700000000E88FFFFFFFFFFFF80000000078B3B38B88FFFFF80000
+ 000078B9B9B9BB3B3B88700000007B8BBBBB9BBBBBBBC000000078888988B8B9
+ B9BB7000000065717773573777776000000000000000000000000000FBFFFF00
+ F03FFF00F007FF00F0007F00F0003F00F0001F00F0000700F0000300F0000700
+ F0000F00F0001F00F0000F00F0000F00F0000F00F0000F00F0000F00F0000F00
+ F0000F00F0000F00F0000700F0000700F0000700F0000700FFFFFF0028000000
+ 2000000040000000010004000000000000020000000000000000000000000000
+ 0000000000000000000080000080000000808000800000008000800080800000
+ 80808000C0C0C0000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000
+ FFFFFF00000000000000000000000000000000000000006C7670000000000000
+ 00000000000007C8E8CEC7E000000000000000000000076678E8E8C767000000
+ 0000000000000EC7CE8E8E8E8EC6C80000000000000007C78E87E8E8E8E8E7C6
+ 00000000000006C68E8E8C8E78E8E8E7C0000000000008C788E88E8E8E78E8E8
+ E7000000000006CE8E87E888E8E7E8C8E7C80000000007E78CE7CE8E888E8E8E
+ 8E8C800000000C68868686888E8888E8E8EEC000000008CE86E8E788888E8E88
+ 8E5C0000000006C88E887CE86CE8888E8C8000000000086887C88E88E7646C68
+ 8600000000000CE8FFFE8688F8888E7C8C000000000007C8FE8F8F8F8F888888
+ E700000000000E6887E67E8FF8F8FF8F8E000000000007CFFE8CF888F8F8F888
+ F600000000000E788688E7EF8EF88FF8FE00000000000CE8FE8F8C8F666E67E8
+ 88700000000007CF8788FE7F888C8666C8E00000000006EFF8E867EFFFFFF88F
+ F8C0000000000C88FFFFFFFFFFFFFFFFFF700000000006888FFFFFFFFFFFFFFF
+ FF60000000000CB8B39B7B8888F8FFFFFF60000000000688B9BB9B9BBB3B8888
+ 8F800000000007B8BB9BBBB9B9BBBBBBBB78000000000CB888B9B9BBBBB9B9BB
+ 9B760000000006888B888B8B98BBBBBBBB37000000000773797B79B7B9898989
+ B786000000000077777C8C7C7C76767775780000000000000000000000000000
+ 00000000FFFFFFFFFC1FFFFFF801FFFFF8003FFFF80003FFF80000FFF800007F
+ F800003FF800000FF8000007F8000007F800000FF800001FF800003FF800003F
+ F800003FF800003FF800003FF800003FF800001FF800001FF800001FF800001F
+ F800001FF800001FF800001FF800000FF800000FF800000FF800000FFC00000F
+ FFFFFFFF28000000300000006000000001000400000000008004000000000000
+ 0000000000000000000000000000000000008000008000000080800080000000
+ 800080008080000080808000C0C0C0000000FF0000FF000000FFFF00FF000000
+ FF00FF00FFFF0000FFFFFF000000000000000000000000000000000000000000
+ 000000000000000008C668000000000000000000000000000000000000000000
+ 06C7C6C6C0000000000000000000000000000000000000007C688E867C6C7800
+ 00000000000000000000000000000000C6CE778E8E8EC6C67000000000000000
+ 00000000000000006C7767E8E8E8E8ECEC6C8000000000000000000000000000
+ C66C8E8C8E7E8E88E8EC6C670000000000000000000000006C6868E8E8E8C8E8
+ E78E8ECEC6C800000000000000000000C6C7C8E8E8C8E8E78E8E88E8766C6000
+ 00000000000000006C68E8E87E8E8E8E7E78E78E877C60000000000000000000
+ 6C67888E88E8E8E8E8E7E8E7EE8EC6000000000000000000C6C8E8E8E88E878E
+ 77E8E7E878E8EC6800000000000000006CE788888E88E8E88E878E8E7E8E88EC
+ 6000000000000000C6778EC6E88E888E88E8E8C8E8C8E8E8C600000000000000
+ 6CE88E68C6C67E88E88E88E8E8E8E77E8C60000000000000C6C887C86E88C888
+ 8E88E88E88E88E8E8EC80000000000006CE88E6E7C8E68E888888E88E88E8E87
+ EC670000000000006C7888678E686888E8E888E88E88E8EC6700000000000000
+ CE688ECFFF86C88E677E8888888E88C780000000000000006C78F86F888E6888
+ C6C66CE7E8888EC00000000000000000CECF8E66E6886E888E766646466E87C0
+ 00000000000000006C7FFFF888C6C88F8F8888E76C658E600000000000000000
+ 6E6FF8FF8FFF88888F8F8888888E87C00000000000000000CC7FFE7E88F8FF8F
+ 8888F8F8F888886000000000000000006ECFF86766E6E8F8FF8F888F88888EC0
+ 0000000000000000C68FFECF8888C88F8F8F8F888F8FF8600000000000000000
+ 6CEFF8786C8FE8FF8F8F8F8F88F88FC80000000000000000CE7FFE6E8E6F7EFF
+ FFF8FF8FF88F8F6800000000000000006C8FF8C7FF7E76FF666E888F8FF8F8EC
+ 0000000000000000CE7FF8EFFFF6C8FF6C66C666668E8F670000000000000008
+ 6CEFF7EFFFFF6E8F88E766C66C666F8C0000000000000008CE8FF8C668E88C8F
+ FFFFFF888E7C688C0000000000000008C68FF8F88E7C6EFFFFFFFFFFFFFFFF86
+ 0000000000000008CE88FFFFFFFFFFFFFFFFFFFFFFFFFF8C0000000000000008
+ C68FFFFFFFFFFFFFFFFFFFFFFFFFFFF68000000000000008CE7F888FFFFFFFFF
+ FFFFFFFFFFFFFFFCE0000000000000086388B9B3373888FFFFFFFFFFFFFFFFF6
+ 7000000000000008CBBFB3B9BB9BB9B3378788FFFFFFFFF8C000000000000008
+ CB88B9BB9BB9BB9BBBBBBB33B78788F8C000000000000008CBBF8B9BB9BB9BBB
+ 9B9B9BBBBBBBBB376000000000000008CB888B9B9BB9BB9BBBBBB9B9B9BBBBBB
+ C000000000000008CBB888BBB9BBB9BB9B9BBBBBBBB9BB9B6800000000000008
+ 698F8F8F8F88B8BBB9BB9B9BB9BBBBBB6C00000000000008CBB9B37B8B7B8888
+ 8F888B8BBBBB9BBB7600000000000000C7777797939799B939B9B9B79898B798
+ 7C000000000000006C6C46C6C6C66C6C66C6674767775776C700000000000000
+ 00000000000000888888C8C8C7C66C6800000000000000000000000000000000
+ 000000000000000000000000FFFFFFFFFFFF0000FF83FFFFFFFF0000FF807FFF
+ FFFF0000FF0003FFFFFF0000FF00007FFFFF0000FF000007FFFF0000FF000000
+ FFFF0000FF0000000FFF0000FF00000007FF0000FF00000007FF0000FF000000
+ 03FF0000FF00000000FF0000FF000000007F0000FF000000003F0000FF000000
+ 001F0000FF000000000F0000FF000000000F0000FF000000003F0000FF000000
+ 007F0000FF00000001FF0000FF00000001FF0000FF00000001FF0000FF000000
+ 01FF0000FF00000001FF0000FF00000001FF0000FF00000001FF0000FF000000
+ 00FF0000FF00000000FF0000FF00000000FF0000FF00000000FF0000FE000000
+ 00FF0000FE00000000FF0000FE00000000FF0000FE00000000FF0000FE000000
+ 007F0000FE000000007F0000FE000000007F0000FE000000007F0000FE000000
+ 007F0000FE000000007F0000FE000000007F0000FE000000003F0000FE000000
+ 003F0000FE000000003F0000FF000000003F0000FF000000003F0000FFFFFC00
+ 00FF0000FFFFFFFFFFFF00002800000010000000200000000100080000000000
+ 000100000000000000000000000100000001000000000000B45D2800B6612900
+ BB672D00C67436009B7E6E0079897500B0812F00B4853600D4823E00DC873B00
+ E08B3700E7983F00A08F6F00BD896800A5877600AD8A7600BF8F7000B4927D00
+ BE977E00D2864600C59C4E00CA9E4D00CC895100CC895600C99E5500DB945600
+ E89D4100E39D5E00CBA24F00CCA25100C6A15900DAAD5900EAA54A00E6AA5300
+ E8A45B00E3AD5B00FBBF5900CB8D6300C09E6500CA9E6500CEAA6100CAA66B00
+ D6AF6400D5B57100D5B57700DBBA7700D1B37C00E3A26500E6B86500E1B86900
+ E9AC7100E8AF7D00E3BB7500EFB67B00F2BA7F00FCC15A00FFC75F00FFC76000
+ FFC86200FFC96400FFCA6900FFCB6C00FFCC6F00FFCD7200FFCF7600FBCD7B00
+ FFD07900089DEE000B9DF20004A7FF0000ADFF0000B4FF0000BBFF001FBFF800
+ 28ACEF0038AFF3002DB2F40029BAF7004E96CC005FA9DF0070A2CD0073ADDC00
+ 4ABAEF0045ADF1004CBCFF0000C2FF0000CAFF0016C6F90000D1FB0000D1FF00
+ 67CFF5006CC8F10066CFFF00D0B68600DEBF9A00DEC28400DFC38800DDC49900
+ E6C78D00FFD38100FFD48400FFD78E00E7C09100E1C49100E1C89100E7C89000
+ E2C89700EBC29D00F9D79700FFDB9700E1CDAA00E8D4A600E5D2AA00E8D5AC00
+ EFDBB400EBDAB800ECD9B900F9E4BD008BD4F300B1DFF400EEE2CC00F2E3C400
+ F8E6C400F7E8CB00FFEDCD00FFF0D500FFF2DB00CFE6F400FFF4E000E2EEF700
+ FDF9F300F2F7FA00FFFDFA00FFFEFD0000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000261300000000000000
+ 000000000000000328210B1700000000000000000000000124393939251B090E
+ 000000000000000242403D3B39393922170000000000000432203164403D3B3B
+ 390A0000000000142B1E166D6E6664433D0C00000000001A2E63156A07081935
+ 23000000000000307C736A7B7D76682A1C00000000000033611E2F7B81817E7E
+ 3400000000000036607229741F2F62746C00000000000037706A2C72796F5E27
+ 5F000000000000688286868686868686831300000000005B45444B535B777880
+ 840E00000000005D5546474849565759590D00000000004F515250544C4D4E4A
+ 5806000000000000000000000012100F05000000E7FF0000E0FF0000E00F0000
+ E0070000E0030000E0030000E0070000E0070000E0070000E0070000E0070000
+ E0030000E0030000E0030000E0030000FF870000280000001800000030000000
+ 0100080000000000400200000000000000000000000100000001000000000000
+ 7A5E55005F6374006B61660066766F0062637000895302009C660A009C6A1600
+ A9730B0093583900B05F2D00BA662B00BE6A2E00A1702300A56B3B00AE683B00
+ AF6B3D00B26D3E00A8783000C24B0100C44E0200C7520300CA560500CC590600
+ CF5C0700D15F0800D3610900D5630A00D6660B00D8680C00D96E1100D5721D00
+ C86D2900CC6D2B00D3702100D6762200D97F2C00CF743700C87E3F00D0713000
+ D0753A00D2793C00C07E4B00D17A4200D37C4100D47E4400D47F4900B4801A00
+ B2832C00B5852C00B9882B00AD813500B3843300BF913300C3953500C0943900
+ C89A3800E4903400E8973A00BA904A00BD954C00B4845A00BE995800CB8A4B00
+ C4974400C59A4200C79C4E00C99B4800C98B5600D98D5D00C89F5000CE985600
+ CA9F5600D5985000CFA34F00CBA45600CCA65B00D2AA5300D6A85000D1AC5D00
+ D9AD5C00ECA24400EFAA4A00F2AC4A00F6BA5800F6BA5F00D9916200DC966900
+ D59D6A00C4937400C5967800DD9B7100C8A76C00D3AC6200D1AB6400D5B16100
+ D4B06A00D2B06D00DBB46C00C7A87500CDAE7700D7A27200D2B07000D4B27500
+ DDBA7700ECB86600E1BB7600F0BA7B00F8C15F00FDC35C00FFC75F00F7C36300
+ FAC36000FFC76000FFC86100FFC96500FFCA6900FFCC6E00EDC27100FFCD7200
+ FFCE7600FFD07A00FFD17E004C6A8C0062758000627E80006378900062878000
+ 72828600578AB0006085A7000091E700099AEF001498E50000B3EF0000A5FF00
+ 00AAFF0000AFFF001CABFF0000BCF70000B0FF0000B4FF0000B9FF0000BEFF00
+ 34A5E60020BEF00029B1FF0057B3E80077BEE90066B8F4007FBFF30000C1FE00
+ 00C7FF0001CCFF0019CCFF0005D7F90000D0FF0000D5FF0029CCFF003CCDFF00
+ 43CAF2004CCEFF0059CBFD0062C7FB0076C3F70079CCFB007FCEFF0063D3F200
+ D7BC8F00E2AC8800E3B68B00E4BA9100DCC28A00DCC59A00E9C68300E5C48900
+ F1CA8200FBCE8500FFD28100FDD38400FFD48600FFD58900FFD68C00E2C49000
+ E9CB9000E8C19A00E3CD9F00EACF9B00F4C99400EBD09F00FBD79500FFD89100
+ FFD99400FFDB9800FFDD9E00E5CEA000EAC6AD00E5D0A100ECD6AA00FDDDA100
+ F1D0AD00E6D3B100EDDAB400EBDBB800ECDDBA00EEDEBC00F3D2B000F8DAB000
+ EFE0BE00F9E2B70088C3CC0097C8EA008CC7F50092CDF70099DDFF00BBD6EE00
+ 99E0FA0099E2FF00D6D5CE00EBDDC200F7E7C700FBE0C100FFEAC500FFECC900
+ F9EACE00FFEDCD00F4EBD700F8EBD100FFEFD100F9EDD600FFF0D500FFF1D900
+ FFF2DD00FFF4DF00CFE2F300DBE9F600FFF4E100FFF6E600FAF4E900FFF7E900
+ FFF8EB00EFF5FB00FFFAF200FEFBF600FFFCF600FFFCF900FFFEFD0000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 005C000000000000000000000000000000000000000000002F274021295B0000
+ 0000000000000000000000000000000014113E7071533A202A00000000000000
+ 00000000000000001411486F6F6F6F6F6F522521460000000000000000000000
+ 14106A74746F6F6F6F6F6F714A0C000000000000000000001412B47B79767671
+ 746F6F6F6F5524000000000000000000162BB14F77B47B7B7676746F6F6F6F3B
+ 2E000000000000001645AF4B334451B7B67B7B797674746F542A000000000000
+ 1859B9305E6341C8C3C2C2B4B47B795524000000000000001866BC69DF5E43B0
+ 0735476BC2C2B22800000000000000001AABDD614C4732DFBE683C0E06136C00
+ 00000000000000001AACE4C7E1E9E1E7E4E1E1DFD2B0BD5A0000000000000000
+ 1ABACB50424D61EDE9E9E7E5E1E1D05700000000000000001EC9CD3937C468F1
+ F1EEEDE9E9E7E72E00000000000000001ACFCD60F66138F309323C5DA9CAE426
+ 00000000000000001FC9D14FC6CD36EFDCAE653F3408642E0000000000000000
+ 1FDEF3E3CDBBADF6F6F6F6F6F3F3F35700000000000000001FDBEBF2F6F6F6F6
+ F6F6F6F6F6F6F6AA000000000000000004D9858486919495D4D8ECF6F6F6F6C5
+ 000000000000000080D993888A8D8D909898908792A1A8D35800000000000000
+ 7ED7A78B888A8A8D90909899999E9E9C2E000000000000007D9697D5D6A5A7A4
+ A3A2A09F9B999E9E0F000000000000000B0A0A010101030505027C7F7F838281
+ 0D000000000000000000000000000000000000000000000000000000FBFFFF00
+ F03FFF00F007FF00F0007F00F0003F00F0001F00F0000700F0000300F0000700
+ F0000F00F0001F00F0000F00F0000F00F0000F00F0000F00F0000F00F0000F00
+ F0000F00F0000F00F0000700F0000700F0000700F0000700FFFFFF0028000000
+ 2000000040000000010008000000000000040000000000000000000000010000
+ 0001000000000000935D0600BC4F0E00BC500E0097620B009B6609009C6A1900
+ A9730A00A06E1A00A8741000AD7A1C00965D3F00AE5F2300BE632500A5762C00
+ AB7D2D00A9633A00BA6C3600A6773100C1530C00C0551000C55B1100C85F1300
+ CC641500CF681600CE661B00CF691F00D16C1B00D5701A00D9751B00DE7C1F00
+ C7672600CA652300C76B2600CD6A2500CC6B2C00D16F2A00D5762300D9792300
+ D0712F00CE6E3000C57E3D00C97E3C00D1733500D0743900825C4C008D614D00
+ AC6C4200B1724600AB775500B07E5600B97A5200D27A4100AE802B00B8862200
+ BB8B2700B4842D00BD8C2900B3863500BD8D3100B2883B00BB8D3800DC832D00
+ C08F3400C3933300C3953800C79B3B00E2862C00E78A2D00EA8D2E00E18C3600
+ EE933400E8983A00F49C3F00CCA03E00B88D4500B58D4B00BC954E00B3836400
+ BD947900DF8D4000C0954500C69A4500CC9E4A00DA914200D5994F00C0845300
+ C18A5400CA855900D4865400D6885400DA8E5700D68D5E00C49C5500CBA04400
+ CAA04D00D0A54600CDA55300CCA15900D7A95500D8A25B00D0AC5F00DFA95900
+ E7A64E00F0A84700F2AE4B00F5B55200F7BB5900F8BD5B00CD8D6300C48F6D00
+ CA936000C19E6000DA926400DC966800D19D6D00C99A7B00DF9F7600CEAA6100
+ CAAA6D00D3AD6500D1A56B00D5AE6900D5B36A00C8A77500DFA37500D2AF7400
+ DCAD7E00DBB47000D5B77A00D7B97E00DCB97900E0AD6000E3B76600EABE6D00
+ F7C05D00FEC65E00FFC76000FFC86400FFCB6B00F1C17200FFCD7300F4C97A00
+ FFD07B003C78B000517398004578A200628B80004284BF0043AAA8000389DD00
+ 2093DD002BB6C50029A8DD00008BE2000894E9002C9CEA003498E70000A9FC00
+ 16A7FE0001B6FD0036ABEF002FB8EE003DBDEE0022B6F9003ABAF300488CC700
+ 4DAAC00040A2E00055BBE90041B7FF0052BEFF0063B4E70001C9FD0017C9FF00
+ 00D3FF0023C7FE0035C5FE004FC4FC0071C4EB0060C7FC0079CAFA00D1B58500
+ DCB18600DCBD8300D6BB8900DEC28800DEC59200EAC58100EFCE8F00F6C88500
+ F2CB8D00FED38300F6D28D00FED58A00E4CB9400E7C39E00E4CB9A00EACE9D00
+ EED09900FAD79500FFD99400F0D29800FFDC9A00EBC2A100E1CAA200E0CEAF00
+ EDCDAC00ECD1A000E6D2AC00EBD6AC00F0D5A100F8D5A300FDDDA000F3DAAC00
+ EDCFB100EAD7B800F5DABA00F3E0B900FBE5BD0089C7EB0083C7F70099CDF700
+ 9ED7FC00A2D1EF00B4D3EC00AAD8F900B8DAF100AAE3FD00D5DCDF00EEDFC000
+ F5DDC500EFE0C300F3E3C300FEEAC400F4E4CB00F9E5CF00F3E8CF00FEECCB00
+ EFE5D100F4EAD400FDEED200FEEDD900FEF0D500FEF2DB00CAE0F200D6E6F400
+ F6EEE300FFF4E200F9F4E900FFF9EE00E7F1F900FEFDFB000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000002021232B4E0000000000000000000000000000000000
+ 0000000000000000006E13577C79542519277100000000000000000000000000
+ 00000000000000000034022F328489896A684826233400000000000000000000
+ 00000000000000000034022F578788888888888888693E1B235A000000000000
+ 00000000000000000034022F64898888888888888888886C672A0D1F00000000
+ 00000000000000000034032F8C8D8B8B8A89888888888888888866292C000000
+ 000000000000000000341430C0C08F8F8B8B8B8A888888888888886B43270000
+ 000000000000000000341556C185868EC0C08F8F8B8B8A8A8A8888888A691B72
+ 00000000000000000034166FBF37533F4163C2C0C08F8F8D8B8A8A88888A6A25
+ 6D0000000000000000341773CA3F533BBC38C8CBC8C2C2C28F8F8F8D8A8A8869
+ 22000000000000000034187FD3366180613BBDD5D5D5C8C2C2C2C08F8F8F4619
+ 000000000000000000341BB7D652EAEA7A0AC78305386283BCC1CBC2C2465800
+ 000000000000000000341CC4DA3F5378B838B8D65D350401080E4B7BBE220000
+ 000000000000000000341DCFF8F8DAC5784BC7EEEEEADBC77E4B0E12BF190000
+ 000000000000000000341DD7F0C5D2EEF8F3F3F3F0F3EEEEEAEAD6C7D4240000
+ 000000000000000000341ED8EB426537525DD2F8F8F3F8F3F3EEEEEEDA2B0000
+ 0000000000000000003443E7EB61BA39E8B8C5F8F8F8F8F3F8F3F3F3EE340000
+ 0000000000000000003444E7EC4060C55F82B9FACDD1E8ECF8F4F8F8F35B0000
+ 0000000000000000002C44EBEC4AF0FCBB3782FA070935384B70B9CDEC7D4F00
+ 0000000000000000002344EBF060D8E6EC7B76FAD8B9774D3C3506044CC43300
+ 0000000000000000002347EBFAC37B7B614178FAFCFCFAFCF7EFD8CED8E63400
+ 0000000000000000002349F2FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFAF92800
+ 0000000000000000002355E5E3F6FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC2800
+ 0000000000000000002399E49B9A9697A8ACDCE0E3F5F6FBFCFCFCFCFCFC3400
+ 00000000000000000023B0E4A49E9E9E9EA09E9EA0A2A2A3A9B3DCE1F6FC6D00
+ 00000000000000000023B0E4AB9E9E9E9EA0A0A0A0A0ADADADADAFAFAFAD9375
+ 00000000000000000023A4E4DFAA9F9E9E9E9EA0A0ADA0ADADADAFAFAFAF9559
+ 000000000000000000239FDDDEDEE2DFDDB5B4B2B1B1B1B0B0AEADADAFAF9811
+ 0000000000000000002492919190949494A69D9D9D9D9D9CA1A1A1A3A3A4A70C
+ 0000000000000000000031313131343434342C23242311101010102E2D0B2874
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000FFFFFFFFFC1FFFFFF801FFFFF8003FFFF80003FFF80000FFF800007F
+ F800003FF800000FF8000007F8000007F800000FF800001FF800003FF800003F
+ F800003FF800003FF800003FF800003FF800001FF800001FF800001FF800001F
+ F800001FF800001FF800001FF800000FF800000FF800000FF800000FFC00000F
+ FFFFFFFF28000000300000006000000001000800000000000009000000000000
+ 000000000001000000010000000000007B5E550062647200627D7500854F0000
+ 8B550100925B0000B8500E00B8511000976000009B6300009F6800009F6F1E00
+ A26A0000A36D0B00AB730700B27A0500A06D1800AB761400AD781600A2701F00
+ AF7D1E0093593900B45D2800BF652600B5602900BA642A00BE6B2C00A8792C00
+ B07E2300B86E3900AA7B3300C34D0100C3500600CA550500CC580600C4550C00
+ C8560800CF5C0800C7591100D7670C00CF651300C5611B00D26B1A00D6741F00
+ E4781200CB642100C16E2E00C86B2A00C3712F00DA7B2500CF6F3100C5743000
+ CA7A3200CE7D3800D3773800875B470093714100A8734F00AF7F5800B37E5100
+ CF7D4600D27A4100BB830700B5811C00BA871F00B4812500B9862500BC8A2700
+ BD8D2D00BF902F00AF843C00BD8E3400B5893C00B98E3C00BF923900C0891000
+ ED831600DE832B00C4952F00DC833200C4973B00EE962900E5923600CEA13F00
+ B58D4800B3805700BF865100BB95550094856100B78B6000BE8D6200BF976900
+ CB814100CB874800D88F4900C69A4400DB944400D6855100C89E5300C69F5E00
+ CE995A00E79F4600E29D4B00E2975400CEA64F00D0A14900CBA45A00D1A45100
+ D3A85400D3AB5B00DEA85900F0A94900F4B04E00E4A25E00F8B85300F3BC5F00
+ FBBF5900CE9A6000DA906100DC9B7100CCA76100D2AB6500D5B06500DCB36700
+ D5B16B00DAB56D00CEA27400C8A97300CBAE7A00D1AE7400D4AB7E00CFB07600
+ D4B47500DBBB7700D1B37C00DABC7C00E6A56100E4B06000E4B26900E3BA6D00
+ F0B66E00E2A27400E0B77000E3BE7C00F3B97800FFC75F00DEC17E00FCC66100
+ FFC86300FFCB6B00FFCE7300FACD7E00FFD07B001078BD00316EA8002570B600
+ 007ACF001075C7000078DF004197AC00769AB3000087DF000095DF002090D700
+ 0D80E100009EEB00009BFF002697ED003395E70000A2EF0000B5EF0000A8FE00
+ 00B7FE0033ADEF0026AFFF0026B7FF0033BFFF00408DCF004093D3005097D300
+ 40A8DF0070AADB00409FE90040AEE3004CB4E30046BAFF0066B3EF0000C0EF00
+ 15D0E90000C7FE0000D4FE0033D1FF004DC5FF0040D1FF0066CBFB0073CEFF00
+ 66D7FF0066E0FF00D4AC8300D8BB8500E1A68000E2B28F00E2B69900DDC08000
+ DEC79B00E7C68800F4CC8100F0C08B00F0CC8D00FECB8F00FFD38300F3D08F00
+ FFD68A00FFD88F00E5CA9400F0C29100E6D09F00FFD99300F8D69900FEDC9B00
+ DFCBA800E9CDA800F4CFA400E8D3AB00F1D7A700FFDEA100F0CFB400E9D7B800
+ FFE0A500FFE1AA00EFE0BF00FDE5BA0080B3DF008FBDE30080C1E7009FC6E700
+ 8CD3FF0099D2F800AFD0EB00BFD9EF00A6DCFF008CE0FF0099E2FF00B3E4FF00
+ FDEAC700EFE1D400FEEED100FEF2D900CCEAFD00DFECF700CCF0FF00FEF6E600
+ E6F0F900FFFDFB00000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000C92020337800000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000000000202A5E302420203E000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000003E202A878787765E2A20202762C90000000000000000000000000000
+ 00000000000000000000000000000000000000002020173B5A5C8F9294746632
+ 2920202062000000000000000000000000000000000000000000000000000000
+ 000000002020173A3A3C9292929292929292704E29202033C900000000000000
+ 00000000000000000000000000000000000000002020173A3A6F929292929292
+ 929292929273532B20202A620000000000000000000000000000000000000000
+ 000000002020173A3C9292929292929292929292929292949467372A20202E77
+ 00000000000000000000000000000000000000002020173A6595959492929292
+ 92929292929292949492928A571E18242E000000000000000000000000000000
+ 000000002020173A8B97969695959592929292929292929292929292926F3C19
+ 20000000000000000000000000000000000000002020173A98D3D39797969696
+ 95959292929292929292929292929261252A0000000000000000000000000000
+ 0000000020201956D5D3D3D3D3D3979797969695959492929292929292929292
+ 732C20620000000000000000000000000000000020251A5BDCCFDAD5D3D3D3D3
+ D3979797969695959592929292929292929253252E0000000000000000000000
+ 0000000020231B7FE26C0D436A8CD6D5D3D3D3D3D39797969696959592929292
+ 92929271292A000000000000000000000000000020261B83E66D417C48130B42
+ 6AD6D5D3D3D3D3D3979797969695959492929292732920000000000000000000
+ 0000000020261BC7E86D45D1136CD48F0BDCDCDADAD5D5D3D3D3D39797979696
+ 9595959295922B3E000000000000000000000000202634DEE86E0F0F4B0F8FE6
+ 09CEDCE2DCDCDADAD6D5D3D3D3D3D39797969695702B20770000000000000000
+ 00000000212831DEF57C0F6CE8CE0ED10ECEE6DCE2E2E2DCDCDADADAD5D3D3D3
+ D3D39750212E0000000000000000000000000000202834E0F57B48F5F5F57D13
+ 1DCEE86B06426390DBE2DCDCDCDADAD5D3D35021C90000000000000000000000
+ 00000000202835E4F77D43F5F5F5F5600BD7E86B090606060614497BD1DCDCDC
+ DA8D200000000000000000000000000000000000212D34FCF8D7100F40517DD9
+ 0E60F5F5D77949110605050504051F7BE2682000000000000000000000000000
+ 00000000202837FCF8F8F8E7D77D480F0D6BF5F5F5F5F5E8E1CC641C0505041C
+ E668200000000000000000000000000000000000202D37FCFCFCFCF8FCF8F8F8
+ E7F5F8F7F5F7F5F5F5F5F5E8F5D18155E8682000000000000000000000000000
+ 00000000202D35FEFCD77BCCE0F7FCFCF8F8F8F8F8F7F7F7F7F5F5F5F5F5F5E8
+ E8D0200000000000000000000000000000000000202D37FCFE863F51100F104B
+ 7AE0FCF8F8FCF8F8F7F7F7F7F5F5F5F5F5D82000000000000000000000000000
+ 00000000202D61FEFC8851FECE86E4854B85FCFCFCF8FCF8F8F8F8F7F8F7F7F7
+ F5DF200000000000000000000000000000000000214D72FEFE8854D7100FE7FC
+ 8785FCFCFCFCFCFCFCFCF8F8F8F8F7F7F7F721C9000000000000000000000000
+ 00000000202D72FEFE884C106E863FE7866BFEFCFCFCFCFCFCFCFCFCFCF8F8F8
+ F8F724C900000000000000000000000000000000204D89FEFE883F6DFEFE7A48
+ 7D4BFEFC0E424987C8E0F6FCFCFCFCFCF8FC373E000000000000000000000000
+ 00000000204D89FEFE884FFEFEFEFE450F51FEFE0F0D0D0B0B0B090B1C5580C8
+ E4FC3E35000000000000000000000000000000C9204D89FEFECE54FEFEFEFEFC
+ 4145FEFECD864A4A0B0B0B060906090606FC8E20000000000000000000000000
+ 000000C9204D89FEFE883F4C54698886C810E4FEFEFEFEFEFEFCE4DD8158470C
+ 06FCCA20000000000000000000000000000000C9204D91FEFEFCE7D9887E6060
+ 1045FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEE320000000000000000000000000
+ 000000C9204DD2FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFEFEFC
+ FEFCF620000000000000000000000000000000C9214DD2FEFEFEFEFEFEFEFEFE
+ FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE21C90000000000000000000000
+ 000000C92052A1FDE9F0F0FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+ FEFEFE303E0000000000000000000000000000C9219AC3F9A2A29D9D9EB2B4E9
+ ECF0FAFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE3E350000000000000000000000
+ 000000C920BEC6F9B0ACACACADACACAAA6A3A29DA4B3B6E9EFF0FEFEFEFEFEFE
+ FEFEFE78200000000000000000000000000000C920BEC6F9BAACACACACADACAD
+ ADADBEBEBEBEBEBEAAABA3A3B8B8EBEAF0F9FECB200000000000000000000000
+ 000000C920BEC3F9C3A7ACACACACADACADADACADADBEADBEBEBEBFBEBFBFBFBF
+ BFBCBCA0200000000000000000000000000000C920ADC3F9F1A7ACA7ACACACAC
+ ADACBEADADADBEADBEBEBEBEBFBEBFBFBFBFBFBD200000000000000000000000
+ 000000C920ACC3F9F9EDBAAFACACACACACADACADADADADBEBEBEBEBEBEBEBFBF
+ BFBFBFBF087800000000000000000000000000C920ACC4F9F9F9F9F9F9F4F3C4
+ C3C1B1B0ADADADADADBEBEBEBEBEBEBFBFBFBFBF393E00000000000000000000
+ 000000C920A7A8A9A9A9A9BBBBBBBBBBEEEEEEEEEEF9F3F3F2C3C3C2C0C0BFBE
+ BEBFBFBF032100000000000000000000000000002002020202029B9B9B9B9B9B
+ 9C9F9F9F9F9F9F9F9FA5A9A9A9A9B7BBBBAEAEB9592100000000000000000000
+ 000000003E212020202020202020202020202020202020081616161616160102
+ 0202382121770000000000000000000000000000000000000000000000000000
+ 0000C9C9C9C9C9C9773E3E3E3E3E3E2721212E78000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000FFFFFFFFFFFF0000FF83FFFFFFFF0000FF807FFF
+ FFFF0000FF0003FFFFFF0000FF00007FFFFF0000FF000007FFFF0000FF000000
+ FFFF0000FF0000000FFF0000FF00000007FF0000FF00000007FF0000FF000000
+ 03FF0000FF00000000FF0000FF000000007F0000FF000000003F0000FF000000
+ 001F0000FF000000000F0000FF000000000F0000FF000000003F0000FF000000
+ 007F0000FF00000001FF0000FF00000001FF0000FF00000001FF0000FF000000
+ 01FF0000FF00000001FF0000FF00000001FF0000FF00000001FF0000FF000000
+ 00FF0000FF00000000FF0000FF00000000FF0000FF00000000FF0000FE000000
+ 00FF0000FE00000000FF0000FE00000000FF0000FE00000000FF0000FE000000
+ 007F0000FE000000007F0000FE000000007F0000FE000000007F0000FE000000
+ 007F0000FE000000007F0000FE000000007F0000FE000000003F0000FE000000
+ 003F0000FE000000003F0000FF000000003F0000FF000000003F0000FFFFFC00
+ 00FF0000FFFFFFFFFFFF00002800000010000000200000000100200000000000
+ 4004000000000000000000000000000000000000000000000000000015080003
+ AF4D0CA383380684411A003E1508000500000000000000000000000000000000
+ 000000000000000000000000000000000000000000000000000000006C2B015A
+ BB672DFFCA9E65FFEAA54AFFDF862EF4BC6218BF83360378411A002C00000000
+ 000000000000000000000000000000000000000000000000000000008234016A
+ B45D28FFE3AD5BFFFFC75FFFFFC75FFFFFC75FFFFBBF59FFE89D41FFCF7428E4
+ 96430D9F2B11001E00000000000000000000000000000000000000008234016A
+ B66129FFFBCD7BFFFFCD72FFFFCA69FFFFC862FFFFC75FFFFFC75FFFFFC75FFF
+ E6AA53FFB6560EB22B110015000000000000000000000000000000008234016A
+ C67436FFE1B869FFDAAD59FFE6B865FFFFD381FFFFCF76FFFFCB6CFFFFC964FF
+ FFC760FFFCC15AFFD87822E2411A00310000000000000000000000008234016A
+ D28646FFD6AF64FFCCA251FFCA9E4DFFF9D797FFFFDB97FFFFD78EFFFFD484FF
+ FFD079FFFFCC6FFFE7973CFB6E2E036A0000000000000000000000008234016A
+ DB9456FFDBBA77FFE6C78DFFC59C4EFFE7C890FFB0812FFFB48536FFC99E55FF
+ E3BB75FFE8A45BFF411A0037000000000000000000000000000000008234016A
+ E3A265FFF7E8CBFFEFDBB4FFE2C897FFF8E6C4FFFFEDCCFFF9E4BDFFE1C491FF
+ CAA66BFFE39D5EFF15080005000000000000000000000000000000008234016A
+ E9AC71FFDFC388FFCBA24FFFD5B577FFF2E3C4FFFFF4E0FFFFF2DBFFFFF0D5FF
+ FFEECFFFE8AF7DFF411A001C000000000000000000000000000000008234016D
+ EFB67BFFDEC284FFE8D5ACFFCEAA61FFEBDAB8FFC6A159FFD1B37CFFDDC499FF
+ ECD9B9FFEBC29DFF411A003A000000000000000000000000000000008234017F
+ F2BA7FFFE8D4A6FFE1C891FFD5B571FFE5D2AAFFEEE2CCFFE1CDAAFFD0B686FF
+ C09E65FFDEBF9AFF6C2B015F000000000000000000000000000000008234017F
+ E7C091FFE2EEF7FFFFFFFFFFFFFFFEFFFFFEFEFFFFFEFDFFFFFEFCFFFFFDFBFF
+ FFFDF9FFFDF9F3FF82370684000000000000000000000000000000008234017F
+ 67CFF5FF0B9DF2FF089DEEFF28ACEFFF4ABAEFFF6CC8F1FF8BD4F3FFB1DFF4FF
+ CFE6F4FFF2F7FAFF9F5627A8000000000000000000000000000000008234017F
+ 66CFFFFF4CBCFFFF04A7FFFF00ADFFFF00B4FFFF00BBFFFF00C2FFFF00CAFFFF
+ 00D1FFFF00D1FBFF8A744CCD000000000000000000000000000000008234017D
+ 4E96CCFF70A2CDFF73ADDCFF5FA9DFFF45ADF1FF38AFF3FF2DB2F4FF29BAF7FF
+ 1FBFF8FF16C6F9FF758671F7000000000000000000000000000000002B110017
+ 411A0055411A00558234016A8234016A8234017A8234017F76360F8A72371394
+ 6A391D9A663A21A66C2B015F0000000000000000C1FF0000C03F0000C0070000
+ C0030000C0010000C0010000C0030000C0030000C0030000C0030000C0030000
+ C0030000C0030000C0030000C0030000C0030000280000001800000030000000
+ 0100200000000000600900000000000000000000000000000000000000000000
+ 00000000000000000000000031130020C44E028F622701573113001400000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000C44E02B7C87E3FFFCB8A4BFFC86D29FFC45208CB
+ 933A01876227014B311300100000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000006227011CC24B01FFAF6B3DFFB4845AFFF7C363FFFAC360FF
+ EFAA4AFFE49034FFD5721DFFC65306C7933A017B622701300000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000062270120C24B01FFAE683BFFCE9856FFFFC75FFFFFC75FFF
+ FFC75FFFFFC75FFFFFC75FFFFDC35CFFECA244FFD97F2CFFC75E15E7C44E02A3
+ 6227015F3113000C000000000000000000000000000000000000000000000000
+ 000000000000000062270120C24B01FFAE683BFFECB866FFFFC966FFFFC861FF
+ FFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFF8C15FFFD59850FF
+ BA662BFF933A017B000000000000000000000000000000000000000000000000
+ 000000000000000062270120C44E02FFB26D3EFFFDD384FFFFD17EFFFFCF77FF
+ FFCC6FFFFFCA68FFFFC863FFFFC760FFFFC75FFFFFC75FFFFFC75FFFFFC75FFF
+ F6BA58FFD6741FFB933A017F3113000400000000000000000000000000000000
+ 000000000000000062270120C75203FFC07E4BFFF1CA82FFD6A850FFEDC271FF
+ FFD587FFFFD280FFFFD079FFFFCD72FFFFCB6AFFFFC964FFFFC760FFFFC75FFF
+ FFC75FFFFFC75FFFE8973AFFC65306BF31130018000000000000000000000000
+ 000000000000000062270120CA5605FFC98B56FFE9C683FFCFA34FFFB9882BFF
+ C99B48FFD9AD5CFFFFD890FFFFD589FFFFD382FFFFD17BFFFFCE74FFFFCC6DFF
+ FFC966FFFFC861FFFFC75FFFF2AC4AFFC75507C7000000000000000000000000
+ 000000000000000062270120CC5906FFD59D6AFFE9CB90FFB4801AFFD3AC62FF
+ DBB46CFFC49744FFFDDDA1FFFFDD9EFFFFDB98FFFFD892FFFFD68CFFFFD485FF
+ FFD17EFFFFCF77FFF6BA5FFFD26C1AF7933A017F000000000000000000000000
+ 000000000000000062270120CF5C07FFD7A272FFEACF9BFFDDBA77FFFFEBC6FF
+ D1AB64FFC79C4EFFE5C489FF9C660AFFB38433FFCA9F56FFE1BB76FFFBD795FF
+ FFD994FFFBCE85FFC95A0EDB3113002000000000000000000000000000000000
+ 000000000000000062270120D15F08FFE3B68BFFF7E7C7FFD4B06AFFCBA456FF
+ C89F50FFB5852CFFFFEBC7FFEBD09FFFD4B275FFBA904AFFA17023FF895302FF
+ A87830FFF0BA7BFF6227017F0000000000000000000000000000000000000000
+ 000000000000000062270120D36109FFE4BA91FFF8EBD1FFECD6AAFFF8EACEFF
+ FFF3DDFFFAEBCFFFFFF0D5FFFFEFD1FFFFEDCDFFFFECC9FFFFEAC4FFF9E2B7FF
+ E2C490FFF4C994FF933A018B0000000000000000000000000000000000000000
+ 000000000000000062270120D5630AFFE8C19AFFEDDAB4FFD1AC5DFFC59A42FF
+ CCA65BFFD2B06EFFFFF4E1FFFFF3DEFFFFF2DAFFFFF0D7FFFFEFD2FFFFEECEFF
+ FFECCAFFF8DAB0FFC44E029F0000000000000000000000000000000000000000
+ 000000000000000062270120D6650BFFF1D0ACFFEDDDB9FFC89A38FFC39535FF
+ E5CEA0FFD2B070FFFFF8EBFFFFF7E9FFFFF6E6FFFFF5E2FFFFF4DFFFFFF2DCFF
+ FFF1D8FFFFF0D4FFC34E03BF0000000000000000000000000000000000000000
+ 000000000000000062270128D7670BFFF2D1AFFFEEDEBCFFD5B161FFFFFCF8FF
+ D2B16CFFC09439FFFFFBF3FFA9730BFFB2832CFFBD954CFFC8A76CFFD7BC8FFF
+ E6D3B1FFF9EDD6FFCA631FE30000000000000000000000000000000000000000
+ 000000000000000062270140D8680CFFF3D2B0FFEFE0BEFFD2AA53FFE5D0A1FF
+ EBDBB8FFBF9133FFFAF4E9FFEBDDC2FFDCC59AFFCDAE77FFBE9958FFAD8135FF
+ 9C6A16FFC7A875FFD37C41FF3113000800000000000000000000000000000000
+ 000000000000000062270140D9690CFFFBE0C1FFFDFBF7FFF4EBD7FFECDDBBFF
+ E3CD9FFFDCC28AFFFFFEFDFFFFFEFCFFFFFDFBFFFFFDF9FFFFFCF8FFFFFCF6FF
+ FFFBF5FFFFFAF2FFD99363FF6227012C00000000000000000000000000000000
+ 000000000000000062270140D96E11FFD6D5CEFFCFE2F3FFEFF5FBFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFEFFFFFFFEFFFFFEFEFFFFFEFDFFFFFEFCFFFFFDFBFF
+ FFFDFAFFFFFCF8FFE2AC88FF6227014F00000000000000000000000000000000
+ 00000000000000006227014066766FFF99E0FAFF099AEFFF0091E7FF1498E5FF
+ 34A5E6FF57B3E8FF77BEE9FF97C8EAFFBBD6EEFFDBE9F6FFFFFFFEFFFFFEFEFF
+ FFFEFDFFFFFEFCFFEAC6ADFF6227017300000000000000000000000000000000
+ 000000000000000062270140628780FF99E2FFFF29B1FFFF00A6FFFF00ABFFFF
+ 00B0FFFF00B5FFFF00B9FFFF00BEFFFF00C0FDFF00BCF7FF00B3EFFF20BEF0FF
+ 43CAF2FF63D3F2FF88C3CCFFC44E029700000000000000000000000000000000
+ 000000000000000062270140627E80FF99DDFFFF7FCEFFFF1CABFFFF00A5FFFF
+ 00AAFFFF00AFFFFF00B4FFFF00B9FFFF00BEFFFF00C2FFFF00C7FFFF00CCFFFF
+ 00D1FFFF00D6FFFF05D7F9FFC14E05BF00000000000000000000000000000000
+ 000000000000000062270140627580FF66B8F4FF7FBFF3FF8CC7F5FF92CDF7FF
+ 76C3F7FF79CCFBFF62C7FBFF59CBFDFF4CCEFFFF3CCDFFFF29CCFFFF19CCFFFF
+ 03CCFFFF00D0FFFF00D5FFFF9F622EEF00000000000000000000000000000000
+ 000000000000000062270120AB5520EF935839FF935839FF7A5E55FF7A5E55FF
+ 7A5E55FF6B6166FF626370FF626370FF5F6374FF4C6A8CFF637890FF637890FF
+ 6085A7FF578AB0FF728286FFB85B19E700000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000003113001062270120
+ 6227012062270124622701406227014062270140622701576227015F6227015F
+ 6227016B6227017F6227015B3113000C000000000000000000000000F0FFFF00
+ F00FFF00E001FF00E0001F00E0001F00E0000700E0000300E0000300E0000300
+ E0000700E0000F00E0000F00E0000F00E0000F00E0000F00E0000700E0000700
+ E0000700E0000700E0000700E0000700E0000700E0000700FE00070028000000
+ 2000000040000000010020000000000080100000000000000000000000000000
+ 000000000000000000000000000000000000000000000000000000006C2B0143
+ C44E0266411A003D411A00210000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000005722000EC45207E2
+ C76B26FFC65D15E7C44F03CB8234019B8234015C572200150000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000000015080005983C0192C1530CFF
+ C28B56FFC8A775FFD1A56BFFDA9142FFD57726FFCE6515FBC85809D7C44E029C
+ 6C2B0163411A0033411A00130000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000411A0013C44E02BDBC4F0EFF
+ AD6E44FFB07E56FFE0AD60FFFEC65FFFFBC45FFFF5B553FFF0A847FFE8983AFF
+ D97923FFC85809DDC44E02BD8234017882340138000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000411A0015C44E02BFBC4F0EFF
+ AC6B42FFC08A53FFF7C05DFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFF
+ FFC75FFFFDC35CFFF1AC4AFFDC832DFFD06C1DFFC65A10E6C45004AD983C015F
+ 411A003C2B11000A000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000411A0015C44E02BFBC4F0EFF
+ AC6B42FFD8A25BFFFFC761FFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFF
+ FFC75FFFFFC75FFFFFC75FFFFEC65FFFF8BD5BFFE7A64EFFC97E3CFFBD6122FB
+ C2570FE68234016D000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000411A0015C44E02BFBC500EFF
+ AC6C42FFF1C172FFFFCE73FFFFCC6CFFFFCA68FFFFC863FFFFC761FFFFC75FFF
+ FFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFDFA959FF
+ C57E3DFFC44F03C86C2B012F0000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000411A0015C44E02BFC05510FF
+ B17246FFFDD486FFFFD383FFFFD17DFFFFD078FFFFCD72FFFFCC6DFFFFCA67FF
+ FFC863FFFFC760FFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFF
+ F7BB59FFE0872DFDC85608D6823401512B110003000000000000000000000000
+ 0000000000000000000000000000000000000000411A0015C44E02BFC55B11FF
+ C08453FFF7D28CFFE3B766FFEABE6DFFF4C97AFFFFD485FFFFD281FFFFD17BFF
+ FFCF77FFFFCD70FFFFCB6BFFFFC966FFFFC862FFFFC760FFFFC75FFFFFC75FFF
+ FFC75FFFFFC75FFFF3AF4CFFD16917F7C55003982B1100150000000000000000
+ 0000000000000000000000000000000000000000411A0015C44E02BFC85F13FF
+ CA9360FFF0CD8BFFBB8929FFCC9E49FFC08F34FFC29137FFD7A955FFFFD68BFF
+ FFD586FFFFD280FFFFD17CFFFFCF75FFFFCD71FFFFCB6BFFFFCA66FFFFC862FF
+ FFC760FFFFC75FFFFFC75FFFF6B551FFD6731EFBAE45019C2B11001500000000
+ 0000000000000000000000000000000000000000411A0015C44E02BFCC6415FF
+ D19D6DFFF0D298FFC19133FFCC9F4BFFBD8D31FFEBC682FFB5842BFFFAD795FF
+ FFDB98FFFFD993FFFFD78EFFFFD689FFFFD484FFFFD27FFFFFD07AFFFFCE74FF
+ FFCC6FFFFFCA69FFFFC965FFFDC45EFFF3AF4DFFCA5B0CE6411A003C00000000
+ 0000000000000000000000000000000000000000411A0015C44E02BFCF6816FF
+ DCAD7EFFF0D5A1FFB88622FFCFA657FFDAB570FFCCA04FFFBB8D38FFEFCE8FFF
+ FCDCA0FFFFDEA0FFFFDD9CFFFFDA97FFFFD993FFFFD78EFFFFD689FFFFD484FF
+ FFD27FFFFFD079FFFFCE74FFE18C36FFCC5E0FF0983C01751508001100000000
+ 0000000000000000000000000000000000000000411A0015C44E02BFD26D18FF
+ DCB186FFF1D9ABFFC69941FFFDE9C4FFFFEAC4FFD3AE69FFAD7A1CFFEED099FF
+ DCB979FF9B6609FFB1812EFFCCA159FFDCB470FFE9C481FFF6D28FFFFFDA96FF
+ FFD891FFFDD388FFDF8D40FFAE4501A62B11001C000000000000000000000000
+ 0000000000000000000000000000000000000000411A0015C44E02BFD5701AFF
+ E7C39EFFF3E0B9FFC39438FFC79C47FFD3AD65FFDFBF83FFB6872FFFDFBE81FF
+ F3DAABFFC49C55FFAE802FFF97620AFF935D06FF9C6A19FFA7772AFFB98C44FF
+ D7AE6AFFF6C885FFCF691FFF2B11001800000000000000000000000000000000
+ 0000000000000000000000000000000000000000411A0015C44E02BFD8741BFF
+ EDCDACFFFFF4E1FFFFF3DEFFF4E2C0FFE5CC9BFFCEAA63FFC09545FFE6CB99FF
+ FFEDCDFFFFECC9FFFFEBC6FFFBE5BDFFECD1A0FFD2AF74FFB78D49FFA4762EFF
+ A67731FFF5C98FFFCE661DFF0000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000411A0015C44E02BFDA771CFF
+ EDCFB1FFF8ECD4FFE6CC98FFEBD5A9FFF8EACEFFFFF3DEFFFCEED5FFFDF0D6FF
+ FFF0D6FFFFEFD3FFFFEED0FFFFEDCCFFFFECCAFFFFEBC5FFFFEAC3FFF5DCAFFF
+ EACE9DFFF8D5A3FFD16F2AFF5722001500000000000000000000000000000000
+ 0000000000000000000000000000000000000000411A0015C44E02BFDE7C1FFF
+ EFD3B7FFF3E4C7FFC79B3BFFD0AC5FFFBD8D2AFFC59B47FFC8A052FFEBD7AFFF
+ FFF4E0FFFFF3DDFFFFF2DAFFFFF1D8FFFFF0D5FFFFEFD2FFFFEECFFFFFEDCBFF
+ FFECC9FFFADEB6FFD37633FF8234012A00000000000000000000000000000000
+ 0000000000000000000000000000000000000000411A0015C44E02BFE5862AFF
+ F4DCC3FFF3E6CBFFCFA751FFDEC288FFBF8F2AFFEFDFBFFFD9BC83FFE2CA9BFF
+ FFF6E7FFFFF6E4FFFFF5E2FFFFF4E0FFFFF3DDFFFFF2DAFFFFF1D8FFFFF0D5FF
+ FFEFD2FFFDEACAFFD67F41FF8234014700000000000000000000000000000000
+ 0000000000000000000000000000000000000000411A0015C44E02BFE78A2DFF
+ F6DFC8FFF3E8CFFFC79730FFCBA044FFE3CC9DFFC8A04CFFD7B97EFFD9BD85FF
+ FFF9EEFFE2CBA0FFE6D2ACFFEFE0C3FFF4E7CEFFFCF1DDFFFFF4E2FFFFF3DFFF
+ FFF3DCFFFFF2D9FFDA8E57FF8234016300000000000000000000000000000000
+ 0000000000000000000000000000000000000000411A001CC44E02C6E98C2EFF
+ F6E0C9FFF3E9D2FFCCA03EFFF5EBD7FFFFFCF9FFDEC592FFBB8B27FFD5B77AFF
+ FFFBF4FFA9730AFFA87410FFAF8028FFB38635FFB88E46FFC19E60FFD1B585FF
+ E0CAA4FFF5E7CEFFDFA375FF8234018600000000000000000000000000000000
+ 0000000000000000000000000000000000000000411A002AC44E02D4EB8E2FFF
+ F7E1CAFFF4EAD3FFD0A546FFEBD9B3FFEEDFC0FFF1E6CDFFD2B06CFFCDAA60FF
+ FCF8F1FFE6D4B3FFD6BB89FFCAAA6DFFBC954EFFB2883BFFAB7D2DFFA06E1AFF
+ 97630DFFB48D4DFFEBC2A1FF983C01AD15080003000000000000000000000000
+ 0000000000000000000000000000000000000000411A002AC44E02D4EE9334FF
+ F9E5CFFFF9F4E9FFE4CB94FFD8B76DFFD5B266FFCEA754FFC49638FFCFAB62FF
+ FCF9F4FFFFFDFAFFFFFDF9FFFFFCF8FFFDFAF4FFF5EEE0FFEFE5D1FFE7D8BEFF
+ E0CEAFFFE6D6BBFFF1D6BFFFC44E02BB411A0011000000000000000000000000
+ 0000000000000000000000000000000000000000411A002AC44E02D4F49C3FFF
+ FEEDD9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFEFF
+ FFFEFEFFFFFEFDFFFFFEFCFFFFFEFCFFFFFDFBFFFFFDFAFFFFFDF9FFFFFCF8FF
+ FFFCF7FFFFFBF5FFF7EFE6FFC34E03D1411A0027000000000000000000000000
+ 0000000000000000000000000000000000000000411A002AC44E02D4D5994FFF
+ D5DCDFFFB8D4EDFFD4E5F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFEFFFFFFFEFFFFFFFEFFFFFEFDFFFFFEFDFFFFFEFCFFFFFEFCFFFFFDFBFF
+ FFFDFAFFFFFCF9FFFFFCF8FFC55A15E2411A0038000000000000000000000000
+ 0000000000000000000000000000000000000000411A002AC44E02D429A8DDFF
+ AAE2FAFF0894E9FF008BE2FF0389DDFF2093DDFF40A2E0FF63B4E7FF86C5EBFF
+ A2D1EFFFB8DAF1FFCAE0F2FFD9E8F5FFE7F1F9FFFFFFFEFFFFFFFEFFFFFEFDFF
+ FFFEFDFFFFFEFCFFFFFEFBFFCE753BF4411A004A000000000000000000000000
+ 0000000000000000000000000000000000000000411A002AC44E02D422CDFEFF
+ AAE6FFFF24B0FFFF00A6FFFF00AAFFFF00AEFFFF00ADFBFF00ADF8FF00ABF4FF
+ 00A8F0FF0EB0F1FF20B8F2FF2FB8EEFF3DBDEEFF55BBE9FF71C4EBFF8DCAEBFF
+ B1D3ECFFD7E7F4FFF4F8FBFFD68D5EFF983C0163000000000000000000000000
+ 0000000000000000000000000000000000000000411A002AC44E02D422C2FFFF
+ AAE3FFFF52BEFFFF00A2FFFF00A6FFFF00A9FFFF00ADFFFF00B0FFFF00B4FFFF
+ 00B8FFFF00BBFFFF00BFFFFF00C3FFFF00C6FFFF00CAFFFF00CEFFFF00D1FFFF
+ 00D5FFFF00CFF9FF00C8F4FF628B80FFC44E028A000000000000000000000000
+ 0000000000000000000000000000000000000000411A002AC44E02D422B8FFFF
+ AAE1FFFF9ED9FFFF41B7FFFF10A8FFFF00A5FFFF00A9FFFF00ADFFFF00B0FFFF
+ 00B4FFFF00B8FFFF00BBFFFF00BFFFFF00C2FFFF00C6FFFF00CAFFFF00CDFFFF
+ 00D1FFFF00D5FFFF00D8FFFF43AAA8FFC14E04AD000000000000000000000000
+ 0000000000000000000000000000000000000000411A002AC44E02D41DA7FDFF
+ 83C7F7FF99CDF7FF99CEF7FFAAD8F9FF9ED5F9FF7FCAF9FF74CAFBFF60C7FCFF
+ 4FC4FCFF38C1FDFF38C7FFFF31C8FFFF26C8FFFF1DC9FFFF12C9FFFF0CCCFFFF
+ 01CCFFFF00D0FFFF00D4FFFF2BB6C5FFAE5B1CE2000000000000000000000000
+ 0000000000000000000000000000000000000000411A0027C44E02D14578A2FF
+ 507399FF527398FF3C78B0FF4284BFFF4284BFFF4284BFFF488CC7FF3395E7FF
+ 3395E7FF3899E7FF389CE9FF319BE9FF2C9CEAFF3FACEFFF34AAEFFF31ABEFFF
+ 3DB8F3FF38BCF4FF22B9F4FF4DAAC0FFAE5F23FF000000000000000000000000
+ 00000000000000000000000000000000000000002B11000382340158823401AA
+ 823401AA823401AA823401AAC44E02BFC44E02BFC44E02BFC44E02BFC44E02CA
+ C44E02D4C44E02D4C44E02D4B35114D8A35526E6A35526E9A35526E99E562CE9
+ 885A45F4825C4CFF935839F7C44E02CF983C0184000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000411A0015411A0015411A0015411A0015411A0020
+ 411A002A411A002A411A002A411A002E411A003C411A003F411A003F411A003F
+ 411A004A411A0055411A004D411A002515080005000000000000000000000000
+ 00000000FC3FFFFFF807FFFFF0003FFFF0000FFFF000007FF000007FF000003F
+ F000000FF0000007F0000003F0000003F0000003F000000FF000001FF000003F
+ F000001FF000001FF000001FF000001FF000001FF000000FF000000FF000000F
+ F000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000F
+ FFC0000F28000000300000006000000001002000000000008025000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000C44E0230C44E021000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000C44E0280C44E02FFC44E02FFC44E02CF
+ C44E028FC44E0250000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000C44E0220C44E02FFC56019FFCB8748FFC86E29FF
+ C5540AFFC44E02FFC44E02FFC44E02BFC44E0270C44E02300000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000C44E02BFC44E02FFC3621FFFD0B27DFFD0B37EFF
+ D1B37EFFCE9A60FFCB8141FFC7611AFFC44E02FFC44E02FFC44E02EFC44E02AF
+ C44E0280C44E0240000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0230C44E02FFC14A01FFB45D28FFAF7F58FFB78B60FF
+ BF9769FFE0B770FFFFC75FFFF9C563FFF3BC5FFFE79F46FFDA7B25FFCF6513FF
+ C44E02FFC44E02FFC44E02FFC44E02AFC44E0270C44E02200000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0240C44E02FFC04901FFB45D28FFA8734FFFA8734FFF
+ B37E51FFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFF
+ FFC75FFFF0A948FFDE832BFFCF6513FFC44E02FFC44E02FFC44E02CFC44E0280
+ C44E024000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0240C44E02FFC04901FFB45D28FFA8734FFFA8734FFF
+ DEA859FFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFF
+ FFC75FFFFFC75FFFFFC75FFFFFC75FFFF8B853FFE59236FFD06B1CFFC44E02FF
+ C44E02FFC44E02EFC44E02AFC44E0270C44E0220000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0240C44E02FFC04901FFB45D28FFA8734FFFB37E51FF
+ FFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFF
+ FFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFAC564FF
+ E29D4BFFCE7D38FFC7621AFFC44E02FFC44E02FFC44E02DFC44E029FC44E0230
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0240C44E02FFC04901FFB45D28FFA8734FFFCE995AFF
+ FFC965FFFFC862FFFFC760FFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFF
+ FFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFF
+ FFC75FFFFFC75FFFE4B060FFBF8651FFB86E39FFBF6526FFC3570FFFC44E02DF
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0240C44E02FFC04901FFB45D28FFA8734FFFE4B269FF
+ FFCE72FFFFCC6EFFFFCB6AFFFFCA66FFFFC863FFFFC861FFFFC75FFFFFC75FFF
+ FFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFF
+ FFC75FFFFFC75FFFFFC75FFFFFC75FFFDEA859FFB37E51FFB66129FFC44E02FF
+ C44E021000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0240C44E02FFC34D02FFB56029FFA8734FFFFACD7EFF
+ FFD27EFFFFD07AFFFFCF76FFFFCE73FFFFCD6FFFFFCB6BFFFFCA68FFFFC964FF
+ FFC861FFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFF
+ FFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFDB9444FFC85608FF
+ C44E02EFC44E0250000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0240C44E02FFC65004FFB8622AFFB38057FFFFD78CFF
+ FFD689FFFFD586FFFFD382FFFFD27FFFFFD17BFFFFD078FFFFCE74FFFFCD70FF
+ FFCC6DFFFFCB69FFFFC965FFFFC862FFFFC760FFFFC75FFFFFC75FFFFFC75FFF
+ FFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFF8B853FF
+ D6741FFFC44E02FFC44E02AFC44E021000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0240C44E02FFCA5505FFBA652BFFBE8D62FFFFDB97FF
+ F4CC81FFFFD891FFFFD78DFFFFD68AFFFFD587FFFFD483FFFFD380FFFFD17CFF
+ FFD079FFFFCF75FFFFCE72FFFFCC6EFFFFCB6AFFFFCA66FFFFC863FFFFC861FF
+ FFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFF
+ FFC75FFFE59236FFC85608FFC44E02DFC44E0230000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0240C44E02FFCC5806FFBC672BFFCEA274FFFFDEA1FF
+ D2A550FFA46C00FFB98625FFD0A149FFE7BC6CFFFFD88FFFFFD68BFFFFD588FF
+ FFD485FFFFD381FFFFD27EFFFFD07AFFFFCF76FFFFCE73FFFFCD6FFFFFCB6BFF
+ FFCA68FFFFC964FFFFC861FFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFF
+ FFC75FFFFFC75FFFF4B04EFFCF6513FFC44E02EFC44E02600000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0240C44E02FFCF5C08FFBD6A2CFFD4AB7EFFFFE2ABFF
+ D3A854FFB6831FFFDCB367FFBE8E33FFAB7614FF9D6500FFB48125FFCC9D48FF
+ FFD890FFFFD78CFFFFD689FFFFD586FFFFD382FFFFD27FFFFFD17BFFFFD078FF
+ FFCE74FFFFCD70FFFFCC6DFFFFCB69FFFFC965FFFFC862FFFFC760FFFFC75FFF
+ FFC75FFFFFC75FFFFFC75FFFFBBF59FFCF6513FFC44E02FFC44E026000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0240C44E02FFD26009FFBF6C2DFFD4AC83FFFFE5B4FF
+ D4AA59FFBD8B2BFFEECC8BFFAE7915FFD0A452FFF3D08FFFE0B86FFF9A6300FF
+ FFDC9AFFFFDB97FFFFDA94FFFFD891FFFFD78DFFFFD68AFFFFD587FFFFD483FF
+ FFD380FFFFD17CFFFFD079FFFFCF75FFFFCE72FFFFCC6EFFFFCB6AFFFFCA66FF
+ FFC863FFFFC861FFFFC75FFFFFC75FFFFFC75FFFD36C19FFC44E02BF00000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0240C44E02FFD4630AFFC16E2EFFE9CBA3FFFFE8BDFF
+ D4AC5DFFAE770BFFAC750BFFC09138FFA7710BFFDCB46BFFFFE1AAFF9B6400FF
+ ECC885FFFFDEA1FFFFDD9EFFFFDC9BFFFFDB98FFFFDA95FFFFD992FFFFD88FFF
+ FFD68BFFFFD588FFFFD485FFFFD381FFFFD27EFFFFD07AFFFFCF76FFFFCE73FF
+ FFCD6FFFFFCB6BFFFFCA68FFF0AA4BFFD36C19FFC44E02FFC44E029F00000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0240C44E02FFD7660BFFC3712FFFE9CDA9FFFFEBC5FF
+ D5AE62FFA97100FFCEA454FFFFE7BBFFE8C88BFFA7710BFFEDCD91FFA36D0BFF
+ E6C382FFFFE2ABFFF9D89DFFFFE0A5FFFFDFA2FFFFDE9FFFFFDC9CFFFFDB99FF
+ FFDA96FFFFD993FFFFD890FFFFD78CFFFFD689FFFFD586FFFFD382FFFFD27FFF
+ FFD17BFFFFD078FFDE8633FFC44E02FFC44E02DFC44E02600000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0240C44E02FFD9690DFFC47330FFE9CFAEFFFFEDCCFF
+ D6B065FFC09032FFFFEBC6FFFFEAC3FFFFE9C1FFD6B16CFFAC7817FFB07E23FF
+ E6C589FFFFE5B4FFCBA259FF965F00FFAF7E2AFFC89E53FFE3BE7CFFF8D699FF
+ FFDEA0FFFFDD9DFFFFDC9AFFFFDB97FFFFDA94FFFFD891FFFFD78DFFFFD68AFF
+ FFD587FFDA8032FFC44E02FFC44E028000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0240C44E02FFDB6C0EFFC67530FFE9D3BAFFFFF0D3FF
+ D6B269FFBC8A27FFFAE6C0FFFFEDCBFFFFECC9FFFFEBC6FFC49A4AFF9F6800FF
+ E7C88FFFFFE8BDFFCCA45DFF976000FF955E00FF935C00FF915A00FF8F5800FF
+ A2701FFFB6893EFFD3AA65FFF0CC8DFFFFDD9EFFFFDC9BFFFFDB98FFFFDA95FF
+ F0B66EFFC44E02FFC44E02700000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0240C44E02FFDE6F0FFFC77631FFFFF5E3FFFFF2DAFF
+ E1C387FFB37C0EFFAB7200FFB4801AFFC39640FFD2AD66FFE8CC98FFA7710DFF
+ C3994AFFFFEBC5FFFFEAC2FFE5C791FFCAA460FFB5893BFFA06D18FF905900FF
+ 8E5800FF8C5600FF8A5400FF875200FF8D590AFFAA7B33FFD0A764FFFFDE9FFF
+ E29550FFC44E02FF000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0240C44E02FFE07210FFC97832FFFFF7E7FFFFF4E0FF
+ FFF3DEFFFFF3DCFFF5E2BFFFE4CA95FFD4B06CFFBC8F36FFAA740DFFA26A00FF
+ CAA35BFFFFEDCCFFFFEDCAFFFFECC8FFFFEBC6FFFFEAC3FFFFE9C1FFF1D7A7FF
+ DCBB82FFC69F5EFFA8792FFF895300FF875100FF854F00FFA2722BFFFFE1A9FF
+ E29754FFC44E02FF000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0240C44E02FFE17411FFCA7A32FFFFF8EDFFFFF6E5FF
+ FFF5E4FFFFF5E2FFFFF4E0FFFFF4DFFFFFF3DDFFFFF2DBFFFFF2D9FFF3E0BDFF
+ F9E8C8FFFFF0D3FFFFEFD1FFFFEECFFFFFEECDFFFFEDCBFFFFECC9FFFFEBC6FF
+ FFEAC4FFFFEAC2FFFFE9BFFFFFE8BDFFE9CB98FFD1AE74FFBA9150FFFFE4B2FF
+ E29959FFC44E02FF000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0240C44E02FFE37611FFCB7B33FFFFFBF3FFFFF8EAFF
+ E3C991FFD5B065FFDDBF81FFEBD6ABFFFAEDD4FFFFF4E1FFFFF4DFFFFFF3DDFF
+ FFF3DCFFFFF2DAFFFFF1D8FFFFF1D6FFFFF0D4FFFFEFD2FFFFEED0FFFFEECEFF
+ FFEDCCFFFFECC9FFFFEBC7FFFFEBC5FFFFEAC2FFFFE9C0FFFFE8BDFFFFE7BBFF
+ F0C08BFFC44E02FFC44E02300000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0240C44E02FFE57812FFCC7D33FFFFFCF6FFFFF9EEFF
+ DBBB77FFB9830FFFC6993BFFB07700FFAE7500FFB17B0EFFBF9239FFCEAA63FF
+ E9D3A9FFFFF4E0FFFFF3DEFFFFF3DCFFFFF2DAFFFFF2D8FFFFF1D7FFFFF0D5FF
+ FFEFD3FFFFEFD1FFFFEECEFFFFEDCCFFFFEDCAFFFFECC8FFFFEBC6FFFFEAC3FF
+ F0C291FFC44E02FFC44E02400000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0240C44E02FFE77A13FFD88F49FFFFFCF8FFFFFBF2FF
+ DBBC79FFC89C3CFFFFF9EFFFE2C894FFD7B776FFEBD7B1FFD5B575FFBF923AFF
+ D3B373FFFFF6E5FFFFF5E4FFFFF5E2FFFFF4E0FFFFF4DFFFFFF3DDFFFFF2DBFF
+ FFF2D9FFFFF1D7FFFFF0D5FFFFF0D3FFFFEFD1FFFFEECFFFFFEECDFFFFEDCBFF
+ F4CFA4FFC44E02FFC44E02400000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0240C44E02FFE87C14FFE4A25EFFFFFDFAFFFFFCF6FF
+ DCBD7AFFCA9D3DFFE3CB97FFB37900FFB17800FFF0E1C2FFFFF9EEFFD5B577FF
+ D4B476FFFFF8EAFFFFF7E9FFFFF7E7FFFFF6E6FFFFF6E4FFFFF5E3FFFFF4E1FF
+ FFF4DFFFFFF3DDFFFFF3DCFFFFF2DAFFFFF1D8FFFFF1D6FFFFF0D4FFFFEFD2FF
+ FFEED0FFC44E02FFC44E02800000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0240C44E02FFE97E14FFE5A35FFFFFFEFCFFFFFDF8FF
+ DDBE7CFFBD860FFFB77D00FFD1AB5CFFD8BA7AFFB57F0FFFF0E2C4FFD5B679FF
+ CAA45AFFFFF9EEFFFFF9EDFFFFF8ECFFFFF8EBFFFFF7E9FFFFF7E8FFFFF6E6FF
+ FFF6E5FFFFF5E3FFFFF5E1FFFFF4E0FFFFF3DEFFFFF3DCFFFFF2DAFFFFF2D8FF
+ FFF1D7FFC25007FFC44E02800000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0240C44E02FFEA8015FFE5A460FFFFFEFDFFFFFEFBFF
+ DDBF7DFFBA8000FFD3AE5DFFFFFDF8FFFFFCF7FFCEA95DFFBF8F2EFFD1AF6BFF
+ C1953DFFFFFBF2FFFFFAF1FFA56D00FFAF7D1EFFB88D3BFFCFB076FFD4B884FF
+ E6D2AFFFF2E4CBFFFFF6E7FFFFF6E5FFFFF5E4FFFFF5E2FFFFF4E0FFFFF4DFFF
+ FFF3DDFFD37738FFC44E02BF0000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0260C44E02FFEC8116FFE6A561FFFFFFFEFFFFFEFDFF
+ DEC07EFFC8992FFFFFFEFBFFFFFDFAFFFFFDFAFFFFFDF9FFBF902FFFAF7600FF
+ C1963EFFFFFCF6FFFFFBF5FFAC770FFFA46C00FFA26A00FFA06800FF9E6600FF
+ 9C6400FF9A6200FF986000FFA97B2CFFB58D48FFC8A973FFD5BB8FFFEAD8B9FF
+ FFF5E3FFCF7C43FFC44E02CF0000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0280C44E02FFED8216FFE7A662FFFFFFFFFFFFFFFEFF
+ DFC17FFFCEA13FFFFFFEFDFFFFFEFCFFFFFEFCFFFFFEFBFFFAF5EBFFBA871FFF
+ BD8F2FFFFFFDF8FFFFFCF8FFDEC79BFFD2B47BFFBA8F3EFFB98E3DFF9F6700FF
+ 9D6500FF9B6400FF996200FF976000FF955E00FF935C00FF905A00FF8E5800FF
+ FFF7E8FFE2A274FFC44E02FF0000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0280C44E02FFED8316FFE7A762FFFFFFFFFFFFFFFFFF
+ DFC27FFFBE8300FFC08910FFCB9F3FFFCEA64FFFDBBD7EFFDABC7EFFD8BB7EFF
+ AF7600FFEBDBBCFFFFFDFAFFFFFDF9FFFFFDF9FFFFFDF8FFFFFCF7FFFFFCF6FF
+ F9F2E6FFE6D6B8FFDFCBA8FFCBAE7AFFBD995BFFAF843CFF9F6F1EFF905900FF
+ FFF8ECFFE2B28FFFC44E02FFC44E022000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0280C44E02FFEE8417FFF3B978FFFFFFFFFFFFFFFFFF
+ F7F0DFFFEFE0BFFFE6D09FFFDDC080FFD8B76FFFC99D40FFC79C40FFB37900FF
+ C0912FFFFFFEFDFFFFFEFCFFFFFEFCFFFFFEFBFFFFFDFAFFFFFDFAFFFFFDF9FF
+ FFFDF8FFFFFCF7FFFFFCF6FFFFFCF6FFFFFBF5FFFFFBF4FFFFFBF3FFFFFAF2FF
+ FFFAF0FFF0CFB4FFC44E02FFC44E024000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0280C44E02FFEF8517FFFECB8FFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF
+ FFFFFEFFFFFFFEFFFFFEFEFFFFFEFDFFFFFEFDFFFFFEFCFFFFFEFCFFFFFEFBFF
+ FFFDFAFFFFFDFAFFFFFDF9FFFFFDF8FFFFFCF8FFFFFCF7FFFFFCF6FFFFFBF5FF
+ FFFBF4FFEFE1D4FFC44E02FFC44E027000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0280C44E02FFEF8617FFFECC8FFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFEFFFFFFFEFFFFFFFEFFFFFFFEFFFFFEFDFFFFFEFDFF
+ FFFEFCFFFFFEFCFFFFFEFBFFFFFEFBFFFFFDFAFFFFFDF9FFFFFDF9FFFFFDF8FF
+ FFFCF7FFFFFCF6FFC25007FFC44E028000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0280C44E02FFEE9629FF769AB3FFE6F0F9FF80B3DFFF
+ BFD9EFFFBFD9EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFEFF
+ FFFFFEFFFFFEFDFFFFFEFDFFFFFEFDFFFFFEFCFFFFFEFCFFFFFEFBFFFFFDFAFF
+ FFFDFAFFFFFDF9FFC8692BFFC44E02BF00000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0280C44E02FF1078BDFF66CDF1FFCCE9FBFF0087DFFF
+ 0088DFFF0078CFFF0079CFFF1075C7FF408DCFFF5097D3FF80B3DFFF9FC6E7FF
+ BFD9EFFFDFECF7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFEFFFFFFFEFFFFFFFEFFFFFEFEFFFFFEFDFFFFFEFDFFFFFEFCFF
+ FFFEFCFFFFFEFBFFCF7F4AFFC44E02CF00000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0280C44E02FF00C7FBFF66E0FFFFCCECFFFF26B2FFFF
+ 00A7FFFF00A9FFFF00ACFFFF00AEFFFF00B1FFFF00A9F7FF00A2EFFF009EEBFF
+ 0090DFFF0091DFFF007DCFFF2090D7FF4093D3FF70AADBFF80B3DFFFAFD0EBFF
+ BFD9EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFEFFFFFFFEFFFFFFFEFF
+ FFFEFDFFFFFEFDFFDC9D74FFC44E02FF00000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0280C44E02FF00C5FFFF66DBFFFFCCECFFFF40B9FFFF
+ 00A4FFFF00A7FFFF00A9FFFF00ABFFFF00AEFFFF00B0FFFF00B3FFFF00B5FFFF
+ 00B8FFFF00BAFFFF00BCFFFF00BFFFFF00C1FFFF00C4FFFF00BAF7FF00B0EFFF
+ 00B2EFFF009ADFFF009BDFFF40AEE3FF40A8DFFF80C1E7FF8FBDE3FFBFD9EFFF
+ CFE3F2FFFFFFFEFFE2B699FFC44E02FFC44E0220000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0280C44E02FF00BCFFFF66D6FFFFCCEBFFFF66C6FFFF
+ 00A1FFFF00A4FFFF00A6FFFF00A9FFFF00ABFFFF00ADFFFF00B0FFFF00B2FFFF
+ 00B5FFFF00B7FFFF00BAFFFF00BCFFFF00BEFFFF00C1FFFF00C3FFFF00C6FFFF
+ 00C8FFFF00CBFFFF00CDFFFF00D0FFFF00D2FFFF00D4FFFF00D7FFFF00D2FBFF
+ 00BEEFFF00C0EFFF4197ACFFC44E02FFC44E0240000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0280C44E02FF00B3FFFF66D2FFFFCCEBFFFFA6DCFFFF
+ 009EFFFF00A1FFFF00A3FFFF00A6FFFF00A8FFFF00ABFFFF00ADFFFF00B0FFFF
+ 00B2FFFF00B4FFFF00B7FFFF00B9FFFF00BCFFFF00BEFFFF00C1FFFF00C3FFFF
+ 00C5FFFF00C8FFFF00CAFFFF00CDFFFF00CFFFFF00D1FFFF00D4FFFF00D6FFFF
+ 00D9FFFF00DBFFFF15D0E9FFC44E02FFC44E0270000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0280C44E02FF00AAFFFF66CDFFFFCCEAFFFFCCEBFFFF
+ 8CD3FFFF4DBBFFFF26AFFFFF00A3FFFF00A5FFFF00A8FFFF00AAFFFF00ADFFFF
+ 00AFFFFF00B2FFFF00B4FFFF00B6FFFF00B9FFFF00BBFFFF00BEFFFF00C0FFFF
+ 00C2FFFF00C5FFFF00C7FFFF00CAFFFF00CCFFFF00CFFFFF00D1FFFF00D4FFFF
+ 00D6FFFF00D8FFFF00DBFFFFB8500EFFC44E028F000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0280C44E02FF00A1FFFF73CDFFFFCCEAFFFFCCEAFFFF
+ CCEBFFFFCCEBFFFFCCECFFFFCCECFFFFB3E4FFFF99DBFFFF73CFFFFF66CCFFFF
+ 4DC5FFFF33BFFFFF26BDFFFF00B4FFFF00B6FFFF00B8FFFF00BBFFFF00BDFFFF
+ 00C0FFFF00C2FFFF00C5FFFF00C7FFFF00CAFFFF00CCFFFF00CEFFFF00D1FFFF
+ 00D3FFFF00D6FFFF00D8FFFF937141FFC44E02BF000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0280C44E02FF0098FFFF2697EDFF3394E7FF3395E7FF
+ 3395E7FF3395E7FF66B2EFFF66B2EFFF66B2EFFF66B2EFFF66B3EFFF99D0F7FF
+ 99D1F7FF99D1F7FF99D1F7FF99D2F7FFCCF0FFFF99E2FFFF99E3FFFF8CE0FFFF
+ 66D8FFFF66D9FFFF40D1FFFF33D0FFFF33D2FFFF0DCCFFFF00CBFFFF00CEFFFF
+ 00D0FFFF00D3FFFF00D5FFFF627D75FFC44E02FF000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0270C44E02FF626B7BFF626371FF626371FF626371FF
+ 626371FF316EA8FF316EA8FF316EA8FF316EA8FF316EA8FF316EA8FF2570B6FF
+ 0078DFFF0078DFFF0078DFFF0078DFFF0078DFFF0078DFFF0078DFFF0078DFFF
+ 0D80E1FF3397E7FF3397E7FF3397E7FF3397E7FF409FE9FF66B6EFFF66B7EFFF
+ 33ADEFFF33AEEFFF4CB4E3FF948561FFC44E02FF000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0210C44E02BFC44E02FFC44E02FFC44E02FFC44E02FF
+ C44E02FFC44E02FFC44E02FFC44E02FFC44E02FFC44E02FFC44E02FFC44E02FF
+ C44E02FFC44E02FFC44E02FFC44E02FFC44E02FFC44E02FFB85110FF935939FF
+ 935939FF935939FF935939FF935939FF935939FF7B5E55FF626371FF626371FF
+ 626371FF875B47FFC44E02FFC44E02FFC44E029F000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000C44E0240C44E0240C44E0240C44E0240C44E0240C44E0240
+ C44E0250C44E0280C44E0280C44E0280C44E0280C44E0280C44E0280C44E029F
+ C44E02BFC44E02BFC44E02BFC44E02BFC44E02BFC44E02BFC44E02EFC44E02FF
+ C44E02FFC44E02DFC44E028FC44E023000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000FFCFFFFFFFFF0000FF81FFFFFFFF0000FF001FFF
+ FFFF0000FF0001FFFFFF0000FE00001FFFFF0000FE000003FFFF0000FE000000
+ 3FFF0000FE00000007FF0000FE00000007FF0000FE00000003FF0000FE000000
+ 01FF0000FE000000007F0000FE000000003F0000FE000000001F0000FE000000
+ 000F0000FE000000000F0000FE000000000F0000FE000000001F0000FE000000
+ 007F0000FE00000000FF0000FE00000001FF0000FE00000001FF0000FE000000
+ 01FF0000FE00000000FF0000FE00000000FF0000FE00000000FF0000FE000000
+ 00FF0000FE00000000FF0000FE00000000FF0000FE00000000FF0000FE000000
+ 00FF0000FE000000007F0000FE000000007F0000FE000000007F0000FE000000
+ 007F0000FE000000007F0000FE000000007F0000FE000000007F0000FE000000
+ 003F0000FE000000003F0000FE000000003F0000FE000000003F0000FE000000
+ 003F0000FE000000003F0000FE000000003F0000FE000000003F0000FFFE0000
+ 007F0000FFFFFFFFFFFF0000}
+ end
+ object LabelDescricao: TLabel
+ Left = 49
+ Top = 1
+ Width = 193
+ Height = 47
+ Align = alLeft
+ Caption = 'Hist'#243'rico de Tabelas'
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clNavy
+ Font.Height = -19
+ Font.Name = 'MS Sans Serif'
+ Font.Style = [fsBold]
+ ParentFont = False
+ Layout = tlCenter
+ end
+ end
+ object Panel2: TPanel
+ Left = 0
+ Top = 49
+ Width = 177
+ Height = 404
+ Align = alLeft
+ BevelOuter = bvNone
+ TabOrder = 1
+ object LabelUser: TLabel
+ Left = 7
+ Top = 8
+ Width = 36
+ Height = 13
+ Caption = '&Usu'#225'rio'
+ FocusControl = ComboUser
+ end
+ object LabelForm: TLabel
+ Left = 7
+ Top = 56
+ Width = 48
+ Height = 13
+ Caption = '&Formul'#225'rio'
+ FocusControl = ComboForm
+ end
+ object LabelEvento: TLabel
+ Left = 7
+ Top = 104
+ Width = 34
+ Height = 13
+ Caption = '&Evento'
+ FocusControl = ComboEvento
+ end
+ object LabelTabela: TLabel
+ Left = 7
+ Top = 152
+ Width = 33
+ Height = 13
+ Caption = '&Tabela'
+ FocusControl = ComboTabela
+ end
+ object ComboUser: TComboBox
+ Left = 7
+ Top = 24
+ Width = 163
+ Height = 21
+ Style = csDropDownList
+ ItemHeight = 13
+ TabOrder = 0
+ OnChange = ComboUserChange
+ end
+ object ComboForm: TComboBox
+ Left = 7
+ Top = 72
+ Width = 163
+ Height = 21
+ Style = csDropDownList
+ ItemHeight = 13
+ TabOrder = 1
+ OnChange = ComboUserChange
+ end
+ object BitBtn1: TBitBtn
+ Left = 16
+ Top = 304
+ Width = 145
+ Height = 25
+ Caption = '&Aplicar Filtro'
+ Enabled = False
+ TabOrder = 2
+ OnClick = BitBtn1Click
+ Glyph.Data = {
+ 36050000424D3605000000000000360400002800000010000000100000000100
+ 08000000000000010000530B0000530B0000000100000001000000310000004A
+ 0000005A0000006B0000007B0000219C390018AD390021AD390029BD390021AD
+ 4A0031CE4A0031CE5A0039D65A0039DE63004AEF6B004AEF730052EF730052EF
+ 7B006BF78C00FF00FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00131313131313
+ 1313020213131313131313131313131313030902131313131313131313131313
+ 030D090213131313131313131313131303120902131313131313131313131313
+ 0312090213131313131313131313131303120902131313131313131313131313
+ 0312090213131313131313131313131303120902131313131313131313131303
+ 120D09000213131313131313131303120D0D0501000213131313131313031210
+ 0E0D070401000213131313130312110F0D0B0909040100021313130312110C0A
+ 0806090909040100021303030303030303030303030303030303131313131313
+ 1313131313131313131313131313131313131313131313131313}
+ end
+ object BitBtn2: TBitBtn
+ Left = 16
+ Top = 336
+ Width = 145
+ Height = 25
+ Caption = '&Excluir Hist'#243'rico'
+ TabOrder = 3
+ OnClick = BitBtn2Click
+ Glyph.Data = {
+ 36030000424D3603000000000000360000002800000010000000100000000100
+ 18000000000000030000120B0000120B00000000000000000000FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FF1877EA1574E0FF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF1776E615
+ 73E7136FDC126ED30F6AC9FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FF1676CA268BE5278CEB2184E3116CCF0C67C40B64BB0962
+ B4075CA9FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF258BD83EABEE45
+ B4F72687DD3DAAF41E80D50F69BF065BAA0458A004579A035495FF00FFFF00FF
+ FF00FFFF00FF01500A319CF739A4F41B6DC448B7FA2687DD41ADFA3BA7F81F81
+ D4197ACC065B9F025291FF00FFFF00FFFF00FF0B6344185F6901500A166AD425
+ 81CE1160C02889E340ACFE359EF23CA6FF3CA6FF2D95EFFF00FFFF00FFFF00FF
+ 06630925AC461CB62F1CB62F1CB62F01500A01500A196DA32380E12C8FEB38A3
+ FF38A1FFFF00FFFF00FFFF00FF096D111C9A3147F77936E5541CB62F0E912D12
+ 805B1CB62F1CB62F01500A01500AFF00FFFF00FFFF00FFFF00FFFF00FF1C982F
+ 18902935E05D21C2390CA015008600008300068E0F1DA6572D9197FF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FF035A0617992811AA1D018202007B0004
+ 8A0B005D01005D01FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ 1387232AD149048807005C00005D01046D0AFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FF0E78182CD44D068C09005400FF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF08690E2BCE49
+ 07960D005800FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FF0D82170C9D15005E00FF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF0B8913006501
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF}
+ end
+ object BitBtn3: TBitBtn
+ Left = 16
+ Top = 368
+ Width = 145
+ Height = 25
+ Caption = '&Fechar'
+ TabOrder = 4
+ OnClick = BitBtn3Click
+ Glyph.Data = {
+ 36030000424D3603000000000000360000002800000010000000100000000100
+ 18000000000000030000120B0000120B00000000000000000000FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FF824B4B4E1E1FFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF824B4B824B4BA64B4BA9
+ 4D4D4E1E1FFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ 824B4B824B4BB64F50C24F50C54D4EB24D4E4E1E1F824B4B824B4B824B4B824B
+ 4B824B4B824B4BFF00FFFF00FFFF00FF824B4BD45859CB5556C95455C95253B7
+ 4F524E1E1FFE8B8CFB9A9CF8AAABF7B5B6F7B5B6824B4BFF00FFFF00FFFF00FF
+ 824B4BD75C5DD05A5BCF595ACF5758BD53564E1E1F23B54A13C14816BD480CBC
+ 41F7B5B6824B4BFF00FFFF00FFFF00FF824B4BDD6364D75F60D55E5FD55C5DC2
+ 575A4E1E1F2AB44D1CBF4C1EBC4C13BC45F7B5B6824B4BFF00FFFF00FFFF00FF
+ 824B4BE36869DD6566DA6364DE6667C6595B4E1E1F26B14916BC481BBB4910BB
+ 43F7B5B6824B4BFF00FFFF00FFFF00FF824B4BEB6D6EE26768E67E7FFAD3D4CC
+ 6E704E1E1FA5D89750D16F42C9662DC758F7B5B6824B4BFF00FFFF00FFFF00FF
+ 824B4BF27374E96C6DEB8182FCD1D3CF6E704E1E1FFFF2CCFFFFD7FFFFD4E6FC
+ C7F7B5B6824B4BFF00FFFF00FFFF00FF824B4BF87879F07576EE7273F07374D1
+ 65664E1E1FFCEFC7FFFFD5FFFFD3FFFFD7F7B5B6824B4BFF00FFFF00FFFF00FF
+ 824B4BFE7F80F77A7BF6797AF77779D76B6B4E1E1FFCEFC7FFFFD5FFFFD3FFFF
+ D5F7B5B6824B4BFF00FFFF00FFFF00FF824B4BFF8384FC7F80FB7E7FFE7F80DA
+ 6E6F4E1E1FFCEFC7FFFFD5FFFFD3FFFFD5F7B5B6824B4BFF00FFFF00FFFF00FF
+ 824B4BFF8889FF8283FF8182FF8283E073744E1E1FFCEFC7FFFFD5FFFFD3FFFF
+ D5F7B5B6824B4BFF00FFFF00FFFF00FF824B4B824B4BE27576FE8182FF8687E5
+ 76774E1E1FFAEBC5FCFBD1FCFBCFFCFBD1F7B5B6824B4BFF00FFFF00FFFF00FF
+ FF00FFFF00FF824B4B9C5657CB6C6DCF6E6E4E1E1F824B4B824B4B824B4B824B
+ 4B824B4B824B4BFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF824B4B82
+ 4B4B4E1E1FFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF}
+ end
+ object ComboEvento: TComboBox
+ Left = 7
+ Top = 120
+ Width = 163
+ Height = 21
+ Style = csDropDownList
+ ItemHeight = 13
+ TabOrder = 5
+ OnChange = ComboUserChange
+ end
+ object ComboTabela: TComboBox
+ Left = 7
+ Top = 168
+ Width = 163
+ Height = 21
+ Style = csDropDownList
+ ItemHeight = 13
+ TabOrder = 6
+ OnChange = ComboUserChange
+ end
+ end
+ object Panel3: TPanel
+ Left = 177
+ Top = 49
+ Width = 636
+ Height = 404
+ Align = alClient
+ BevelOuter = bvNone
+ TabOrder = 2
+ object Splitter1: TSplitter
+ Left = 0
+ Top = 89
+ Width = 636
+ Height = 3
+ Cursor = crVSplit
+ Align = alBottom
+ end
+ object DBMemo1: TDBMemo
+ Left = 0
+ Top = 248
+ Width = 636
+ Height = 156
+ Align = alBottom
+ DataField = 'Obs'
+ DataSource = DataSource1
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Courier New'
+ Font.Style = []
+ ParentFont = False
+ ScrollBars = ssBoth
+ TabOrder = 0
+ end
+ object DBGrid1: TDBGrid
+ Left = 0
+ Top = 0
+ Width = 636
+ Height = 89
+ Align = alClient
+ DataSource = DataSource1
+ Options = [dgTitles, dgIndicator, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgRowSelect, dgAlwaysShowSelection, dgConfirmDelete, dgCancelOnExit]
+ ReadOnly = True
+ TabOrder = 1
+ TitleFont.Charset = DEFAULT_CHARSET
+ TitleFont.Color = clWindowText
+ TitleFont.Height = -11
+ TitleFont.Name = 'MS Sans Serif'
+ TitleFont.Style = []
+ Columns = <
+ item
+ Expanded = False
+ FieldName = 'UserName'
+ Title.Caption = 'Usu'#225'rio'
+ Width = 157
+ Visible = True
+ end
+ item
+ Expanded = False
+ FieldName = 'FormCaption'
+ Title.Caption = 'Formul'#225'rio'
+ Width = 157
+ Visible = True
+ end
+ item
+ Expanded = False
+ FieldName = 'Evento'
+ Title.Caption = 'Evento '
+ Width = 79
+ Visible = True
+ end
+ item
+ Expanded = False
+ FieldName = 'EventDate'
+ Title.Caption = 'Data do Evento'
+ Width = 65
+ Visible = True
+ end
+ item
+ Expanded = False
+ FieldName = 'EventTime'
+ Title.Caption = 'Hora do Evento'
+ Width = 65
+ Visible = True
+ end
+ item
+ Expanded = False
+ FieldName = 'TableName'
+ Width = 84
+ Visible = True
+ end>
+ end
+ object StringGrid1: TStringGrid
+ Left = 0
+ Top = 92
+ Width = 636
+ Height = 156
+ Align = alBottom
+ ColCount = 3
+ DefaultColWidth = 220
+ DefaultRowHeight = 21
+ FixedCols = 0
+ RowCount = 2
+ Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goRangeSelect, goRowSelect]
+ TabOrder = 2
+ ColWidths = (
+ 169
+ 220
+ 220)
+ end
+ end
+ object DataSource1: TDataSource
+ OnDataChange = DataSource1DataChange
+ Left = 224
+ Top = 121
+ end
+end
diff --git a/official/2.20/Source/UCHist_Form.pas b/official/2.20/Source/UCHist_Form.pas
new file mode 100644
index 0000000..5b602b9
--- /dev/null
+++ b/official/2.20/Source/UCHist_Form.pas
@@ -0,0 +1,303 @@
+unit UCHist_Form;
+
+interface
+
+{$I 'UserControl.inc'}
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, StdCtrls, Buttons, Grids, DBGrids, ExtCtrls, DBCtrls, DB, UcBase;
+
+Type TAuxObj = class(TObject)
+ Private
+ IdUser : Integer;
+end;
+
+type
+ TFrmHistorico = class(TForm)
+ Panel1: TPanel;
+ Image1: TImage;
+ LabelDescricao: TLabel;
+ Panel2: TPanel;
+ DataSource1: TDataSource;
+ Panel3: TPanel;
+ DBMemo1: TDBMemo;
+ Splitter1: TSplitter;
+ DBGrid1: TDBGrid;
+ LabelUser: TLabel;
+ ComboUser: TComboBox;
+ LabelForm: TLabel;
+ ComboForm: TComboBox;
+ BitBtn1: TBitBtn;
+ BitBtn2: TBitBtn;
+ BitBtn3: TBitBtn;
+ LabelEvento: TLabel;
+ ComboEvento: TComboBox;
+ LabelTabela: TLabel;
+ ComboTabela: TComboBox;
+ StringGrid1: TStringGrid;
+ procedure BitBtn1Click(Sender: TObject);
+ procedure BitBtn2Click(Sender: TObject);
+ procedure BitBtn3Click(Sender: TObject);
+ procedure FormClose(Sender: TObject; var Action: TCloseAction);
+ procedure FormShow(Sender: TObject);
+ procedure ComboUserChange(Sender: TObject);
+ procedure DataSource1DataChange(Sender: TObject; Field: TField);
+ private
+ DataSetHist : TDataSet;
+ procedure SetComBoValues;
+ { Private declarations }
+ public
+ fUserControl : TUserControl;
+ { Public declarations }
+ end;
+
+implementation
+
+
+{$R *.dfm}
+
+procedure TFrmHistorico.BitBtn1Click(Sender: TObject);
+Var cSql : String;
+begin
+ cSql := Format('Select UH.%s as UserId, Uh.%s as Form , ' +
+ 'Uh.%s as Evento , Uh.%s as Obs, Uh.%s as FormCaption, Uh.%s as EventDate, Uh.%s as EventTime, uh.%s as TableName, '+
+ 'US.%s As UserName from %s UH, %s US where UH.%s = US.%s and Uh.%s = %s ',
+ [ fUserControl.TableHistory.FieldUserID ,
+ fUserControl.TableHistory.FieldForm ,
+ fUserControl.TableHistory.FieldEvent ,
+ fUserControl.TableHistory.FieldObs ,
+ fUserControl.TableHistory.FieldCaptionForm ,
+ fUserControl.TableHistory.FieldEventDate ,
+ fUserControl.TableHistory.FieldEventTime ,
+ fUserControl.TableHistory.FieldTableName ,
+ fUserControl.TableUsers.FieldLogin ,
+ fUserControl.TableHistory.TableName ,
+ fUserControl.TableUsers.TableName ,
+ fUserControl.TableHistory.FieldUserId ,
+ fUserControl.TableUsers.FieldUserID ,
+ fUserControl.TableHistory.FieldApplicationID ,
+ QuotedStr(fUserControl.ApplicationID) ]);
+
+ if ComboUser.ItemIndex <> 0 then
+ cSql := cSql + Format(' and US.%s = %s ',[fUserControl.TableUsers.FieldLogin,QuotedStr(ComboUser.Text)]);
+
+ if ComboForm.ItemIndex <> 0 then
+ cSql := cSql + Format(' and UH.%s = %s ',[fUserControl.TableHistory.FieldCaptionForm,QuotedStr(ComboForm.Text)]);
+
+ if ComboEvento.ItemIndex <> 0 then
+ cSql := cSql + Format(' and UH.%s = %s ',[fUserControl.TableHistory.FieldEvent,QuotedStr(ComboEvento.Text)]);
+
+ if ComboTabela.ItemIndex <> 0 then
+ cSql := cSql + Format(' and UH.%s = %s ',[fUserControl.TableHistory.FieldTableName,QuotedStr(ComboTabela.Text)]);
+
+ cSql := cSql + Format(' order by Uh.%s, Uh.%s',[fUserControl.TableHistory.FieldTableName,fUserControl.TableHistory.FieldEventDate ]) ;
+
+ DataSetHist.Close;
+ DataSetHist := nil;
+ DataSetHist := fUserControl.DataConnector.UCGetSQLDataset( cSql );
+ DataSetHist.Open;
+ DataSource1.DataSet := DataSetHist;
+ BitBtn1.Enabled := False;
+end;
+
+procedure TFrmHistorico.BitBtn2Click(Sender: TObject);
+var cSql : String;
+begin
+ if MessageBox(Handle, pChar( fUserControl.UserSettings.History.Msg_LimpHistorico ) , pChar(fUserControl.UserSettings.History.Msg_MensConfirma),mb_YesNo) = ID_YES then
+ begin
+ cSql := '';
+
+ if ComboUser.ItemIndex <> 0 then
+ cSql := cSql + Format(' %s = %d ',[fUserControl.TableHistory.FieldUserID , TAuxObj(ComboUser.Items.Objects[ComboUser.ItemIndex]).IdUser ]);
+
+ if ComboForm.ItemIndex <> 0 then
+ cSql := cSql + Format(' and %s = %s ',[fUserControl.TableHistory.FieldCaptionForm,QuotedStr(ComboForm.Text)]);
+
+ if ComboEvento.ItemIndex <> 0 then
+ cSql := cSql + Format(' and %s = %s ',[fUserControl.TableHistory.FieldEvent,QuotedStr(ComboEvento.Text)]);
+
+ if ComboTabela.ItemIndex <> 0 then
+ cSql := cSql + Format(' and %s = %s ',[fUserControl.TableHistory.FieldTableName,QuotedStr(ComboTabela.Text)]);
+
+ If Length( trim( cSql ) ) <> 0 then
+ Begin
+ If UpperCase(trim(Copy( cSql , 1 , 4 ))) = 'AND' then
+ Delete(cSql,1,4);
+ cSql := Format('delete from %s where ',[fUserControl.TableHistory.TableName]) + cSql;
+ End
+ else
+ cSql := Format('delete from %s ',[fUserControl.TableHistory.TableName]) + cSql;
+ fUserControl.DataConnector.UCExecSQL( cSql );
+ DataSetHist := Nil;
+ SetComBoValues;
+
+ If fUserControl.LogControl.Active then
+ fUserControl.Log( Format( fUserControl.UserSettings.History.Msg_LogEmptyHistory,[ fUserControl.CurrentUser.UserName, QuotedStr(FormatDateTime('YYYYMMDDhhmmss', now)) ]),3);
+ end;
+end;
+
+procedure TFrmHistorico.BitBtn3Click(Sender: TObject);
+begin
+ close;
+end;
+
+procedure TFrmHistorico.FormClose(Sender: TObject;
+ var Action: TCloseAction);
+begin
+ Action := caFree;
+end;
+
+procedure TFrmHistorico.SetComBoValues;
+Var Aux : TAuxObj;
+Begin
+ Aux := TAuxObj.Create;
+ Aux.IdUser := -1;
+
+ ComboUser.Items.Clear;
+ ComboForm.Items.Clear;
+ ComboEvento.Items.Clear;
+ ComboTabela.Items.Clear;
+
+ ComboUser.Items.AddObject( fUserControl.UserSettings.History.Hist_All , Aux );
+
+ ComboForm.Items.Add ( fUserControl.UserSettings.History.Hist_All );
+
+ ComboEvento.Items.Add( fUserControl.UserSettings.History.Hist_All );
+ ComboEvento.Items.Add( fUserControl.UserSettings.History.Evento_Insert );
+ ComboEvento.Items.Add( fUserControl.UserSettings.History.Evento_Delete );
+ ComboEvento.Items.Add( fUserControl.UserSettings.History.Evento_Edit );
+ ComboEvento.Items.Add( fUserControl.UserSettings.History.Evento_NewRecord );
+
+ ComboTabela.Items.Add( fUserControl.UserSettings.History.Hist_All );
+
+ DataSetHist := fUserControl.DataConnector.UCGetSQLDataset(
+ Format('Select distinct %s from %s',[
+ fUserControl.TableHistory.FieldTableName,
+ fUserControl.TableHistory.TableName]));
+ while DataSetHist.Eof = False do
+ Begin
+ ComboTabela.Items.Add( DataSetHist.Fields[ 0 ].AsString );
+ DataSetHist.Next;
+ End;
+
+ DataSetHist := nil;
+ DataSetHist := fUserControl.DataConnector.UCGetSQLDataset(
+ Format('Select distinct %s from %s',[
+ fUserControl.TableHistory.FieldCaptionForm,
+ fUserControl.TableHistory.TableName ]));
+ while DataSetHist.Eof = False do
+ Begin
+ ComboForm.Items.Add( DataSetHist.Fields[ 0 ].AsString );
+ DataSetHist.Next;
+ End;
+
+ DataSetHist := nil;
+ DataSetHist := fUserControl.DataConnector.UCGetSQLDataset(
+ Format('Select %s, %s as Usuario from %s where %s = %s order by %s',
+ [ fUserControl.TableUsers.FieldUserID,
+ fUserControl.TableUsers.FieldLogin ,
+ fUserControl.TableUsers.TableName ,
+ fUserControl.TableUsers.FieldTypeRec,
+ QuotedStr('U') ,
+ fUserControl.TableUsers.FieldLogin ]));
+ while DataSetHist.Eof = False do
+ Begin
+ Aux := TAuxObj.Create;
+ Aux.IdUser := DataSetHist.Fields[ 0 ].AsInteger;
+ ComboUser.Items.AddObject( DataSetHist.Fields[ 1 ].AsString, Aux );
+ DataSetHist.Next;
+ End;
+ ComboUser.ItemIndex := 0;
+ ComboForm.ItemIndex := 0;
+ ComboEvento.ItemIndex := 0;
+ ComboTabela.ItemIndex := 0;
+
+
+ DataSetHist := nil;
+ DataSetHist := fUserControl.DataConnector.UCGetSQLDataset(
+ Format('Select UH.%s as UserId, Uh.%s as Form , ' +
+ 'Uh.%s as Evento , Uh.%s as Obs, Uh.%s as FormCaption, Uh.%s as EventDate, Uh.%s as EventTime, uh.%s as TableName, '+
+ 'US.%s As UserName from %s UH, %s US where UH.%s = US.%s and Uh.%s = %s order by Uh.%s, uh.%s',
+ [ fUserControl.TableHistory.FieldUserId ,
+ fUserControl.TableHistory.FieldForm ,
+ fUserControl.TableHistory.FieldEvent ,
+ fUserControl.TableHistory.FieldObs ,
+ fUserControl.TableHistory.FieldCaptionForm ,
+ fUserControl.TableHistory.FieldEventDate ,
+ fUserControl.TableHistory.FieldEventTime ,
+ fUserControl.TableHistory.FieldTableName ,
+ fUserControl.TableUsers.FieldLogin ,
+ fUserControl.TableHistory.TableName ,
+ fUserControl.TableUsers.TableName ,
+ fUserControl.TableHistory.FieldUserId ,
+ fUserControl.TableUsers.FieldUserID ,
+ fUserControl.TableHistory.FieldApplicationID ,
+ QuotedStr(fUserControl.ApplicationID) ,
+ fUserControl.TableHistory.FieldTableName ,
+ fUserControl.TableHistory.FieldEventDate ]));
+
+ DataSource1.DataSet := DataSetHist;
+end;
+
+procedure TFrmHistorico.FormShow(Sender: TObject);
+begin
+ SetComBoValues;
+
+ Self.Caption := fUserControl.UserSettings.History.LabelDescricao;
+ BitBtn1.Caption := fUserControl.UserSettings.History.Hist_BtnFiltro;
+ BitBtn2.Caption := fUserControl.UserSettings.History.Hist_BtnExcluir;
+ BitBtn3.Caption := fUserControl.UserSettings.History.Hist_BtnFechar;
+
+ LabelDescricao.Caption := fUserControl.UserSettings.History.LabelDescricao;
+ LabelUser.Caption := fUserControl.UserSettings.History.LabelUser;
+ LabelForm.Caption := fUserControl.UserSettings.History.LabelForm;
+ LabelEvento.Caption := fUserControl.UserSettings.History.LabelEvento;
+ LabelTabela.Caption := fUserControl.UserSettings.History.LabelTabela;
+
+ DBGrid1.Columns[ 0 ].Title.Caption := fUserControl.UserSettings.History.LabelUser;
+ DBGrid1.Columns[ 1 ].Title.Caption := fUserControl.UserSettings.History.LabelForm;
+ DBGrid1.Columns[ 2 ].Title.Caption := fUserControl.UserSettings.History.LabelEvento;
+ DBGrid1.Columns[ 3 ].Title.Caption := fUserControl.UserSettings.History.LabelDataEvento;
+ DBGrid1.Columns[ 4 ].Title.Caption := fUserControl.UserSettings.History.LabelHoraEvento;
+ DBGrid1.Columns[ 5 ].Title.Caption := fUserControl.UserSettings.History.LabelTabela;
+
+ StringGrid1.Cells[0,0] := 'Campo';
+ StringGrid1.Cells[1,0] := 'Original';
+ StringGrid1.Cells[2,0] := 'Modificado para';
+end;
+
+procedure TFrmHistorico.ComboUserChange(Sender: TObject);
+begin
+ BitBtn1.Enabled := True;
+end;
+
+procedure TFrmHistorico.DataSource1DataChange(Sender: TObject;
+ Field: TField);
+Var List : TStringList; Aux : Integer; S : String;
+begin
+ DBMemo1.Visible := DataSource1.DataSet.FieldValues['Evento'] <> fUserControl.UserSettings.History.Evento_Edit;
+ StringGrid1.Visible := DataSource1.DataSet.FieldValues['Evento'] = fUserControl.UserSettings.History.Evento_Edit;
+ If StringGrid1.Visible Then
+ Begin
+ try
+ List := TStringList.Create;
+ List.Text := DataSource1.DataSet.FieldValues['Obs'];
+ StringGrid1.RowCount := List.Count + 1;
+ For Aux := 0 to List.Count - 1 do
+ Begin
+ S := List[ Aux ];
+ StringGrid1.Cells[ 0 , Aux + 1 ] := Copy(S,1,Pos('||',S)-1 );
+ Delete(S,1,Pos('||',s)+1);
+ StringGrid1.Cells[ 1 , Aux + 1 ] := Copy(S,1,Pos('||',S)-1 );
+ Delete(S,1,Pos('||',s)+1);
+ StringGrid1.Cells[ 2 , Aux + 1 ] := S;
+ End;
+
+ finally
+ FreeAndNil( List );
+ end;
+ End;
+end;
+
+end.
diff --git a/official/2.20/Source/UCIdle.pas b/official/2.20/Source/UCIdle.pas
new file mode 100644
index 0000000..1888637
--- /dev/null
+++ b/official/2.20/Source/UCIdle.pas
@@ -0,0 +1,131 @@
+unit UCIdle;
+
+interface
+
+uses Classes, UCBase, Dialogs, Windows, Forms, ExtCtrls, Messages;
+
+type
+
+ TUCIdle = class;
+ TUCIdleTimeLeft = procedure (TimeLeft : Integer) of Object;
+
+ TThUCIdle = class(TThread)
+ private
+ procedure DoIdle;
+ procedure TimeLeftSinc;
+ protected
+ procedure Execute; override;
+ public
+ CurrentMilisec : Integer;
+ UCIdle : TUCIdle;
+ end;
+
+ TUCIdle = class(TComponent)
+ private
+ FThIdle : TThUCIdle;
+ FTimeOut: Integer;
+ FOnIdle: TNotifyEvent;
+ FUserControl: TUserControl; //changed from FUCComp to FUserControl
+ FOnAppMessage : TMessageEvent;
+ FTimeLeftNotify: TUCIdleTimeLeft;
+ procedure UCAppMessage(var Msg: TMsg; var Handled: Boolean);
+ procedure SetUserControl(const Value: TUserControl);
+ protected
+ procedure Loaded; override;
+ procedure Notification(AComponent: TComponent;
+ AOperation: TOperation); override; //added by fduenas
+ public
+ constructor Create(AOwner: TComponent); override;
+ procedure DoIdle;
+ published
+ property UserControl : TUserControl read FUserControl write SetUserControl; //changed by fduenas
+ property OnIdle : TNotifyEvent read FOnIdle write FOnIdle;
+ property OnTimeLeftNotify : TUCIdleTimeLeft read FTimeLeftNotify write FTimeLeftNotify;
+ property Timeout : Integer read FTimeOut write FTimeOut;
+ end;
+
+
+implementation
+
+{ TUCIdle }
+
+constructor TUCIdle.Create(AOwner: TComponent);
+begin
+ inherited Create(AOwner);
+end;
+
+procedure TUCIdle.DoIdle;
+begin
+ if Assigned(UserControl) and (UserControl.CurrentUser.UserID <> 0 ) then
+ UserControl.Logoff;
+ if Assigned(OnIdle) then OnIdle(Self);
+end;
+
+procedure TUCIdle.Loaded;
+begin
+ inherited;
+ if not (csDesigning in ComponentState) then
+ if (Assigned(UserControl)) or (Assigned(OnIdle))then
+ begin
+ if Assigned(Application.OnMessage) then FOnAppMessage := Application.OnMessage;
+ Application.OnMessage := UCAppMessage;
+ FThIdle := TThUCIdle.Create(True);
+ FThIdle.CurrentMilisec := 0;
+ FThIdle.UCIdle := Self;
+ FThIdle.Resume;
+ end;
+end;
+
+procedure TUCIdle.Notification(AComponent: TComponent;
+ AOperation: TOperation);
+begin
+ If AOperation = opRemove then
+ If AComponent = FUserControl then
+ FUserControl := nil;
+ inherited Notification(AComponent, AOperation) ;
+
+end;
+
+procedure TUCIdle.SetUserControl(const Value: TUserControl);
+begin
+ FUserControl := Value;
+ if Value <> nil then
+ Value.FreeNotification(self);
+end;
+
+procedure TUCIdle.UCAppMessage(var Msg: TMsg; var Handled: Boolean);
+begin
+ if (msg.message = wm_mousemove) or (msg.message = wm_keydown) then FThIdle.CurrentMilisec := 0;
+
+ if Assigned(FOnAppMessage) then FOnAppMessage(Msg, Handled);
+end;
+
+{ TThUCIdle }
+
+procedure TThUCIdle.DoIdle;
+begin
+ UCIdle.DoIdle;
+end;
+
+procedure TThUCIdle.TimeLeftSinc;
+begin
+ if Assigned(UCIdle.OnTimeLeftNotify) then UCIdle.OnTimeLeftNotify(UCIdle.Timeout - CurrentMilisec);
+end;
+
+procedure TThUCIdle.Execute;
+begin
+ while not Terminated do
+ begin
+ Sleep(1000);
+ if UCIdle.Timeout <= CurrentMilisec then
+ begin
+ CurrentMilisec := 0;
+ Synchronize(DoIdle);
+ end else begin
+ Inc(CurrentMilisec, 1000);
+ Synchronize(TimeLeftSinc);
+ end;
+ end;
+end;
+
+end.
diff --git a/official/2.20/Source/UCLock.res b/official/2.20/Source/UCLock.res
new file mode 100644
index 0000000..4a1f3ae
Binary files /dev/null and b/official/2.20/Source/UCLock.res differ
diff --git a/official/2.20/Source/UCMail.pas b/official/2.20/Source/UCMail.pas
new file mode 100644
index 0000000..ea12527
--- /dev/null
+++ b/official/2.20/Source/UCMail.pas
@@ -0,0 +1,289 @@
+{-----------------------------------------------------------------------------
+ Unit Name: UCMail
+ Author: QmD
+ Date: 09-nov-2004
+ Purpose: Send Mail messages (forget password, user add/change/password force/etc)
+ History: included indy 10 support
+-----------------------------------------------------------------------------}
+
+
+unit UCMail;
+
+interface
+
+{$I 'UserControl.inc'}
+{$I 'IdCompilerDefines.inc'}
+
+uses
+ Classes,
+ Dialogs,
+ IdAntiFreeze,
+ IdAntiFreezeBase,
+ IdBaseComponent,
+ IdComponent,
+ IdMessage,
+ IdMessageClient,
+ IdSMTP,
+ IdTCPClient,
+ IdTCPConnection,
+ SysUtils,
+ UcConsts_Language;
+
+type
+ TUCMailMessage = class(TPersistent)
+ private
+ FAtivo: Boolean;
+ FTitulo: String;
+ FLines: TStrings;
+ procedure SetLines(const Value: TStrings);
+ protected
+ public
+ constructor Create(AOwner: TComponent);
+ destructor Destroy; override;
+ procedure Assign(Source: TPersistent); override;
+ published
+ property Ativo: Boolean read FAtivo write FAtivo;
+ property Titulo: String read FTitulo write FTitulo;
+ property Mensagem: TStrings read FLines write SetLines;
+ end;
+
+ TUCMEsqueceuSenha = class(TUCMailMessage)
+ private
+ FLabelLoginForm: String;
+ FMailEnviado: String;
+ protected
+ public
+ published
+ property LabelLoginForm: String read FLabelLoginForm write FLabelLoginForm;
+ property MensagemEmailEnviado: String read FMailEnviado write FMailEnviado;
+ end;
+
+ TMessageTag = procedure(Tag: String; var ReplaceText: String) of object;
+
+ TMailUserControl = class(TComponent)
+ private
+ FPorta: Integer;
+ FEmailRemetente: String;
+ FUsuario: String;
+ FNomeRemetente: String;
+ FSenha: String;
+ FSMTPServer: String;
+ FAdicionaUsuario: TUCMailMessage;
+ FSenhaTrocada: TUCMailMessage;
+ FAlteraUsuario: TUCMailMessage;
+ FSenhaForcada: TUCMailMessage;
+ FIdAntiFreeze: TIdAntiFreeze;
+ FEsqueceuSenha: TUCMEsqueceuSenha;
+ function ParseMailMSG(Nome, Login, Senha, Email, Perfil, txt: String): String;
+ function TrataSenha(Senha: String; Key: Word): String;
+ procedure SMTPStatus(ASender: TObject; const AStatus: TIdStatus; const AStatusText: String);
+ protected
+ procedure EnviaEmailTp(Nome, Login, USenha, Email, Perfil: String; UCMSG: TUCMailMessage);
+ public
+ constructor Create(AOwner: TComponent); override;
+ destructor Destroy; override;
+ procedure EnviaEmailAdicionaUsuario(Nome, Login, Senha, Email, Perfil: String; Key: Word);
+ procedure EnviaEmailAlteraUsuario(Nome, Login, Senha, Email, Perfil: String; Key: Word);
+ procedure EnviaEmailSenhaForcada(Nome, Login, Senha, Email, Perfil: String);
+ procedure EnviaEmailSenhaTrocada(Nome, Login, Senha, Email, Perfil: String; Key: Word);
+ procedure EnviaEsqueceuSenha(Nome, Login, Senha, Email, Perfil: String; Key: Word);
+ published
+ property ServidorSMTP: String read FSMTPServer write FSMTPServer;
+ property Usuario: String read FUsuario write FUsuario;
+ property Senha: String read FSenha write FSenha;
+ property Porta: Integer read FPorta write FPorta default 25;
+ property NomeRemetente: String read FNomeRemetente write FNomeRemetente;
+ property EmailRemetente: String read FEmailRemetente write FEmailRemetente;
+ property AdicionaUsuario: TUCMailMessage read FAdicionaUsuario write FAdicionaUsuario;
+ property AlteraUsuario: TUCMailMessage read FAlteraUsuario write FAlteraUsuario;
+ property EsqueceuSenha: TUCMEsqueceuSenha read FEsqueceuSenha write FEsqueceuSenha;
+ property SenhaForcada: TUCMailMessage read FSenhaForcada write FSenhaForcada;
+ property SenhaTrocada: TUCMailMessage read FSenhaTrocada write FSenhaTrocada;
+ end;
+
+implementation
+
+uses
+ UCBase,
+ UCEMailForm_U;
+
+{ TMailAdicUsuario }
+
+procedure TUCMailMessage.Assign(Source: TPersistent);
+begin
+ if Source is TUCMailMessage then
+ begin
+ Self.Ativo := TUCMailMessage(Source).Ativo;
+ Self.Titulo := TUCMailMessage(Source).Titulo;
+ Self.Mensagem.Assign(TUCMailMessage(Source).Mensagem);
+ end
+ else
+ inherited;
+end;
+
+constructor TUCMailMessage.Create(AOwner: TComponent);
+begin
+ FLines := TStringList.Create;
+end;
+
+destructor TUCMailMessage.Destroy;
+begin
+ SysUtils.FreeAndNil(FLines);
+ inherited;
+end;
+
+procedure TUCMailMessage.SetLines(const Value: TStrings);
+begin
+ FLines.Assign(Value);
+end;
+
+{ TMailUserControl }
+
+constructor TMailUserControl.Create(AOwner: TComponent);
+begin
+ inherited;
+ AdicionaUsuario := TUCMailMessage.Create(self);
+ AlteraUsuario := TUCMailMessage.Create(self);
+ EsqueceuSenha := TUCMEsqueceuSenha.Create(self);
+ SenhaForcada := TUCMailMessage.Create(self);
+ SenhaTrocada := TUCMailMessage.Create(self);
+ if csDesigning in ComponentState then
+ begin
+ Porta := 25;
+ AdicionaUsuario.Ativo := True;
+ AlteraUsuario.Ativo := True;
+ EsqueceuSenha.Ativo := True;
+ SenhaForcada.Ativo := True;
+ SenhaTrocada.Ativo := True;
+ EsqueceuSenha.LabelLoginForm := RetornaLingua( ucPortuguesBr, 'Const_Log_LbEsqueciSenha');
+ EsqueceuSenha.MensagemEmailEnviado := RetornaLingua( ucPortuguesBr, 'Const_Log_MsgMailSend');
+ end
+ else
+ begin
+ FIdAntiFreeze := TIdAntiFreeze.Create(Self);
+ FIdAntiFreeze.Active := True;
+ end;
+end;
+
+destructor TMailUserControl.Destroy;
+begin
+ SysUtils.FreeAndNil(FAdicionaUsuario);
+ SysUtils.FreeAndNil(FAlteraUsuario);
+ SysUtils.FreeAndNil(FEsqueceuSenha);
+ SysUtils.FreeAndNil(FSenhaForcada);
+ SysUtils.FreeAndNil(FSenhaTrocada);
+
+ inherited;
+end;
+
+procedure TMailUserControl.EnviaEmailAdicionaUsuario(Nome, Login, Senha, Email, Perfil: String; Key: Word);
+begin
+ Senha := TrataSenha(Senha, Key);
+ EnviaEmailTP(Nome, Login, Senha, Email, Perfil, AdicionaUsuario);
+end;
+
+procedure TMailUserControl.EnviaEmailAlteraUsuario(Nome, Login, Senha, Email, Perfil: String; Key: Word);
+begin
+ Senha := TrataSenha(Senha, Key);
+ EnviaEmailTP(Nome, Login, Senha, Email, Perfil, AlteraUsuario);
+end;
+
+procedure TMailUserControl.EnviaEmailSenhaForcada(Nome, Login, Senha, Email, Perfil: String);
+begin
+ EnviaEmailTP(Nome, Login, Senha, Email, Perfil, SenhaForcada);
+end;
+
+procedure TMailUserControl.EnviaEmailSenhaTrocada(Nome, Login, Senha, Email, Perfil: String; Key: Word);
+begin
+ EnviaEmailTP(Nome, Login, Senha, Email, Perfil, SenhaTrocada);
+end;
+
+function TMailUserControl.ParseMailMSG(Nome, Login, Senha, Email, Perfil, txt: String): String;
+begin
+ Txt := StringReplace(txt, ':nome', nome, [rfReplaceAll]);
+ Txt := StringReplace(txt, ':login', login, [rfReplaceAll]);
+ Txt := StringReplace(txt, ':senha', senha, [rfReplaceAll]);
+ Txt := StringReplace(txt, ':email', email, [rfReplaceAll]);
+ Txt := StringReplace(txt, ':perfil', perfil, [rfReplaceAll]);
+ Result := Txt;
+end;
+
+procedure TMailUserControl.SMTPStatus(ASender: TObject; const AStatus: TIdStatus; const AStatusText: String);
+begin
+ if not Assigned(UCEMailForm) then
+ Exit;
+ UCEMailForm.lbStatus.Caption := AStatusText;
+ UCEMailForm.Update;
+end;
+
+procedure TMailUserControl.EnviaEmailTp(Nome, Login, USenha, Email, Perfil: String; UCMSG: TUCMailMessage);
+var
+ Mailmsg: TIdMessage;
+ MailSMTP: TIdSMTP;
+begin
+ if Trim(Email) = '' then
+ Exit;
+ MailSMTP := TIdSMTP.Create(nil);
+ MailSMTP.OnStatus := SMTPStatus;
+ MailSMTP.Host := ServidorSMTP;
+ MailSMTP.Username := Usuario;
+ if Senha <> '' then
+ MailSMTP.Password := Senha;
+
+ MailMsg := TIdMessage.Create(nil);
+ MailMSG.From.Address := EmailRemetente;
+ MailMSG.From.Name := NomeRemetente;
+ MailMSG.From.Text := NomeRemetente + ' <' + EmailRemetente + '>';
+ with MailMSG.Recipients.Add do
+ begin
+ Address := Email;
+ Name := Nome;
+ Text := Nome + ' <' + Email + '>';
+ end;
+ MailMsg.Body.Text := ParseMailMSG(Nome, Login, USenha, Email, Perfil, UCMSG.Mensagem.Text);
+ MailMSG.Subject := UCMSG.Titulo;
+ try
+ try
+ UCEMailForm := TUCEMailForm.Create(Self);
+ UCEMailForm.lbStatus.Caption := '';
+ UCEMailForm.Show;
+ MailSMTP.Connect;
+ MailSMTP.Send(MailMSG);
+ except
+ on e: Exception do
+ begin
+ UCEMailForm.lbStatus.Caption := E.Message;
+ UCEMailForm.Update;
+ Beep;
+ Sleep(5000);
+ raise;
+ end;
+ end;
+ finally
+ if MailSMTP.Connected then
+ MailSMTP.Disconnect;
+ MailMSG.Free;
+ MailSMTP.Free;
+ UCEMailForm.Close;
+ FreeAndNil(UCEMailForm);
+ end;
+end;
+
+procedure TMailUserControl.EnviaEsqueceuSenha(Nome, Login, Senha, Email, Perfil: String; Key: Word);
+begin
+ if Trim(Email) = '' then
+ Exit;
+ try
+ Senha := TrataSenha(Senha, Key);
+ EnviaEmailTP(Nome, Login, Senha, Email, Perfil, EsqueceuSenha);
+ MessageDlg(EsqueceuSenha.MensagemEmailEnviado, mtInformation, [mbOK], 0);
+ except
+ end;
+end;
+
+function TmailUserControl.TrataSenha(Senha: String; Key: Word): String;
+begin
+ Result := Decrypt(Senha, Key);
+end;
+
+end.
diff --git a/official/2.20/Source/UCMessages.pas b/official/2.20/Source/UCMessages.pas
new file mode 100644
index 0000000..a4e3d31
--- /dev/null
+++ b/official/2.20/Source/UCMessages.pas
@@ -0,0 +1,1152 @@
+unit UCMessages;
+
+interface
+
+{$I 'UserControl.inc'}
+
+uses
+ Classes,
+ Dialogs,
+ Forms,
+ Graphics,
+ SysUtils,
+ UCConsts_language;
+
+type
+ TUCAppMessagesMSG = class(TPersistent)
+ private
+ FMsgRec_LabelDate: String;
+ FMsgsForm_BtBtForward: String;
+ Fmsgsform_btnew: String;
+ FMsgSend_GroupTo: String;
+ FMsgSend_WindowCaption: String;
+ FMsgSend_GroupMessage: String;
+ FMsgsForm_ColFrom: String;
+ FMsgsForm_BtDelete: String;
+ FMsgsForm_BtClose: String; //added by fduenas
+ FMsgRec_LabelMessage: String;
+ FMsgRec_Title: String;
+ FMsgSend_RadioAll: String;
+ FMsgSend_RadioUser: String;
+ FMsgSend_Title: String;
+ FMsgsForm_ColSubject: String;
+ FMsgRec_LabelFrom: String;
+ FMsgsForm_WindowCaption: String;
+ FMsgRec_LabelSubject: String;
+ FMsgRec_WindowCaption: String;
+ FMsgSend_BtSend: String;
+ FMsgSend_BtCancel: String;
+ FMsgsForm_BtReplay: String;
+ FMsgRec_BtClose: String;
+ FMsgSend_LabelSubject: String; //added by fduenas
+ FMsgSend_LabelMessageText: String; //added by fduenas
+ FMsgsForm_PromptDelete: String;
+ FMsgsForm_PromptDelete_WindowCaption: String; //added by fduenas
+ FMsgsForm_ColDate: String;
+ FMsgsForm_NoMessagesSelected: String; //added by fduenas
+ FMsgsForm_NoMessagesSelected_WindowCaption: String; //added by fduenas
+ protected
+ public
+ constructor Create(Aowner: TComponent);
+ destructor Destroy; override;
+ procedure Assign(Source: TPersistent); override;
+ published
+ property MsgsForm_BtNew: String read Fmsgsform_btnew write Fmsgsform_btnew;
+ property MsgsForm_BtReplay: String read FMsgsForm_BtReplay write FMsgsForm_BtReplay;
+ property MsgsForm_BtForward: String read FMsgsForm_BtBtForward write FMsgsForm_BtBtForward;
+ property MsgsForm_BtDelete: String read FMsgsForm_BtDelete write FMsgsForm_BtDelete;
+ property MsgsForm_BtClose: String read FMsgsForm_BtClose write FMsgsForm_BtClose; //added By fduenas
+ property MsgsForm_WindowCaption: String read FMsgsForm_WindowCaption write FMsgsForm_WindowCaption;
+ property MsgsForm_ColFrom: String read FMsgsForm_ColFrom write FMsgsForm_ColFrom;
+ property MsgsForm_ColSubject: String read FMsgsForm_ColSubject write FMsgsForm_ColSubject;
+ property MsgsForm_ColDate: String read FMsgsForm_ColDate write FMsgsForm_ColDate;
+ property MsgsForm_PromptDelete: String read FMsgsForm_PromptDelete write FMsgsForm_PromptDelete;
+ property MsgsForm_PromptDelete_WindowCaption: String read FMsgsForm_PromptDelete_WindowCaption write FMsgsForm_PromptDelete_WindowCaption; //added by fduenas
+ property MsgsForm_NoMessagesSelected: String read FMsgsForm_NoMessagesSelected write FMsgsForm_NoMessagesSelected; //added by fduenas
+ property MsgsForm_NoMessagesSelected_WindowCaption: String read FMsgsForm_NoMessagesSelected_WindowCaption write FMsgsForm_NoMessagesSelected_WindowCaption; //added by fduenas
+
+ property MsgRec_BtClose: String read FMsgRec_BtClose write FMsgRec_BtClose;
+ property MsgRec_WindowCaption: String read FMsgRec_WindowCaption write FMsgRec_WindowCaption;
+ property MsgRec_Title: String read FMsgRec_Title write FMsgRec_Title;
+ property MsgRec_LabelFrom: String read FMsgRec_LabelFrom write FMsgRec_LabelFrom;
+ property MsgRec_LabelDate: String read FMsgRec_LabelDate write FMsgRec_LabelDate;
+ property MsgRec_LabelSubject: String read FMsgRec_LabelSubject write FMsgRec_LabelSubject;
+ property MsgRec_LabelMessage: String read FMsgRec_LabelMessage write FMsgRec_LabelMessage;
+
+ property MsgSend_BtSend: String read FMsgSend_BtSend write FMsgSend_BtSend;
+ property MsgSend_BtCancel: String read FMsgSend_BtCancel write FMsgSend_BtCancel;
+ property MsgSend_WindowCaption: String read FMsgSend_WindowCaption write FMsgSend_WindowCaption;
+ property MsgSend_Title: String read FMsgSend_Title write FMsgSend_Title;
+ property MsgSend_GroupTo: String read FMsgSend_GroupTo write FMsgSend_GroupTo;
+ property MsgSend_RadioUser: String read FMsgSend_RadioUser write FMsgSend_RadioUser;
+ property MsgSend_RadioAll: String read FMsgSend_RadioAll write FMsgSend_RadioAll;
+ property MsgSend_GroupMessage: String read FMsgSend_GroupMessage write FMsgSend_GroupMessage;
+ property MsgSend_LabelSubject: String read FMsgSend_LabelSubject write FMsgSend_LabelSubject; //added by fduenas
+ property MsgSend_LabelMessageText: String read FMsgSend_LabelMessageText write FMsgSend_LabelMessageText; //added by fduenas
+ end;
+
+ TUCChangePassError = class(TPersistent)
+ private
+ FInvalidCurrentPassword: String;
+ FNewPasswordError: String;
+ FNewEqualCurrent: String;
+ FPasswordRequired: String;
+ FMinPasswordLength: String;
+ FInvalidNewPassword: String;
+ protected
+ public
+ constructor Create(Aowner: TComponent);
+ destructor Destroy; override;
+ procedure Assign(Source: TPersistent); override;
+ published
+ property InvalidCurrentPassword: String read FInvalidCurrentPassword write FInvalidCurrentPassword;
+ property NewPasswordError: String read FNewPasswordError write FNewPasswordError;
+ property NewEqualCurrent: String read FNewEqualCurrent write FNewEqualCurrent;
+ property PasswordRequired: String read FPasswordRequired write FPasswordRequired;
+ property MinPasswordLength: String read FMinPasswordLength write FMinPasswordLength;
+ property InvalidNewPassword: String read FInvalidNewPassword write FInvalidNewPassword;
+ end;
+
+ TUCUserCommonMSG = class(TPersistent)
+ private
+ FPasswordOFF: String;
+ FPasswordChanged: String;
+ FInvalidUserPass: String;
+ FMaxLoginTry: String;
+ FAutoLogonError: String;
+ FFirstMSG: TStrings;
+ FChangePasswordError: TUCChangePassError;
+ FUsuarioExiste: String;
+ fPasswordExpired: String;
+ fForcaTrocaSenha: String;
+ procedure SetFErroTrocaSenha(const Value: TUCChangePassError);
+ procedure SetFFirstMSG(const Value: TStrings);
+ protected
+
+ public
+ constructor Create(Aowner: TComponent);
+ destructor Destroy; override;
+ procedure Assign(Source: TPersistent); override;
+ published
+ property AutoLogonError: String read FAutoLogonError write FAutoLogonError;
+ property ChangePasswordError: TUCChangePassError read FChangePasswordError write SetFErroTrocaSenha;
+ property InvalidLogin: String read FInvalidUserPass write FInvalidUserPass;
+ property InitialMessage: TStrings read FFirstMSG write SetFFirstMSG;
+ property MaxLoginAttemptsError: String read FMaxLoginTry write FMaxLoginTry;
+ property PasswordChanged: String read FPasswordChanged write FPasswordChanged;
+ property BlankPassword: String read FPasswordOFF write FPasswordOFF;
+ property UsuarioExiste: String read FUsuarioExiste write FUsuarioExiste;
+ property PasswordExpired : String read fPasswordExpired write fPasswordExpired;
+ property ForcaTrocaSenha : String read fForcaTrocaSenha write fForcaTrocaSenha;
+ end;
+
+ TUCLoginFormMSG = class(TPersistent)
+ private
+ FWindowCaption: String;
+ FLabelUser: String;
+ FLabelPassword: String;
+ FBtOk: String;
+ FBtCancel: String;
+ FBottomImage: TPicture;
+ FLeftImage: TPicture;
+ FTopImage: TPicture;
+ fLabelTentativas: String;
+ fLabelTentativa: String;
+ procedure SetFBottomImage(const Value: TPicture);
+ procedure SetFLeftImage(const Value: TPicture);
+ procedure SetFTopImage(const Value: TPicture);
+ protected
+
+ public
+ constructor Create(AOwner: TComponent);
+ destructor Destroy; override;
+ procedure Assign(Source: TPersistent); override;
+ published
+ property WindowCaption: String read FWindowCaption write FWindowCaption;
+ property LabelUser: String read FLabelUser write FLabelUser;
+ property LabelPassword: String read FLabelPassword write FLabelPassword;
+ property BtOk: String read FBtOk write FBtOk;
+ property BtCancel: String read FBtCancel write FBtCancel;
+ property TopImage: TPicture read FTopImage write SetFTopImage;
+ property LeftImage: TPicture read FLeftImage write SetFLeftImage;
+ property BottomImage: TPicture read FBottomImage write SetFBottomImage;
+ property LabelTentativa : String read fLabelTentativa write fLabelTentativa; // by vicente barros leonel
+ property LabelTentativas : String read fLabelTentativas write fLabelTentativas; // by vicente barros leonel
+ end;
+
+ TUCCadUserFormMSG = class(TPersistent)
+ private
+ FWindowCaption: String;
+ FLabelDescricao: String;
+ FColNome: String;
+ FColLogin: String;
+ FColEmail: String;
+ FBtAdic: String;
+ FBtAlt: String;
+ FBtExc: String;
+ FBtAccess: String;
+ FBtPass: String;
+ FBtClose: String;
+ FConfExc: String;
+ FPromptDelete_WindowCaption: String; //added by fduenas
+ protected
+
+ public
+ constructor Create(AOwner: TComponent);
+ destructor Destroy; override;
+ procedure Assign(Source: TPersistent); override;
+ published
+ property WindowCaption: String read FWindowCaption write FWindowCaption;
+ property LabelDescription: String read FLabelDescricao write FLabelDescricao;
+ property ColName: String read FColNome write FColNome;
+ property ColLogin: String read FColLogin write FColLogin;
+ property ColEmail: String read FColEmail write FColEmail;
+ property BtAdd: String read FBtAdic write FBtAdic;
+ property BtChange: String read FBtAlt write FBtAlt;
+ property BtDelete: String read FBtExc write FBtExc;
+ property PromptDelete: String read FConfExc write FConfExc;
+ property PromptDelete_WindowCaption: String read FPromptDelete_WindowCaption write FPromptDelete_WindowCaption; //added by fduenas
+ property BtRights: String read FBtAccess write FBtAccess;
+ property BtPassword: String read FBtPass write FBtPass;
+ property BtClose: String read FBtClose write FBtClose;
+ end;
+
+ TUCLogControlFormMSG = class(TPersistent)
+ private
+ FColAppID: String;
+ FColData: String;
+ FColNivel: String;
+ FColUsuario: String;
+ FColMensagem: String;
+ FLabelDescription: String;
+ FWindowCaption: String;
+ FLabelLevel: String;
+ FBtClose: String;
+ FConfExc: String;
+ FLabelUser: String;
+ FBtFilt: String;
+ FLabelDate: String;
+ FBtExc: String;
+ FOptionUserAll: String; //added by fduenas
+ FOptionLevelLow: String; //added by fduenas
+ FOptionLevelNormal: String; //added by fduenas
+ FOptionLevelHigh: String; //added by fduenas
+ FOptionLevelCritic: String; //added by fduenas
+ FPromptDelete_WindowCaption: String; //added by fduenas
+ FDeletePerformed: String;
+ protected
+
+ public
+ constructor Create(AOwner: TComponent);
+ destructor Destroy; override;
+ procedure Assign(Source: TPersistent); override;
+ published
+ property WindowCaption: String read FWindowCaption write FWindowCaption;
+ property LabelDescription: String read FLabelDescription write FLabelDescription;
+ property LabelUser: String read FLabelUser write FLabelUser;
+ property LabelDate: String read FLabelDate write FLabelDate;
+ property LabelLevel: String read FLabelLevel write FLabelLevel;
+ property ColAppID: String read FColAppID write FColAppID;
+ property ColLevel: String read FColNivel write FColNivel;
+ property ColMessage: String read FColMensagem write FColMensagem;
+ property ColUser: String read FColUsuario write FColUsuario;
+ property ColDate: String read FColData write FColData;
+ property BtFilter: String read FBtFilt write FBtFilt;
+ property BtDelete: String read FBtExc write FBtExc;
+ property BtClose: String read FBtClose write FBtClose;
+ property PromptDelete: String read FConfExc write FConfExc;
+ property PromptDelete_WindowCaption: String read FPromptDelete_WindowCaption write FPromptDelete_WindowCaption; //added by fduenas
+ property OptionUserAll: String read FOptionUserAll write FOptionUserAll; //added by fduenas
+ property OptionLevelLow: String read FOptionLevelLow write FOptionLevelLow; //added by fduenas
+ property OptionLevelNormal: String read FOptionLevelNormal write FOptionLevelNormal; //added by fduenas
+ property OptionLevelHigh: String read FOptionLevelHigh write FOptionLevelHigh; //added by fduenas
+ property OptionLevelCritic: String read FOptionLevelCritic write FOptionLevelCritic; //added by fduenas
+ property DeletePerformed: String read FDeletePerformed write FDeletePerformed; //added by fduenas
+ end;
+
+ TUCProfileUserFormMSG = class(TPersistent)
+ private
+ FWindowCaption: String;
+ FLabelDescription: String;
+ FColPerfil: String;
+ FBtAdic: String;
+ FBtAlt: String;
+ FBtExc: String;
+ FBtAcess: String;
+ FBtClose: String;
+ FConfExc: String;
+ FPromptDelete_WindowCaption: String; //added by fduenas
+ protected
+
+ public
+ constructor Create(AOwner: TComponent);
+ destructor Destroy; override;
+ procedure Assign(Source: TPersistent); override;
+ published
+ property WindowCaption: String read FWindowCaption write FWindowCaption;
+ property LabelDescription: String read FLabelDescription write FLabelDescription;
+ property ColProfile: String read FColPerfil write FColPerfil;
+ property BtAdd: String read FBtAdic write FBtAdic;
+ property BtChange: String read FBtAlt write FBtAlt;
+ property BtDelete: String read FBtExc write FBtExc;
+ property BtRights: String read FBtAcess write FBtAcess; //BGM
+ property PromptDelete: String read FConfExc write FConfExc;
+ property PromptDelete_WindowCaption: String read FPromptDelete_WindowCaption write FPromptDelete_WindowCaption; //added by fduenas
+ property BtClose: String read FBtClose write FBtClose;
+ end;
+
+ TUCAddUserFormMSG = class(TPersistent)
+ private
+ FWindowCaption: String;
+ FLabelAdd: String;
+ FLabelChange: String;
+ FLabelNome: String;
+ FLabelLogin: String;
+ FLabelEmail: String;
+ FCheckPriv: String;
+ FBtSave: String;
+ FBtCancelar: String;
+ FLabelPerfil: String;
+ fCheckExpira: String;
+ fExpiredIn: string;
+ fDay: String;
+ protected
+
+ public
+ constructor Create(AOwner: TComponent);
+ destructor Destroy; override;
+ procedure Assign(Source: TPersistent); override;
+ published
+ property WindowCaption: String read FWindowCaption write FWindowCaption;
+ property LabelAdd: String read FLabelAdd write FLabelAdd;
+ property LabelChange: String read FLabelChange write FLabelChange;
+ property LabelName: String read FLabelNome write FLabelNome;
+ property LabelLogin: String read FLabelLogin write FLabelLogin;
+ property LabelEmail: String read FLabelEmail write FLabelEmail;
+ property LabelPerfil: String read FLabelPerfil write FLabelPerfil;
+ property CheckPrivileged: String read FCheckPriv write FCheckPriv;
+ property BtSave: String read FBtSave write FBtSave;
+ property BtCancel: String read FBtCancelar write FBtCancelar;
+ property CheckExpira: String read fCheckExpira write fCheckExpira;
+ property Day : String read fDay write fDay;
+ property ExpiredIn : string read fExpiredIn write fExpiredIn;
+ end;
+
+ TUCAddProfileFormMSG = class(TPersistent)
+ private
+ FWindowCaption, FLabelAdd, FLabelChange, FLabelName, FBtGravar, FBtCancel: String;
+ protected
+
+ public
+ constructor Create(AOwner: TComponent);
+ destructor Destroy; override;
+ procedure Assign(Source: TPersistent); override;
+ published
+ property WindowCaption: String read FWindowCaption write FWindowCaption;
+ property LabelAdd: String read FLabelAdd write FLabelAdd;
+ property LabelChange: String read FLabelChange write FLabelChange;
+ property LabelName: String read FLabelName write FLabelName;
+ property BtSave: String read FBtGravar write FBtGravar;
+ property BtCancel: String read FBtCancel write FBtCancel;
+ end;
+
+ TUCPermissFormMSG = class(TPersistent)
+ private
+ FWindowCaption: String;
+ FBtCancela: String;
+ FBtGrava: String;
+ FBtLock: String;
+ FBtUnlock: String;
+ FPageActions: String;
+ FPageMenu: String;
+ FLabelProfile: String;
+ FLabelUser: String;
+ fPageControls: string;
+ protected
+ public
+ constructor Create(AOwner: TComponent);
+ destructor Destroy; override;
+ procedure Assign(Source: TPersistent); override;
+ published
+ property WindowCaption: String read FWindowCaption write FWindowCaption;
+ property LabelUser: String read FLabelUser write FLabelUser;
+ property LabelProfile: String read FLabelProfile write FLabelProfile;
+ property PageMenu: String read FPageMenu write FPageMenu;
+ property PageActions: String read FPageActions write FPageActions;
+ property PageControls: string read fPageControls write fPageControls;
+ property BtUnlock: String read FBtUnlock write FBtUnlock;
+ property BtLock: String read FBtLock write FBtLock;
+ property BtSave: String read FBtGrava write FBtGrava;
+ property BtCancel: String read FBtCancela write FBtCancela;
+ end;
+
+ TUCTrocaSenhaFormMSG = class(TPersistent)
+ private
+ FWindowCaption: String;
+ FBtCancel: String;
+ FBtSave: String;
+ FLabelConfirm: String;
+ FLabelNewPassword: String;
+ FLabelCurrentPassword: String;
+ FLabelDescription: String;
+ protected
+
+ public
+ constructor Create(AOwner: TComponent);
+ destructor Destroy; override;
+ procedure Assign(Source: TPersistent); override;
+ published
+ property WindowCaption: String read FWindowCaption write FWindowCaption;
+ property LabelDescription: String read FLabelDescription write FLabelDescription;
+ property LabelCurrentPassword: String read FLabelCurrentPassword write FLabelCurrentPassword;
+ property LabelNewPassword: String read FLabelNewPassword write FLabelNewPassword;
+ property LabelConfirm: String read FLabelConfirm write FLabelConfirm;
+ property BtSave: String read FBtSave write FBtSave;
+ property BtCancel: String read FBtCancel write FBtCancel;
+ end;
+
+ TUCResetPassword = class(TPersistent)
+ private
+ FWindowCaption: String;
+ FLabelPassword: String;
+ protected
+ public
+ constructor Create(AOwner: TComponent);
+ destructor Destroy; override;
+ procedure Assign(Source: TPersistent); override;
+ published
+ property WindowCaption: String read FWindowCaption write FWindowCaption;
+ property LabelPassword: String read FLabelPassword write FLabelPassword;
+ end;
+
+
+ TUCHistoryMSG = class(TPersistent) // by vicente barros leonel
+ private
+ fEvento_edit: String;
+ fEvento_NewRecord: String;
+ fEvento_Insert: String;
+ fEvento_delete: String;
+ fLabelTabela: String;
+ fMsg_LogEmptyHistory: String;
+ fMsg_MensConfirma: String;
+ fLabelDescricao: String;
+ fHist_BtnExcluir: String;
+ fHist_BtnFiltro: String;
+ fLabelForm: String;
+ fHist_BtnFechar: String;
+ fLabelDataEvento: String;
+ fLabelEvento: String;
+ fMsg_NewRecord: String;
+ fHist_All: String;
+ fMsg_LimpHistorico: String;
+ fLabelHoraEvento: String;
+ fLabelUser: String;
+ fHist_MsgExceptPropr: String;
+ protected
+ public
+ constructor Create(AOwner: TComponent);
+ destructor Destroy; override;
+ procedure Assign(Source: TPersistent); override;
+ published
+ Property Evento_Insert : String read fEvento_Insert write fEvento_Insert;
+ Property Evento_Delete : String read fEvento_delete write fEvento_delete;
+ Property Evento_Edit : String read fEvento_edit write fEvento_edit;
+ Property Evento_NewRecord : String read fEvento_NewRecord write fEvento_NewRecord;
+ Property Hist_All : String read fHist_All Write fHist_All ;
+ Property Msg_LimpHistorico : String read fMsg_LimpHistorico Write fMsg_LimpHistorico ;
+ Property Msg_MensConfirma : String read fMsg_MensConfirma Write fMsg_MensConfirma ;
+ Property Msg_LogEmptyHistory : String read fMsg_LogEmptyHistory Write fMsg_LogEmptyHistory;
+ Property LabelDescricao : String read fLabelDescricao Write fLabelDescricao ;
+ Property LabelUser : String read fLabelUser Write fLabelUser;
+ Property LabelForm : String read fLabelForm Write fLabelForm ;
+ Property LabelEvento : String read fLabelEvento Write fLabelEvento;
+ Property LabelTabela : String read fLabelTabela Write fLabelTabela;
+ Property LabelDataEvento : String read fLabelDataEvento Write fLabelDataEvento;
+ Property LabelHoraEvento : String read fLabelHoraEvento Write fLabelHoraEvento;
+ Property Msg_NewRecord : String read fMsg_NewRecord Write fMsg_NewRecord;
+ Property Hist_MsgExceptPropr : String read fHist_MsgExceptPropr write fHist_MsgExceptPropr;
+ Property Hist_BtnFiltro : String read fHist_BtnFiltro write fHist_BtnFiltro;
+ Property Hist_BtnExcluir : String read fHist_BtnExcluir write fHist_BtnExcluir;
+ Property Hist_BtnFechar : String read fHist_BtnFechar write fHist_BtnFechar;
+ end;
+
+ TUCFieldType = class(TPersistent) // classe serve para controlar os tipos de campos
+ // no comando sql de create e alter table
+ private
+ fTypeChar: String;
+ fTypeVarChar: String;
+ fTypeInt: String;
+ fTypeMemo: String;
+ public
+ constructor Create(AOwner: TComponent);
+ destructor Destroy; override;
+ procedure Assign(Source: TPersistent); override;
+ published
+ Property Type_VarChar : String read fTypeVarChar write fTypeVarChar;
+ property Type_Char : String read fTypeChar write fTypeChar;
+ property Type_Int : String read fTypeInt write fTypeInt;
+ Property Type_MemoField : String read fTypeMemo write fTypeMemo;
+ end;
+
+ TUCUserSettings = class(TPersistent)
+ private
+ FUserCommomMSG: TUCUserCommonMSG;
+ FLoginFormMSG: TUCLoginFormMSG;
+ FCadUserFormMSG: TUCCadUserFormMSG;
+ FAddUserFormMSG: TUCAddUserFormMSG;
+ FPermissFormMSG: TUCPermissFormMSG;
+ FTrocaSenhaFormMSG: TUCTrocaSenhaFormMSG;
+ FResetPassword: TUCResetPassword;
+ FProfileUserFormMSG: TUCProfileUserFormMSG;
+ FAddProfileFormMSG: TUCAddProfileFormMSG;
+ FLogControlFormMSG: TUCLogControlFormMSG;
+ FAppMessagesMSG: TUCAppMessagesMSG;
+ FPosition: TPosition;
+ fHistory: TUCHistoryMSG;
+ fTypeFields: TUCFieldType;
+ fLanguage: TUCLanguage;
+ procedure SetFResetPassword(const Value: TUCResetPassword);
+ procedure SetFProfileUserFormMSG(const Value: TUCProfileUserFormMSG);
+ procedure SetFAddProfileFormMSG(const Value: TUCAddProfileFormMSG);
+ procedure SetFLogControlFormMSG(const Value: TUCLogControlFormMSG);
+ procedure SetAppMessagesMSG(const Value: TUCAppMessagesMSG);
+ procedure SetfHistory(const Value: TUCHistoryMSG);
+ protected
+ procedure SetFUserCommonMsg(const Value: TUCUserCommonMSG);
+ procedure SetFFormLoginMsg(const Value: TUCLoginFormMSG);
+ procedure SetFCadUserFormMSG(const Value: TUCCadUserFormMSG);
+ procedure SetFAddUserFormMSG(const Value: TUCAddUserFormMSG);
+ procedure SetFPermissFormMSG(const Value: TUCPermissFormMSG);
+ procedure SetFTrocaSenhaFormMSG(const Value: TUCTrocaSenhaFormMSG);
+ public
+ constructor Create(AOwner: TComponent);
+ destructor Destroy; override;
+ procedure Assign(Source: TPersistent); override;
+
+ published
+ property AppMessages: TUCAppMessagesMSG read FAppMessagesMSG write SetAppMessagesMSG;
+ property CommonMessages: TUCUserCommonMSG read FUserCommomMSG write SetFUserCommonMSg;
+ property Login: TUCLoginFormMSG read FLoginFormMSG write SetFFormLoginMsg;
+ property Log: TUCLogControlFormMSG read FLogControlFormMSG write SetFLogControlFormMSG;
+ property UsersForm: TUCCadUserFormMSG read FCadUserFormMSG write SetFCadUserFormMSG;
+ property AddChangeUser: TUCAddUserFormMSG read FAddUserFormMSG write SetFAddUserFormMSG;
+ property AddChangeProfile: TUCAddProfileFormMSG read FAddProfileFormMSG write SetFAddProfileFormMSG;
+ property UsersProfile: TUCProfileUserFormMSG read FProfileUserFormMSG write SetFProfileUserFormMSG;
+ property Rights: TUCPermissFormMSG read FPermissFormMSG write SetFPermissFormMSG;
+ property ChangePassword: TUCTrocaSenhaFormMSG read FTrocaSenhaFormMSG write SetFTrocaSenhaFormMSG;
+ property ResetPassword: TUCResetPassword read FResetPassword write SetFResetPassword;
+ property History : TUCHistoryMSG read fHistory write SetfHistory;
+ property WindowsPosition: TPosition read FPosition write FPosition;
+ Property TypeFieldsDB : TUCFieldType read fTypeFields write fTypeFields;
+ property Language : TUCLanguage read fLanguage write fLanguage;
+ end;
+
+
+implementation
+
+{ TUserSettings }
+
+procedure TUCUserSettings.Assign(Source: TPersistent);
+begin
+ if Source is TUCUserSettings then
+ Self.CommonMessages.Assign(TUCUserSettings(Source).CommonMessages)
+ else
+ inherited;
+end;
+
+constructor TUCUserSettings.Create(AOwner: TComponent);
+begin
+ inherited Create;
+ FAppMessagesMSG := TUCAppMessagesMSG.Create(nil);
+ FLoginFormMSG := TUCLoginFormMSG.Create(nil);
+ FUserCommomMSG := TUCUserCommonMSG.Create(nil);
+ FCadUserFormMSG := TUCCadUserFormMSG.Create(nil);
+ FAddUserFormMSG := TUCAddUserFormMSG.Create(nil);
+ FAddProfileFormMSG := TUCAddProfileFormMSG.Create(nil);
+ FPermissFormMSG := TUCPermissFormMSG.Create(nil);
+ FProfileUserFormMSG := TUCProfileUserFormMSG.Create(nil);
+ FTrocaSenhaFormMSG := TUCTrocaSenhaFormMSG.Create(nil);
+ FResetPassword := TUCResetPassword.Create(nil);
+ FLogControlFormMSG := TUCLogControlFormMSG.Create(nil);
+ FPosition := poMainFormCenter;
+ fHistory := TUCHistoryMsg.Create(Nil);
+ fTypeFields := TUCFieldType.Create(Nil);
+end;
+
+destructor TUCUserSettings.Destroy;
+begin
+ SysUtils.FreeAndNil(FAppMessagesMSG);
+ SysUtils.FreeAndNil(FLoginFormMSG);
+ SysUtils.FreeAndNil(FUserCommomMSG);
+ SysUtils.FreeAndNil(FCadUserFormMSG);
+ SysUtils.FreeAndNil(FAddUserFormMSG);
+ SysUtils.FreeAndNil(FAddProfileFormMSG);
+ SysUtils.FreeAndNil(FPermissFormMSG);
+ SysUtils.FreeAndNil(FProfileUserFormMSG);
+ SysUtils.FreeAndNil(FTrocaSenhaFormMSG);
+ SysUtils.FreeAndNil(FResetPassword);
+ SysUtils.FreeAndNil(FLogControlFormMSG);
+ SysUtils.FreeAndNil(fHistory);
+ SysUtils.FreeAndNil(fTypeFields);
+ inherited;
+end;
+
+procedure TUCUserSettings.SetAppMessagesMSG(const Value: TUCAppMessagesMSG);
+begin
+ FAppMessagesMSG := Value;
+end;
+
+procedure TUCUserSettings.SetFAddProfileFormMSG(const Value: TUCAddProfileFormMSG);
+begin
+ FAddProfileFormMSG := Value;
+end;
+
+procedure TUCUserSettings.SetFAddUserFormMSG(const Value: TUCAddUserFormMSG);
+begin
+ AddChangeUser := Value;
+end;
+
+procedure TUCUserSettings.SetFCadUserFormMSG(const Value: TUCCadUserFormMSG);
+begin
+ UsersForm := Value;
+end;
+
+procedure TUCUserSettings.SetFFormLoginMsg(const Value: TUCLoginFormMSG);
+begin
+ Login := Value;
+end;
+
+procedure TUCUserSettings.SetfHistory(const Value: TUCHistoryMSG);
+begin
+ History := Value;
+end;
+
+procedure TUCUserSettings.SetFLogControlFormMSG(const Value: TUCLogControlFormMSG);
+begin
+ FLogControlFormMSG := Value;
+end;
+
+procedure TUCUserSettings.SetFPermissFormMSG(const Value: TUCPermissFormMSG);
+begin
+ Rights := Value;
+end;
+
+procedure TUCUserSettings.SetFProfileUserFormMSG(const Value: TUCProfileUserFormMSG);
+begin
+ FProfileUserFormMSG := Value;
+end;
+
+procedure TUCUserSettings.SetFResetPassword(const Value: TUCResetPassword);
+begin
+ FResetPassword := Value;
+end;
+
+procedure TUCUserSettings.SetFTrocaSenhaFormMSG(const Value: TUCTrocaSenhaFormMSG);
+begin
+ ChangePassword := Value;
+end;
+
+procedure TUCUserSettings.SetFUserCommonMsg(const Value: TUCUserCommonMSG);
+begin
+ CommonMessages := Value;
+end;
+
+{ TUserCommonMSG }
+
+procedure TUCUserCommonMSG.Assign(Source: TPersistent);
+begin
+ if Source is TUCUserCommonMSG then
+ begin
+ Self.BlankPassword := TUCUserCommonMSG(Source).BlankPassword;
+ Self.PasswordChanged := TUCUserCommonMSG(Source).PasswordChanged;
+ Self.InitialMessage := TUCUserCommonMSG(Source).InitialMessage;
+ Self.InvalidLogin := TUCUserCommonMSG(Source).InvalidLogin;
+ Self.MaxLoginAttemptsError := TUCUserCommonMSG(Source).MaxLoginAttemptsError;
+ Self.ChangePasswordError := TUCUserCommonMSG(Source).ChangePasswordError;
+ Self.UsuarioExiste := TUCUserCommonMSG(Source).UsuarioExiste;
+ Self.PasswordExpired := TUCUserCommonMSG(Source).PasswordExpired;
+ Self.ForcaTrocaSenha := TUCUserCommonMSG(Source).ForcaTrocaSenha;
+ end
+ else
+ inherited;
+end;
+
+constructor TUCUserCommonMSG.Create(Aowner: TComponent);
+begin
+ inherited Create;
+ ChangePasswordError := TUCChangePassError.Create(nil);
+ FFirstMSG := TStringList.Create;
+end;
+
+destructor TUCUserCommonMSG.Destroy;
+begin
+ SysUtils.FreeAndNil(FChangePasswordError);
+ SysUtils.FreeAndNil(FFirstMSG);
+ inherited;
+end;
+
+procedure TUCUserCommonMSG.SetFErroTrocaSenha(const Value: TUCChangePassError);
+begin
+ FChangePasswordError := Value;
+end;
+
+procedure TUCUserCommonMSG.SetFFirstMSG(const Value: TStrings);
+begin
+ FFirstMSG.Assign(Value);
+end;
+
+{ TLoginFormMSG }
+
+procedure TUCLoginFormMSG.Assign(Source: TPersistent);
+begin
+ if Source is TUCLoginFormMSG then
+ with Source as TUCLoginFormMSG do
+ begin
+ Self.WindowCaption := WindowCaption;
+ Self.LabelUser := LabelUser;
+ Self.LabelPassword := LabelPassword;
+ Self.BtOk := BtOK;
+ Self.BtCancel := BtCancel;
+ end
+ else
+ inherited;
+end;
+
+constructor TUCLoginFormMSG.Create(AOwner: TComponent);
+begin
+ inherited Create;
+ FTopImage := TPicture.Create;
+ FLeftImage := TPicture.Create;
+ FBottomImage := TPicture.Create;
+end;
+
+destructor TUCLoginFormMSG.Destroy;
+begin
+ SysUtils.FreeAndNil(FTopImage);
+ SysUtils.FreeAndNil(FLeftImage);
+ SysUtils.FreeAndNil(FBottomImage);
+ inherited;
+end;
+
+procedure TUCLoginFormMSG.SetFBottomImage(const Value: TPicture);
+begin
+ FBottomImage.Assign(Value);
+end;
+
+procedure TUCLoginFormMSG.SetFLeftImage(const Value: TPicture);
+begin
+ FLeftImage.Assign(Value);
+end;
+
+procedure TUCLoginFormMSG.SetFTopImage(const Value: TPicture);
+begin
+ FTopImage.Assign(Value);
+end;
+
+{ TCadUserFormMSG }
+
+procedure TUCCadUserFormMSG.Assign(Source: TPersistent);
+begin
+ if Source is TUCCadUserFormMSG then
+ with Source as TUCCadUserFormMSG do
+ begin
+ Self.WindowCaption := WindowCaption;
+ Self.LabelDescription := LabelDescription;
+ Self.ColName := ColName;
+ Self.ColLogin := ColLogin;
+ Self.ColEmail := ColEmail;
+ Self.BtAdd := BtAdd;
+ Self.BtChange := BtChange;
+ Self.BtDelete := BtDelete;
+ Self.BtRights := BtRights;
+ Self.BtPassword := BtPassword;
+ Self.BtClose := BtClose;
+ Self.PromptDelete := PromptDelete;
+ Self.PromptDelete_WindowCaption := PromptDelete_WindowCaption; //added by fduenas
+ end
+ else
+ inherited;
+end;
+
+constructor TUCCadUserFormMSG.Create(AOwner: TComponent);
+begin
+ inherited Create;
+end;
+
+destructor TUCCadUserFormMSG.Destroy;
+begin
+ inherited;
+end;
+
+{ TAddUserFormMSG }
+
+procedure TUCAddUserFormMSG.Assign(Source: TPersistent);
+begin
+ if Source is TUCAddUserFormMSG then
+ with Source as TUCAddUserFormMSG do
+ begin
+ Self.WindowCaption := WindowCaption;
+ Self.LabelAdd := LabelAdd;
+ Self.LabelChange := LabelChange;
+ Self.LabelName := LabelName;
+ Self.LabelLogin := LabelLogin;
+ Self.LabelEmail := LabelEmail;
+ Self.LabelPerfil := LabelPerfil;
+ Self.CheckPrivileged := CheckPrivileged;
+ Self.BtSave := BtSave;
+ Self.BtCancel := BtCancel;
+ Self.CheckExpira := CheckExpira;
+ Self.Day := Day;
+ Self.ExpiredIn := ExpiredIn;
+ end
+ else
+ inherited;
+end;
+
+constructor TUCAddUserFormMSG.Create(AOwner: TComponent);
+begin
+ inherited Create;
+end;
+
+destructor TUCAddUserFormMSG.Destroy;
+begin
+ inherited;
+end;
+
+{ TPermissFormMSG }
+
+procedure TUCPermissFormMSG.Assign(Source: TPersistent);
+begin
+ if Source is TUCPermissFormMSG then
+ with Source as TUCPermissFormMSG do
+ begin
+ Self.WindowCaption := WindowCaption;
+ Self.LabelUser := LabelUser;
+ Self.LabelProfile := LabelProfile;
+ Self.PageMenu := PageMenu;
+ Self.PageActions := PageActions;
+ Self.BtUnlock := BtUnlock;
+ Self.BtLock := BtLock;
+ Self.BtSave := BtSave;
+ Self.BtCancel := BtCancel;
+ Self.PageControls := PageControls;
+ end
+ else
+ inherited;
+end;
+
+constructor TUCPermissFormMSG.Create(AOwner: TComponent);
+begin
+ inherited Create;
+end;
+
+destructor TUCPermissFormMSG.Destroy;
+begin
+ inherited;
+end;
+
+{ TTrocaSenhaFormMSG }
+
+procedure TUCTrocaSenhaFormMSG.Assign(Source: TPersistent);
+begin
+ if Source is TUCTrocaSenhaFormMSG then
+ with Source as TUCTrocaSenhaFormMSG do
+ begin
+ Self.WindowCaption := WindowCaption;
+ Self.LabelDescription := LabelDescription;
+ Self.LabelCurrentPassword := LabelCurrentPassword;
+ Self.LabelNewPassword := LabelNewPassword;
+ Self.LabelConfirm := LabelConfirm;
+ Self.BtSave := BtSave;
+ Self.BtCancel := BtCancel;
+ end
+ else
+ inherited;
+end;
+
+constructor TUCTrocaSenhaFormMSG.Create(AOwner: TComponent);
+begin
+ inherited Create;
+end;
+
+destructor TUCTrocaSenhaFormMSG.Destroy;
+begin
+ inherited;
+end;
+
+{ TChangePassError }
+
+procedure TUCChangePassError.Assign(Source: TPersistent);
+begin
+ if Source is TUCChangePassError then
+ with Source as TUCChangePassError do
+ begin
+ Self.InvalidCurrentPassword := InvalidCurrentPassword;
+ Self.NewPasswordError := NewPasswordError;
+ Self.NewEqualCurrent := NewEqualCurrent;
+ Self.PasswordRequired := PasswordRequired;
+ Self.MinPasswordLength := MinPasswordLength;
+ end
+ else
+ inherited;
+end;
+
+constructor TUCChangePassError.Create(Aowner: TComponent);
+begin
+ inherited Create;
+end;
+
+destructor TUCChangePassError.Destroy;
+begin
+ inherited;
+end;
+
+{ TResetPassword }
+
+procedure TUCResetPassword.Assign(Source: TPersistent);
+begin
+ if Source is TUCResetPassword then
+ begin
+ Self.WindowCaption := TUCResetPassword(Source).WindowCaption;
+ Self.LabelPassword := TUCResetPassword(Source).LabelPassword;
+ end
+ else
+ inherited;
+end;
+
+constructor TUCResetPassword.Create(AOwner: TComponent);
+begin
+ inherited Create;
+end;
+
+destructor TUCResetPassword.Destroy;
+begin
+ inherited;
+end;
+
+{ TProfileUserFormMSG }
+
+procedure TUCProfileUserFormMSG.Assign(Source: TPersistent);
+begin
+ if Source is TUCProfileUserFormMSG then
+ with Source as TUCProfileUserFormMSG do
+ begin
+ Self.WindowCaption := WindowCaption;
+ Self.LabelDescription := LabelDescription;
+ Self.ColProfile := ColProfile;
+ Self.BtAdd := BtAdd;
+ Self.BtChange := BtChange;
+ Self.BtDelete := BtDelete;
+ Self.BtRights := BtRights; //BGM
+ Self.BtClose := BtClose;
+ Self.PromptDelete := PromptDelete;
+ Self.PromptDelete_WindowCaption := PromptDelete_WindowCaption; //added by fduenas
+ end
+ else
+ inherited;
+end;
+
+constructor TUCProfileUserFormMSG.Create(AOwner: TComponent);
+begin
+ inherited Create;
+end;
+
+destructor TUCProfileUserFormMSG.Destroy;
+begin
+ inherited;
+end;
+
+{ TAddProfileFormMSG }
+
+procedure TUCAddProfileFormMSG.Assign(Source: TPersistent);
+begin
+ if Source is TUCAddProfileFormMSG then
+ with Source as TUCAddProfileFormMSG do
+ begin
+ Self.WindowCaption := WindowCaption;
+ Self.LabelAdd := LabelAdd;
+ Self.LabelChange := LabelChange;
+ Self.LabelName := LabelName;
+ Self.BtSave := BtSave;
+ Self.BtCancel := BtCancel;
+ end
+ else
+ inherited;
+end;
+
+constructor TUCAddProfileFormMSG.Create(AOwner: TComponent);
+begin
+ inherited Create;
+end;
+
+destructor TUCAddProfileFormMSG.Destroy;
+begin
+ inherited;
+end;
+
+{ TLogControlFormMSG }
+
+procedure TUCLogControlFormMSG.Assign(Source: TPersistent);
+begin
+ if Source is TUCLogControlFormMSG then
+ with Source as TUCLogControlFormMSG do
+ begin
+ Self.WindowCaption := WindowCaption;
+ Self.LabelDescription := LabelDescription;
+ Self.LabelUser := LabelUser;
+ Self.LabelDate := LabelDate;
+ Self.LabelLevel := LabelLevel;
+ Self.ColLevel := ColLevel;
+ Self.ColAppID := ColAppID;
+ Self.ColMessage := ColMessage;
+ Self.ColUser := ColUser;
+ Self.ColDate := ColDate;
+ Self.BtFilter := BtFilter;
+ Self.BtDelete := BtDelete;
+ Self.BtClose := BtClose;
+ Self.PromptDelete := PromptDelete;
+ Self.PromptDelete_WindowCaption := PromptDelete_WindowCaption; //added by fduenas
+ Self.OptionUserAll := OptionUserAll; //added by fduenas
+ Self.OptionLevelLow := OptionLevelLow; //added by fduenas
+ Self.OptionLevelNormal := OptionLevelNormal; //added by fduenas
+ Self.OptionLevelHigh := OptionLevelHigh; //added by fduenas
+ Self.OptionLevelCritic := OptionLevelCritic; //added by fduenas
+ Self.DeletePerformed := DeletePerformed; //added by fduenas
+ end
+ else
+ inherited;
+end;
+
+constructor TUCLogControlFormMSG.Create(AOwner: TComponent);
+begin
+ inherited Create;
+end;
+
+destructor TUCLogControlFormMSG.Destroy;
+begin
+ inherited;
+end;
+
+{ TAppMessagesMSG }
+
+procedure TUCAppMessagesMSG.Assign(Source: TPersistent);
+begin
+ if Source is TUCAppMessagesMSG then
+ with Source as TUCAppMessagesMSG do
+ begin
+ Self.MsgsForm_BtNew := MsgsForm_BtNew;
+ Self.MsgsForm_BtReplay := MsgsForm_BtReplay;
+ Self.MsgsForm_BtForward := MsgsForm_BtForward;
+ Self.MsgsForm_BtDelete := MsgsForm_BtDelete;
+ Self.MsgsForm_WindowCaption := MsgsForm_WindowCaption;
+ Self.MsgsForm_ColFrom := MsgsForm_ColFrom;
+ Self.MsgsForm_ColSubject := MsgsForm_ColSubject;
+ Self.MsgsForm_ColDate := MsgsForm_ColDate;
+ Self.MsgsForm_PromptDelete := MsgsForm_PromptDelete;
+ Self.MsgsForm_PromptDelete_WindowCaption := MsgsForm_PromptDelete_WindowCaption; //added by fduenas
+ Self.MsgsForm_BtClose := MsgsForm_BtClose; //added by fduenas
+ Self.MsgsForm_NoMessagesSelected := MsgsForm_NoMessagesSelected; //added by fduenas
+ Self.MsgsForm_NoMessagesSelected_WindowCaption := MsgsForm_NoMessagesSelected_WindowCaption; //added by fduenas
+
+ Self.MsgRec_BtClose := MsgRec_BtClose;
+ Self.MsgRec_WindowCaption := MsgRec_WindowCaption;
+ Self.MsgRec_Title := MsgRec_Title;
+ Self.MsgRec_LabelFrom := MsgRec_LabelFrom;
+ Self.MsgRec_LabelDate := MsgRec_LabelDate;
+ Self.MsgRec_LabelSubject := MsgRec_LabelSubject;
+ Self.MsgRec_LabelMessage := MsgRec_LabelMessage;
+
+ Self.MsgSend_BtSend := MsgSend_BtSend;
+ Self.MsgSend_BtCancel := MsgSend_BtCancel;
+ Self.MsgSend_WindowCaption := MsgSend_WindowCaption;
+ Self.MsgSend_Title := MsgSend_Title;
+ Self.MsgSend_GroupTo := MsgSend_GroupTo;
+ Self.MsgSend_RadioUser := MsgSend_RadioUser;
+ Self.MsgSend_RadioAll := MsgSend_RadioAll;
+ Self.MsgSend_GroupMessage := MsgSend_GroupMessage;
+ Self.MsgSend_LabelSubject := MsgSend_LabelSubject;
+ Self.MsgSend_LabelMessageText := MsgSend_LabelMessageText;
+ end
+ else
+ inherited;
+end;
+
+constructor TUCAppMessagesMSG.Create(Aowner: TComponent);
+begin
+ inherited Create;
+end;
+
+destructor TUCAppMessagesMSG.Destroy;
+begin
+ inherited;
+end;
+
+{ TUCHistoryMSG }
+
+procedure TUCHistoryMSG.Assign(Source: TPersistent);
+begin
+ if Source is TUCHistoryMSG then
+ Begin
+ Self.Evento_edit := TUCHistoryMSG(Source).Evento_edit;
+ Self.Evento_NewRecord := TUCHistoryMSG(Source).Evento_NewRecord;
+ Self.Evento_Insert := TUCHistoryMSG(Source).Evento_Insert;
+ Self.Evento_delete := TUCHistoryMSG(Source).Evento_Delete;
+ Self.LabelTabela := TUCHistoryMSG(Source).LabelTabela;
+ Self.Msg_LogEmptyHistory := TUCHistoryMSG(Source).Msg_LogEmptyHistory;
+ Self.Msg_MensConfirma := TUCHistoryMSG(Source).Msg_MensConfirma;
+ Self.LabelDescricao := TUCHistoryMSG(Source).LabelDescricao;
+ Self.Hist_BtnExcluir := TUCHistoryMSG(Source).Hist_BtnExcluir;
+ Self.Hist_BtnFiltro := TUCHistoryMSG(Source).Hist_BtnFiltro;
+ Self.LabelForm := TUCHistoryMSG(Source).LabelForm;
+ Self.Hist_BtnFechar := TUCHistoryMSG(Source).Hist_BtnFechar;
+ Self.LabelDataEvento := TUCHistoryMSG(Source).LabelDataEvento;
+ Self.LabelEvento := TUCHistoryMSG(Source).LabelEvento;
+ Self.Msg_NewRecord := TUCHistoryMSG(Source).Msg_NewRecord;
+ Self.Hist_All := TUCHistoryMSG(Source).Hist_All;
+ Self.Msg_LimpHistorico := TUCHistoryMSG(Source).Msg_LimpHistorico;
+ Self.LabelHoraEvento := TUCHistoryMSG(Source).LabelHoraEvento;
+ Self.LabelUser := TUCHistoryMSG(Source).LabelUser;
+ Self.Hist_MsgExceptPropr := TUCHistoryMSG(Source).Hist_MsgExceptPropr;
+ End
+ else
+ inherited;
+end;
+
+constructor TUCHistoryMSG.Create(AOwner: TComponent);
+begin
+ inherited Create;
+end;
+
+destructor TUCHistoryMSG.Destroy;
+begin
+ inherited;
+end;
+
+{ TUCFieldType }
+
+procedure TUCFieldType.Assign(Source: TPersistent);
+begin
+ if Source is TUCFieldType then
+ Begin
+ Self.Type_VarChar := TUCFieldType(Source).Type_VarChar;
+ Self.Type_Char := TUCFieldType(Source).Type_Char;
+ Self.Type_Int := TUCFieldType(Source).Type_Int;
+ Self.Type_MemoField := TUCFieldType(Source).Type_MemoField;
+ end
+ else
+ inherited;
+end;
+
+constructor TUCFieldType.Create(AOwner: TComponent);
+begin
+ inherited Create;
+end;
+
+destructor TUCFieldType.Destroy;
+begin
+
+ inherited;
+end;
+
+end.
+
diff --git a/official/2.20/Source/UCObjSel_U.dfm b/official/2.20/Source/UCObjSel_U.dfm
new file mode 100644
index 0000000..4da08b2
Binary files /dev/null and b/official/2.20/Source/UCObjSel_U.dfm differ
diff --git a/official/2.20/Source/UCObjSel_U.pas b/official/2.20/Source/UCObjSel_U.pas
new file mode 100644
index 0000000..eff55e1
--- /dev/null
+++ b/official/2.20/Source/UCObjSel_U.pas
@@ -0,0 +1,334 @@
+unit UCObjSel_U;
+
+interface
+
+uses
+ {$IFDEF VER130}
+ {$ELSE}
+ Variants,
+ {$ENDIF}
+ ActnList,
+ Buttons,
+ Classes,
+ ComCtrls,
+ Controls,
+ DB,
+ Dialogs,
+ ExtCtrls,
+ Forms,
+ Graphics,
+ Menus,
+ Messages,
+ StdCtrls,
+ SysUtils,
+ UCBase,
+ UcConsts_Language,
+ Windows;
+
+type
+ TQControl = class(TControl)
+ published
+ property Caption;
+ end;
+
+ TUCObjSel = class(TForm)
+ ListaCompsDisponiveis: TListView;
+ ListaCompsSelecionados: TListView;
+ Panel1: TPanel;
+ lbForm: TLabel;
+ Image1: TImage;
+ lbTitle: TLabel;
+ lbCompDisp: TLabel;
+ lbCompSel: TLabel;
+ btsellall: TSpeedButton;
+ btsel: TSpeedButton;
+ btunsel: TSpeedButton;
+ btunselall: TSpeedButton;
+ BtOK: TBitBtn;
+ btCancel: TBitBtn;
+ lbGrupo: TLabel;
+ lbGroup: TLabel;
+ cbFilter: TComboBox;
+ procedure FormClose(Sender: TObject; var Action: TCloseAction);
+ procedure FormShow(Sender: TObject);
+ procedure btsellallClick(Sender: TObject);
+ procedure btunselallClick(Sender: TObject);
+ procedure btselClick(Sender: TObject);
+ procedure btunselClick(Sender: TObject);
+ procedure ListaCompsDisponiveisDblClick(Sender: TObject);
+ procedure ListaCompsSelecionadosDblClick(Sender: TObject);
+ procedure btCancelClick(Sender: TObject);
+ procedure BtOKClick(Sender: TObject);
+ procedure FormActivate(Sender: TObject);
+ procedure FormCreate(Sender: TObject);
+ procedure cbFilterClick(Sender: TObject);
+ procedure cbFilterKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
+ private
+ FListaBotoes: TStringList;
+ FListaLabelsEdits: TStringList;
+ procedure MakeDispItems;
+ public
+ FForm: TCustomForm;
+ FUserControl: TUserControl;
+ FInitialObjs: TStringList;
+ end;
+
+implementation
+
+{$R *.dfm}
+
+procedure TUCObjSel.FormClose(Sender: TObject; var Action: TCloseAction);
+begin
+ Action := caFree;
+end;
+
+procedure TUCObjSel.FormShow(Sender: TObject);
+begin
+ lbForm.Left := lbTitle.Left + lbTitle.Width + 10; //added by fduenas to adjust window name
+ lbgroup.Left := lbGrupo.Left + lbGrupo.Width + 10; //added by fduenas to adjust window name
+ lbForm.Caption := FForm.Name;
+ FInitialObjs.Text := UpperCase(FInitialObjs.Text);
+ ListaCompsSelecionados.Items.Clear;
+ MakeDispItems;
+end;
+
+procedure TUCObjSel.MakeDispItems;
+var
+ Componente: TComponent;
+ Classe: String;
+ Contador: Integer;
+begin
+{
+All 0
+Buttons 1
+Fields 2
+Edits 3
+Labels 4
+MenuItems 5
+Actions 6
+}
+ ListaCompsDisponiveis.Items.Clear;
+ for Contador := 0 to Pred(FForm.ComponentCount) do
+ begin
+ Componente := FForm.Components[Contador];
+ Classe := UpperCase(Componente.ClassName);
+ if (Componente is TControl) or (Componente is TMenuItem) or (Componente is TField) or (Componente is TAction) then
+ if (cbFilter.ItemIndex <= 0) or
+ ((cbFilter.ItemIndex = 1) and (Componente is TButtonControl){(FListaBotoes.IndexOf(Classe) > -1)}) or
+ ((cbFilter.ItemIndex = 2) and (Componente is TField)) or
+ ((cbFilter.ItemIndex = 3) and (Componente is TCustomEdit){(FListaLabelsEdits.IndexOf(Classe) > -1)}) or
+ ((cbFilter.ItemIndex = 4) and (Componente is TCustomLabel)) or
+ ((cbFilter.ItemIndex = 5) and (Componente is TMenuItem)) or
+ ((cbFilter.ItemIndex = 6) and (Componente is TCustomAction)) then
+ if FInitialObjs.IndexOf(UpperCase(Componente.Name)) = -1 then
+ with ListaCompsDisponiveis.Items.Add do
+ begin
+ Caption := Componente.ClassName;
+ SubItems.Add(Componente.Name);
+ if Componente is TMenuItem then
+ SubItems.Add(StringReplace(TMenuItem(Componente).Caption, '&', '', [rfReplaceAll]))
+ else
+ if Componente is TAction then
+ SubItems.Add(StringReplace(TAction(Componente).Caption, '&', '', [rfReplaceAll]))
+ else
+ if Componente is TField then
+ SubItems.Add(TField(Componente).DisplayName)
+ else
+ SubItems.Add(StringReplace(TQControl(FForm.Components[Contador]).Caption, '&', '', [rfReplaceAll]));
+ end;
+ end;
+end;
+
+procedure TUCObjSel.btsellallClick(Sender: TObject);
+var
+ Contador: Integer;
+begin
+ for Contador := 0 to Pred(ListaCompsDisponiveis.Items.Count) do
+ begin
+ FInitialObjs.Add(ListaCompsDisponiveis.Items[Contador].SubItems[0]);
+ with ListaCompsSelecionados.Items.Add do
+ begin
+ Caption := ListaCompsDisponiveis.Items[Contador].SubItems[1];
+ SubItems.Add(ListaCompsDisponiveis.Items[Contador].SubItems[0]);
+ SubItems.Add(ListaCompsDisponiveis.Items[Contador].Caption);
+ end;
+ end;
+ ListaCompsDisponiveis.Items.Clear;
+end;
+
+procedure TUCObjSel.btunselallClick(Sender: TObject);
+begin
+ ListaCompsSelecionados.Items.Clear;
+ FInitialObjs.Clear;
+ MakeDispItems;
+end;
+
+procedure TUCObjSel.btselClick(Sender: TObject);
+var
+ Contador: Integer;
+begin
+ for Contador := 0 to ListaCompsDisponiveis.Items.Count - 1 do
+ if ListaCompsDisponiveis.Items.Item[Contador].Selected then
+ begin
+ FInitialObjs.Add(ListaCompsDisponiveis.Items[Contador].SubItems[0]);
+ with ListaCompsSelecionados.Items.Add do
+ begin
+ Caption := ListaCompsDisponiveis.Items[Contador].SubItems[1];
+ SubItems.Add(ListaCompsDisponiveis.Items[Contador].SubItems[0]);
+ SubItems.Add(ListaCompsDisponiveis.Items[Contador].Caption);
+ end;
+ end;
+
+ Contador := 0;
+ while Contador <= Pred(ListaCompsDisponiveis.Items.Count) do
+ if ListaCompsDisponiveis.Items[Contador].Selected then
+ ListaCompsDisponiveis.Items[Contador].Delete
+ else
+ Inc(Contador);
+end;
+
+procedure TUCObjSel.btunselClick(Sender: TObject);
+var
+ Contador: Integer;
+ Obj: TComponent;
+begin
+ if ListaCompsSelecionados.SelCount = 0 then
+ Exit;
+ for Contador := 0 to Pred(ListaCompsSelecionados.Items.Count) do
+ if ListaCompsSelecionados.Items.Item[Contador].Selected then
+ begin
+ if FInitialObjs.IndexOf(ListaCompsSelecionados.Items[Contador].SubItems[0]) > -1 then
+ FInitialObjs.Delete(FInitialObjs.IndexOf(ListaCompsSelecionados.Items[Contador].SubItems[0]));
+
+ if ListaCompsSelecionados.Items[Contador].SubItems.Count > 1 then
+ with ListaCompsDisponiveis.Items.Add do
+ begin
+ if ListaCompsSelecionados.Items[Contador].SubItems.Count > 1 then
+ Caption := ListaCompsSelecionados.Items[Contador].SubItems[1];
+ SubItems.Add(ListaCompsSelecionados.Items[Contador].SubItems[0]);
+
+ Obj := FForm.FindComponent(ListaCompsSelecionados.Items[Contador].SubItems[0]);
+ if Obj is TMenuItem then
+ SubItems.Add(TMenuItem(Obj).Caption)
+ else
+ if Obj is TAction then
+ SubItems.Add(TMenuItem(Obj).Caption)
+ else
+ if Obj is TField then
+ SubItems.Add(TField(Obj).DisplayName)
+ else
+ SubItems.Add(TQControl(Obj).Caption);
+ end;
+ end;
+
+ Contador := 0;
+ while Contador <= Pred(ListaCompsSelecionados.Items.Count) do
+ if ListaCompsSelecionados.Items[Contador].Selected then
+ ListaCompsSelecionados.Items[Contador].Delete
+ else
+ Inc(Contador);
+end;
+
+procedure TUCObjSel.ListaCompsDisponiveisDblClick(Sender: TObject);
+begin
+ btsel.Click;
+end;
+
+procedure TUCObjSel.ListaCompsSelecionadosDblClick(Sender: TObject);
+begin
+ if ListaCompsSelecionados.Items.Count = 0 then
+ Exit;
+ if ListaCompsSelecionados.SelCount = 1 then
+ ListaCompsSelecionados.Selected.EditCaption;
+end;
+
+procedure TUCObjSel.btCancelClick(Sender: TObject);
+begin
+ Close;
+end;
+
+procedure TUCObjSel.BtOKClick(Sender: TObject);
+var
+ Contador: Integer;
+begin
+ if FUserControl.ExtraRights.Count > 0 then
+ begin
+ Contador := 0;
+ while Contador <= Pred(FUserControl.ExtraRights.Count) do
+ if UpperCase(FUserControl.ExtraRights[Contador].FormName) = UpperCase(FForm.Name) then
+ FUserControl.ExtraRights.Delete(Contador)
+ else
+ Inc(Contador);
+ end;
+
+ for Contador := 0 to Pred(ListaCompsSelecionados.Items.Count) do
+ with FUserControl.ExtraRights.Add do
+ begin
+ Caption := ListaCompsSelecionados.Items[Contador].Caption;
+ CompName := ListaCompsSelecionados.Items[Contador].SubItems[0];
+ FormName := FForm.Name;
+ GroupName := lbGroup.Caption;
+ end;
+ Close;
+end;
+
+procedure TUCObjSel.FormActivate(Sender: TObject);
+var
+ Contador: Integer;
+begin
+ for Contador := 0 to Pred(FUserControl.ExtraRights.Count) do
+ if UpperCase(FUserControl.ExtraRights[Contador].FormName) = UpperCase(FForm.Name) then
+ if FForm.FindComponent(FUserControl.ExtraRights[Contador].CompName) <> nil then
+ with ListaCompsSelecionados.Items.Add do
+ begin
+ Caption := FUserControl.ExtraRights[Contador].Caption;
+ SubItems.Add(FUserControl.ExtraRights[Contador].CompName);
+ if FForm.FindComponent(FUserControl.ExtraRights[Contador].CompName) <> nil then
+ SubItems.Add(FForm.FindComponent(FUserControl.ExtraRights[Contador].CompName).ClassName);
+ end;
+
+ lbTitle.Caption := RetornaLingua( FUserControl.Language,'Const_Contr_TitleLabel');
+ lbGrupo.Caption := RetornaLingua( FUserControl.Language,'Const_Contr_GroupLabel');
+ lbCompDisp.Caption := RetornaLingua( FUserControl.Language,'Const_Contr_CompDispLabel');
+ lbCompSel.Caption := RetornaLingua( FUserControl.Language,'Const_Contr_CompSelLabel');
+ ListaCompsSelecionados.Columns[0].Caption := RetornaLingua( FUserControl.Language,'Const_Contr_DescCol');
+ btCancel.Caption := RetornaLingua( FUserControl.Language,'Const_Contr_BTCancel');
+ BtOK.Caption := RetornaLingua( FUserControl.Language,'Const_Contr_BtOK');
+
+ //Lines Bellow added by fduenas
+ btSellAll.Hint := RetornaLingua( FUserControl.Language,'Const_Contr_BtSellAllHint');
+ btSel.Hint := RetornaLingua( FUserControl.Language,'Const_Contr_BtSelHint');
+ btUnSel.Hint := RetornaLingua( FUserControl.Language,'Const_Contr_BtUnSelHint');
+ btUnSelAll.Hint := RetornaLingua( FUserControl.Language,'Const_Contr_BtUnSelAllHint');
+
+ lbForm.Left := lbTitle.Width + 66;
+end;
+
+procedure TUCObjSel.FormCreate(Sender: TObject);
+begin
+ cbFilter.ItemIndex := 0;
+ FListaBotoes := TStringList.Create;
+ FListaBotoes.CommaText := 'TButton,TSpeedButton,TBitBtn,TRxSpeedButton,' +
+ 'TRxSpinButton,TRxSwitch,TLMDButton,TLMDMMButton,TLMDShapeButton,' +
+ 'TLMD3DEffectButton,TLMDWndButtonShape,TJvHTButton,TJvBitBtn,TJvImgBtn,' +
+ 'TJvArrowButton,TJvTransparenftButton,TJvTransparentButton2,TJvSpeedButton';
+ FListaBotoes.Text := UpperCase(FListaBotoes.Text);
+ FListaLabelsEdits := TStringList.Create;
+ FListaLabelsEdits.CommaText := 'TEdit,TLabel,TStaticText,TLabeledEdit,' +
+ 'TRxLabel,TComboEdit,TFileNamefEdit,TDirectoryEdit,TDateEdit,' +
+ 'TDateTimePicker,TRxCalcEdit,TCurrencyEdit,TRxSpinEdit';
+ FListaLabelsEdits.Text := UpperCase(FListaLabelsEdits.Text);
+end;
+
+procedure TUCObjSel.cbFilterClick(Sender: TObject);
+begin
+ MakeDispItems;
+end;
+
+procedure TUCObjSel.cbFilterKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
+begin
+ MakeDispItems;
+end;
+
+end.
+
diff --git a/official/2.20/Source/UCReg.dcr b/official/2.20/Source/UCReg.dcr
new file mode 100644
index 0000000..a0a2722
Binary files /dev/null and b/official/2.20/Source/UCReg.dcr differ
diff --git a/official/2.20/Source/UCReg.pas b/official/2.20/Source/UCReg.pas
new file mode 100644
index 0000000..d4fce99
--- /dev/null
+++ b/official/2.20/Source/UCReg.pas
@@ -0,0 +1,392 @@
+unit UCReg;
+
+interface
+
+{$I 'UserControl.inc'}
+
+uses
+ Classes,
+ Controls,
+ DesignEditors,
+ DesignIntf,
+ ToolsAPI,
+ TypInfo,
+ UCBase;
+
+type
+ TUCComponentsVarProperty = class(TStringProperty)
+ function GetAttributes: TPropertyAttributes; override;
+ procedure Edit; override;
+ function GetValue: String; override;
+ end;
+
+
+ TUCControlsEditor = class(TComponentEditor)
+ procedure Edit; override;
+ procedure ExecuteVerb(Index: Integer); override;
+ function GetVerb(Index: Integer): String; override;
+ function GetVerbCount: Integer; override;
+ end;
+
+ TUserControlEditor = class(TComponentEditor)
+ procedure Edit; override;
+ procedure ExecuteVerb(Index: Integer); override;
+ function GetVerb(Index: Integer): String; override;
+ function GetVerbCount: Integer; override;
+ end;
+
+ TUCAboutVarProperty = class(TStringProperty)
+ function GetAttributes: TPropertyAttributes; override;
+ procedure Edit; override;
+ function GetValue: String; override;
+ end;
+
+ {$IFDEF DELPHI7}
+ TUCAboutXpStyleVarProperty = class(TStringProperty)
+ function GetAttributes: TPropertyAttributes; override;
+ procedure Edit; override;
+ function GetValue: String; override;
+ end;
+ {$ENDIF}
+
+procedure Register;
+procedure ShowControlsEditor(Componente: TUCControls);
+procedure ShowUserControlsEditor(Componente: TUserControl);
+
+implementation
+
+uses
+ Dialogs,
+ Forms,
+ SysUtils,
+ UCAbout,
+ UCIdle,
+ UCObjSel_U,
+ {$IFDEF DELPHI7}
+ UCAboutXPStyle_U,
+ UCXPStyle,
+ {$ENDIF}
+ UCEditorForm_U,
+ {$IFDEF Indy}
+ UCMail,
+ {$ENDIF}
+ ActnList,
+ ActnMan,
+ ActnMenus,
+ Menus,
+ StdCtrls,
+ UCSettings,
+ Variants;
+
+procedure Register;
+begin
+ RegisterComponents('UC Main',
+ [TUserControl,
+ TUCSettings,
+ TUCControls,
+ TUCApplicationMessage,
+ TUCIdle,
+ TUCHistorico
+ {$IFDEF Indy}
+ , TMailUserControl
+ {$ENDIF}
+ {$IFDEF DELPHI7}
+ , TUCXPStyle
+ {$ENDIF}
+ ]);
+
+ {$IFDEF DELPHI7}
+ RegisterPropertyEditor(TypeInfo(TUCAboutXpStyleVar), nil, '', TUCAboutXpStyleVarProperty);
+ {$ENDIF}
+
+ RegisterPropertyEditor(TypeInfo(TUCAboutVar), TUserControl, 'About', TUCAboutVarProperty);
+ RegisterPropertyEditor(TypeInfo(TUCComponentsVar), TUserControl, 'Components', TUCComponentsVarProperty);
+ RegisterComponentEditor(TUCcontrols, TUCControlsEditor);
+ RegisterComponentEditor(TUserControl, TUserControlEditor);
+end;
+
+{ TUCComponentsVarProperty }
+procedure TUCComponentsVarProperty.Edit;
+begin
+ ShowControlsEditor(TUCControls(GetComponent(0)));
+end;
+
+function TUCComponentsVarProperty.GetAttributes: TPropertyAttributes;
+begin
+ Result := [paDialog, paReadOnly];
+end;
+
+function TUCComponentsVarProperty.GetValue: String;
+begin
+ Result := 'Components...';
+end;
+
+{ TUCAboutVarProperty }
+
+procedure TUCAboutVarProperty.Edit;
+begin
+ with TAboutForm.Create(nil) do
+ begin
+ ShowModal;
+ Free;
+ end;
+end;
+
+function TUCAboutVarProperty.GetAttributes: TPropertyAttributes;
+begin
+ Result := [paDialog, paReadOnly];
+end;
+
+function TUCAboutVarProperty.GetValue: String;
+begin
+ Result := 'Versao ' + UCVersion;
+end;
+
+procedure ShowUserControlsEditor(Componente: TUserControl);
+var
+ Editor: IOTAEditor;
+ Modulo: IOTAModule;
+ FormEditor: IOTAFormEditor;
+ I: Integer;
+ Formulario: TUCEditorForm;
+ UserControl: TUserControl;
+ Controle: String;
+ UserActionMenuItem: String;
+ UserProfileActionMenuItem: String;
+ LogControlActionMeuItem: String;
+ UserPasswordChangeActionMenuItem: String;
+ FormularioDono: TForm;
+begin
+ UserControl := Componente;
+ FormularioDono := TForm(UserControl.Owner);
+ try
+ Formulario := TUCEditorForm.Create(nil, UserControl);
+
+ if Formulario.ShowModal = mrOk then
+ begin
+ with UserControl do
+ begin
+ ApplicationID := Formulario.edtApplicationID.Text;
+ AutoStart := Formulario.ckAutoStart.Checked;
+ CheckValidationKey := Formulario.ckValidationKey.Checked;
+ EncryptKey := Formulario.spedtEncryptKey.Value;
+ TableRights.TableName := Formulario.edtTableRights.Text;
+ TableUsers.TableName := Formulario.edtTableUsers.Text;
+ NotAllowedItems.ActionVisible := Formulario.ckActionVisible.Checked;
+ NotAllowedItems.MenuVisible := Formulario.ckMenuVisible.Checked;
+ Criptografia := TUCCriptografia(Formulario.cbCriptografia.ItemIndex);
+ LoginMode := TUCLoginMode(Formulario.cbLoginMode.ItemIndex);
+
+ if Formulario.cbActionList.ItemIndex >= 0 then
+ Controle := Formulario.cbActionList.Text;
+ if Formulario.cbActionMainMenuBar.ItemIndex >= 0 then
+ Controle := Formulario.cbActionMainMenuBar.Text;
+
+ if Formulario.cbActionManager.ItemIndex >= 0 then
+ Controle := Formulario.cbActionManager.Text;
+ if Formulario.cbMainMenu.ItemIndex >= 0 then
+ Controle := Formulario.cbMainMenu.Text;
+
+ if Formulario.cbUserAction.ItemIndex >= 0 then
+ UserActionMenuItem := Formulario.cbUserAction.Text;
+ if Formulario.cbUserMenuItem.ItemIndex >= 0 then
+ UserActionMenuItem := Formulario.cbUserMenuItem.Text;
+
+ if Formulario.cbUserProfileAction.ItemIndex >= 0 then
+ UserProfileActionMenuItem := Formulario.cbUserProfileAction.Text;
+ if Formulario.cbUserProfileMenuItem.ItemIndex >= 0 then
+ UserProfileActionMenuItem := Formulario.cbUserProfileMenuItem.Text;
+
+ if Formulario.cbLogControlAction.ItemIndex >= 0 then
+ LogControlActionMeuItem := Formulario.cbLogControlAction.Text;
+ if Formulario.cbLogControlMenuItem.ItemIndex >= 0 then
+ LogControlActionMeuItem := Formulario.cbLogControlMenuItem.Text;
+
+ if Formulario.cbUserPasswordChangeAction.ItemIndex >= 0 then
+ UserPasswordChangeActionMenuItem := Formulario.cbUserPasswordChangeAction.Text;
+ if Formulario.cbUserPasswordChangeMenuItem.ItemIndex >= 0 then
+ UserPasswordChangeActionMenuItem := Formulario.cbUserPasswordChangeMenuItem.Text;
+
+
+ for I := 0 to FormularioDono.ComponentCount - 1 do
+ begin
+ if (FormularioDono.Components[I].Name = Controle) and (Formulario.cbActionList.ItemIndex >= 0) then
+ ControlRight.ActionList := TActionList(FormularioDono.Components[I]);
+ if (FormularioDono.Components[I].Name = Controle) and (Formulario.cbActionMainMenuBar.ItemIndex >= 0) then
+ ControlRight.ActionMainMenuBar := TActionMainMenuBar(UserControl.Owner.Components[I]);
+ if (FormularioDono.Components[I].Name = Controle) and (Formulario.cbActionManager.ItemIndex >= 0) then
+ ControlRight.ActionManager := TActionManager(FormularioDono.Components[I]);
+ if (FormularioDono.Components[I].Name = Controle) and (Formulario.cbMainMenu.ItemIndex >= 0) then
+ ControlRight.MainMenu := TMainMenu(FormularioDono.Components[I]);
+ if (FormularioDono.Components[I].Name = UserActionMenuItem) and (Formulario.cbUserAction.ItemIndex >= 0) then
+ User.Action := TAction(FormularioDono.Components[I]);
+ if (FormularioDono.Components[I].Name = UserActionMenuItem) and (Formulario.cbUserMenuItem.ItemIndex >= 0) then
+ User.MenuItem := TMenuItem(FormularioDono.Components[I]);
+ if (FormularioDono.Components[I].Name = UserProfileActionMenuItem) and (Formulario.cbUserProfileAction.ItemIndex >= 0) then
+ UserProfile.Action := TAction(FormularioDono.Components[I]);
+ if (FormularioDono.Components[I].Name = UserProfileActionMenuItem) and (Formulario.cbUserProfileMenuItem.ItemIndex >= 0) then
+ UserProfile.MenuItem := TMenuItem(FormularioDono.Components[I]);
+ if (FormularioDono.Components[I].Name = LogControlActionMeuItem) and (Formulario.cbLogControlAction.ItemIndex >= 0) then
+ LogControl.Action := TAction(FormularioDono.Components[I]);
+ if (FormularioDono.Components[I].Name = LogControlActionMeuItem) and (Formulario.cbLogControlMenuItem.ItemIndex >= 0) then
+ LogControl.MenuItem := TMenuItem(FormularioDono.Components[I]);
+ if (FormularioDono.Components[I].Name = UserPasswordChangeActionMenuItem) and (Formulario.cbUserPasswordChangeAction.ItemIndex >= 0) then
+ UserPasswordChange.Action := TAction(FormularioDono.Components[I]);
+ if (FormularioDono.Components[I].Name = UserPasswordChangeActionMenuItem) and (Formulario.cbUserPasswordChangeMenuItem.ItemIndex >= 0) then
+ UserPasswordChange.MenuItem := TMenuItem(FormularioDono.Components[I]);
+ end;
+
+ User.UsePrivilegedField := Formulario.ckUserUsePrivilegedField.Checked;
+ User.ProtectAdministrator := Formulario.ckUserProtectAdministrator.Checked;
+ UserProfile.Active := Formulario.ckUserProfileActive.Checked;
+ UserPasswordChange.ForcePassword := Formulario.ckUserPassowrdChangeForcePassword.Checked;
+ UserPasswordChange.MinPasswordLength := Formulario.spedtUserPasswordChangeMinPasswordLength.Value;
+
+ LogControl.TableLog := Formulario.edtLogControlTableLog.Text;
+ LogControl.Active := Formulario.ckLogControlActive.Checked;
+
+ Login.MaxLoginAttempts := Formulario.spedtMaxLoginAttempts.Value;
+ Login.GetLoginName := TUCGetLoginName(Formulario.cbGetLoginName.ItemIndex);
+ Login.InitialLogin.User := Formulario.edtInitialLoginUser.Text;
+ Login.InitialLogin.Password := Formulario.edtInitialLoginPassword.Text;
+ Login.InitialLogin.Email := Formulario.edtInitialLoginEmail.Text;
+ Login.InitialLogin.InitialRights := Formulario.mmInitialRights.Lines;
+ Login.AutoLogin.Active := Formulario.ckLoginAutologinActive.Checked;
+ Login.AutoLogin.User := Formulario.edtLoginAutoLoginUser.Text;
+ Login.AutoLogin.Password := Formulario.edtLoginAutoLoginPassword.Text;
+ Login.AutoLogin.MessageOnError := Formulario.ckLoginAutoLoginMessageOnError.Checked;
+ UserSettings.Login.TopImage := Formulario.imgTop.Picture;
+ UserSettings.Login.LeftImage := Formulario.imgLeft.Picture;
+ UserSettings.Login.BottomImage := Formulario.imgBottom.Picture;
+ end;
+
+ Modulo := (BorlandIDEServices as IOTAModuleServices).CurrentModule;
+ for I := 0 to Modulo.GetModuleFileCount - 1 do
+ begin
+ Editor := Modulo.GetModuleFileEditor(I);
+ Editor.QueryInterface(IOTAFormEditor, FormEditor);
+ if FormEditor <> nil then
+ begin
+ FormEditor.MarkModified;
+ Break;
+ end;
+ end;
+ end;
+ finally
+ SysUtils.FreeAndNil(Formulario);
+ end;
+end;
+
+procedure ShowControlsEditor(Componente: TUCControls);
+var
+ FUCControl: TUCControls;
+ FEditor: IOTAEditor;
+ FModulo: IOTAModule;
+ FFormEditor: IOTAFormEditor;
+ I: Integer;
+begin
+ FUCControl := Componente;
+ if not Assigned(FUCControl.UserControl) then
+ begin
+ MessageDlg('A propriedade UserControl tem que ser informada e o componente ' + #13 + #10 + 'tem que estar visível!', mtInformation, [mbOK], 0);
+ Exit;
+ end;
+
+ with TUCObjSel.Create(nil) do
+ begin
+ FForm := TCustomForm(FUCControl.Owner);
+ FUserControl := FUCControl.UserControl;
+ FInitialObjs := TStringList.Create;
+ TUCControls(Componente).ListComponents(FForm.Name, FInitialObjs);
+ lbGroup.Caption := TUCControls(Componente).GroupName;
+ ShowModal;
+ Free;
+ end;
+
+ FModulo := (BorlandIDEServices as IOTAModuleServices).FindFormModule(FUCControl.UserControl.Owner.Name);
+ if FModulo = nil then
+ begin
+ ShowMessage('Modulo ' + FUCControl.UserControl.Owner.Name + ' nao encontrado!');
+ Exit;
+ end
+ else
+ for I := 0 to FModulo.GetModuleFileCount - 1 do
+ begin
+ FEditor := FModulo.GetModuleFileEditor(I);
+ FEditor.QueryInterface(IOTAFormEditor, FFormEditor);
+ if FFormEditor <> nil then
+ begin
+ FFormEditor.MarkModified;
+ Break;
+ end;
+ end;
+end;
+
+{$IFDEF DELPHI7}
+ { TUCAboutXpStyleVarProperty }
+
+procedure TUCAboutXpStyleVarProperty.Edit;
+begin
+ with TUCAboutXpStyle.Create(nil) do
+ begin
+ ShowModal;
+ Free;
+ end;
+end;
+
+function TUCAboutXpStyleVarProperty.GetAttributes: TPropertyAttributes;
+begin
+ Result := [paDialog, paReadOnly];
+end;
+
+function TUCAboutXpStyleVarProperty.GetValue: String;
+begin
+ Result := 'About...';
+end;
+{$ENDIF}
+
+{TUCControlsEditor}
+procedure TUCControlsEditor.Edit;
+begin
+ ShowControlsEditor(TUCControls(Component));
+end;
+
+procedure TUCControlsEditor.ExecuteVerb(Index: Integer);
+begin
+ Edit;
+end;
+
+function TUCControlsEditor.GetVerb(Index: Integer): String;
+begin
+ Result := '&Select Components...';
+end;
+
+function TUCControlsEditor.GetVerbCount: Integer;
+begin
+ Result := 1;
+end;
+
+{ TUserControlEditor }
+
+procedure TUserControlEditor.Edit;
+begin
+ ShowUserControlsEditor(TUserControl(Component));
+end;
+
+procedure TUserControlEditor.ExecuteVerb(Index: Integer);
+begin
+ Edit;
+end;
+
+function TUserControlEditor.GetVerb(Index: Integer): String;
+begin
+ Result := 'Configurar...';
+end;
+
+function TUserControlEditor.GetVerbCount: Integer;
+begin
+ Result := 1;
+end;
+
+end.
+
diff --git a/official/2.20/Source/UCSettings.pas b/official/2.20/Source/UCSettings.pas
new file mode 100644
index 0000000..54194a5
--- /dev/null
+++ b/official/2.20/Source/UCSettings.pas
@@ -0,0 +1,1411 @@
+unit UCSettings;
+
+interface
+
+uses
+ Classes,
+ Forms,
+ UCMessages,
+ UcConsts_Language;
+
+type
+ TUCSettings = class(TComponent)
+ private
+ FAddProfileFormMSG: TUCAddProfileFormMSG;
+ FAddUserFormMSG: TUCAddUserFormMSG;
+ FCadUserFormMSG: TUCCadUserFormMSG;
+ FLogControlFormMSG: TUCLogControlFormMSG;
+ FLoginFormMSG: TUCLoginFormMSG;
+ FPermissFormMSG: TUCPermissFormMSG;
+ FProfileUserFormMSG: TUCProfileUserFormMSG;
+ FResetPassword: TUCResetPassword;
+ FTrocaSenhaFormMSG: TUCTrocaSenhaFormMSG;
+ FUserCommomMSG: TUCUserCommonMSG;
+ FAppMessagesMSG: TUCAppMessagesMSG;
+ FPosition: TPosition;
+ fHistory: TUCHistoryMSG;
+ fTypeFields: TUCFieldType;
+ fLanguage: TUCLanguage;
+ procedure SetFAddProfileFormMSG(const Value: TUCAddProfileFormMSG);
+ procedure SetFAddUserFormMSG(const Value: TUCAddUserFormMSG);
+ procedure SetFCadUserFormMSG(const Value: TUCCadUserFormMSG);
+ procedure SetFFormLoginMsg(const Value: TUCLoginFormMSG);
+ procedure SetFLogControlFormMSG(const Value: TUCLogControlFormMSG);
+ procedure SetFPermissFormMSG(const Value: TUCPermissFormMSG);
+ procedure SetFProfileUserFormMSG(const Value: TUCProfileUserFormMSG);
+ procedure SetFResetPassword(const Value: TUCResetPassword);
+ procedure SetFTrocaSenhaFormMSG(const Value: TUCTrocaSenhaFormMSG);
+ procedure SetFUserCommonMSg(const Value: TUCUserCommonMSG);
+ procedure SetAppMessagesMSG(const Value: TUCAppMessagesMSG);
+ procedure SetfHistory(const Value: TUCHistoryMSG);
+ procedure SetfLanguage(const Value: TUCLanguage);
+ protected
+ public
+ constructor Create(AOwner: TComponent); override;
+ destructor Destroy; override;
+ procedure Assign(Source: TPersistent); override;
+ published
+ property AppMessages: TUCAppMessagesMSG read FAppMessagesMSG write SetAppMessagesMSG;
+ property CommonMessages: TUCUserCommonMSG read FUserCommomMSG write SetFUserCommonMSg;
+ property Login: TUCLoginFormMSG read FLoginFormMSG write SetFFormLoginMsg;
+ property Log: TUCLogControlFormMSG read FLogControlFormMSG write SetFLogControlFormMSG;
+ property UsersForm: TUCCadUserFormMSG read FCadUserFormMSG write SetFCadUserFormMSG;
+ property AddChangeUser: TUCAddUserFormMSG read FAddUserFormMSG write SetFAddUserFormMSG;
+ property AddChangeProfile: TUCAddProfileFormMSG read FAddProfileFormMSG write SetFAddProfileFormMSG;
+ property UsersProfile: TUCProfileUserFormMSG read FProfileUserFormMSG write SetFProfileUserFormMSG;
+ property Rights: TUCPermissFormMSG read FPermissFormMSG write SetFPermissFormMSG;
+ property ChangePassword: TUCTrocaSenhaFormMSG read FTrocaSenhaFormMSG write SetFTrocaSenhaFormMSG;
+ property ResetPassword: TUCResetPassword read FResetPassword write SetFResetPassword;
+ property History : TUCHistoryMSG read fHistory write SetfHistory;
+ Property TypeFieldsDB : TUCFieldType read fTypeFields write fTypeFields;
+ property WindowsPosition: TPosition read FPosition write FPosition default poMainFormCenter;
+ Property Language : TUCLanguage read fLanguage write SetfLanguage;
+ end;
+
+procedure IniSettings (DestSettings: TUCUserSettings);
+procedure IniSettings2(DestSettings: TUCSettings);
+
+procedure AlterLanguage(DestSettings: TUCUserSettings);
+procedure AlterLanguage2(DestSettings: TUCSettings);
+
+implementation
+
+uses
+ Graphics,
+ SysUtils,
+ UCBase;
+// UCConsts;
+
+{$IFDEF DELPHI9_UP} {$REGION 'Inicializacao'} {$ENDIF}
+
+procedure IniSettings(DestSettings: TUCUserSettings);
+var
+ tmp: TBitmap;
+begin
+ with DestSettings.CommonMessages do
+ begin
+ if BlankPassword = '' then
+ BlankPassword := RetornaLingua( ucPortuguesBr ,'Const_Men_SenhaDesabitada');
+ if PasswordChanged = '' then
+ PasswordChanged := RetornaLingua( ucPortuguesBr ,'Const_Men_SenhaAlterada');
+ if InitialMessage.Text = '' then
+ InitialMessage.Text := RetornaLingua( ucPortuguesBr ,'Const_Men_MsgInicial');
+ if MaxLoginAttemptsError = '' then
+ MaxLoginAttemptsError := RetornaLingua( ucPortuguesBr ,'Const_Men_MaxTentativas');
+ if InvalidLogin = '' then
+ InvalidLogin := RetornaLingua( ucPortuguesBr ,'Const_Men_LoginInvalido');
+ if AutoLogonError = '' then
+ AutoLogonError := RetornaLingua( ucPortuguesBr ,'Const_Men_AutoLogonError');
+ if UsuarioExiste = '' then
+ UsuarioExiste := RetornaLingua( ucPortuguesBr ,'Const_Men_UsuarioExiste');
+ if PasswordExpired = '' then
+ PasswordExpired := RetornaLingua( ucPortuguesBr ,'Const_Men_PasswordExpired');
+ If ForcaTrocaSenha = '' then
+ ForcaTrocaSenha := RetornaLingua( ucPortuguesBr ,'Const_ErrPass_ForcaTrocaSenha');
+ end;
+
+ with DestSettings.Login do
+ begin
+ if BtCancel = '' then
+ BtCancel := RetornaLingua( ucPortuguesBr ,'Const_Log_BtCancelar');
+ if BtOK = '' then
+ BtOK := RetornaLingua( ucPortuguesBr ,'Const_Log_BtOK');
+ if LabelPassword = '' then
+ LabelPassword := RetornaLingua( ucPortuguesBr ,'Const_Log_LabelSenha');
+ if LabelUser = '' then
+ LabelUser := RetornaLingua( ucPortuguesBr ,'Const_Log_LabelUsuario');
+ if WindowCaption = '' then
+ WindowCaption := RetornaLingua( ucPortuguesBr ,'Const_Log_WindowCaption');
+
+ if LabelTentativa = '' then
+ LabelTentativa := RetornaLingua( ucPortuguesBr ,'Const_Log_LabelTentativa');
+ if LabelTentativas = '' then
+ LabelTentativas := RetornaLingua( ucPortuguesBr ,'Const_Log_LabelTentativas');
+
+
+ try
+ Tmp := TBitmap.Create;
+ Tmp.LoadFromResourceName(HInstance, 'UCLOCKLOGIN');
+ LeftImage.Assign(tmp);
+ finally
+ FreeAndNil(tmp);
+ end;
+ end;
+
+ with DestSettings.UsersForm do
+ begin
+ if WindowCaption = '' then
+ WindowCaption := RetornaLingua( ucPortuguesBr ,'Const_Cad_WindowCaption');
+ if LabelDescription = '' then
+ LabelDescription := RetornaLingua( ucPortuguesBr ,'Const_Cad_LabelDescricao');
+ if ColName = '' then
+ ColName := RetornaLingua( ucPortuguesBr ,'Const_Cad_ColunaNome');
+ if ColLogin = '' then
+ ColLogin := RetornaLingua( ucPortuguesBr ,'Const_Cad_ColunaLogin');
+ if ColEmail = '' then
+ ColEmail := RetornaLingua( ucPortuguesBr ,'Const_Cad_ColunaEmail');
+ if BtAdd = '' then
+ BtAdd := RetornaLingua( ucPortuguesBr ,'Const_Cad_BtAdicionar');
+ if BtChange = '' then
+ BtChange := RetornaLingua( ucPortuguesBr ,'Const_Cad_BtAlterar');
+ if BtDelete = '' then
+ BtDelete := RetornaLingua( ucPortuguesBr ,'Const_Cad_BtExcluir');
+ if BtRights = '' then
+ BtRights := RetornaLingua( ucPortuguesBr ,'Const_Cad_BtPermissoes');
+ if BtPassword = '' then
+ BtPassword := RetornaLingua( ucPortuguesBr ,'Const_Cad_BtSenha');
+ if BtClose = '' then
+ BtClose := RetornaLingua( ucPortuguesBr ,'Const_Cad_BtFechar');
+ if PromptDelete = '' then
+ PromptDelete := RetornaLingua( ucPortuguesBr ,'Const_Cad_ConfirmaExcluir');
+ if PromptDelete_WindowCaption = '' then
+ PromptDelete_WindowCaption := RetornaLingua( ucPortuguesBr ,'Const_Cad_ConfirmaDelete_WindowCaption'); //added by fduenas
+ end;
+
+ with DestSettings.UsersProfile do
+ begin
+ if WindowCaption = '' then
+ WindowCaption := RetornaLingua( ucPortuguesBr ,'Const_Prof_WindowCaption');
+ if LabelDescription = '' then
+ LabelDescription := RetornaLingua( ucPortuguesBr ,'Const_Prof_LabelDescricao');
+ if ColProfile = '' then
+ ColProfile := RetornaLingua( ucPortuguesBr ,'Const_Prof_ColunaNome');
+ if BtAdd = '' then
+ BtAdd := RetornaLingua( ucPortuguesBr ,' Const_Prof_BtAdicionar');
+ if BtChange = '' then
+ BtChange := RetornaLingua( ucPortuguesBr ,'Const_Prof_BtAlterar');
+ if BtDelete = '' then
+ BtDelete := RetornaLingua( ucPortuguesBr ,'Const_Prof_BtExcluir');
+ if BtRights = '' then
+ BtRights := RetornaLingua( ucPortuguesBr ,'Const_Prof_BtPermissoes');
+ if BtClose = '' then
+ BtClose := RetornaLingua( ucPortuguesBr ,'Const_Prof_BtFechar');
+ if PromptDelete = '' then
+ PromptDelete := RetornaLingua( ucPortuguesBr ,'Const_Prof_ConfirmaExcluir');
+ if PromptDelete_WindowCaption = '' then
+ PromptDelete_WindowCaption := RetornaLingua( ucPortuguesBr ,'Const_Prof_ConfirmaDelete_WindowCaption'); //added by fduenas
+ end;
+
+ with DestSettings.AddChangeUser do
+ begin
+ if WindowCaption = '' then
+ WindowCaption := RetornaLingua( ucPortuguesBr ,'Const_Inc_WindowCaption');
+ if LabelAdd = '' then
+ LabelAdd := RetornaLingua( ucPortuguesBr ,'Const_Inc_LabelAdicionar');
+ if LabelChange = '' then
+ LabelChange := RetornaLingua( ucPortuguesBr ,'Const_Inc_LabelAlterar');
+ if LabelName = '' then
+ LabelName := RetornaLingua( ucPortuguesBr ,'Const_Inc_LabelNome');
+ if LabelLogin = '' then
+ LabelLogin := RetornaLingua( ucPortuguesBr ,'Const_Inc_LabelLogin');
+ if LabelEmail = '' then
+ LabelEmail := RetornaLingua( ucPortuguesBr ,'Const_Inc_LabelEmail');
+ if LabelPerfil = '' then
+ LabelPerfil := RetornaLingua( ucPortuguesBr ,'Const_Inc_LabelPerfil');
+ if CheckPrivileged = '' then
+ CheckPrivileged := RetornaLingua( ucPortuguesBr ,'Const_Inc_CheckPrivilegiado');
+
+ if BtSave = '' then
+ BtSave := RetornaLingua( ucPortuguesBr ,'Const_Inc_BtGravar');
+ if BtCancel = '' then
+ BtCancel := RetornaLingua( ucPortuguesBr ,'Const_Inc_BtCancelar');
+
+ if CheckExpira = '' then
+ CheckExpira := RetornaLingua( ucPortuguesBr ,'Const_Inc_CheckEspira');
+ If Day = '' then
+ Day := RetornaLingua( ucPortuguesBr ,'Const_Inc_Dia');
+ If ExpiredIn = '' then
+ ExpiredIn := RetornaLingua( ucPortuguesBr ,'Const_Inc_ExpiraEm');
+ end;
+
+ with DestSettings.AddChangeProfile do
+ begin
+ if WindowCaption = '' then
+ WindowCaption := RetornaLingua( ucPortuguesBr ,'Const_PInc_WindowCaption');
+ if LabelAdd = '' then
+ LabelAdd := RetornaLingua( ucPortuguesBr ,'Const_PInc_LabelAdicionar');
+ if LabelChange = '' then
+ LabelChange := RetornaLingua( ucPortuguesBr ,'Const_PInc_LabelAlterar');
+ if LabelName = '' then
+ LabelName := RetornaLingua( ucPortuguesBr ,'Const_PInc_LabelNome');
+ if BtSave = '' then
+ BtSave := RetornaLingua( ucPortuguesBr ,'Const_PInc_BtGravar');
+ if BtCancel = '' then
+ BtCancel := RetornaLingua( ucPortuguesBr ,'Const_PInc_BtCancelar');
+ end;
+
+ with DestSettings.Rights do
+ begin
+ if WindowCaption = '' then
+ WindowCaption := RetornaLingua( ucPortuguesBr ,'Const_Perm_WindowCaption');
+ if LabelUser = '' then
+ LabelUser := RetornaLingua( ucPortuguesBr ,'Const_Perm_LabelUsuario');
+ if LabelProfile = '' then
+ LabelProfile := RetornaLingua( ucPortuguesBr ,'Const_Perm_LabelPerfil');
+ if PageMenu = '' then
+ PageMenu := RetornaLingua( ucPortuguesBr ,'Const_Perm_PageMenu');
+ if PageActions = '' then
+ PageActions := RetornaLingua( ucPortuguesBr ,'Const_Perm_PageActions');
+ If PageControls = '' then
+ PageControls := RetornaLingua( ucPortuguesBr ,'Const_Perm_PageControls'); // by vicente barros leonel
+ if BtUnlock = '' then
+ BtUnlock := RetornaLingua( ucPortuguesBr ,'Const_Perm_BtLibera');
+ if BtLock = '' then
+ BtLock := RetornaLingua( ucPortuguesBr ,'Const_Perm_BtBloqueia');
+ if BtSave = '' then
+ BtSave := RetornaLingua( ucPortuguesBr ,'Const_Perm_BtGravar');
+ if BtCancel = '' then
+ BtCancel := RetornaLingua( ucPortuguesBr ,'Const_Perm_BtCancelar');
+ end;
+
+ with DestSettings.ChangePassword do
+ begin
+ if WindowCaption = '' then
+ WindowCaption := RetornaLingua( ucPortuguesBr ,'Const_Troc_WindowCaption');
+ if LabelDescription = '' then
+ LabelDescription := RetornaLingua( ucPortuguesBr ,'Const_Troc_LabelDescricao');
+ if LabelCurrentPassword = '' then
+ LabelCurrentPassword := RetornaLingua( ucPortuguesBr ,'Const_Troc_LabelSenhaAtual');
+ if LabelNewPassword = '' then
+ LabelNewPassword := RetornaLingua( ucPortuguesBr ,'Const_Troc_LabelNovaSenha');
+ if LabelConfirm = '' then
+ LabelConfirm := RetornaLingua( ucPortuguesBr ,'Const_Troc_LabelConfirma');
+ if BtSave = '' then
+ BtSave := RetornaLingua( ucPortuguesBr ,'Const_Troc_BtGravar');
+ if BtCancel = '' then
+ BtCancel := RetornaLingua( ucPortuguesBr ,'Const_Troc_BtCancelar');
+ end;
+
+ with DestSettings.CommonMessages.ChangePasswordError do
+ begin
+ if InvalidCurrentPassword = '' then
+ InvalidCurrentPassword := RetornaLingua( ucPortuguesBr ,'Const_ErrPass_SenhaAtualInvalida');
+ if NewPasswordError = '' then
+ NewPasswordError := RetornaLingua( ucPortuguesBr ,'Const_ErrPass_ErroNovaSenha');
+ if NewEqualCurrent = '' then
+ NewEqualCurrent := RetornaLingua( ucPortuguesBr ,'Const_ErrPass_NovaIgualAtual');
+ if PasswordRequired = '' then
+ PasswordRequired := RetornaLingua( ucPortuguesBr ,'Const_ErrPass_SenhaObrigatoria');
+ if MinPasswordLength = '' then
+ MinPasswordLength := RetornaLingua( ucPortuguesBr ,'Const_ErrPass_SenhaMinima');
+ if InvalidNewPassword = '' then
+ InvalidNewPassword := RetornaLingua( ucPortuguesBr ,'Const_ErrPass_SenhaInvalida');
+ end;
+
+ with DestSettings.ResetPassword do
+ begin
+ if WindowCaption = '' then
+ WindowCaption := RetornaLingua( ucPortuguesBr ,'Const_DefPass_WindowCaption');
+ if LabelPassword = '' then
+ LabelPassword := RetornaLingua( ucPortuguesBr ,'Const_DefPass_LabelSenha');
+ end;
+
+ with DestSettings.Log do
+ begin
+ if WindowCaption = '' then
+ WindowCaption := RetornaLingua( ucPortuguesBr ,'Const_LogC_WindowCaption');
+ if LabelDescription = '' then
+ LabelDescription := RetornaLingua( ucPortuguesBr ,'Const_LogC_LabelDescricao');
+ if LabelUser = '' then
+ LabelUser := RetornaLingua( ucPortuguesBr ,'Const_LogC_LabelUsuario');
+ if LabelDate = '' then
+ LabelDate := RetornaLingua( ucPortuguesBr ,'Const_LogC_LabelData');
+ if LabelLevel = '' then
+ LabelLevel := RetornaLingua( ucPortuguesBr ,'Const_LogC_LabelNivel');
+ if ColLevel = '' then
+ ColLevel := RetornaLingua( ucPortuguesBr ,'Const_LogC_ColunaNivel');
+ if ColAppID = '' then
+ ColAppID := RetornaLingua( ucPortuguesBr ,'Const_LogC_ColunaAppID');
+ if ColMessage = '' then
+ ColMessage := RetornaLingua( ucPortuguesBr ,'Const_LogC_ColunaMensagem');
+ if ColUser = '' then
+ ColUser := RetornaLingua( ucPortuguesBr ,'Const_LogC_ColunaUsuario');
+ if ColDate = '' then
+ ColDate := RetornaLingua( ucPortuguesBr ,'Const_LogC_ColunaData');
+ if BtFilter = '' then
+ BtFilter := RetornaLingua( ucPortuguesBr ,'Const_LogC_BtFiltro');
+ if BtDelete = '' then
+ BtDelete := RetornaLingua( ucPortuguesBr ,'Const_LogC_BtExcluir');
+ if BtClose = '' then
+ BtClose := RetornaLingua( ucPortuguesBr ,'Const_LogC_BtFechar');
+ if PromptDelete = '' then
+ PromptDelete := RetornaLingua( ucPortuguesBr ,'Const_LogC_ConfirmaExcluir');
+ if PromptDelete_WindowCaption = '' then
+ PromptDelete_WindowCaption := RetornaLingua( ucPortuguesBr ,'Const_LogC_ConfirmaDelete_WindowCaption'); //added by fduenas
+ if OptionUserAll = '' then
+ OptionUserAll := RetornaLingua( ucPortuguesBr ,'Const_LogC_Todos'); //added by fduenas
+ if OptionLevelLow = '' then
+ OptionLevelLow := RetornaLingua( ucPortuguesBr ,'Const_LogC_Low'); //added by fduenas
+ if OptionLevelNormal = '' then
+ OptionLevelNormal := RetornaLingua( ucPortuguesBr ,'Const_LogC_Normal'); //added by fduenas
+ if OptionLevelHigh = '' then
+ OptionLevelHigh := RetornaLingua( ucPortuguesBr ,'Const_LogC_High'); //added by fduenas
+ if OptionLevelCritic = '' then
+ OptionLevelCritic := RetornaLingua( ucPortuguesBr ,'Const_LogC_Critic'); //added by fduenas
+ if DeletePerformed = '' then
+ DeletePerformed := RetornaLingua( ucPortuguesBr ,'Const_LogC_ExcluirEfectuada'); //added by fduenas
+ end;
+
+ with DestSettings.AppMessages do
+ begin
+ if MsgsForm_BtNew = '' then
+ MsgsForm_BtNew := RetornaLingua( ucPortuguesBr ,'Const_Msgs_BtNew');
+ if MsgsForm_BtReplay = '' then
+ MsgsForm_BtReplay := RetornaLingua( ucPortuguesBr ,'Const_Msgs_BtReplay');
+ if MsgsForm_BtForward = '' then
+ MsgsForm_BtForward := RetornaLingua( ucPortuguesBr ,'Const_Msgs_BtForward');
+ if MsgsForm_BtDelete = '' then
+ MsgsForm_BtDelete := RetornaLingua( ucPortuguesBr ,'Const_Msgs_BtDelete');
+ if MsgsForm_BtClose = '' then
+ MsgsForm_BtDelete := RetornaLingua( ucPortuguesBr ,'Const_Msgs_BtClose'); //added by fduenas
+ if MsgsForm_WindowCaption = '' then
+ MsgsForm_WindowCaption := RetornaLingua( ucPortuguesBr ,'Const_Msgs_WindowCaption');
+ if MsgsForm_ColFrom = '' then
+ MsgsForm_ColFrom := RetornaLingua( ucPortuguesBr ,'Const_Msgs_ColFrom');
+ if MsgsForm_ColSubject = '' then
+ MsgsForm_ColSubject := RetornaLingua( ucPortuguesBr ,'Const_Msgs_ColSubject');
+ if MsgsForm_ColDate = '' then
+ MsgsForm_ColDate := RetornaLingua( ucPortuguesBr ,'Const_Msgs_ColDate');
+ if MsgsForm_PromptDelete = '' then
+ MsgsForm_PromptDelete := RetornaLingua( ucPortuguesBr ,'Const_Msgs_PromptDelete');
+ if MsgsForm_PromptDelete_WindowCaption = '' then
+ MsgsForm_PromptDelete_WindowCaption := RetornaLingua( ucPortuguesBr ,'Const_Msgs_PromptDelete_WindowCaption');
+ if MsgsForm_NoMessagesSelected = '' then
+ MsgsForm_NoMessagesSelected := RetornaLingua( ucPortuguesBr ,'Const_Msgs_NoMessagesSelected');
+ if MsgsForm_NoMessagesSelected_WindowCaption = '' then
+ MsgsForm_NoMessagesSelected_WindowCaption := RetornaLingua( ucPortuguesBr ,'Const_Msgs_NoMessagesSelected_WindowCaption');
+ if MsgRec_BtClose = '' then
+ MsgRec_BtClose := RetornaLingua( ucPortuguesBr ,'Const_MsgRec_BtClose');
+ if MsgRec_WindowCaption = '' then
+ MsgRec_WindowCaption := RetornaLingua( ucPortuguesBr ,'Const_MsgRec_WindowCaption');
+ if MsgRec_Title = '' then
+ MsgRec_Title := RetornaLingua( ucPortuguesBr ,'Const_MsgRec_Title');
+ if MsgRec_LabelFrom = '' then
+ MsgRec_LabelFrom := RetornaLingua( ucPortuguesBr ,'Const_MsgRec_LabelFrom');
+ if MsgRec_LabelDate = '' then
+ MsgRec_LabelDate := RetornaLingua( ucPortuguesBr ,'Const_MsgRec_LabelDate');
+ if MsgRec_LabelSubject = '' then
+ MsgRec_LabelSubject := RetornaLingua( ucPortuguesBr ,'Const_MsgRec_LabelSubject');
+ if MsgRec_LabelMessage = '' then
+ MsgRec_LabelMessage := RetornaLingua( ucPortuguesBr ,'Const_MsgRec_LabelMessage');
+ if MsgSend_BtSend = '' then
+ MsgSend_BtSend := RetornaLingua( ucPortuguesBr ,'Const_MsgSend_BtSend');
+ if MsgSend_BtCancel = '' then
+ MsgSend_BtCancel := RetornaLingua( ucPortuguesBr ,'Const_MsgSend_BtCancel');
+ if MsgSend_WindowCaption = '' then
+ MsgSend_WindowCaption := RetornaLingua( ucPortuguesBr ,'Const_MsgSend_WindowCaption');
+ if MsgSend_Title = '' then
+ MsgSend_Title := RetornaLingua( ucPortuguesBr ,'Const_MsgSend_Title');
+ if MsgSend_GroupTo = '' then
+ MsgSend_GroupTo := RetornaLingua( ucPortuguesBr ,'Const_MsgSend_GroupTo');
+ if MsgSend_RadioUser = '' then
+ MsgSend_RadioUser := RetornaLingua( ucPortuguesBr ,'Const_MsgSend_RadioUser');
+ if MsgSend_RadioAll = '' then
+ MsgSend_RadioAll := RetornaLingua( ucPortuguesBr ,'Const_MsgSend_RadioAll');
+ if MsgSend_GroupMessage = '' then
+ MsgSend_GroupMessage := RetornaLingua( ucPortuguesBr ,'Const_MsgSend_GroupMessage');
+ if MsgSend_LabelSubject = '' then
+ MsgSend_LabelSubject := RetornaLingua( ucPortuguesBr ,'Const_MsgSend_LabelSubject'); //added by fduenas
+ if MsgSend_LabelMessageText = '' then
+ MsgSend_LabelMessageText := RetornaLingua( ucPortuguesBr ,'Const_MsgSend_LabelMessageText'); //added by fduenas
+ end;
+
+ DestSettings.WindowsPosition := poMainFormCenter;
+
+ With DestSettings.History do
+ Begin
+ If Evento_Insert = '' then
+ Evento_Insert := RetornaLingua( ucPortuguesBr ,'Const_Evento_Insert');
+ if Evento_Delete = '' then
+ Evento_Delete := RetornaLingua( ucPortuguesBr ,'Const_Evento_Delete');
+ if Evento_Edit = '' then
+ Evento_Edit := RetornaLingua( ucPortuguesBr ,'Const_Evento_Edit');
+ If Evento_NewRecord = '' then
+ Evento_NewRecord := RetornaLingua( ucPortuguesBr ,'Const_Evento_NewRecord');
+ If Hist_all = '' then
+ Hist_All := RetornaLingua( ucPortuguesBr ,'Const_Hist_All');
+ If Msg_LimpHistorico = '' then
+ Msg_LimpHistorico := RetornaLingua( ucPortuguesBr ,'Const_Msg_LimpHistorico');
+ If Msg_MensConfirma = '' then
+ Msg_MensConfirma := RetornaLingua( ucPortuguesBr ,'Const_Msg_MensConfirma');
+ if Msg_LogEmptyHistory = '' then
+ Msg_LogEmptyHistory := RetornaLingua( ucPortuguesBr ,'Const_Msg_LogEmptyHistory');
+ if LabelDescricao = '' then
+ LabelDescricao := RetornaLingua( ucPortuguesBr ,'Const_LabelDescricao');
+ if LabelUser = '' then
+ LabelUser := RetornaLingua( ucPortuguesBr ,'Const_LabelUser');
+ if LabelForm = '' then
+ LabelForm := RetornaLingua( ucPortuguesBr ,'Const_LabelForm');
+ if LabelEvento = '' then
+ LabelEvento := RetornaLingua( ucPortuguesBr ,'const_LabelEvento');
+ if LabelTabela = '' then
+ LabelTabela := RetornaLingua( ucPortuguesBr ,'const_LabelTabela');
+ if LabelDataEvento = '' then
+ LabelDataEvento := RetornaLingua( ucPortuguesBr ,'const_LabelDataEvento');
+ if LabelHoraEvento = '' then
+ LabelHoraEvento := RetornaLingua( ucPortuguesBr ,'const_LabelHoraEvento');
+ if Msg_NewRecord = '' then
+ Msg_NewRecord := RetornaLingua( ucPortuguesBr ,'const_Msg_NewRecord');
+ if Hist_MsgExceptPropr = '' then
+ Hist_MsgExceptPropr := RetornaLingua( ucPortuguesBr ,'Const_Hist_MsgExceptPropr');
+ if Hist_BtnFiltro = '' then
+ Hist_BtnFiltro := RetornaLingua( ucPortuguesBr ,'const_Hist_BtnFiltro');
+ if Hist_BtnExcluir = '' then
+ Hist_BtnExcluir := RetornaLingua( ucPortuguesBr ,'const_Hist_BtnExcluir');
+ if Hist_BtnFechar = '' then
+ Hist_BtnFechar := RetornaLingua( ucPortuguesBr ,'const_Hist_BtnFechar');
+ End;
+
+ With DestSettings.TypeFieldsDB do
+ Begin
+ If Type_VarChar = '' then
+ Type_VarChar := 'VarChar';
+ if Type_Char = '' then
+ Type_Char := 'Char';
+ if Type_Int = '' then
+ Type_Int := 'Int';
+ if Type_MemoField = '' then
+ Type_MemoField := 'BLOB SUB_TYPE 1 SEGMENT SIZE 1024';
+ end;
+end;
+
+procedure IniSettings2(DestSettings: TUCSettings);
+var
+ tmp: TBitmap;
+begin
+ with DestSettings.CommonMessages do
+ begin
+ if BlankPassword = '' then
+ BlankPassword := RetornaLingua( DestSettings.fLanguage , 'Const_Men_SenhaDesabitada');
+ if PasswordChanged = '' then
+ PasswordChanged := RetornaLingua( DestSettings.fLanguage , 'Const_Men_SenhaAlterada');
+ if InitialMessage.Text = '' then
+ InitialMessage.Text := RetornaLingua( DestSettings.fLanguage , 'Const_Men_MsgInicial');
+ if MaxLoginAttemptsError = '' then
+ MaxLoginAttemptsError := RetornaLingua( DestSettings.fLanguage , 'Const_Men_MaxTentativas');
+ if InvalidLogin = '' then
+ InvalidLogin := RetornaLingua( DestSettings.fLanguage , 'Const_Men_LoginInvalido');
+ if AutoLogonError = '' then
+ AutoLogonError := RetornaLingua( DestSettings.fLanguage , 'Const_Men_AutoLogonError');
+ if UsuarioExiste = '' then
+ UsuarioExiste := RetornaLingua( DestSettings.fLanguage , 'Const_Men_UsuarioExiste');
+ if PasswordExpired = '' then
+ PasswordExpired := RetornaLingua( DestSettings.fLanguage , 'Const_Men_PasswordExpired');
+ If ForcaTrocaSenha = '' then
+ ForcaTrocaSenha := RetornaLingua( DestSettings.fLanguage , 'Const_ErrPass_ForcaTrocaSenha');
+ end;
+
+ with DestSettings.Login do
+ begin
+ if BtCancel = '' then
+ BtCancel := RetornaLingua( DestSettings.fLanguage , 'Const_Log_BtCancelar');
+ if BtOK = '' then
+ BtOK := RetornaLingua( DestSettings.fLanguage , 'Const_Log_BtOK');
+ if LabelPassword = '' then
+ LabelPassword := RetornaLingua( DestSettings.fLanguage , 'Const_Log_LabelSenha');
+ if LabelUser = '' then
+ LabelUser := RetornaLingua( DestSettings.fLanguage , 'Const_Log_LabelUsuario');
+ if WindowCaption = '' then
+ WindowCaption := RetornaLingua( DestSettings.fLanguage , 'Const_Log_WindowCaption');
+
+ if LabelTentativa = '' then
+ LabelTentativa := RetornaLingua( DestSettings.fLanguage , 'Const_Log_LabelTentativa');
+ if LabelTentativas = '' then
+ LabelTentativas := RetornaLingua( DestSettings.fLanguage , 'Const_Log_LabelTentativas');
+
+ try
+ Tmp := TBitmap.Create;
+ Tmp.LoadFromResourceName(HInstance, 'UCLOCKLOGIN');
+ LeftImage.Assign(tmp);
+ finally
+ FreeAndNil(tmp);
+ end;
+ end;
+
+ with DestSettings.UsersForm do
+ begin
+ if WindowCaption = '' then
+ WindowCaption := RetornaLingua( DestSettings.fLanguage , 'Const_Cad_WindowCaption');
+ if LabelDescription = '' then
+ LabelDescription := RetornaLingua( DestSettings.fLanguage , 'Const_Cad_LabelDescricao');
+ if ColName = '' then
+ ColName := RetornaLingua( DestSettings.fLanguage , 'Const_Cad_ColunaNome');
+ if ColLogin = '' then
+ ColLogin := RetornaLingua( DestSettings.fLanguage , 'Const_Cad_ColunaLogin');
+ if ColEmail = '' then
+ ColEmail := RetornaLingua( DestSettings.fLanguage , 'Const_Cad_ColunaEmail');
+ if BtAdd = '' then
+ BtAdd := RetornaLingua( DestSettings.fLanguage , 'Const_Cad_BtAdicionar');
+ if BtChange = '' then
+ BtChange := RetornaLingua( DestSettings.fLanguage , 'Const_Cad_BtAlterar');
+ if BtDelete = '' then
+ BtDelete := RetornaLingua( DestSettings.fLanguage , 'Const_Cad_BtExcluir');
+ if BtRights = '' then
+ BtRights := RetornaLingua( DestSettings.fLanguage , 'Const_Cad_BtPermissoes');
+ if BtPassword = '' then
+ BtPassword := RetornaLingua( DestSettings.fLanguage , 'Const_Cad_BtSenha');
+ if BtClose = '' then
+ BtClose := RetornaLingua( DestSettings.fLanguage , 'Const_Cad_BtFechar');
+ if PromptDelete = '' then
+ PromptDelete := RetornaLingua( DestSettings.fLanguage , 'Const_Cad_ConfirmaExcluir');
+ if PromptDelete_WindowCaption = '' then
+ PromptDelete_WindowCaption := RetornaLingua( DestSettings.fLanguage , 'Const_Cad_ConfirmaDelete_WindowCaption');
+ end;
+
+ with DestSettings.UsersProfile do
+ begin
+ if WindowCaption = '' then
+ WindowCaption := RetornaLingua( DestSettings.fLanguage , 'Const_Prof_WindowCaption');
+ if LabelDescription = '' then
+ LabelDescription := RetornaLingua( DestSettings.fLanguage , 'Const_Prof_LabelDescricao');
+ if ColProfile = '' then
+ ColProfile := RetornaLingua( DestSettings.fLanguage , 'Const_Prof_ColunaNome');
+ if BtAdd = '' then
+ BtAdd := RetornaLingua( DestSettings.Language,'Const_Prof_BtAdicionar');
+ if BtChange = '' then
+ BtChange := RetornaLingua( DestSettings.fLanguage , 'Const_Prof_BtAlterar');
+ if BtDelete = '' then
+ BtDelete := RetornaLingua( DestSettings.fLanguage , 'Const_Prof_BtExcluir');
+ if BtRights = '' then
+ BtRights := RetornaLingua( DestSettings.fLanguage , 'Const_Prof_BtPermissoes');
+ if BtClose = '' then
+ BtClose := RetornaLingua( DestSettings.fLanguage , 'Const_Prof_BtFechar');
+ if PromptDelete = '' then
+ PromptDelete := RetornaLingua( DestSettings.fLanguage , 'Const_Prof_ConfirmaExcluir');
+ if PromptDelete_WindowCaption = '' then
+ PromptDelete_WindowCaption := RetornaLingua( DestSettings.fLanguage , 'Const_Prof_ConfirmaDelete_WindowCaption'); //added by fduenas
+ end;
+
+ with DestSettings.AddChangeUser do
+ begin
+ if WindowCaption = '' then
+ WindowCaption := RetornaLingua( DestSettings.fLanguage , 'Const_Inc_WindowCaption');
+ if LabelAdd = '' then
+ LabelAdd := RetornaLingua( DestSettings.fLanguage , 'Const_Inc_LabelAdicionar');
+ if LabelChange = '' then
+ LabelChange := RetornaLingua( DestSettings.fLanguage , 'Const_Inc_LabelAlterar');
+ if LabelName = '' then
+ LabelName := RetornaLingua( DestSettings.fLanguage , 'Const_Inc_LabelNome');
+ if LabelLogin = '' then
+ LabelLogin := RetornaLingua( DestSettings.fLanguage , 'Const_Inc_LabelLogin');
+ if LabelEmail = '' then
+ LabelEmail := RetornaLingua( DestSettings.fLanguage , 'Const_Inc_LabelEmail');
+ if CheckPrivileged = '' then
+ CheckPrivileged := RetornaLingua( DestSettings.fLanguage , 'Const_Inc_CheckPrivilegiado');
+ if BtSave = '' then
+ BtSave := RetornaLingua( DestSettings.fLanguage , 'Const_Inc_BtGravar');
+ if BtCancel = '' then
+ BtCancel := RetornaLingua( DestSettings.fLanguage , 'Const_Inc_BtCancelar');
+ if LabelPerfil = '' then
+ LabelPerfil := RetornaLingua( DestSettings.fLanguage , 'Const_Inc_LabelPerfil');
+
+ if CheckExpira = '' then
+ CheckExpira := RetornaLingua( DestSettings.fLanguage , 'Const_Inc_CheckEspira');
+ If Day = '' then
+ Day := RetornaLingua( DestSettings.fLanguage , 'Const_Inc_Dia');
+ If ExpiredIn = '' then
+ ExpiredIn := RetornaLingua( DestSettings.fLanguage , 'Const_Inc_ExpiraEm');
+ end;
+
+ with DestSettings.AddChangeProfile do
+ begin
+ if WindowCaption = '' then
+ WindowCaption := RetornaLingua( DestSettings.fLanguage , 'Const_PInc_WindowCaption');
+ if LabelAdd = '' then
+ LabelAdd := RetornaLingua( DestSettings.fLanguage , 'Const_PInc_LabelAdicionar');
+ if LabelChange = '' then
+ LabelChange := RetornaLingua( DestSettings.fLanguage , 'Const_PInc_LabelAlterar');
+ if LabelName = '' then
+ LabelName := RetornaLingua( DestSettings.fLanguage , 'Const_PInc_LabelNome');
+ if BtSave = '' then
+ BtSave := RetornaLingua( DestSettings.fLanguage , 'Const_PInc_BtGravar');
+ if BtCancel = '' then
+ BtCancel := RetornaLingua( DestSettings.fLanguage , 'Const_PInc_BtCancelar');
+ end;
+
+ with DestSettings.Rights do
+ begin
+ if WindowCaption = '' then
+ WindowCaption := RetornaLingua( DestSettings.fLanguage , 'Const_Perm_WindowCaption');
+ if LabelUser = '' then
+ LabelUser := RetornaLingua( DestSettings.fLanguage , 'Const_Perm_LabelUsuario');
+ if LabelProfile = '' then
+ LabelProfile := RetornaLingua( DestSettings.fLanguage , 'Const_Perm_LabelPerfil');
+ if PageMenu = '' then
+ PageMenu := RetornaLingua( DestSettings.fLanguage , 'Const_Perm_PageMenu');
+ if PageActions = '' then
+ PageActions := RetornaLingua( DestSettings.fLanguage , 'Const_Perm_PageActions');
+ If PageControls = '' then
+ PageControls := RetornaLingua( DestSettings.fLanguage , 'Const_Perm_PageControls'); // by vicente barros leonel
+ if BtUnlock = '' then
+ BtUnlock := RetornaLingua( DestSettings.fLanguage , 'Const_Perm_BtLibera');
+ if BtLock = '' then
+ BtLock := RetornaLingua( DestSettings.fLanguage , 'Const_Perm_BtBloqueia');
+ if BtSave = '' then
+ BtSave := RetornaLingua( DestSettings.fLanguage , 'Const_Perm_BtGravar');
+ if BtCancel = '' then
+ BtCancel := RetornaLingua( DestSettings.fLanguage , 'Const_Perm_BtCancelar');
+ end;
+
+ with DestSettings.ChangePassword do
+ begin
+ if WindowCaption = '' then
+ WindowCaption := RetornaLingua( DestSettings.fLanguage , 'Const_Troc_WindowCaption');
+ if LabelDescription = '' then
+ LabelDescription := RetornaLingua( DestSettings.fLanguage , 'Const_Troc_LabelDescricao');
+ if LabelCurrentPassword = '' then
+ LabelCurrentPassword := RetornaLingua( DestSettings.fLanguage , 'Const_Troc_LabelSenhaAtual');
+ if LabelNewPassword = '' then
+ LabelNewPassword := RetornaLingua( DestSettings.fLanguage , 'Const_Troc_LabelNovaSenha');
+ if LabelConfirm = '' then
+ LabelConfirm := RetornaLingua( DestSettings.fLanguage , 'Const_Troc_LabelConfirma');
+ if BtSave = '' then
+ BtSave := RetornaLingua( DestSettings.fLanguage , 'Const_Troc_BtGravar');
+ if BtCancel = '' then
+ BtCancel := RetornaLingua( DestSettings.fLanguage , 'Const_Troc_BtCancelar');
+ end;
+
+ with DestSettings.CommonMessages.ChangePasswordError do
+ begin
+ if InvalidCurrentPassword = '' then
+ InvalidCurrentPassword := RetornaLingua( DestSettings.fLanguage , 'Const_ErrPass_SenhaAtualInvalida');
+ if NewPasswordError = '' then
+ NewPasswordError := RetornaLingua( DestSettings.fLanguage , 'Const_ErrPass_ErroNovaSenha');
+ if NewEqualCurrent = '' then
+ NewEqualCurrent := RetornaLingua( DestSettings.fLanguage , 'Const_ErrPass_NovaIgualAtual');
+ if PasswordRequired = '' then
+ PasswordRequired := RetornaLingua( DestSettings.fLanguage , 'Const_ErrPass_SenhaObrigatoria');
+ if MinPasswordLength = '' then
+ MinPasswordLength := RetornaLingua( DestSettings.fLanguage , 'Const_ErrPass_SenhaMinima');
+ if InvalidNewPassword = '' then
+ InvalidNewPassword := RetornaLingua( DestSettings.fLanguage , 'Const_ErrPass_SenhaInvalida');
+ end;
+
+ with DestSettings.ResetPassword do
+ begin
+ if WindowCaption = '' then
+ WindowCaption := RetornaLingua( DestSettings.fLanguage , 'Const_DefPass_WindowCaption');
+ if LabelPassword = '' then
+ LabelPassword := RetornaLingua( DestSettings.fLanguage , 'Const_DefPass_LabelSenha');
+ end;
+
+ with DestSettings.Log do
+ begin
+ if WindowCaption = '' then
+ WindowCaption := RetornaLingua( DestSettings.fLanguage , 'Const_LogC_WindowCaption');
+ if LabelDescription = '' then
+ LabelDescription := RetornaLingua( DestSettings.fLanguage , 'Const_LogC_LabelDescricao');
+ if LabelUser = '' then
+ LabelUser := RetornaLingua( DestSettings.fLanguage , 'Const_LogC_LabelUsuario');
+ if LabelDate = '' then
+ LabelDate := RetornaLingua( DestSettings.fLanguage , 'Const_LogC_LabelData');
+ if LabelLevel = '' then
+ LabelLevel := RetornaLingua( DestSettings.fLanguage , 'Const_LogC_LabelNivel');
+ if ColLevel = '' then
+ ColLevel := RetornaLingua( DestSettings.fLanguage , 'Const_LogC_ColunaNivel');
+ if ColAppID = '' then
+ ColAppID := RetornaLingua( DestSettings.fLanguage , 'Const_LogC_ColunaAppID');
+ if ColMessage = '' then
+ ColMessage := RetornaLingua( DestSettings.fLanguage , 'Const_LogC_ColunaMensagem');
+ if ColUser = '' then
+ ColUser := RetornaLingua( DestSettings.fLanguage , 'Const_LogC_ColunaUsuario');
+ if ColDate = '' then
+ ColDate := RetornaLingua( DestSettings.fLanguage , 'Const_LogC_ColunaData');
+ if BtFilter = '' then
+ BtFilter := RetornaLingua( DestSettings.fLanguage , 'Const_LogC_BtFiltro');
+ if BtDelete = '' then
+ BtDelete := RetornaLingua( DestSettings.fLanguage , 'Const_LogC_BtExcluir');
+ if BtClose = '' then
+ BtClose := RetornaLingua( DestSettings.fLanguage , 'Const_LogC_BtFechar');
+ if PromptDelete = '' then
+ PromptDelete := RetornaLingua( DestSettings.fLanguage , 'Const_LogC_ConfirmaExcluir');
+ if PromptDelete_WindowCaption = '' then
+ PromptDelete_WindowCaption := RetornaLingua( DestSettings.fLanguage , 'Const_LogC_ConfirmaDelete_WindowCaption'); //added by fduenas
+ if OptionUserAll = '' then
+ OptionUserAll := RetornaLingua( DestSettings.fLanguage , 'Const_LogC_Todos'); //added by fduenas
+ if OptionLevelLow = '' then
+ OptionLevelLow := RetornaLingua( DestSettings.fLanguage , 'Const_LogC_Low'); //added by fduenas
+ if OptionLevelNormal = '' then
+ OptionLevelNormal := RetornaLingua( DestSettings.fLanguage , 'Const_LogC_Normal'); //added by fduenas
+ if OptionLevelHigh = '' then
+ OptionLevelHigh := RetornaLingua( DestSettings.fLanguage , 'Const_LogC_High'); //added by fduenas
+ if OptionLevelCritic = '' then
+ OptionLevelCritic := RetornaLingua( DestSettings.fLanguage , 'Const_LogC_Critic'); //added by fduenas
+ if DeletePerformed = '' then
+ DeletePerformed := RetornaLingua( DestSettings.fLanguage , 'Const_LogC_ExcluirEfectuada'); //added by fduenas
+ end;
+
+ with DestSettings.AppMessages do
+ begin
+ if MsgsForm_BtNew = '' then
+ MsgsForm_BtNew := RetornaLingua( DestSettings.fLanguage , 'Const_Msgs_BtNew');
+ if MsgsForm_BtReplay = '' then
+ MsgsForm_BtReplay := RetornaLingua( DestSettings.fLanguage , 'Const_Msgs_BtReplay');
+ if MsgsForm_BtForward = '' then
+ MsgsForm_BtForward := RetornaLingua( DestSettings.fLanguage , 'Const_Msgs_BtForward');
+ if MsgsForm_BtDelete = '' then
+ MsgsForm_BtDelete := RetornaLingua( DestSettings.fLanguage , 'Const_Msgs_BtDelete');
+ if MsgsForm_BtClose = '' then
+ MsgsForm_BtClose := RetornaLingua( DestSettings.fLanguage , 'Const_Msgs_BtClose'); //added by fduenas
+ if MsgsForm_WindowCaption = '' then
+ MsgsForm_WindowCaption := RetornaLingua( DestSettings.fLanguage , 'Const_Msgs_WindowCaption');
+ if MsgsForm_ColFrom = '' then
+ MsgsForm_ColFrom := RetornaLingua( DestSettings.fLanguage , 'Const_Msgs_ColFrom');
+ if MsgsForm_ColSubject = '' then
+ MsgsForm_ColSubject := RetornaLingua( DestSettings.fLanguage , 'Const_Msgs_ColSubject');
+ if MsgsForm_ColDate = '' then
+ MsgsForm_ColDate := RetornaLingua( DestSettings.fLanguage , 'Const_Msgs_ColDate');
+ if MsgsForm_PromptDelete = '' then
+ MsgsForm_PromptDelete := RetornaLingua( DestSettings.fLanguage , 'Const_Msgs_PromptDelete');
+ if MsgsForm_PromptDelete_WindowCaption = '' then
+ MsgsForm_PromptDelete_WindowCaption := RetornaLingua( DestSettings.fLanguage , 'Const_Msgs_PromptDelete_WindowCaption'); //added by fduenas
+ if MsgsForm_NoMessagesSelected = '' then
+ MsgsForm_NoMessagesSelected := RetornaLingua( DestSettings.fLanguage , 'Const_Msgs_NoMessagesSelected'); //added by fduenas
+ if MsgsForm_NoMessagesSelected_WindowCaption = '' then
+ MsgsForm_NoMessagesSelected_WindowCaption := RetornaLingua( DestSettings.fLanguage , 'Const_Msgs_NoMessagesSelected_WindowCaption'); //added by fduenas
+ if MsgRec_BtClose = '' then
+ MsgRec_BtClose := RetornaLingua( DestSettings.fLanguage , 'Const_MsgRec_BtClose');
+ if MsgRec_WindowCaption = '' then
+ MsgRec_WindowCaption := RetornaLingua( DestSettings.fLanguage , 'Const_MsgRec_WindowCaption');
+ if MsgRec_Title = '' then
+ MsgRec_Title := RetornaLingua( DestSettings.fLanguage , 'Const_MsgRec_Title');
+ if MsgRec_LabelFrom = '' then
+ MsgRec_LabelFrom := RetornaLingua( DestSettings.fLanguage , 'Const_MsgRec_LabelFrom');
+ if MsgRec_LabelDate = '' then
+ MsgRec_LabelDate := RetornaLingua( DestSettings.fLanguage , 'Const_MsgRec_LabelDate');
+ if MsgRec_LabelSubject = '' then
+ MsgRec_LabelSubject := RetornaLingua( DestSettings.fLanguage , 'Const_MsgRec_LabelSubject');
+ if MsgRec_LabelMessage = '' then
+ MsgRec_LabelMessage := RetornaLingua( DestSettings.fLanguage , 'Const_MsgRec_LabelMessage');
+ if MsgSend_BtSend = '' then
+ MsgSend_BtSend := RetornaLingua( DestSettings.fLanguage , 'Const_MsgSend_BtSend');
+ if MsgSend_BtCancel = '' then
+ MsgSend_BtCancel := RetornaLingua( DestSettings.fLanguage , 'Const_MsgSend_BtCancel');
+ if MsgSend_WindowCaption = '' then
+ MsgSend_WindowCaption := RetornaLingua( DestSettings.fLanguage , 'Const_MsgSend_WindowCaption');
+ if MsgSend_Title = '' then
+ MsgSend_Title := RetornaLingua( DestSettings.fLanguage , 'Const_MsgSend_Title');
+ if MsgSend_GroupTo = '' then
+ MsgSend_GroupTo := RetornaLingua( DestSettings.fLanguage , 'Const_MsgSend_GroupTo');
+ if MsgSend_RadioUser = '' then
+ MsgSend_RadioUser := RetornaLingua( DestSettings.fLanguage , 'Const_MsgSend_RadioUser');
+ if MsgSend_RadioAll = '' then
+ MsgSend_RadioAll := RetornaLingua( DestSettings.fLanguage , 'Const_MsgSend_RadioAll');
+ if MsgSend_GroupMessage = '' then
+ MsgSend_GroupMessage := RetornaLingua( DestSettings.fLanguage , 'Const_MsgSend_GroupMessage');
+ if MsgSend_LabelSubject = '' then
+ MsgSend_LabelSubject := RetornaLingua( DestSettings.fLanguage , 'Const_MsgSend_LabelSubject'); //added by fduenas
+ if MsgSend_LabelMessageText = '' then
+ MsgSend_LabelMessageText := RetornaLingua( DestSettings.fLanguage , 'Const_MsgSend_LabelMessageText'); //added by fduenas
+ end;
+
+ DestSettings.WindowsPosition := poMainFormCenter;
+
+ With DestSettings.History do
+ Begin
+ If Evento_Insert = '' then
+ Evento_Insert := RetornaLingua( DestSettings.fLanguage , 'Const_Evento_Insert');
+ if Evento_Delete = '' then
+ Evento_Delete := RetornaLingua( DestSettings.fLanguage , 'Const_Evento_Delete');
+ if Evento_Edit = '' then
+ Evento_Edit := RetornaLingua( DestSettings.fLanguage , 'Const_Evento_Edit');
+ If Evento_NewRecord = '' then
+ Evento_NewRecord := RetornaLingua( DestSettings.fLanguage , 'Const_Evento_NewRecord');
+ If Hist_all = '' then
+ Hist_All := RetornaLingua( DestSettings.fLanguage , 'Const_Hist_All');
+ If Msg_LimpHistorico = '' then
+ Msg_LimpHistorico := RetornaLingua( DestSettings.fLanguage , 'Const_Msg_LimpHistorico');
+ If Msg_MensConfirma = '' then
+ Msg_MensConfirma := RetornaLingua( DestSettings.fLanguage , 'Const_Msg_MensConfirma');
+ if Msg_LogEmptyHistory = '' then
+ Msg_LogEmptyHistory := RetornaLingua( DestSettings.fLanguage , 'Const_Msg_LogEmptyHistory');
+ if LabelDescricao = '' then
+ LabelDescricao := RetornaLingua( DestSettings.fLanguage , 'Const_LabelDescricao');
+ if LabelUser = '' then
+ LabelUser := RetornaLingua( DestSettings.fLanguage , 'Const_LabelUser');
+ if LabelForm = '' then
+ LabelForm := RetornaLingua( DestSettings.fLanguage , 'Const_LabelForm');
+ if LabelEvento = '' then
+ LabelEvento := RetornaLingua( DestSettings.fLanguage , 'const_LabelEvento');
+ if LabelTabela = '' then
+ LabelTabela := RetornaLingua( DestSettings.fLanguage , 'const_LabelTabela');
+ if LabelDataEvento = '' then
+ LabelDataEvento := RetornaLingua( DestSettings.fLanguage , 'const_LabelDataEvento');
+ if LabelHoraEvento = '' then
+ LabelHoraEvento := RetornaLingua( DestSettings.fLanguage , 'const_LabelHoraEvento');
+ if Msg_NewRecord = '' then
+ Msg_NewRecord := RetornaLingua( DestSettings.fLanguage , 'const_Msg_NewRecord');
+ if Hist_MsgExceptPropr = '' then
+ Hist_MsgExceptPropr := RetornaLingua( DestSettings.fLanguage , 'Const_Hist_MsgExceptPropr');
+ if Hist_BtnFiltro = '' then
+ Hist_BtnFiltro := RetornaLingua( DestSettings.fLanguage , 'const_Hist_BtnFiltro');
+ if Hist_BtnExcluir = '' then
+ Hist_BtnExcluir := RetornaLingua( DestSettings.fLanguage , 'const_Hist_BtnExcluir');
+ if Hist_BtnFechar = '' then
+ Hist_BtnFechar := RetornaLingua( DestSettings.fLanguage , 'const_Hist_BtnFechar');
+ End;
+
+ With DestSettings.TypeFieldsDB do
+ Begin
+ If Type_VarChar = '' then
+ Type_VarChar := 'VarChar';
+ if Type_Char = '' then
+ Type_Char := 'Char';
+ if Type_Int = '' then
+ Type_Int := 'Int';
+ if Type_MemoField = '' then
+ Type_MemoField := 'BLOB SUB_TYPE 1 SEGMENT SIZE 1024';
+ end;
+end;
+
+{-------------------------------------------------------------------------------}
+
+procedure AlterLanguage(DestSettings: TUCUserSettings);
+begin
+ with DestSettings.CommonMessages do
+ begin
+ BlankPassword := RetornaLingua( DestSettings.Language,'Const_Men_SenhaDesabitada');
+ PasswordChanged := RetornaLingua( DestSettings.Language,'Const_Men_SenhaAlterada');
+ InitialMessage.Text := RetornaLingua( DestSettings.Language,'Const_Men_MsgInicial');
+ MaxLoginAttemptsError := RetornaLingua( DestSettings.Language,'Const_Men_MaxTentativas');
+ InvalidLogin := RetornaLingua( DestSettings.Language,'Const_Men_LoginInvalido');
+ AutoLogonError := RetornaLingua( DestSettings.Language,'Const_Men_AutoLogonError');
+ UsuarioExiste := RetornaLingua( DestSettings.Language,'Const_Men_UsuarioExiste');
+ PasswordExpired := RetornaLingua( DestSettings.Language,'Const_Men_PasswordExpired');
+ end;
+
+ with DestSettings.Login do
+ begin
+ BtCancel := RetornaLingua( DestSettings.Language,'Const_Log_BtCancelar');
+ BtOK := RetornaLingua( DestSettings.Language,'Const_Log_BtOK');
+ LabelPassword := RetornaLingua( DestSettings.Language,'Const_Log_LabelSenha');
+ LabelUser := RetornaLingua( DestSettings.Language,'Const_Log_LabelUsuario');
+ WindowCaption := RetornaLingua( DestSettings.Language,'Const_Log_WindowCaption');
+ LabelTentativa := RetornaLingua( DestSettings.Language,'Const_Log_LabelTentativa');
+ LabelTentativas := RetornaLingua( DestSettings.Language,'Const_Log_LabelTentativas');
+ end;
+
+ with DestSettings.UsersForm do
+ begin
+ WindowCaption := RetornaLingua( DestSettings.Language,'Const_Cad_WindowCaption');
+ LabelDescription := RetornaLingua( DestSettings.Language,'Const_Cad_LabelDescricao');
+ ColName := RetornaLingua( DestSettings.Language,'Const_Cad_ColunaNome');
+ ColLogin := RetornaLingua( DestSettings.Language,'Const_Cad_ColunaLogin');
+ ColEmail := RetornaLingua( DestSettings.Language,'Const_Cad_ColunaEmail');
+ BtAdd := RetornaLingua( DestSettings.Language,'Const_Cad_BtAdicionar');
+ BtChange := RetornaLingua( DestSettings.Language,'Const_Cad_BtAlterar');
+ BtDelete := RetornaLingua( DestSettings.Language,'Const_Cad_BtExcluir');
+ BtRights := RetornaLingua( DestSettings.Language,'Const_Cad_BtPermissoes');
+ BtPassword := RetornaLingua( DestSettings.Language,'Const_Cad_BtSenha');
+ BtClose := RetornaLingua( DestSettings.Language,'Const_Cad_BtFechar');
+ PromptDelete := RetornaLingua( DestSettings.Language,'Const_Cad_ConfirmaExcluir');
+ PromptDelete_WindowCaption := RetornaLingua( DestSettings.Language,'Const_Cad_ConfirmaDelete_WindowCaption');
+ end;
+
+ with DestSettings.UsersProfile do
+ begin
+ WindowCaption := RetornaLingua( DestSettings.Language,'Const_Prof_WindowCaption');
+ LabelDescription := RetornaLingua( DestSettings.Language,'Const_Prof_LabelDescricao');
+ ColProfile := RetornaLingua( DestSettings.Language,'Const_Prof_ColunaNome');
+ BtAdd := RetornaLingua( DestSettings.Language,'Const_Prof_BtAdicionar');
+ BtChange := RetornaLingua( DestSettings.Language,'Const_Prof_BtAlterar');
+ BtDelete := RetornaLingua( DestSettings.Language,'Const_Prof_BtExcluir');
+ BtRights := RetornaLingua( DestSettings.Language,'Const_Prof_BtPermissoes');
+ BtClose := RetornaLingua( DestSettings.Language,'Const_Prof_BtFechar');
+ PromptDelete := RetornaLingua( DestSettings.Language,'Const_Prof_ConfirmaExcluir');
+ PromptDelete_WindowCaption := RetornaLingua( DestSettings.Language,'Const_Prof_ConfirmaDelete_WindowCaption');
+ end;
+
+ with DestSettings.AddChangeUser do
+ begin
+ WindowCaption := RetornaLingua( DestSettings.Language,'Const_Inc_WindowCaption');
+ LabelAdd := RetornaLingua( DestSettings.Language,'Const_Inc_LabelAdicionar');
+ LabelChange := RetornaLingua( DestSettings.Language,'Const_Inc_LabelAlterar');
+ LabelName := RetornaLingua( DestSettings.Language,'Const_Inc_LabelNome');
+ LabelLogin := RetornaLingua( DestSettings.Language,'Const_Inc_LabelLogin');
+ LabelEmail := RetornaLingua( DestSettings.Language,'Const_Inc_LabelEmail');
+ CheckPrivileged := RetornaLingua( DestSettings.Language,'Const_Inc_CheckPrivilegiado');
+ BtSave := RetornaLingua( DestSettings.Language,'Const_Inc_BtGravar');
+ BtCancel := RetornaLingua( DestSettings.Language,'Const_Inc_BtCancelar');
+ LabelPerfil := RetornaLingua( DestSettings.Language,'Const_Inc_LabelPerfil');
+ CheckExpira := RetornaLingua( DestSettings.Language,'Const_Inc_CheckEspira');
+ Day := RetornaLingua( DestSettings.Language,'Const_Inc_Dia');
+ ExpiredIn := RetornaLingua( DestSettings.Language,'Const_Inc_ExpiraEm');
+ end;
+
+ with DestSettings.AddChangeProfile do
+ begin
+ WindowCaption := RetornaLingua( DestSettings.Language,'Const_PInc_WindowCaption');
+ LabelAdd := RetornaLingua( DestSettings.Language,'Const_PInc_LabelAdicionar');
+ LabelChange := RetornaLingua( DestSettings.Language,'Const_PInc_LabelAlterar');
+ LabelName := RetornaLingua( DestSettings.Language,'Const_PInc_LabelNome');
+ BtSave := RetornaLingua( DestSettings.Language,'Const_PInc_BtGravar');
+ BtCancel := RetornaLingua( DestSettings.Language,'Const_PInc_BtCancelar');
+ end;
+
+ with DestSettings.Rights do
+ begin
+ WindowCaption := RetornaLingua( DestSettings.Language,'Const_Perm_WindowCaption');
+ LabelUser := RetornaLingua( DestSettings.Language,'Const_Perm_LabelUsuario');
+ LabelProfile := RetornaLingua( DestSettings.Language,'Const_Perm_LabelPerfil');
+ PageMenu := RetornaLingua( DestSettings.Language,'Const_Perm_PageMenu');
+ PageActions := RetornaLingua( DestSettings.Language,'Const_Perm_PageActions');
+ PageControls := RetornaLingua( DestSettings.Language,'Const_Perm_PageControls');
+ BtUnlock := RetornaLingua( DestSettings.Language,'Const_Perm_BtLibera');
+ BtLock := RetornaLingua( DestSettings.Language,'Const_Perm_BtBloqueia');
+ BtSave := RetornaLingua( DestSettings.Language,'Const_Perm_BtGravar');
+ BtCancel := RetornaLingua( DestSettings.Language,'Const_Perm_BtCancelar');
+ end;
+
+ with DestSettings.ChangePassword do
+ begin
+ WindowCaption := RetornaLingua( DestSettings.Language,'Const_Troc_WindowCaption');
+ LabelDescription := RetornaLingua( DestSettings.Language,'Const_Troc_LabelDescricao');
+ LabelCurrentPassword := RetornaLingua( DestSettings.Language,'Const_Troc_LabelSenhaAtual');
+ LabelNewPassword := RetornaLingua( DestSettings.Language,'Const_Troc_LabelNovaSenha');
+ LabelConfirm := RetornaLingua( DestSettings.Language,'Const_Troc_LabelConfirma');
+ BtSave := RetornaLingua( DestSettings.Language,'Const_Troc_BtGravar');
+ BtCancel := RetornaLingua( DestSettings.Language,'Const_Troc_BtCancelar');
+ end;
+
+ with DestSettings.CommonMessages.ChangePasswordError do
+ begin
+ InvalidCurrentPassword := RetornaLingua( DestSettings.Language,'Const_ErrPass_SenhaAtualInvalida');
+ NewPasswordError := RetornaLingua( DestSettings.Language,'Const_ErrPass_ErroNovaSenha');
+ NewEqualCurrent := RetornaLingua( DestSettings.Language,'Const_ErrPass_NovaIgualAtual');
+ PasswordRequired := RetornaLingua( DestSettings.Language,'Const_ErrPass_SenhaObrigatoria');
+ MinPasswordLength := RetornaLingua( DestSettings.Language,'Const_ErrPass_SenhaMinima');
+ InvalidNewPassword := RetornaLingua( DestSettings.Language,'Const_ErrPass_SenhaInvalida');
+ end;
+
+ with DestSettings.ResetPassword do
+ begin
+ WindowCaption := RetornaLingua( DestSettings.Language,'Const_DefPass_WindowCaption');
+ LabelPassword := RetornaLingua( DestSettings.Language,'Const_DefPass_LabelSenha');
+ end;
+
+ with DestSettings.Log do
+ begin
+ WindowCaption := RetornaLingua( DestSettings.Language,'Const_LogC_WindowCaption');
+ LabelDescription := RetornaLingua( DestSettings.Language,'Const_LogC_LabelDescricao');
+ LabelUser := RetornaLingua( DestSettings.Language,'Const_LogC_LabelUsuario');
+ LabelDate := RetornaLingua( DestSettings.Language,'Const_LogC_LabelData');
+ LabelLevel := RetornaLingua( DestSettings.Language,'Const_LogC_LabelNivel');
+ ColLevel := RetornaLingua( DestSettings.Language,'Const_LogC_ColunaNivel');
+ ColAppID := RetornaLingua( DestSettings.Language,'Const_LogC_ColunaAppID');
+ ColMessage := RetornaLingua( DestSettings.Language,'Const_LogC_ColunaMensagem');
+ ColUser := RetornaLingua( DestSettings.Language,'Const_LogC_ColunaUsuario');
+ ColDate := RetornaLingua( DestSettings.Language,'Const_LogC_ColunaData');
+ BtFilter := RetornaLingua( DestSettings.Language,'Const_LogC_BtFiltro');
+ BtDelete := RetornaLingua( DestSettings.Language,'Const_LogC_BtExcluir');
+ BtClose := RetornaLingua( DestSettings.Language,'Const_LogC_BtFechar');
+ PromptDelete := RetornaLingua( DestSettings.Language,'Const_LogC_ConfirmaExcluir');
+ PromptDelete_WindowCaption := RetornaLingua( DestSettings.Language,'Const_LogC_ConfirmaDelete_WindowCaption');
+ OptionUserAll := RetornaLingua( DestSettings.Language,'Const_LogC_Todos');
+ OptionLevelLow := RetornaLingua( DestSettings.Language,'Const_LogC_Low');
+ OptionLevelNormal := RetornaLingua( DestSettings.Language,'Const_LogC_Normal');
+ OptionLevelHigh := RetornaLingua( DestSettings.Language,'Const_LogC_High');
+ OptionLevelCritic := RetornaLingua( DestSettings.Language,'Const_LogC_Critic');
+ DeletePerformed := RetornaLingua( DestSettings.Language,'Const_LogC_ExcluirEfectuada');
+ end;
+
+ with DestSettings.AppMessages do
+ begin
+ MsgsForm_BtNew := RetornaLingua( DestSettings.Language,'Const_Msgs_BtNew');
+ MsgsForm_BtReplay := RetornaLingua( DestSettings.Language,'Const_Msgs_BtReplay');
+ MsgsForm_BtForward := RetornaLingua( DestSettings.Language,'Const_Msgs_BtForward');
+ MsgsForm_BtDelete := RetornaLingua( DestSettings.Language,'Const_Msgs_BtDelete');
+ MsgsForm_BtClose := RetornaLingua( DestSettings.Language,'Const_Msgs_BtClose'); //added by fduenas
+ MsgsForm_WindowCaption := RetornaLingua( DestSettings.Language,'Const_Msgs_WindowCaption');
+ MsgsForm_ColFrom := RetornaLingua( DestSettings.Language,'Const_Msgs_ColFrom');
+ MsgsForm_ColSubject := RetornaLingua( DestSettings.Language,'Const_Msgs_ColSubject');
+ MsgsForm_ColDate := RetornaLingua( DestSettings.Language,'Const_Msgs_ColDate');
+ MsgsForm_PromptDelete := RetornaLingua( DestSettings.Language,'Const_Msgs_PromptDelete');
+ MsgsForm_PromptDelete_WindowCaption := RetornaLingua( DestSettings.Language,'Const_Msgs_PromptDelete_WindowCaption'); //added by fduenas
+ MsgsForm_NoMessagesSelected := RetornaLingua( DestSettings.Language,'Const_Msgs_NoMessagesSelected'); //added by fduenas
+ MsgsForm_NoMessagesSelected_WindowCaption := RetornaLingua( DestSettings.Language,'Const_Msgs_NoMessagesSelected_WindowCaption'); //added by fduenas
+ MsgRec_BtClose := RetornaLingua( DestSettings.Language,'Const_MsgRec_BtClose');
+ MsgRec_WindowCaption := RetornaLingua( DestSettings.Language,'Const_MsgRec_WindowCaption');
+ MsgRec_Title := RetornaLingua( DestSettings.Language,'Const_MsgRec_Title');
+ MsgRec_LabelFrom := RetornaLingua( DestSettings.Language,'Const_MsgRec_LabelFrom');
+ MsgRec_LabelDate := RetornaLingua( DestSettings.Language,'Const_MsgRec_LabelDate');
+ MsgRec_LabelSubject := RetornaLingua( DestSettings.Language,'Const_MsgRec_LabelSubject');
+ MsgRec_LabelMessage := RetornaLingua( DestSettings.Language,'Const_MsgRec_LabelMessage');
+ MsgSend_BtSend := RetornaLingua( DestSettings.Language,'Const_MsgSend_BtSend');
+ MsgSend_BtCancel := RetornaLingua( DestSettings.Language,'Const_MsgSend_BtCancel');
+ MsgSend_WindowCaption := RetornaLingua( DestSettings.Language,'Const_MsgSend_WindowCaption');
+ MsgSend_Title := RetornaLingua( DestSettings.Language,'Const_MsgSend_Title');
+ MsgSend_GroupTo := RetornaLingua( DestSettings.Language,'Const_MsgSend_GroupTo');
+ MsgSend_RadioUser := RetornaLingua( DestSettings.Language,'Const_MsgSend_RadioUser');
+ MsgSend_RadioAll := RetornaLingua( DestSettings.Language,'Const_MsgSend_RadioAll');
+ MsgSend_GroupMessage := RetornaLingua( DestSettings.Language,'Const_MsgSend_GroupMessage');
+ MsgSend_LabelSubject := RetornaLingua( DestSettings.Language,'Const_MsgSend_LabelSubject'); //added by fduenas
+ MsgSend_LabelMessageText := RetornaLingua( DestSettings.Language,'Const_MsgSend_LabelMessageText'); //added by fduenas
+ end;
+
+ DestSettings.WindowsPosition := poMainFormCenter;
+
+ With DestSettings.History do
+ Begin
+ Evento_Insert := RetornaLingua( DestSettings.Language,'Const_Evento_Insert');
+ Evento_Delete := RetornaLingua( DestSettings.Language,'Const_Evento_Delete');
+ Evento_Edit := RetornaLingua( DestSettings.Language,'Const_Evento_Edit');
+ Evento_NewRecord := RetornaLingua( DestSettings.Language,'Const_Evento_NewRecord');
+ Hist_All := RetornaLingua( DestSettings.Language,'Const_Hist_All');
+ Msg_LimpHistorico := RetornaLingua( DestSettings.Language,'Const_Msg_LimpHistorico');
+ Msg_MensConfirma := RetornaLingua( DestSettings.Language,'Const_Msg_MensConfirma');
+ Msg_LogEmptyHistory := RetornaLingua( DestSettings.Language,'Const_Msg_LogEmptyHistory');
+ LabelDescricao := RetornaLingua( DestSettings.Language,'Const_LabelDescricao');
+ LabelUser := RetornaLingua( DestSettings.Language,'Const_LabelUser');
+ LabelForm := RetornaLingua( DestSettings.Language,'Const_LabelForm');
+ LabelEvento := RetornaLingua( DestSettings.Language,'const_LabelEvento');
+ LabelTabela := RetornaLingua( DestSettings.Language,'const_LabelTabela');
+ LabelDataEvento := RetornaLingua( DestSettings.Language,'const_LabelDataEvento');
+ LabelHoraEvento := RetornaLingua( DestSettings.Language,'const_LabelHoraEvento');
+ Msg_NewRecord := RetornaLingua( DestSettings.Language,'const_Msg_NewRecord');
+ Hist_MsgExceptPropr := RetornaLingua( DestSettings.Language,'Const_Hist_MsgExceptPropr');
+ Hist_BtnFiltro := RetornaLingua( DestSettings.Language,'const_Hist_BtnFiltro');
+ Hist_BtnExcluir := RetornaLingua( DestSettings.Language,'const_Hist_BtnExcluir');
+ Hist_BtnFechar := RetornaLingua( DestSettings.Language,'const_Hist_BtnFechar');
+ End;
+end;
+
+procedure AlterLanguage2(DestSettings: TUCSettings);
+begin
+ with DestSettings.CommonMessages do
+ begin
+ BlankPassword := RetornaLingua( DestSettings.Language,'Const_Men_SenhaDesabitada');
+ PasswordChanged := RetornaLingua( DestSettings.Language,'Const_Men_SenhaAlterada');
+ InitialMessage.Text := RetornaLingua( DestSettings.Language,'Const_Men_MsgInicial');
+ MaxLoginAttemptsError := RetornaLingua( DestSettings.Language,'Const_Men_MaxTentativas');
+ InvalidLogin := RetornaLingua( DestSettings.Language,'Const_Men_LoginInvalido');
+ AutoLogonError := RetornaLingua( DestSettings.Language,'Const_Men_AutoLogonError');
+ UsuarioExiste := RetornaLingua( DestSettings.Language,'Const_Men_UsuarioExiste');
+ PasswordExpired := RetornaLingua( DestSettings.Language,'Const_Men_PasswordExpired');
+ end;
+
+ with DestSettings.Login do
+ begin
+ BtCancel := RetornaLingua( DestSettings.Language,'Const_Log_BtCancelar');
+ BtOK := RetornaLingua( DestSettings.Language,'Const_Log_BtOK');
+ LabelPassword := RetornaLingua( DestSettings.Language,'Const_Log_LabelSenha');
+ LabelUser := RetornaLingua( DestSettings.Language,'Const_Log_LabelUsuario');
+ WindowCaption := RetornaLingua( DestSettings.Language,'Const_Log_WindowCaption');
+ LabelTentativa := RetornaLingua( DestSettings.Language,'Const_Log_LabelTentativa');
+ LabelTentativas := RetornaLingua( DestSettings.Language,'Const_Log_LabelTentativas');
+ end;
+
+ with DestSettings.UsersForm do
+ begin
+ WindowCaption := RetornaLingua( DestSettings.Language,'Const_Cad_WindowCaption');
+ LabelDescription := RetornaLingua( DestSettings.Language,'Const_Cad_LabelDescricao');
+ ColName := RetornaLingua( DestSettings.Language,'Const_Cad_ColunaNome');
+ ColLogin := RetornaLingua( DestSettings.Language,'Const_Cad_ColunaLogin');
+ ColEmail := RetornaLingua( DestSettings.Language,'Const_Cad_ColunaEmail');
+ BtAdd := RetornaLingua( DestSettings.Language,'Const_Cad_BtAdicionar');
+ BtChange := RetornaLingua( DestSettings.Language,'Const_Cad_BtAlterar');
+ BtDelete := RetornaLingua( DestSettings.Language,'Const_Cad_BtExcluir');
+ BtRights := RetornaLingua( DestSettings.Language,'Const_Cad_BtPermissoes');
+ BtPassword := RetornaLingua( DestSettings.Language,'Const_Cad_BtSenha');
+ BtClose := RetornaLingua( DestSettings.Language,'Const_Cad_BtFechar');
+ PromptDelete := RetornaLingua( DestSettings.Language,'Const_Cad_ConfirmaExcluir');
+ PromptDelete_WindowCaption := RetornaLingua( DestSettings.Language,'Const_Cad_ConfirmaDelete_WindowCaption');
+ end;
+
+ with DestSettings.UsersProfile do
+ begin
+ WindowCaption := RetornaLingua( DestSettings.Language,'Const_Prof_WindowCaption');
+ LabelDescription := RetornaLingua( DestSettings.Language,'Const_Prof_LabelDescricao');
+ ColProfile := RetornaLingua( DestSettings.Language,'Const_Prof_ColunaNome');
+ BtAdd := RetornaLingua( DestSettings.Language,'Const_Prof_BtAdicionar');
+ BtChange := RetornaLingua( DestSettings.Language,'Const_Prof_BtAlterar');
+ BtDelete := RetornaLingua( DestSettings.Language,'Const_Prof_BtExcluir');
+ BtRights := RetornaLingua( DestSettings.Language,'Const_Prof_BtPermissoes');
+ BtClose := RetornaLingua( DestSettings.Language,'Const_Prof_BtFechar');
+ PromptDelete := RetornaLingua( DestSettings.Language,'Const_Prof_ConfirmaExcluir');
+ PromptDelete_WindowCaption := RetornaLingua( DestSettings.Language,'Const_Prof_ConfirmaDelete_WindowCaption');
+ end;
+
+ with DestSettings.AddChangeUser do
+ begin
+ WindowCaption := RetornaLingua( DestSettings.Language,'Const_Inc_WindowCaption');
+ LabelAdd := RetornaLingua( DestSettings.Language,'Const_Inc_LabelAdicionar');
+ LabelChange := RetornaLingua( DestSettings.Language,'Const_Inc_LabelAlterar');
+ LabelName := RetornaLingua( DestSettings.Language,'Const_Inc_LabelNome');
+ LabelLogin := RetornaLingua( DestSettings.Language,'Const_Inc_LabelLogin');
+ LabelEmail := RetornaLingua( DestSettings.Language,'Const_Inc_LabelEmail');
+ CheckPrivileged := RetornaLingua( DestSettings.Language,'Const_Inc_CheckPrivilegiado');
+ BtSave := RetornaLingua( DestSettings.Language,'Const_Inc_BtGravar');
+ BtCancel := RetornaLingua( DestSettings.Language,'Const_Inc_BtCancelar');
+ LabelPerfil := RetornaLingua( DestSettings.Language,'Const_Inc_LabelPerfil');
+ CheckExpira := RetornaLingua( DestSettings.Language,'Const_Inc_CheckEspira');
+ Day := RetornaLingua( DestSettings.Language,'Const_Inc_Dia');
+ ExpiredIn := RetornaLingua( DestSettings.Language,'Const_Inc_ExpiraEm');
+ end;
+
+ with DestSettings.AddChangeProfile do
+ begin
+ WindowCaption := RetornaLingua( DestSettings.Language,'Const_PInc_WindowCaption');
+ LabelAdd := RetornaLingua( DestSettings.Language,'Const_PInc_LabelAdicionar');
+ LabelChange := RetornaLingua( DestSettings.Language,'Const_PInc_LabelAlterar');
+ LabelName := RetornaLingua( DestSettings.Language,'Const_PInc_LabelNome');
+ BtSave := RetornaLingua( DestSettings.Language,'Const_PInc_BtGravar');
+ BtCancel := RetornaLingua( DestSettings.Language,'Const_PInc_BtCancelar');
+ end;
+
+ with DestSettings.Rights do
+ begin
+ WindowCaption := RetornaLingua( DestSettings.Language,'Const_Perm_WindowCaption');
+ LabelUser := RetornaLingua( DestSettings.Language,'Const_Perm_LabelUsuario');
+ LabelProfile := RetornaLingua( DestSettings.Language,'Const_Perm_LabelPerfil');
+ PageMenu := RetornaLingua( DestSettings.Language,'Const_Perm_PageMenu');
+ PageActions := RetornaLingua( DestSettings.Language,'Const_Perm_PageActions');
+ PageControls := RetornaLingua( DestSettings.Language,'Const_Perm_PageControls');
+ BtUnlock := RetornaLingua( DestSettings.Language,'Const_Perm_BtLibera');
+ BtLock := RetornaLingua( DestSettings.Language,'Const_Perm_BtBloqueia');
+ BtSave := RetornaLingua( DestSettings.Language,'Const_Perm_BtGravar');
+ BtCancel := RetornaLingua( DestSettings.Language,'Const_Perm_BtCancelar');
+ end;
+
+ with DestSettings.ChangePassword do
+ begin
+ WindowCaption := RetornaLingua( DestSettings.Language,'Const_Troc_WindowCaption');
+ LabelDescription := RetornaLingua( DestSettings.Language,'Const_Troc_LabelDescricao');
+ LabelCurrentPassword := RetornaLingua( DestSettings.Language,'Const_Troc_LabelSenhaAtual');
+ LabelNewPassword := RetornaLingua( DestSettings.Language,'Const_Troc_LabelNovaSenha');
+ LabelConfirm := RetornaLingua( DestSettings.Language,'Const_Troc_LabelConfirma');
+ BtSave := RetornaLingua( DestSettings.Language,'Const_Troc_BtGravar');
+ BtCancel := RetornaLingua( DestSettings.Language,'Const_Troc_BtCancelar');
+ end;
+
+ with DestSettings.CommonMessages.ChangePasswordError do
+ begin
+ InvalidCurrentPassword := RetornaLingua( DestSettings.Language,'Const_ErrPass_SenhaAtualInvalida');
+ NewPasswordError := RetornaLingua( DestSettings.Language,'Const_ErrPass_ErroNovaSenha');
+ NewEqualCurrent := RetornaLingua( DestSettings.Language,'Const_ErrPass_NovaIgualAtual');
+ PasswordRequired := RetornaLingua( DestSettings.Language,'Const_ErrPass_SenhaObrigatoria');
+ MinPasswordLength := RetornaLingua( DestSettings.Language,'Const_ErrPass_SenhaMinima');
+ InvalidNewPassword := RetornaLingua( DestSettings.Language,'Const_ErrPass_SenhaInvalida');
+ end;
+
+ with DestSettings.ResetPassword do
+ begin
+ WindowCaption := RetornaLingua( DestSettings.Language,'Const_DefPass_WindowCaption');
+ LabelPassword := RetornaLingua( DestSettings.Language,'Const_DefPass_LabelSenha');
+ end;
+
+ with DestSettings.Log do
+ begin
+ WindowCaption := RetornaLingua( DestSettings.Language,'Const_LogC_WindowCaption');
+ LabelDescription := RetornaLingua( DestSettings.Language,'Const_LogC_LabelDescricao');
+ LabelUser := RetornaLingua( DestSettings.Language,'Const_LogC_LabelUsuario');
+ LabelDate := RetornaLingua( DestSettings.Language,'Const_LogC_LabelData');
+ LabelLevel := RetornaLingua( DestSettings.Language,'Const_LogC_LabelNivel');
+ ColLevel := RetornaLingua( DestSettings.Language,'Const_LogC_ColunaNivel');
+ ColAppID := RetornaLingua( DestSettings.Language,'Const_LogC_ColunaAppID');
+ ColMessage := RetornaLingua( DestSettings.Language,'Const_LogC_ColunaMensagem');
+ ColUser := RetornaLingua( DestSettings.Language,'Const_LogC_ColunaUsuario');
+ ColDate := RetornaLingua( DestSettings.Language,'Const_LogC_ColunaData');
+ BtFilter := RetornaLingua( DestSettings.Language,'Const_LogC_BtFiltro');
+ BtDelete := RetornaLingua( DestSettings.Language,'Const_LogC_BtExcluir');
+ BtClose := RetornaLingua( DestSettings.Language,'Const_LogC_BtFechar');
+ PromptDelete := RetornaLingua( DestSettings.Language,'Const_LogC_ConfirmaExcluir');
+ PromptDelete_WindowCaption := RetornaLingua( DestSettings.Language,'Const_LogC_ConfirmaDelete_WindowCaption');
+ OptionUserAll := RetornaLingua( DestSettings.Language,'Const_LogC_Todos');
+ OptionLevelLow := RetornaLingua( DestSettings.Language,'Const_LogC_Low');
+ OptionLevelNormal := RetornaLingua( DestSettings.Language,'Const_LogC_Normal');
+ OptionLevelHigh := RetornaLingua( DestSettings.Language,'Const_LogC_High');
+ OptionLevelCritic := RetornaLingua( DestSettings.Language,'Const_LogC_Critic');
+ DeletePerformed := RetornaLingua( DestSettings.Language,'Const_LogC_ExcluirEfectuada');
+ end;
+
+ with DestSettings.AppMessages do
+ begin
+ MsgsForm_BtNew := RetornaLingua( DestSettings.Language,'Const_Msgs_BtNew');
+ MsgsForm_BtReplay := RetornaLingua( DestSettings.Language,'Const_Msgs_BtReplay');
+ MsgsForm_BtForward := RetornaLingua( DestSettings.Language,'Const_Msgs_BtForward');
+ MsgsForm_BtDelete := RetornaLingua( DestSettings.Language,'Const_Msgs_BtDelete');
+ MsgsForm_BtClose := RetornaLingua( DestSettings.Language,'Const_Msgs_BtClose'); //added by fduenas
+ MsgsForm_WindowCaption := RetornaLingua( DestSettings.Language,'Const_Msgs_WindowCaption');
+ MsgsForm_ColFrom := RetornaLingua( DestSettings.Language,'Const_Msgs_ColFrom');
+ MsgsForm_ColSubject := RetornaLingua( DestSettings.Language,'Const_Msgs_ColSubject');
+ MsgsForm_ColDate := RetornaLingua( DestSettings.Language,'Const_Msgs_ColDate');
+ MsgsForm_PromptDelete := RetornaLingua( DestSettings.Language,'Const_Msgs_PromptDelete');
+ MsgsForm_PromptDelete_WindowCaption := RetornaLingua( DestSettings.Language,'Const_Msgs_PromptDelete_WindowCaption'); //added by fduenas
+ MsgsForm_NoMessagesSelected := RetornaLingua( DestSettings.Language,'Const_Msgs_NoMessagesSelected'); //added by fduenas
+ MsgsForm_NoMessagesSelected_WindowCaption := RetornaLingua( DestSettings.Language,'Const_Msgs_NoMessagesSelected_WindowCaption'); //added by fduenas
+ MsgRec_BtClose := RetornaLingua( DestSettings.Language,'Const_MsgRec_BtClose');
+ MsgRec_WindowCaption := RetornaLingua( DestSettings.Language,'Const_MsgRec_WindowCaption');
+ MsgRec_Title := RetornaLingua( DestSettings.Language,'Const_MsgRec_Title');
+ MsgRec_LabelFrom := RetornaLingua( DestSettings.Language,'Const_MsgRec_LabelFrom');
+ MsgRec_LabelDate := RetornaLingua( DestSettings.Language,'Const_MsgRec_LabelDate');
+ MsgRec_LabelSubject := RetornaLingua( DestSettings.Language,'Const_MsgRec_LabelSubject');
+ MsgRec_LabelMessage := RetornaLingua( DestSettings.Language,'Const_MsgRec_LabelMessage');
+ MsgSend_BtSend := RetornaLingua( DestSettings.Language,'Const_MsgSend_BtSend');
+ MsgSend_BtCancel := RetornaLingua( DestSettings.Language,'Const_MsgSend_BtCancel');
+ MsgSend_WindowCaption := RetornaLingua( DestSettings.Language,'Const_MsgSend_WindowCaption');
+ MsgSend_Title := RetornaLingua( DestSettings.Language,'Const_MsgSend_Title');
+ MsgSend_GroupTo := RetornaLingua( DestSettings.Language,'Const_MsgSend_GroupTo');
+ MsgSend_RadioUser := RetornaLingua( DestSettings.Language,'Const_MsgSend_RadioUser');
+ MsgSend_RadioAll := RetornaLingua( DestSettings.Language,'Const_MsgSend_RadioAll');
+ MsgSend_GroupMessage := RetornaLingua( DestSettings.Language,'Const_MsgSend_GroupMessage');
+ MsgSend_LabelSubject := RetornaLingua( DestSettings.Language,'Const_MsgSend_LabelSubject'); //added by fduenas
+ MsgSend_LabelMessageText := RetornaLingua( DestSettings.Language,'Const_MsgSend_LabelMessageText'); //added by fduenas
+ end;
+
+ DestSettings.WindowsPosition := poMainFormCenter;
+
+ With DestSettings.History do
+ Begin
+ Evento_Insert := RetornaLingua( DestSettings.Language,'Const_Evento_Insert');
+ Evento_Delete := RetornaLingua( DestSettings.Language,'Const_Evento_Delete');
+ Evento_Edit := RetornaLingua( DestSettings.Language,'Const_Evento_Edit');
+ Evento_NewRecord := RetornaLingua( DestSettings.Language,'Const_Evento_NewRecord');
+ Hist_All := RetornaLingua( DestSettings.Language,'Const_Hist_All');
+ Msg_LimpHistorico := RetornaLingua( DestSettings.Language,'Const_Msg_LimpHistorico');
+ Msg_MensConfirma := RetornaLingua( DestSettings.Language,'Const_Msg_MensConfirma');
+ Msg_LogEmptyHistory := RetornaLingua( DestSettings.Language,'Const_Msg_LogEmptyHistory');
+ LabelDescricao := RetornaLingua( DestSettings.Language,'Const_LabelDescricao');
+ LabelUser := RetornaLingua( DestSettings.Language,'Const_LabelUser');
+ LabelForm := RetornaLingua( DestSettings.Language,'Const_LabelForm');
+ LabelEvento := RetornaLingua( DestSettings.Language,'const_LabelEvento');
+ LabelTabela := RetornaLingua( DestSettings.Language,'const_LabelTabela');
+ LabelDataEvento := RetornaLingua( DestSettings.Language,'const_LabelDataEvento');
+ LabelHoraEvento := RetornaLingua( DestSettings.Language,'const_LabelHoraEvento');
+ Msg_NewRecord := RetornaLingua( DestSettings.Language,'const_Msg_NewRecord');
+ Hist_MsgExceptPropr := RetornaLingua( DestSettings.Language,'Const_Hist_MsgExceptPropr');
+ Hist_BtnFiltro := RetornaLingua( DestSettings.Language,'const_Hist_BtnFiltro');
+ Hist_BtnExcluir := RetornaLingua( DestSettings.Language,'const_Hist_BtnExcluir');
+ Hist_BtnFechar := RetornaLingua( DestSettings.Language,'const_Hist_BtnFechar');
+ End;
+end;
+
+{-------------------------------------------------------------------------------}
+
+{$IFDEF DELPHI9_UP} {$ENDREGION} {$ENDIF}
+
+{$IFDEF DELPHI9_UP} {$REGION 'TUCSettings'} {$ENDIF}
+
+{ TUCSettings }
+
+procedure TUCSettings.Assign(Source: TPersistent);
+begin
+ if Source is TUCUserSettings then
+ begin
+ Self.CommonMessages.Assign(TUCUserSettings(Source).CommonMessages); //modified by fduenas
+ Self.AppMessages.Assign(TUCUserSettings(Source).AppMessages); //modified by fduenas
+ Self.WindowsPosition := WindowsPosition;
+ end
+ else
+ inherited;
+end;
+
+constructor TUCSettings.Create(AOwner: TComponent);
+begin
+ inherited;
+ fLanguage := ucPortuguesBr;
+ FAppMessagesMSG := TUCAppMessagesMSG.Create(nil);
+ FLoginFormMSG := TUCLoginFormMSG.Create(nil);
+ FUserCommomMSG := TUCUserCommonMSG.Create(nil);
+ FCadUserFormMSG := TUCCadUserFormMSG.Create(nil);
+ FAddUserFormMSG := TUCAddUserFormMSG.Create(nil);
+ FAddProfileFormMSG := TUCAddProfileFormMSG.Create(nil);
+ FPermissFormMSG := TUCPermissFormMSG.Create(nil);
+ FProfileUserFormMSG := TUCProfileUserFormMSG.Create(nil);
+ FTrocaSenhaFormMSG := TUCTrocaSenhaFormMSG.Create(nil);
+ FResetPassword := TUCResetPassword.Create(nil);
+ FLogControlFormMSG := TUCLogControlFormMSG.Create(nil);
+ fHistory := TUCHistoryMSG.Create(Nil);
+ fTypeFields := TUCFieldType.Create(Nil);
+ if csDesigning in ComponentState then
+ IniSettings2(Self);
+end;
+
+destructor TUCSettings.Destroy;
+begin
+ //added by fduenas
+ FAppMessagesMSG.Free;
+ FLoginFormMSG.Free;
+ FUserCommomMSG.Free;
+ FCadUserFormMSG.Free;
+ FAddUserFormMSG.Free;
+ FAddProfileFormMSG.Free;
+ FPermissFormMSG.Free;
+ FProfileUserFormMSG.Free;
+ FTrocaSenhaFormMSG.Free;
+ FResetPassword.Free;
+ FLogControlFormMSG.Free;
+ fHistory.Free;
+ fTypeFields.Free;
+ inherited;
+end;
+
+procedure TUCSettings.SetAppMessagesMSG(const Value: TUCAppMessagesMSG);
+begin
+ FAppMessagesMSG := Value;
+end;
+
+procedure TUCSettings.SetFAddProfileFormMSG(const Value: TUCAddProfileFormMSG);
+begin
+ FAddProfileFormMSG := Value;
+end;
+
+procedure TUCSettings.SetFAddUserFormMSG(const Value: TUCAddUserFormMSG);
+begin
+ FAddUserFormMSG := Value;
+end;
+
+procedure TUCSettings.SetFCadUserFormMSG(const Value: TUCCadUserFormMSG);
+begin
+ FCadUserFormMSG := Value;
+end;
+
+procedure TUCSettings.SetFFormLoginMsg(const Value: TUCLoginFormMSG);
+begin
+ FLoginFormMSG := Value;
+end;
+
+procedure TUCSettings.SetfHistory(const Value: TUCHistoryMSG);
+begin
+ fHistory := Value;
+end;
+
+procedure TUCSettings.SetfLanguage(const Value: TUCLanguage);
+begin
+ fLanguage := Value;
+ AlterLanguage2(Self);
+end;
+
+procedure TUCSettings.SetFLogControlFormMSG(const Value: TUCLogControlFormMSG);
+begin
+ FLogControlFormMSG := Value;
+end;
+
+procedure TUCSettings.SetFPermissFormMSG(const Value: TUCPermissFormMSG);
+begin
+ FPermissFormMSG := Value;
+end;
+
+procedure TUCSettings.SetFProfileUserFormMSG(const Value: TUCProfileUserFormMSG);
+begin
+ FProfileUserFormMSG := Value;
+end;
+
+procedure TUCSettings.SetFResetPassword(const Value: TUCResetPassword);
+begin
+ FResetPassword := Value;
+end;
+
+procedure TUCSettings.SetFTrocaSenhaFormMSG(const Value: TUCTrocaSenhaFormMSG);
+begin
+ FTrocaSenhaFormMSG := Value;
+end;
+
+procedure TUCSettings.SetFUserCommonMSg(const Value: TUCUserCommonMSG);
+begin
+ FUserCommomMSG := Value;
+end;
+
+{$IFDEF DELPHI9_UP} {$ENDREGION} {$ENDIF}
+
+end.
diff --git a/official/2.20/Source/UCXPSettings.pas b/official/2.20/Source/UCXPSettings.pas
new file mode 100644
index 0000000..89ed10d
--- /dev/null
+++ b/official/2.20/Source/UCXPSettings.pas
@@ -0,0 +1,446 @@
+{
+Class UCXPSettings:
+Based on XPMenu 3.1 for Delphi
+
+XPMenu for Delphi
+Author: Khaled Shagrouni
+URL: http://www.shagrouni.com/english/software/xpmenu.html
+e-mail: khaled@shagrouni.com
+
+Version 3.1 - 22.02.2004
+
+
+
+XPMenu is a Delphi component to mimic Office XP menu and toolbar style.
+Copyright (C) 2001, 2003 Khaled Shagrouni.
+
+This component is FREEWARE with source code. I still hold the copyright, but
+you can use it for whatever you like: freeware, shareware or commercial software.
+If you have any ideas for improvement or bug reports, don't hesitate to e-mail
+me (Please state the XPMenu version and OS information).
+
+--------------------------------------------------------------------------------
+changes by QmD 30/11/2003 - qmd@usercontrol.com.br
+* Add BitBtnColor / BitBtnSelectColor by QmD 30/11/2003 - qmd@usercontrol.com.br
+* BitBtn Button multi-line corrected
+* 29/03/2004 - XPmenu 2.21 incorporated in User Control Package. Class renamed to UCXPMenu to prevent conflicts (http://usercontrol.sourceforge.net)
+
+changes by fduenas 29/12/2004 - fduenas@outm.net, fduenas@flashmail.com
+* XPMenu.pas 3.1 Ported to UCXPStyle.pas by Francisco Dueñas fduenas@outm.net.
+* File UCXPMenu.pas renamed to UCXPStyle.pas
+* Class UCXPSet renamed to UCXPSettings
+* File UCXPSet.pas renamed to UCXPSettings.pas
+
+}
+{$IFDEF VER130}
+{$DEFINE VER5U}
+{$ENDIF}
+
+{$IFDEF VER140}
+{$DEFINE VER5U}
+{$DEFINE VER6U}
+{$ENDIF}
+
+{$IFDEF VER150}
+{$DEFINE VER5U}
+{$DEFINE VER6U}
+{$DEFINE VER7U}
+{$ENDIF}
+
+unit UCXPSettings;
+
+interface
+uses
+ Windows, Messages, SysUtils, Classes, Graphics, Controls, ComCtrls, Forms,
+ Menus, Commctrl, ExtCtrls, StdCtrls, Buttons;
+
+ type
+ TUCXPContainer = (xccForm, xccFrame, xccToolbar, xccCoolbar, xccControlbar, xccPanel,
+ xccScrollBox, xccGroupBox, xccTabSheet, xccPageScroller);
+ TUCXPContainers = set of TUCXPContainer;
+
+ TUCXPControl = (xcMainMenu, xcPopupMenu, xcToolbar, xcControlbar, xcCombo, xcListBox,
+ xcEdit, xcMaskEdit, xcMemo, xcRichEdit, xcMiscEdit, xcCheckBox,
+ xcRadioButton, xcButton, xcBitBtn, xcSpeedButton, xcUpDown, xcPanel,
+ xcGroupBox, xcTreeView, xcListView, xcProgressBar, xcHotKey);
+ {xcStringGrid, xcDrawGrid, xcDBGrid)}
+
+ TUCXPControls = set of TUCXPControl;
+
+ TUCXPSettings = class(TPersistent)
+ private
+ {from UCXPStyle class}
+ FFont: TFont;
+ FColor: TColor;
+ FIconBackColor: TColor;
+ FMenuBarColor: TColor;
+ FCheckedColor: TColor;
+ FSeparatorColor: TColor;
+ FSelectBorderColor: TColor;
+ FSelectColor: TColor;
+ FDisabledColor: TColor;
+ FSelectFontColor: TColor;
+ FIconWidth: integer;
+ FDrawSelect: boolean;
+ FUseSystemColors: boolean;
+ FColorsChanged: boolean; // +jt
+ {END from UCXPStyle class}
+
+ {from UCXPStyle class}
+ FOverrideOwnerDraw: boolean;
+ FGradient: boolean;
+ FFlatMenu: boolean;
+ FAutoDetect: boolean;
+ FUCXPContainers: TUCXPContainers;
+ FUCXPControls: TUCXPControls;
+ FGrayLevel: byte;
+ FDimLevel: byte;
+ FDrawMenuBar: boolean;
+ FUseDimColor: boolean;
+ {END from UCXPStyle class}
+
+ FBitBtnColor: TColor; //qmd
+
+ {from UCXPStyle class}
+ procedure SetFont(const Value: TFont);
+ procedure SetColor(const Value: TColor);
+ procedure SetIconBackColor(const Value: TColor);
+ procedure SetMenuBarColor(const Value: TColor);
+ procedure SetCheckedColor(const Value: TColor);
+ procedure SetDisabledColor(const Value: TColor);
+ procedure SetSelectColor(const Value: TColor);
+ procedure SetSelectBorderColor(const Value: TColor);
+ procedure SetSeparatorColor(const Value: TColor);
+ procedure SetSelectFontColor(const Value: TColor);
+ procedure SetIconWidth(const Value: integer);
+ procedure SetDrawSelect(const Value: boolean);
+ procedure SetUseSystemColors(const Value: boolean);
+
+ procedure SetOverrideOwnerDraw(const Value: boolean);
+ procedure SetGradient(const Value: boolean);
+ procedure SetFlatMenu(const Value: boolean);
+ procedure SetDrawMenuBar(const Value: boolean);
+ procedure SetUseDimColor(const Value: boolean);
+ procedure SetAutoDetect(const Value: boolean);
+ procedure SetUCXPContainers(const Value: TUCXPContainers);
+ procedure SetUCXPControls(const Value: TUCXPControls);
+ {END from UCXPStyle class}
+ procedure SetBitBtnColor( const Value: TColor);
+ procedure SetColorsChanged(const Value: boolean);
+
+ protected
+ public
+ constructor Create(AOwner: TComponent);// override;
+ procedure Assign(Source: TPersistent);override;
+ destructor Destroy; override;
+ published
+ { from UCXPStyle class}
+ property DimLevel: Byte read FDimLevel write FDimLevel;
+ property GrayLevel: Byte read FGrayLevel write FGrayLevel;
+ property Font: TFont read FFont write SetFont;
+ property Color: TColor read FColor write SetColor;
+ property DrawMenuBar: boolean read FDrawMenuBar write SetDrawMenuBar;
+ property IconBackColor: TColor read FIconBackColor write SetIconBackColor;
+ property MenuBarColor: TColor read FMenuBarColor write SetMenuBarColor;
+ property SelectColor: TColor read FSelectColor write SetSelectColor;
+ property SelectBorderColor: TColor read FSelectBorderColor
+ write SetSelectBorderColor;
+ property SelectFontColor: TColor read FSelectFontColor
+ write SetSelectFontColor;
+ property DisabledColor: TColor read FDisabledColor write SetDisabledColor;
+ property SeparatorColor: TColor read FSeparatorColor
+ write SetSeparatorColor;
+ property CheckedColor: TColor read FCheckedColor write SetCheckedColor;
+ property IconWidth: integer read FIconWidth write SetIconWidth;
+ property DrawSelect: boolean read FDrawSelect write SetDrawSelect;
+ property UseSystemColors: boolean read FUseSystemColors
+ write SetUseSystemColors;
+ property UseDimColor: boolean read FUseDimColor write SetUseDimColor;
+ property OverrideOwnerDraw: boolean read FOverrideOwnerDraw
+ write SetOverrideOwnerDraw;
+ property Gradient: boolean read FGradient write SetGradient;
+ property FlatMenu: boolean read FFlatMenu write SetFlatMenu;
+ property AutoDetect: boolean read FAutoDetect write SetAutoDetect;
+
+ property XPContainers: TUCXPContainers read FUCXPContainers write SetUCXPContainers
+ default [xccForm, xccFrame, xccToolbar, xccCoolbar, xccControlbar, xccPanel,
+ xccScrollBox, xccGroupBox, xccTabSheet, xccPageScroller];
+ property XPControls :TUCXPControls read FUCXPControls write SetUCXPControls
+ default [xcMainMenu, xcPopupMenu, xcToolbar, xcControlbar, xcCombo, xcListBox,
+ xcEdit, xcMaskEdit, xcMemo, xcRichEdit, xcMiscEdit, xcCheckBox,
+ xcRadioButton, xcButton, xcBitBtn, xcSpeedButton, xcUpDown, xcPanel,
+ xcGroupBox, xcTreeView, xcListView, xcProgressBar, xcHotKey];
+ {xcStringGrid, xcDrawGrid, xcDBGrid];}
+
+ { END from UCXPStyle class}
+ property BitBtnColor: TColor read FBitBtnColor write SetBitBtnColor; {qmd}
+ property ColorsChanged: boolean read FColorsChanged write SetColorsChanged;
+
+ end;
+
+procedure GetSystemMenuFont(Font: TFont);
+
+implementation
+
+
+{ TUCXPSettings }
+
+procedure TUCXPSettings.Assign(Source: TPersistent);
+begin
+ if Source is TUCXPSettings then
+ begin
+ {Based on UCXPStyle.Create method}
+ Self.Font := TUCXPSettings(Source).Font;
+ Self.Color := TUCXPSettings(Source).Color;
+ Self.IconBackColor := TUCXPSettings(Source).IconBackColor;
+ Self.MenuBarColor := TUCXPSettings(Source).MenuBarColor;
+ Self.CheckedColor := TUCXPSettings(Source).CheckedColor;
+ Self.SeparatorColor := TUCXPSettings(Source).SeparatorColor;
+ Self.SelectBorderColor := TUCXPSettings(Source).SelectBorderColor;
+ Self.SelectColor := TUCXPSettings(Source).SelectColor;
+ Self.DisabledColor := TUCXPSettings(Source).DisabledColor;
+ Self.SelectFontColor := TUCXPSettings(Source).SelectFontColor;
+ Self.IconWidth := TUCXPSettings(Source).IconWidth;
+ Self.DrawSelect := TUCXPSettings(Source).DrawSelect;
+ Self.UseSystemColors := TUCXPSettings(Source).UseSystemColors;
+
+ Self.OverrideOwnerDraw := TUCXPSettings(Source).OverrideOwnerDraw;
+ Self.Gradient := TUCXPSettings(Source).Gradient;
+ Self.FlatMenu := TUCXPSettings(Source).FlatMenu;
+ Self.AutoDetect := TUCXPSettings(Source).AutoDetect;
+ Self.XPContainers := TUCXPSettings(Source).XPContainers;
+ Self.XPControls := TUCXPSettings(Source).XPControls;
+ Self.GrayLevel := TUCXPSettings(Source).GrayLevel;
+ Self.DimLevel := TUCXPSettings(Source).DimLevel;
+ Self.DrawMenuBar := TUCXPSettings(Source).DrawMenuBar;
+ Self.UseDimColor := TUCXPSettings(Source).UseDimColor;
+ {END from UCXPStyle class}
+
+ Self.BitBtnColor := TUCXPSettings(Source).BitBtnColor; //qmd
+
+
+ end else inherited;
+end;
+
+constructor TUCXPSettings.Create(AOwner: TComponent);
+begin
+ inherited Create;//(AOwner);
+{ if csDesigning in ComponentState then
+ begin}
+ {FROM to UCXPSettings}
+ FFont := TFont.Create;
+
+ {$IFDEF VER5U}
+ FFont.Assign(Screen.MenuFont);
+ {$ELSE}
+ GetSystemMenuFont(FFont);
+ {$ENDIF}
+
+ FUseSystemColors := true;
+
+ FColor := clBtnFace;
+ FIconBackColor := clBtnFace;
+ FSelectColor := clHighlight;
+ FSelectBorderColor := clHighlight;
+ FMenuBarColor := clBtnFace;
+ FDisabledColor := clInactiveCaption;
+ FSeparatorColor := clBtnFace;
+ FCheckedColor := clHighlight;
+ FSelectFontColor := FFont.Color;
+ FGrayLevel := 10;
+ FDimLevel := 30;
+ FIconWidth := 24;
+ FDrawSelect := true;
+ XPContainers := [xccForm, xccFrame, xccToolbar, xccCoolbar, xccControlbar, xccPanel,
+ xccScrollBox, xccGroupBox, xccTabSheet, xccPageScroller];
+ XPControls := [xcMainMenu, xcPopupMenu, xcToolbar, xcControlbar, xcCombo, xcListBox,
+ xcEdit, xcMaskEdit, xcMemo, xcRichEdit, xcMiscEdit, xcCheckBox,
+ xcRadioButton, xcButton, xcBitBtn, xcSpeedButton, xcUpDown, xcPanel,
+ xcGroupBox, xcTreeView, xcListView, xcProgressBar, xcHotKey];
+ {xcStringGrid, xcDrawGrid, xcDBGrid];}
+
+ {END FROM to UCXPSettings}
+ FBitBtnColor := clBtnFace;
+// end;
+
+end;
+
+
+destructor TUCXPSettings.Destroy;
+begin
+ FreeAndNil(FFont);
+ inherited;
+end;
+
+{END from UCXPStyle}
+procedure TUCXPSettings.SetFont(const Value: TFont);
+begin
+ FFont.Assign(Value);
+ //Windows.DrawMenuBar(FForm.Handle);
+
+end;
+
+procedure TUCXPSettings.SetColor(const Value: TColor);
+begin
+ FColor := Value;
+ FColorsChanged := true; // +jt
+end;
+
+procedure TUCXPSettings.SetIconBackColor(const Value: TColor);
+begin
+ FIconBackColor := Value;
+ FColorsChanged := true; // +jt
+end;
+
+procedure TUCXPSettings.SetMenuBarColor(const Value: TColor);
+begin
+ FMenuBarColor := Value;
+ FColorsChanged := true; // +jt
+ //Windows.DrawMenuBar(FForm.Handle);
+end;
+
+procedure TUCXPSettings.SetCheckedColor(const Value: TColor);
+begin
+ FCheckedColor := Value;
+ FColorsChanged := true; // +jt
+end;
+
+procedure TUCXPSettings.SetSeparatorColor(const Value: TColor);
+begin
+ FSeparatorColor := Value;
+ FColorsChanged := true; // +jt
+end;
+
+procedure TUCXPSettings.SetSelectBorderColor(const Value: TColor);
+begin
+ FSelectBorderColor := Value;
+ FColorsChanged := true; // +jt
+end;
+
+procedure TUCXPSettings.SetSelectColor(const Value: TColor);
+begin
+ FSelectColor := Value;
+ FColorsChanged := true; // +jt
+end;
+
+procedure TUCXPSettings.SetDisabledColor(const Value: TColor);
+begin
+ FDisabledColor := Value;
+ FColorsChanged := true; // +jt
+end;
+
+procedure TUCXPSettings.SetSelectFontColor(const Value: TColor);
+begin
+ FSelectFontColor := Value;
+ FColorsChanged := true; // +jt
+end;
+
+procedure TUCXPSettings.SetIconWidth(const Value: integer);
+begin
+ FIconWidth := Value;
+end;
+
+procedure TUCXPSettings.SetDrawSelect(const Value: boolean);
+begin
+ FDrawSelect := Value;
+end;
+
+procedure TUCXPSettings.SetOverrideOwnerDraw(const Value: boolean);
+begin
+ FOverrideOwnerDraw := Value;
+ {
+ if FActive then
+ Active := True;
+ }
+end;
+
+procedure TUCXPSettings.SetUseSystemColors(const Value: boolean);
+begin
+ FUseSystemColors := Value;
+ {Windows.DrawMenuBar(FForm.Handle);}
+end;
+
+procedure TUCXPSettings.SetGradient(const Value: boolean);
+begin
+ FGradient := Value;
+end;
+
+procedure TUCXPSettings.SetFlatMenu(const Value: boolean);
+begin
+ FFlatMenu := Value;
+end;
+
+procedure TUCXPSettings.SetUCXPContainers(const Value: TUCXPContainers);
+begin
+ if Value <> FUCXPContainers then
+ begin
+ {if FActive then
+ begin
+ FActive := false;
+ InitItems(FForm, false, true);
+ FActive := true;
+ FUCXPContainers := Value;
+ InitItems(FForm, true, true);
+ end;}
+ end;
+ FUCXPContainers := Value;
+
+end;
+
+procedure TUCXPSettings.SetUCXPControls(const Value: TUCXPControls);
+begin
+ if Value <> FUCXPControls then
+ begin
+ { if FActive then
+ begin
+ FActive := false;
+ InitItems(FForm, false, true);
+ FActive := true;
+ FUCXPControls := Value;
+ InitItems(FForm, true, true);
+ end;}
+ end;
+ FUCXPControls := Value;
+
+end;
+
+procedure TUCXPSettings.SetDrawMenuBar(const Value: boolean);
+begin
+ FDrawMenuBar := Value;
+end;
+
+procedure TUCXPSettings.SetUseDimColor(const Value: boolean);
+begin
+ FUseDimColor := Value;
+end;
+
+procedure TUCXPSettings.SetAutoDetect(const Value: boolean);
+begin
+ FAutoDetect := Value;
+end;
+{END from UCXPStyle}
+procedure TUCXPSettings.SetBitBtnColor( const Value: TColor);
+begin
+ FBitBtnColor := Value;
+end;
+
+procedure TUCXPSettings.SetColorsChanged(const Value: boolean);
+begin
+ FColorsChanged := Value;
+end;
+
+//generic
+procedure GetSystemMenuFont(Font: TFont);
+var
+ FNonCLientMetrics: TNonCLientMetrics;
+begin
+ FNonCLientMetrics.cbSize := Sizeof(TNonCLientMetrics);
+ if SystemParametersInfo(SPI_GETNONCLIENTMETRICS, 0, @FNonCLientMetrics,0) then
+ begin
+ Font.Handle := CreateFontIndirect(FNonCLientMetrics.lfMenuFont);
+ Font.Color := clMenuText;
+ end;
+end;
+
+
+end.
diff --git a/official/2.20/Source/UCXPStyle.pas b/official/2.20/Source/UCXPStyle.pas
new file mode 100644
index 0000000..694f11b
--- /dev/null
+++ b/official/2.20/Source/UCXPStyle.pas
@@ -0,0 +1,5183 @@
+{
+Class UCXPStyle:
+Based on XPMenu 3.1 for Delphi
+
+
+XPMenu for Delphi
+Author: Khaled Shagrouni
+URL: http://www.shagrouni.com/english/software/xpmenu.html
+e-mail: khaled@shagrouni.com
+
+Version 3.1 - 22.02.2004
+
+
+
+XPMenu is a Delphi component to mimic Office XP menu and toolbar style.
+Copyright (C) 2001, 2003 Khaled Shagrouni.
+
+This component is FREEWARE with source code. I still hold the copyright, but
+you can use it for whatever you like: freeware, shareware or commercial software.
+If you have any ideas for improvement or bug reports, don't hesitate to e-mail
+me (Please state the XPMenu version and OS information).
+
+--------------------------------------------------------------------------------
+changes by QmD 30/11/2003 - qmd@usercontrol.com.br
+* Add BitBtnColor / BitBtnSelectColor by QmD 30/11/2003 - qmd@usercontrol.com.br
+* BitBtn Button multi-line corrected
+* 29/03/2004 - XPmenu 2.21 incorporated in User Control Package. Class renamed to UCXPMenu to prevent conflicts (http://usercontrol.sourceforge.net)
+
+changes by fduenas 29/12/2004 - fduenas@outm.net, fduenas@flashmail.com
+* XPMenu.pas 3.1 Ported to UCXPStyle.pas by Francisco Dueñas fduenas@outm.net.
+* File UCXPMenu.pas renamed to UCXPStyle.pas
+* Class UCXPSet renamed to UCXPSettings
+* File UCXPSet.pas renamed to UCXPSettings.pas
+}
+
+{$IFDEF VER130}
+{$DEFINE VER5U}
+{$ENDIF}
+
+{$IFDEF VER140}
+{$DEFINE VER5U}
+{$DEFINE VER6U}
+{$ENDIF}
+
+{$IFDEF VER150}
+{$DEFINE VER5U}
+{$DEFINE VER6U}
+{$DEFINE VER7U}
+{$ENDIF}
+
+unit UCXPStyle;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Classes, Graphics, Controls, ComCtrls, Forms,
+ Menus, Commctrl, ExtCtrls, StdCtrls, Buttons, UCXPSettings, UCBase, UCSettings;
+
+type
+ { moved to UCXPSettings.pas and renamed TXP* to TUCXP*
+ TXPContainer = (xccForm, xccFrame, xccToolbar, xccCoolbar, xccControlbar, xccPanel,
+ xccScrollBox, xccGroupBox, xccTabSheet, xccPageScroller);
+ TXPContainers = set of TXPContainer;
+
+ TXPControl = (xcMainMenu, xcPopupMenu, xcToolbar, xcControlbar, xcCombo, xcListBox,
+ xcEdit, xcMaskEdit, xcMemo, xcRichEdit, xcMiscEdit, xcCheckBox,
+ xcRadioButton, xcButton, xcBitBtn, xcSpeedButton, xcUpDown, xcPanel,
+ xcGroupBox, xcTreeView, xcListView, xcProgressBar, xcHotKey);
+ {xcStringGrid, xcDrawGrid, xcDBGrid);
+ }
+
+
+ TUCAboutXpStyleVar=String[10];
+
+ TUCXPStyle = class;
+
+ TControlSubClass = class(TComponent) //: "Fabian Jakubowski"
+ private
+ Control: TControl;
+ FBuilding: boolean;
+ FMouseInControl: boolean;
+ FLButtonBressed: boolean;
+ FBressed: boolean;
+ FIsKeyDown: boolean;
+ FIsFocused: boolean;
+ orgWindowProc: TWndMethod;
+ FXPStyle: TUCXPStyle;
+ FCtl3D: boolean;
+ FBorderStyle: TBorderStyle;
+ {FOnDrawCell: TDrawCellEvent;}
+ FDefaultDrawing: boolean;
+ FSelCol, FSelRow: integer;
+ FMsg: Cardinal;
+ procedure ControlSubClass(var Message: TMessage);
+ procedure PaintControlXP;
+ procedure PaintCombo;
+ procedure PaintDBLookupCombo;
+ procedure PaintEdit;
+ procedure PaintRichEdit;
+ procedure PaintCheckBox;
+ procedure PaintRadio;
+ procedure PaintButton;
+ procedure PaintBitButn;
+ procedure PaintUpDownButton;
+ procedure PaintSpeedButton;
+ procedure PaintPanel;
+ procedure PaintGroupBox;
+ procedure PaintNCWinControl;
+ procedure PaintProgressBar;
+ procedure PaintHotKey;
+ end;
+
+ TUCXPStyle = class(TComponent)
+ private
+ FActive: boolean;
+ {Changes MMK FForm to TScrollingWinControl}
+ FForm: TScrollingWinControl;
+
+ {moved to UCXPsettings
+ FFont: TFont;
+ FColor: TColor;
+ FIconBackColor: TColor;
+ FMenuBarColor: TColor;
+ FCheckedColor: TColor;
+ FSeparatorColor: TColor;
+ FSelectBorderColor: TColor;
+ FSelectColor: TColor;
+ FDisabledColor: TColor;
+ FSelectFontColor: TColor;
+ FIconWidth: integer;
+ FDrawSelect: boolean;
+ FUseSystemColors: boolean;
+ FColorsChanged: boolean; // +jt
+ }
+
+ FFColor, FFIconBackColor, FFSelectColor, FFSelectBorderColor,
+ FFSelectFontColor, FCheckedAreaColor, FCheckedAreaSelectColor,
+ FFCheckedColor, FFMenuBarColor, FFDisabledColor, FFSeparatorColor,
+ FMenuBorderColor, FMenuShadowColor: TColor;
+
+ Is16Bit: boolean;
+ { moved to UCXPSettings.pas
+ FOverrideOwnerDraw: boolean;
+ FGradient: boolean;
+ FFlatMenu: boolean;
+ FAutoDetect: boolean;
+ FUCXPContainers: TUCXPContainers;
+ FUCXPControls: TUCXPControls;
+ FGrayLevel: byte;
+ FDimLevel: byte;
+ FDrawMenuBar: boolean;
+ FUseDimColor: boolean;
+ }
+
+ FDimParentColor, FDimParentColorSelect: integer;
+
+ FAutoDetect: boolean;
+ // FUseParentClor: boolean;
+
+ FSettingWindowRng: boolean;
+ FIsW2k: boolean;
+ FIsWXP: boolean;
+ FIsWNT: boolean;
+// FTransparentColor: TColor;
+ // Do not allow the component to be used for subclassing
+ FDisableSubclassing: boolean;
+
+ FUCSettings: TUCSettings;
+ FUCXPSettings: TUCXPSettings;
+ FUCAboutXpStyleVar: TUCAboutXpStyleVar; {+qmd}
+
+ procedure SetDisableSubclassing(const Value: boolean);
+
+ procedure SetActive(const Value: boolean);
+
+ procedure SetForm(const Value: TScrollingWinControl);
+ { moved to UCXPSettings
+ procedure SetFont(const Value: TFont);
+ procedure SetColor(const Value: TColor);
+ procedure SetIconBackColor(const Value: TColor);
+ procedure SetMenuBarColor(const Value: TColor);
+ procedure SetCheckedColor(const Value: TColor);
+ procedure SetDisabledColor(const Value: TColor);
+ procedure SetSelectColor(const Value: TColor);
+ procedure SetSelectBorderColor(const Value: TColor);
+ procedure SetSeparatorColor(const Value: TColor);
+ procedure SetSelectFontColor(const Value: TColor);
+ procedure SetIconWidth(const Value: integer);
+ procedure SetDrawSelect(const Value: boolean);
+ procedure SetUseSystemColors(const Value: boolean);
+ procedure SetOverrideOwnerDraw(const Value: boolean);
+ procedure SetGradient(const Value: boolean);
+ procedure SetFlatMenu(const Value: boolean);
+ procedure SetUCXPContainers(const Value: TUCXPContainers);
+ procedure SetUCXPControls(const Value: TUCXPControls);
+ procedure SetDrawMenuBar(const Value: boolean);
+ procedure SetUseDimColor(const Value: boolean);
+ }
+
+ procedure SetUCSettings(const Value: TUCSettings); {+qmd}
+ protected
+ procedure Loaded; override; //add by Cunha, liyang.
+ procedure InitItems(wForm: TWinControl; Enable, Update: boolean);
+ procedure InitItem(Comp: TComponent; Enable, Update: boolean); // Tom: "Thomas Knoblauch" 27.08
+ procedure DrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect;
+ Selected: Boolean);
+ procedure MenueDrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect;
+ Selected: Boolean);
+ {$IFDEF VER5U}
+ procedure ToolBarDrawButton(Sender: TToolBar; Button: TToolButton; State: TCustomDrawState; var DefaultDraw: Boolean);
+ {$ENDIF}
+ procedure ControlBarPaint(Sender: TObject; Control: TControl;
+ Canvas: TCanvas; var ARect: TRect; var Options: TBandPaintOptions);
+
+ procedure SetGlobalColor(ACanvas: TCanvas);
+ procedure DrawTopMenuItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect;
+ BckColor:Tcolor; IsRightToLeft: boolean);
+ procedure DrawCheckedItem(FMenuItem: TMenuItem; Selected, Enabled,
+ HasImgLstBitmap: boolean; ACanvas: TCanvas; CheckedRect: TRect);
+ procedure DrawTheText(Sender: TObject; txt, ShortCuttext: string;
+ ACanvas: TCanvas; TextRect: TRect;
+ Selected, Enabled, Default, TopMenu, IsRightToLeft: boolean;
+ var TxtFont: TFont; TextFormat: integer);
+ procedure DrawIcon(Sender: TObject; ACanvas: TCanvas; B: TBitmap;
+ IconRect: Trect; Hot, Selected, Enabled, Checked, FTopMenu,
+ IsRightToLeft: boolean);
+
+ procedure MeasureItem(Sender: TObject; ACanvas: TCanvas;
+ var Width, Height: Integer);
+
+ //function GetImageExtent(MenuItem: TMenuItem): TPoint;
+ function GetImageExtent(MenuItem: TMenuItem; FTopMenu: TMenu): TPoint; // +jt
+ function TopMenuFontColor(ACanvas: TCanvas; Color: TColor): TColor;
+ procedure DrawGradient(ACanvas: TCanvas; ARect: TRect;
+ IsRightToLeft: boolean);
+
+ procedure DrawWindowBorder(hWnd: HWND; IsRightToLeft: boolean);
+
+ procedure Notification(AComponent: TComponent;
+ AOperation: TOperation); override;
+ public
+ constructor Create(AOwner: TComponent); override;
+ destructor Destroy; override;
+ procedure InitComponent(Comp: TComponent); // Tom: Added for usage by the main program ."Thomas Knoblauch" 27.08
+ procedure ActivateMenuItem(MenuItem: TMenuItem; SubMenus: boolean); // +jt
+ property Form: TScrollingWinControl read FForm write SetForm;// +jt
+ property IsWXP: boolean read FIsWXP;
+ property IsW2k: boolean read FIsW2k;
+ property IsWNT: boolean read FIsWNT;
+{ property TransparentColor: TColor read FTransparentColor write FTransparentColor;}
published
{moved to UCXPSettings
+ property DimLevel: Byte read FDimLevel write FDimLevel;
+ property GrayLevel: Byte read FGrayLevel write FGrayLevel;
+ property Font: TFont read FFont write SetFont;
+ property Color: TColor read FColor write SetColor;
+ property DrawMenuBar: boolean read FDrawMenuBar write SetDrawMenuBar;
+ property IconBackColor: TColor read FIconBackColor write SetIconBackColor;
+ property MenuBarColor: TColor read FMenuBarColor write SetMenuBarColor;
+ property SelectColor: TColor read FSelectColor write SetSelectColor;
+ property SelectBorderColor: TColor read FSelectBorderColor
+ write SetSelectBorderColor;
+ property SelectFontColor: TColor read FSelectFontColor
+ write SetSelectFontColor;
+ property DisabledColor: TColor read FDisabledColor write SetDisabledColor;
+ property SeparatorColor: TColor read FSeparatorColor
+ write SetSeparatorColor;
+ property CheckedColor: TColor read FCheckedColor write SetCheckedColor;
+ property IconWidth: integer read FIconWidth write SetIconWidth;
+ property DrawSelect: boolean read FDrawSelect write SetDrawSelect;
+ property UseSystemColors: boolean read FUseSystemColors
+ write SetUseSystemColors;
+ property UseDimColor: boolean read FUseDimColor write SetUseDimColor;
+ property OverrideOwnerDraw: boolean read FOverrideOwnerDraw
+ write SetOverrideOwnerDraw;
+
+ property Gradient: boolean read FGradient write SetGradient;
+ property FlatMenu: boolean read FFlatMenu write SetFlatMenu;
+ property AutoDetect: boolean read FAutoDetect write SetAutoDetect;
+
+ property XPContainers: TUCXPContainers read FUCXPContainers write SetUCXPContainers
+ default [xccForm, xccFrame, xccToolbar, xccCoolbar, xccControlbar, xccPanel,
+ xccScrollBox, xccGroupBox, xccTabSheet, xccPageScroller];
+ property XPControls :TUCXPControls read FUCXPControls write SetUCXPControls
+ default [xcMainMenu, xcPopupMenu, xcToolbar, xcControlbar, xcCombo, xcListBox,
+ xcEdit, xcMaskEdit, xcMemo, xcRichEdit, xcMiscEdit, xcCheckBox,
+ xcRadioButton, xcButton, xcBitBtn, xcSpeedButton, xcUpDown, xcPanel,
+ xcGroupBox, xcTreeView, xcListView, xcProgressBar, xcHotKey];
+ {xcStringGrid, xcDrawGrid, xcDBGrid];
+ }
+ property About: TUCAboutXpStyleVar read FUCAboutXpStyleVar write FUCAboutXpStyleVar;
+ property Active: boolean read FActive write SetActive;
+ property DisableSubclassing: boolean read FDisableSubclassing write SetDisablesubclassing
+ default false;
+ property XPSettings : TUCXPSettings read FUCXPSettings write FUCXPSettings;
+ property UCSettings : TUCSettings read FUCSettings write SetUCSettings;
+ end;
+
+ TUCXPStyleManager = class(TPersistent)
+ private
+ FXPStyleList: TList;
+ FPendingFormsList: TList;
+ FFormList: TList;
+ FActiveXPStyle: TUCXPStyle;
+ FDisableSubclassing: boolean;
+
+ function MainWindowHook(var Message: TMessage): boolean;
+ procedure CollectForms;
+ procedure RemoveChildSubclassing(AForm: TCustomForm);
+ procedure SetDisableSubclassing(AValue: boolean);
+ function FindSubclassingXPStyle(Exclude: TUCXPStyle): TUCXPStyle;
+
+ protected
+ procedure Notification(AComponent: TComponent;
+ AOperation: TOperation);
+
+ public
+ constructor Create;
+ destructor Destroy; override;
+ procedure Add(AXPStyle: TUCXPStyle);
+ procedure Delete(AXPStyle: TUCXPStyle);
+ procedure UpdateActiveXPStyle(AXPStyle: TUCXPStyle);
+ procedure AddForm(AForm: TCustomForm);
+ procedure RemoveForm(AForm: TCustomForm);
+ function IsFormSubclassed(AForm: TCustomForm): boolean;
+ function IsComponentSubclassed(AComponent: TComponent): boolean;
+
+ property ActiveXPStyle: TUCXPStyle read FActiveXPStyle;
+ property DisableSubclassing: boolean read FDisableSubclassing write SetDisableSubclassing
+ default false;
+ end;
+
+function GetShadeColor(ACanvas: TCanvas; clr: TColor; Value: integer): TColor;
+function MergColor(Colors: Array of TColor): TColor;
+function NewColor(ACanvas: TCanvas; clr: TColor; Value: integer): TColor;
+procedure DimBitmap(ABitmap: TBitmap; Value: integer);
+
+procedure DrawArrow(ACanvas: TCanvas; X, Y: integer); overload;
+procedure DrawArrow(ACanvas: TCanvas; X, Y, Orientation: integer); overload;
+function GrayColor(ACanvas: TCanvas; clr: TColor; Value: integer): TColor;
+function GetInverseColor(AColor: TColor): TColor;
+
+procedure GrayBitmap(ABitmap: TBitmap; Value: integer);
+procedure DrawBitmapShadow(B: TBitmap; ACanvas: TCanvas; X, Y: integer; ShadowColor: TColor);
+procedure DrawCheckMark(ACanvas: TCanvas; X, Y: integer);
+
+procedure GetSystemMenuFont(Font: TFont);
+//procedure Register;
+
+const
+ WM_DRAWMENUBORDER = CN_NOTIFY + 101; // +jt
+ WM_DRAWMENUBORDER2 = CN_NOTIFY + 102; // +jt
+
+// Gloabal access to the UCXPStyleManager
+var
+ UCXPStyleManager: TUCXPStyleManager;
+
+implementation
+
+{ moved to UCReg.pas
+procedure Register;
+begin
+ RegisterComponents('XP', [TUCXPStyle]);
+end;
+}
+// Set up the global variable that represents the UCXPStyleManager
+procedure InitControls;
+begin
+ //added by fduenas
+ if (csDesigning in Application.ComponentState) then
+ exit;
+
+ if (Not assigned(UCXPStyleManager)) or
+ (UCXPStyleManager = nil) then
+ UCXPStyleManager := TUCXPStyleManager.Create;
+end;
+
+// Delete the global variable that represents the UCXPStyleManager
+procedure DoneControls;
+begin
+ FreeAndNil(UCXPStyleManager);
+ {
+ if (UCXPStyleManager <> nil) then
+ begin
+ UCXPStyleManager.Free;
+ UCXPStyleManager := nil;
+ end;
+ }
+end;
+
+// Test if mouse cursor is in the given rect of the application's main form
+function IsMouseInRect(TheForm: TScrollingWinControl; DestRect: TRect): boolean;
+var
+ p: TPoint;
+
+begin
+
+ if Assigned(TheForm) then
+ begin
+ p := Mouse.CursorPos;
+ p.x := p.x - TheForm.Left;
+ p.y := p.y - TheForm.Top;
+
+ Dec(DestRect.Right);
+ Dec(DestRect.Bottom, 2);
+ Result := (p.x >= DestRect.Left) and (p.x <= DestRect.Right) and
+ (p.y >= DestRect.Top) and (p.y <= DestRect.Bottom);
+ end
+ else Result := false;
+end;
+
+{ TUCXPStyle }
+
+constructor TUCXPStyle.Create(AOwner: TComponent);
+var
+ OSVersionInfo: TOSVersionInfo; // +jt
+begin
+ inherited Create(AOwner);
+ {moved to UCXPSettings
+ FFont := TFont.Create;
+ }
+ FDisableSubclassing := false; // enable XPStyle to be used for global subclassing
+
+{moved to UCXPSettings
+ {$IFDEF VER5U
+ FFont.Assign(Screen.MenuFont);
+ {$ELSE
+ GetSystemMenuFont(FFont);
+ {$ENDIF
+}
+
+ FForm := (Owner as TScrollingWinControl);
+ FUCXPSettings := TUCXPSettings.create(self); //added by fduenas
+ {moved to UCXPSettings
+ FUseSystemColors := true;
+
+ FColor := clBtnFace;
+ FIconBackColor := clBtnFace;
+ FSelectColor := clHighlight;
+ FSelectBorderColor := clHighlight;
+ FMenuBarColor := clBtnFace;
+ FDisabledColor := clInactiveCaption;
+ FSeparatorColor := clBtnFace;
+ FCheckedColor := clHighlight;
+ FSelectFontColor := FFont.Color;
+ FGrayLevel := 10;
+ FDimLevel := 30;
+ FIconWidth := 24;
+ FDrawSelect := true;
+ UCXPContainers := [xccForm, xccFrame, xccToolbar, xccCoolbar, xccControlbar, xccPanel,
+ xccScrollBox, xccGroupBox, xccTabSheet, xccPageScroller];
+ UCXPControls := [xcMainMenu, xcPopupMenu, xcToolbar, xcControlbar, xcCombo, xcListBox,
+ xcEdit, xcMaskEdit, xcMemo, xcRichEdit, xcMiscEdit, xcCheckBox,
+ xcRadioButton, xcButton, xcBitBtn, xcSpeedButton, xcUpDown, xcPanel,
+ xcGroupBox, xcTreeView, xcListView, xcProgressBar, xcHotKey];
+ {xcStringGrid, xcDrawGrid, xcDBGrid];
+
+ }
+ if Assigned(FForm) then
+ SetGlobalColor(TForm(FForm).Canvas);
+
+// +jt
+// FTransparentColor := clFuchsia;
+ FUCXPSettings.ColorsChanged := false;
+ OSVersionInfo.dwOSVersionInfoSize := sizeof(OSVersionInfo);
+ GetVersionEx(OSVersionInfo);
+ FIsWXP:=false;
+ FIsW2k:=false;
+ FIsWNT:=false;
+ if OSVersionInfo.dwPlatformId = VER_PLATFORM_WIN32_NT then
+ begin
+ FIsWNT:=true;
+ if (OSVersionInfo.dwMajorVersion = 5) and (OSVersionInfo.dwMinorVersion = 0) then FIsW2k:=true;
+ if (OSVersionInfo.dwMajorVersion = 5) and (OSVersionInfo.dwMinorVersion = 1) then FIsWXP:=true;
+ end;
// +jt
+
+ {moved to initialization section
+ if not(csDesigning in ComponentState) then
+ InitControls
+ else
+ exit;
+ }
+ if FActive then
+ Self.Active := FActive;
+
+ //if FForm.Handle <> 0 then
+ // Windows.DrawMenuBar(FForm.Handle);
+end;
+
+destructor TUCXPStyle.Destroy;
+begin
+ if Assigned(FForm) then //oleg oleg@vdv-s.ru Mon Oct 7
+ InitItems(FForm, false, false);
+
+// Remove XPStyle from UCXPStyleManager
+ if Assigned(UCXPStyleManager) and not(csDesigning in ComponentState) then
+ begin
+ UCXPStyleManager.Delete(Self);
+ FForm.Update;
+ {moved to finalization section
+ if UCXPStyleManager.FXPStyleList.Count = 0 then
+ DoneControls;
+ }
+ end;
+
+ //FFont.Free; moved to TCXPSettings
+ FreeAndNil(FUCXPSettings); {added by fduenas}
+ inherited Destroy;
+end;
+
+//add by:
+//liyang ,2002-07-19
+//Pedro Miguel Cunha - 02 Apr 2002
+procedure TUCXPStyle.Loaded;
+begin
+ inherited Loaded;
+
+// Add the XPStyle to the UCXPStyleManager
+ if Assigned(UCXPStyleManager) and not(csDesigning in ComponentState) then
+ UCXPStyleManager.Add(Self);
+end;
+
+{to check for new sub items}
+procedure TUCXPStyle.ActivateMenuItem(MenuItem: TMenuItem; SubMenus: boolean); // +jt
+
+ procedure Activate(MenuItem: TMenuItem);
+ begin
+ if (MenuItem.Tag <> 999) then
+ if addr(MenuItem.OnDrawItem) <> addr(TUCXPStyle.DrawItem) then
+ begin
+ if (not assigned(MenuItem.OnDrawItem)) or (FUCXPSettings.OverrideOwnerDraw) then
+ MenuItem.OnDrawItem := DrawItem;
+ if (not assigned(MenuItem.OnMeasureItem)) or (FUCXPSettings.OverrideOwnerDraw) then
+ MenuItem.OnMeasureItem := MeasureItem;
+ end
+ end;
+
+var
+ i{, j}: integer;
+begin
+
+ Activate(MenuItem);
+ if (SubMenus=true) then // +jt
+ begin
+ for i := 0 to MenuItem.Count -1 do
+ begin
+ ActivateMenuItem(MenuItem.Items[i],true);
+ end;
+ end;
+end;
+
+procedure TUCXPStyle.InitItems(wForm: TWinControl; Enable, Update: boolean );
+var
+ i: integer;
+ Comp: TComponent;
+begin
+ for i := 0 to wForm.ComponentCount - 1 do
+ begin
+ Comp := wForm.Components[i];
+ InitItem(Comp, Enable, Update); // Tom: "Thomas Knoblauch" 27.08
+ end;
+end;
+
+procedure TUCXPStyle.InitComponent(Comp: TComponent); // Tom: for external (by the main program) use without parameters. "Thomas Knoblauch" 27.08
+begin
+ if FActive then InitItem(Comp, true, true);
+end;
+
+
+
+// Tom: "Thomas Knoblauch" 27.08
+procedure TUCXPStyle.InitItem(Comp: TComponent; Enable, Update: boolean );
+ procedure Activate(MenuItem: TMenuItem);
+ begin
+ if Enable then
+ begin
+ if (MenuItem.Tag <> 999) then
+ begin
+ if (not assigned(MenuItem.OnDrawItem)) or (FUCXPSettings.OverrideOwnerDraw) then
+ MenuItem.OnDrawItem := DrawItem;
+ if (not assigned(MenuItem.OnMeasureItem)) or (FUCXPSettings.OverrideOwnerDraw) then
+ MenuItem.OnMeasureItem := MeasureItem;
+ end;
+ end
+ else
+ begin
+ if addr(MenuItem.OnDrawItem) = addr(TUCXPStyle.DrawItem) then
+ MenuItem.OnDrawItem := nil;
+ if addr(MenuItem.OnMeasureItem) = addr(TUCXPStyle.MeasureItem) then
+ MenuItem.OnMeasureItem := nil;
+ end;
+ end;
+
+ procedure ItrateMenu(MenuItem: TMenuItem);
+ var
+ i: integer;
+ begin
+ Activate(MenuItem);
+ for i := 0 to MenuItem.Count - 1 do
+ begin
+ ItrateMenu(MenuItem.Items[i]);
+ end;
+ end;
+
+var
+ x: integer;
+ s: string;
+
+begin
+ if (Comp is TMainMenu) and (xcMainMenu in FUCXPSettings.XPControls) and (TMainMenu(Comp).Tag <> 999)then
+ begin
+ for x := 0 to TMainMenu(Comp).Items.Count - 1 do
+ begin
+ TMainMenu(Comp).OwnerDraw := Enable;
+ //Activate(TMainMenu(Comp).Items[x]);
+ ItrateMenu(TMainMenu(Comp).Items[x]);
+ end;
+ // Selly way to force top menu in other forms to repaint
+ S := TMainMenu(Comp).Items[0].Caption;
+ TMainMenu(Comp).Items[0].Caption := '';
+ TMainMenu(Comp).Items[0].Caption := S;
+ end;
+
+ if (Comp is TPopupMenu) and (xcPopupMenu in FUCXPSettings.XPControls) then
+ begin
+ for x := 0 to TPopupMenu(Comp).Items.Count - 1 do
+ begin
+ TPopupMenu(Comp).OwnerDraw := Enable;
+ ItrateMenu(TPopupMenu(Comp).Items[x]);
+
+ end;
+ end;
+
+ {$IFDEF VER5U}
+ if (Comp is TToolBar) and (xcToolBar in FUCXPSettings.XPControls) then
+ if not (csDesigning in ComponentState) then
+ begin
+ if not TToolBar(Comp).Flat then
+ TToolBar(Comp).Flat := true;
+
+ if Enable then
+ begin
+ for x := 0 to TToolBar(Comp).ButtonCount - 1 do
+ if (not assigned(TToolBar(Comp).OnCustomDrawButton))
+ or (FUCXPSettings.OverrideOwnerDraw) then
+ begin
+ TToolBar(Comp).OnCustomDrawButton :=
+ ToolBarDrawButton;
+
+ end;
+ end
+ else
+ begin
+ if addr(TToolBar(Comp).OnCustomDrawButton) =
+ addr(TUCXPStyle.ToolBarDrawButton) then
+ TToolBar(Comp).OnCustomDrawButton := nil;
+ end;
+ if Update then
+ TToolBar(Comp).Invalidate;
+ end;
+ {$ENDIF}
+
+ if (Comp is TControlBar) and (xcControlBar in FUCXPSettings.XPControls) then
+ if not (csDesigning in ComponentState) then
+ begin
+ if Enable then
+ begin
+ if (not assigned(TControlBar(Comp).OnBandPaint))
+ or (FUCXPSettings.OverrideOwnerDraw) then
+ begin
+ TControlBar(Comp).OnBandPaint := ControlBarPaint;
+ end;
+ end
+ else
+ begin
+ if addr(TControlBar(Comp).OnBandPaint) =
+ addr(TUCXPStyle.ControlBarPaint) then
+ TControlBar(Comp).OnBandPaint := nil;
+ end;
+ if Update then
+ TControlBar(Comp).Invalidate;
+ end;
+
+ if not (csDesigning in ComponentState) then
+ if {$IFDEF VER6U}
+ ((Comp is TCustomCombo) and (xcCombo in FUCXPSettings.XPControls)) or
+ ((Comp is TCustomLabeledEdit) and (xcEdit in FUCXPSettings.XPControls)) or
+
+ {$ELSE}
+ ((Comp is TCustomComboBox) and (xcCombo in FUCXPSettings.XPControls)) or
+ {$ENDIF}
+ ((Comp is TEdit) and (xcEdit in FUCXPSettings.XPControls)) or
+ ((Comp.ClassName = 'TMaskEdit') and (xcMaskEdit in FUCXPSettings.XPControls)) or
+ ((Comp.ClassName = 'TDBEdit') and (xcMaskEdit in FUCXPSettings.XPControls)) or
+ ((Comp is TCustomMemo) and (xcMemo in FUCXPSettings.XPControls)) or
+ ((Comp is TCustomRichEdit) and (xcRichEdit in FUCXPSettings.XPControls)) or
+ ((Comp is TCustomCheckBox) and (xcCheckBox in FUCXPSettings.XPControls)) or
+ ((Comp is TRadioButton) and (xcRadioButton in FUCXPSettings.XPControls)) or
+ ((Comp.ClassName = 'TBitBtn') and (xcBitBtn in FUCXPSettings.XPControls)) or
+ ((Comp.ClassName = 'TButton') and (xcButton in FUCXPSettings.XPControls)) or
+ ((Comp.ClassName = 'TUpDown') and (xcUpDown in FUCXPSettings.XPControls)) or
+ ((Comp is TSpeedButton) and (xcSpeedButton in FUCXPSettings.XPControls)) or
+ ((Comp is TCustomPanel) and (xcPanel in FUCXPSettings.XPControls)) or
+ ((Comp.ClassName = 'TDBNavigator') and (xcButton in FUCXPSettings.XPControls)) or
+ ((Comp.ClassName = 'TDBLookupComboBox') and (xcButton in FUCXPSettings.XPControls)) or
+ ((Comp is TCustomGroupBox) and (xcGroupBox in FUCXPSettings.XPControls)) or
+ ((Comp is TCustomListBox) and (xcListBox in FUCXPSettings.XPControls)) or
+ ((Comp is TCustomTreeView) and (xcTreeView in FUCXPSettings.XPControls)) or
+ ((Comp is TCustomListView) and (xcListView in FUCXPSettings.XPControls)) or
+ ((Comp is TProgressBar) and (xcProgressBar in FUCXPSettings.XPControls)) or
+ ((Comp is TCustomHotKey) and (xcHotKey in FUCXPSettings.XPControls))
+ then
+ if ((TControl(Comp).Parent is TToolbar) and (xccToolBar in FUCXPSettings.XPContainers))or
+ ((TControl(Comp).Parent is TCoolbar) and (xccCoolbar in FUCXPSettings.XPContainers)) or
+ ((TControl(Comp).Parent is TCustomPanel) and (xccPanel in FUCXPSettings.XPContainers)) or
+ ((TControl(Comp).Parent is TControlbar) and (xccControlbar in FUCXPSettings.XPContainers)) or
+ ((TControl(Comp).Parent is TScrollBox) and (xccScrollBox in FUCXPSettings.XPContainers)) or
+ ((TControl(Comp).Parent is TCustomGroupBox) and (xccGroupBox in FUCXPSettings.XPContainers)) or
+ ((TControl(Comp).Parent is TTabSheet) and (xccTabSheet in FUCXPSettings.XPContainers)) or
+ ((TControl(Comp).Parent is TTabControl) and (xccTabSheet in FUCXPSettings.XPContainers)) or
+ ((TControl(Comp).Parent.ClassName = 'TdxTabSheet') and (xccTabSheet in FUCXPSettings.XPContainers)) or //DeveloperExpress
+ ((TControl(Comp).Parent is TPageScroller) and (xccPageScroller in FUCXPSettings.XPContainers)) or
+ {$IFDEF VER5U}
+ ((TControl(Comp).Parent is TCustomFrame) and (xccFrame in FUCXPSettings.XPContainers)) or
+ {$ENDIF}
+ ((TControl(Comp).Parent.ClassName = 'TDBCtrlPanel') and (xccFrame in FUCXPSettings.XPContainers)) or
+ ((TControl(Comp).Parent is TCustomForm) and (xccForm in FUCXPSettings.XPContainers))
+
+
+ then
+ begin
+ if (Enable) and (Comp.Tag <> 999) and (TControl(Comp).Parent.Tag <> 999) then
+ {skip if Control/Control.parent.tag = 999}
+ with TControlSubClass.Create(Self) do
+ begin
+ Control := TControl(Comp);
+ if Addr(Control.WindowProc) <> Addr(TControlSubClass.ControlSubClass) then
+ begin
+ orgWindowProc := Control.WindowProc;
+ Control.WindowProc := ControlSubClass;
+ end;
+ FXPStyle := self;
+
+ if (Control is TCustomEdit) then
+ begin
+ FCtl3D := TEdit(Control).Ctl3D;
+ FBorderStyle := TRichEdit(Control).BorderStyle;
+ end;
+ if Control.ClassName = 'TDBLookupComboBox' then
+ begin
+ FCtl3D := TComboBox(Control).Ctl3D;
+ end;
+ if (Control is TCustomListBox) then
+ begin
+ FCtl3D := TListBox(Control).Ctl3D;
+ FBorderStyle := TListBox(Control).BorderStyle;
+ end;
+ if (Control is TCustomListView) then begin
+ FCtl3D := TListView(Control).Ctl3D;
+ FBorderStyle := TListView(Control).BorderStyle;
+ end;
+ if (Control is TCustomTreeView) then begin
+ FCtl3D := TTreeView(Control).Ctl3D;
+ FBorderStyle := TTreeView(Control).BorderStyle;
+ end;
+
+ end;
+
+ if Update then
+ begin
+ TControl(Comp).invalidate //in TControlSubClass.ControlSubClass
+ end;
+
+ end;
+
+ // Recursive call for possible containers.
+
+
+ // Do recursive call for RadioGroups
+ if (((Comp is TCustomRadioGroup)) and (xccGroupBox in FUCXPSettings.XPContainers)) then
+ self.InitItems(Comp as TWinControl, Enable, Update);
+
+
+ if {$IFDEF VER5U}((Comp is TCustomFrame) and (xccFrame in FUCXPSettings.XPContainers))
+ or {$ENDIF}(Comp.ClassName = 'TDBNavigator')
+ or (Comp is TCustomForm) then //By Geir Wikran
+ self.InitItems(Comp as TWinControl, Enable, Update);
+
+
+end;
+
+procedure TUCXPStyle.DrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect;
+ Selected: Boolean);
+begin
+ try //"Steve Rice"
+ if FActive then
+ MenueDrawItem(Sender, ACanvas, ARect, Selected);
+ except
+ end;
+end;
+
+function TUCXPStyle.GetImageExtent(MenuItem: TMenuItem; FTopMenu: TMenu): TPoint;
+var
+ HasImgLstBitmap: boolean;
+ B: TBitmap;
+begin
+ B := TBitmap.Create;
+ try
+ B.Width := 0;
+ B.Height := 0;
+ Result.x := 0;
+ Result.Y := 0;
+ HasImgLstBitmap := false;
+// +jt
+ if Assigned(FTopMenu) then
+ begin
+ if FTopMenu.Images <> nil then
+ if MenuItem.ImageIndex <> -1 then
+ HasImgLstBitmap := true;
+ end;
+ if (MenuItem.Parent.GetParentMenu.Images <> nil)
+ {$IFDEF VER5U}
+ or (MenuItem.Parent.SubMenuImages <> nil)
+ {$ENDIF}
+ then
+ begin
+ if MenuItem.ImageIndex <> -1 then
+ HasImgLstBitmap := true
+ else
+ HasImgLstBitmap := false;
+ end;
+
+ if HasImgLstBitmap then
+ begin
+ {$IFDEF VER5U}
+ if MenuItem.Parent.SubMenuImages <> nil then
+ MenuItem.Parent.SubMenuImages.GetBitmap(MenuItem.ImageIndex, B)
+ else
+ {$ENDIF}
+ MenuItem.Parent.GetParentMenu.Images.GetBitmap(MenuItem.ImageIndex, B)
+ end
+ else
+ if MenuItem.Bitmap.Width > 0 then
+ B.Assign(TBitmap(MenuItem.Bitmap));
+
+ Result.x := B.Width;
+ Result.Y := B.Height;
+
+ if not Assigned(FTopMenu) then // +jt
+ if Result.x < FUCXPSettings.IconWidth then
+ Result.x := FUCXPSettings.IconWidth;
+ finally
+ B.Free;
+ end;
+end;
+
+procedure TUCXPStyle.MeasureItem(Sender: TObject; ACanvas: TCanvas;
+ var Width, Height: Integer);
+var
+ s: string;
+ W, H: integer;
+ P: TPoint;
+ IsLine: boolean;
+ FTopMenu: boolean; // +jt
+ FMenu: TMenu; // +jt
+ i: integer; // +jt
+begin
+
+ FTopMenu:=false; //+jt
+ if FActive then
+ begin
+ S := TMenuItem(Sender).Caption;
+
+ if S = '-' then IsLine := true else IsLine := false;
+ if IsLine then
+ S := '';
+
+ if Trim(ShortCutToText(TMenuItem(Sender).ShortCut)) <> '' then
+ S := S + ShortCutToText(TMenuItem(Sender).ShortCut) + 'WWW';
+
+ ACanvas.Font.Assign(FUCXPSettings.Font);
+ W := ACanvas.TextWidth(s);
+ Inc(W, 5);
+ if pos('&', s) > 0 then
+ W := W - ACanvas.TextWidth('&');
+
+// +jt
+ FMenu := TMenuItem(Sender).Parent.GetParentMenu;
+ if FMenu is TMainMenu then
+ begin
+ for i := 0 to TMenuItem(Sender).GetParentMenu.Items.Count - 1 do
+ if TMenuItem(Sender).GetParentMenu.Items[i] = TMenuItem(Sender) then
+ begin
+ FTopMenu := True;
+ break;
+ end
+ end;
+ if not FTopMenu then FMenu := nil;
+ if(not FTopMenu) and (TMenuItem(Sender).Count>0) then Inc(W,6); // +jt
+// +jt
+
+ P := GetImageExtent(TMenuItem(Sender), FMenu); // +jt
+ W := W + P.x ;
+
+
+ if Width < W then
+ Width := W;
+
+ if IsLine then
+ Height := 4
+ else
+ begin
+ H := ACanvas.TextHeight(s) + Round(ACanvas.TextHeight(s) * 0.75);
+ if P.y + 6 > H then
+ H := P.y + 6;
+
+ if Height < H then
+ Height := H;
+ end;
+ end;
+
+end;
+
+procedure TUCXPStyle.MenueDrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect;
+ Selected: Boolean);
+var
+ txt: string;
+ B: TBitmap;
+ IconRect, TextRect, CheckedRect: TRect;
+ FillRect: TRect; // +jt
+ i, X1, X2: integer;
+ TextFormat: integer;
+ HasImgLstBitmap: boolean;
+ HasBitmap: boolean;
+ FMenuItem: TMenuItem;
+ FMenu: TMenu;
+ FTopMenu: boolean;
+ IsLine: boolean;
+ ImgListHandle: HImageList; {Commctrl.pas}
+ ImgIndex: integer;
+ hWndM: HWND;
+ hDcM: HDC;
+ DrawTopMenuBorder: boolean;
+ msg: TMSG; // +jt
+ buff: TBitmap; // +jt
+ OrigRect: TRect; // +jt
+ OrigCanvas: TCanvas; // +jt
+ FFontSettings: TFont;
+begin
+
+
+ OrigCanvas:= nil;
+
+ FTopMenu := false;
+ FMenuItem := TMenuItem(Sender);
+
+// +jt
+ B := TBitmap.Create;
+ buff := TBitmap.Create;
+ try
+ origrect:= ARect;
+ Dec(origrect.Left,4);
+ origcanvas:=ACanvas;
+ ARect.Right:=(ARect.Right-ARect.Left)+4;
+ ARect.Bottom:=ARect.Bottom-ARect.Top;
+ ARect.Left:=4;
+ ARect.Top:=0;
+ buff.Width := ARect.Right;
+ buff.Height := ARect.Bottom;
+ ACanvas:=buff.Canvas;
// +jt
+ //SetGlobalColor(ACanvas);
+
+ if FMenuItem.Caption = '-' then IsLine := true else IsLine := false;
+
+ FMenu := FMenuItem.Parent.GetParentMenu;
+
+ if FMenu is TMainMenu then
+ for i := 0 to FMenuItem.GetParentMenu.Items.Count - 1 do
+ if FMenuItem.GetParentMenu.Items[i] = FMenuItem then
+ begin
+ FTopMenu := True;
+ // +jt
+ ARect.Left:=0;
+ Inc(origrect.Left,4);
+ Dec(ARect.Right,4);
+ buff.Width:=ARect.Right;
+ Dec(ARect.Bottom,1);
// +jt
+ break;
+ end;
+ if(FUCXPSettings.ColorsChanged) then SetGlobalColor(ACanvas); // +jt
+
+ ACanvas.Font.Assign(FUCXPSettings.Font);
+
+ Inc(ARect.Bottom, 1);
+ TextRect := ARect;
+ txt := ' ' + FMenuItem.Caption;
+
+// B := TBitmap.Create; //Leslie Cutting lesnes@absamail.co.za Jul 8 2003
+ HasBitmap := false;
+ HasImgLstBitmap := false;
+
+
+ if (FMenuItem.Parent.GetParentMenu.Images <> nil)
+ {$IFDEF VER5U}
+ or (FMenuItem.Parent.SubMenuImages <> nil)
+ {$ENDIF}
+ then
+ begin
+ if FMenuItem.ImageIndex <> -1 then
+ HasImgLstBitmap := true
+ else
+ HasImgLstBitmap := false;
+ end;
+
+ if FMenuItem.Bitmap.Width > 0 then
+ HasBitmap := true;
+
+ //-------
+ if HasBitmap then
+ begin
+ B.Width := FMenuItem.Bitmap.Width;
+ B.Height := FMenuItem.Bitmap.Height;
+ // +jt
+ //B.Canvas.Brush.Color := FTransparentColor; // ACanvas.Brush.Color;
+ B.Canvas.Brush.Color := B.Canvas.Pixels[0, B.Height - 1];//"Todd Asher"
+ B.Canvas.FillRect(Rect(0, 0, B.Width, B.Height));
+ FMenuItem.Bitmap.Transparent := true;
+ FMenuItem.Bitmap.TransparentMode := tmAuto;
+ B.Canvas.Draw(0,0,FMenuItem.Bitmap);
// +jt
+ end;
+
+
+ if HasImgLstBitmap then
+ begin
+ {$IFDEF VER5U}
+ if FMenuItem.Parent.SubMenuImages <> nil then
+ begin
+ ImgListHandle := FMenuItem.Parent.SubMenuImages.Handle;
+ ImgIndex := FMenuItem.ImageIndex;
+
+ B.Width := FMenuItem.Parent.SubMenuImages.Width;
+ B.Height := FMenuItem.Parent.SubMenuImages.Height;
+ // B.Canvas.Brush.Color := FTransparentColor; // ACanvas.Brush.Color; // +jt
+ B.Canvas.Brush.Color := B.Canvas.Pixels[0, B.Height - 1];//"Todd Asher"
+ B.Canvas.FillRect(Rect(0, 0, B.Width, B.Height));
+ ImageList_DrawEx(ImgListHandle, ImgIndex,
+ B.Canvas.Handle, 0, 0, 0, 0, clNone, clNone, ILD_Transparent);
+
+ end
+ else
+ {$ENDIF}
+ if FMenuItem.Parent.GetParentMenu.Images <> nil then
+ begin
+ ImgListHandle := FMenuItem.Parent.GetParentMenu.Images.Handle;
+ ImgIndex := FMenuItem.ImageIndex;
+
+ B.Width := FMenuItem.Parent.GetParentMenu.Images.Width;
+ B.Height := FMenuItem.Parent.GetParentMenu.Images.Height;
+ //B.Canvas.Brush.Color := FTransparentColor; //ACanvas.Pixels[2,2]; // +jt
+ B.Canvas.Brush.Color := B.Canvas.Pixels[0, B.Height - 1];//"Todd Asher"
+ B.Canvas.FillRect(Rect(0, 0, B.Width, B.Height));
+ ImageList_DrawEx(ImgListHandle, ImgIndex,
+ B.Canvas.Handle, 0, 0, 0, 0, clNone, clNone, ILD_Transparent);
+
+ end;
+
+ end;
+
+ //-----
+
+ if FMenu.IsRightToLeft then
+ begin
+ X1 := ARect.Right - FUCXPSettings.IconWidth;
+ X2 := ARect.Right;
+ end
+ else
+ begin
+ X1 := ARect.Left;
+ X2 := ARect.Left + FUCXPSettings.IconWidth;
+ end;
+ IconRect := Rect(X1, ARect.Top, X2, ARect.Bottom);
+
+
+ if HasImgLstBitmap or HasBitmap then
+ begin
+ CheckedRect := IconRect;
+ Inc(CheckedRect.Left, 1);
+ Inc(CheckedRect.Top, 2);
+ Dec(CheckedRect.Right, 3);
+ Dec(CheckedRect.Bottom, 2);
+ end
+ else
+ begin
+ CheckedRect.Left := IconRect.Left +
+ (IConRect.Right - IconRect.Left - 10) div 2;
+ CheckedRect.Top := IconRect.Top +
+ (IConRect.Bottom - IconRect.Top - 10) div 2;
+ CheckedRect.Right := CheckedRect.Left + 10;
+ CheckedRect.Bottom := CheckedRect.Top + 10;
+ end;
+
+ if B.Width > FUCXPSettings.IconWidth then
+ if FMenu.IsRightToLeft then
+ CheckedRect.Left := CheckedRect.Right - B.Width
+ else
+ CheckedRect.Right := CheckedRect.Left + B.Width;
+
+ if FTopMenu then Dec(CheckedRect.Top, 1);
+
+
+ if FMenu.IsRightToLeft then
+ begin
+ X1 := ARect.Left;
+ if not FTopMenu then
+ Dec(X2, FUCXPSettings.IconWidth)
+ else
+ Dec(X2, 4);
+ if (ARect.Right - B.Width) < X2 then
+ X2 := ARect.Right - B.Width - 8;
+ end
+ else
+ begin
+ X1 := ARect.Left ;
+ if not FTopMenu then
+ Inc(X1, FUCXPSettings.IconWidth)
+ else
+ Inc(X1, 4);
+
+ if (ARect.Left + B.Width) > X1 then
+ X1 := ARect.Left + B.Width + 4;
+ X2 := ARect.Right;
+ end;
+
+ TextRect := Rect(X1, ARect.Top, X2, ARect.Bottom);
+ // +jt
+ FillRect := ARect;
+ Dec(FillRect.Left,4);
// +jt
+
+ if FTopMenu then
+ begin
+ if not (HasImgLstBitmap or HasBitmap) then
+ begin
+ TextRect := ARect;
+ end
+ else
+ begin
+ if FMenu.IsRightToLeft then
+ TextRect.Right := TextRect.Right + 5
+ else
+ TextRect.Left := TextRect.Left - 5;
+ end
+
+ end;
+
+ if FTopMenu then
+ begin
+ if FUCXPSettings.DrawMenuBar then
+ FFMenuBarColor := FUCXPSettings.MenuBarColor;
+ ACanvas.brush.color := FFMenuBarColor;
+ ACanvas.Pen.Color := FFMenuBarColor;
+ // Inc(ARect.Bottom, 2);
+ ACanvas.FillRect(ARect);
+
+ //--
+ if FUCXPSettings.DrawMenuBar then
+ begin
+ if FMenuItem.GetParentMenu.Items[FMenuItem.GetParentMenu.Items.Count-1] =
+ FMenuItem then
+ begin
+ if FMenu.IsRightToLeft then
+ ACanvas.Rectangle(3, ARect.Top, ARect.Right, ARect.Bottom)
+ else
+ ACanvas.Rectangle(ARect.Left, ARect.Top, TScrollingWinControl(FMenu.Owner).ClientWidth+5{FForm.ClientWidth+5},
+ ARect.Bottom);
+ end
+ else
+ if FMenu.IsRightToLeft then
+ ACanvas.Rectangle(ARect.Left, ARect.Top, ARect.Right+7, ARect.Bottom);
+ end;
+ //--
+ end
+ else
+ begin
+ if (Is16Bit and FUCXPSettings.Gradient) then
+ begin
+ inc(ARect.Right,2); //needed for RightToLeft
+ DrawGradient(ACanvas, ARect, FMenu.IsRightToLeft);
+ Dec(ARect.Right,2);
+
+ end
+ else
+ begin
+ ACanvas.brush.color := FFColor;
+ ACanvas.FillRect(FillRect); // +jt
+ ACanvas.brush.color := FFIconBackColor;
+ ACanvas.FillRect(IconRect);
+ end;
+
+
+ //------------
+ end;
+
+
+ if FMenuItem.Enabled then
+ ACanvas.Font.Color := FUCXPSettings.Font.Color
+ else
+ ACanvas.Font.Color := FUCXPSettings.DisabledColor;
+
+ DrawTopMenuBorder := false;
+ if Selected and FUCXPSettings.DrawSelect then
+ begin
+ ACanvas.brush.Style := bsSolid;
+ if FTopMenu then
+ begin
+ DrawTopMenuItem(FMenuItem, ACanvas, ARect, FUCXPSettings.MenuBarColor, FMenu.IsRightToLeft);
+ end
+ else
+ if FMenuItem.Enabled then
+ begin
+ Inc(ARect.Top, 1);
+ Dec(ARect.Bottom, 1);
+ if FUCXPSettings.FlatMenu then
+ Dec(ARect.Right, 1);
+ ACanvas.brush.color := FFSelectColor;
+ ACanvas.FillRect(ARect);
+ ACanvas.Pen.color := FFSelectBorderColor;
+ ACanvas.Brush.Style := bsClear;
+ ACanvas.RoundRect(Arect.Left, Arect.top, Arect.Right, Arect.Bottom, 0, 0);
+ Dec(ARect.Top, 1);
+ Inc(ARect.Bottom, 1);
+ if FUCXPSettings.FlatMenu then
+ Inc(ARect.Right, 1);
+ end;
+ DrawTopMenuBorder := true;
+ end
+
+ // Draw the menubar in XP Style when hovering over an main menu item
+ else
+ begin
+ //if FMenuItem.Enabled and FTopMenu and IsMouseInRect( TScrollingWinControl(FMenu.Owner), ARect) then
+ if FMenuItem.Enabled and FTopMenu and IsWNT and
+ IsMouseInRect( TScrollingWinControl(FMenu.Owner), origrect) then // +jt
+ begin
+ ACanvas.brush.Style := bsSolid;
+ ACanvas.brush.color := FFSelectColor;
+ DrawTopMenuBorder := true;
+ ACanvas.Pen.color := FFSelectBorderColor;
+ ACanvas.Rectangle(ARect.Left, ARect.Top, ARect.Right - 7, ARect.Bottom);
+ end;
+ end;
+
+
+ if (FMenuItem.Checked) or (FMenuItem.RadioItem ) then //x
+ DrawCheckedItem(FMenuItem, Selected, FMenuItem.Enabled, HasImgLstBitmap or HasBitmap,
+ ACanvas, CheckedRect);
+
+ if (B <> nil) and (B.Width > 0) then // X
+ DrawIcon(FMenuItem, ACanvas, B, IconRect,
+ Selected or DrawTopMenuBorder, False, FMenuItem.Enabled, FMenuItem.Checked,
+ FTopMenu, FMenu.IsRightToLeft);
+
+
+
+ if not IsLine then
+ begin
+
+ if FMenu.IsRightToLeft then
+ begin
+ TextFormat := DT_RIGHT + DT_RTLREADING;
+ Dec(TextRect.Right, 3);
+ end
+ else
+ begin
+ TextFormat := 0;
+ Inc(TextRect.Left, 3);
+ end;
+ TextRect.Top := TextRect.Top +
+ ((TextRect.Bottom - TextRect.Top) - ACanvas.TextHeight('W')) div 2;
+ FFontSettings := FUCXPSettings.Font;
+ DrawTheText(FMenuItem, txt, ShortCutToText(FMenuItem.ShortCut),
+ ACanvas, TextRect,
+ Selected, FMenuItem.Enabled, FMenuItem.Default,
+ FTopMenu, FMenu.IsRightToLeft, FFontSettings, TextFormat);
+ FUCXPSettings.Font := FFontSettings;
+ end
+ else
+ begin
+ if FMenu.IsRightToLeft then
+ begin
+ X1 := TextRect.Left;
+ X2 := TextRect.Right - 7;
+ end
+ else
+ begin
+ X1 := TextRect.Left + 7;
+ X2 := TextRect.Right;
+ end;
+
+ ACanvas.Pen.Color := FFSeparatorColor;
+ ACanvas.MoveTo(X1,
+ TextRect.Top +
+ Round((TextRect.Bottom - TextRect.Top) / 2));
+ ACanvas.LineTo(X2,
+ TextRect.Top +
+ Round((TextRect.Bottom - TextRect.Top) / 2))
+ end;
+
+ // +jt
+ BitBlt(origcanvas.Handle,origrect.Left,origrect.Top,buff.Width,buff.Height,ACanvas.Handle,0,0,SRCCOPY);
+ finally
+ B.free;
+ buff.free;
+ ACanvas := OrigCanvas;
+ ARect:=origrect;
+ end;
// +jt
+ if not (csDesigning in ComponentState) then
+ begin
+ if (FUCXPSettings.FlatMenu) and (not FTopMenu) then
+ begin
+ hDcM := ACanvas.Handle;
+ hWndM := WindowFromDC(hDcM);
+// +jt
+ if (hWndM=0) and (Application.Handle<>0) then
+ begin
+ if not PeekMessage(msg,Application.Handle,WM_DRAWMENUBORDER,WM_DRAWMENUBORDER2,PM_NOREMOVE) then
+ PostMessage(Application.Handle,WM_DRAWMENUBORDER,0,Integer(FMenuItem));
+ end
+ else
+ if hWndM <> FForm.Handle then
+ begin
+ if not PeekMessage(msg,Application.Handle,WM_DRAWMENUBORDER,WM_DRAWMENUBORDER2,PM_NOREMOVE) then
+ PostMessage(Application.Handle,WM_DRAWMENUBORDER2,integer(FMenu.IsRightToLeft),Integer(hWndM));
+ end;
+ end;
+ end;
+
+//-----
+
+end;
+
+{$IFDEF VER5U}
+procedure TUCXPStyle.ToolBarDrawButton(Sender: TToolBar;
+ Button: TToolButton; State: TCustomDrawState; var DefaultDraw: Boolean);
+
+var
+ ACanvas: TCanvas;
+
+ ARect, HoldRect: TRect;
+ B: TBitmap;
+ HasBitmap: boolean;
+ {Sylvain ...}
+ HasHotBitMap : Boolean;
+ HasDisBitMap : Boolean;
+ ImglstHand : THandle;
+ CanDraw : Boolean;
+ {... Sylvain}
+ BitmapWidth: integer;
+ TextFormat: integer;
+ XButton: TToolButton;
+ HasBorder: boolean;
+ HasBkg: boolean;
+ IsTransparent: boolean;
+ FBSelectColor: TColor;
+ FFontSettings: TFont; {fduenas}
+ procedure DrawBorder;
+ var
+ BRect, WRect: TRect;
+ procedure DrawRect;
+ begin
+ ACanvas.Pen.color := FFSelectBorderColor;
+ ACanvas.MoveTo(WRect.Left, WRect.Top);
+ ACanvas.LineTo(WRect.Right, WRect.Top);
+ ACanvas.LineTo(WRect.Right, WRect.Bottom);
+ ACanvas.LineTo(WRect.Left, WRect.Bottom);
+ ACanvas.LineTo(WRect.Left, WRect.Top);
+ end;
+
+ begin
+ BRect := HoldRect;
+ Dec(BRect.Bottom, 1);
+ Inc(BRect.Top, 1);
+ Dec(BRect.Right, 1);
+
+ WRect := BRect;
+ if Button.Style = tbsDropDown then
+ begin
+ Dec(WRect.Right, 13);
+ DrawRect;
+
+ WRect := BRect;
+ Inc(WRect.Left, WRect.Right - WRect.Left - 13);
+ DrawRect;
+ end
+ else
+ begin
+
+ DrawRect;
+ end;
+ end;
+
+begin
+
+ B := nil;
+
+ {Added By Sylvain ...}
+ HasHotBitmap := (Sender.HotImages <> nil) and
+ (Button.ImageIndex <> -1) and
+ (Button.ImageIndex <= Sender.HotImages.Count - 1);
+
+
+ HasDisBitmap := (Sender.DisabledImages <> nil) and
+ (Button.ImageIndex <> -1) and
+ (Button.ImageIndex <= Sender.DisabledImages.Count - 1);
+ {...Sylvain}
+
+ HasBitmap := (Sender.Images <> nil) and
+ (Button.ImageIndex <> -1) and
+ (Button.ImageIndex <= Sender.Images.Count - 1);
+
+
+ IsTransparent := Sender.Transparent;
+
+ ACanvas := Sender.Canvas;
+
+ //SetGlobalColor(ACanvas);
+ if (FUCXPSettings.ColorsChanged) then SetGlobalColor(ACanvas); // +jt
+
+ if (Is16Bit) and (not FUCXPSettings.UseSystemColors) then
+ FBSelectColor := NewColor(ACanvas, FUCXPSettings.SelectColor, 68)
+ else
+ FBSelectColor := FFSelectColor;
+
+
+ HoldRect := Button.BoundsRect;
+
+ ARect := HoldRect;
+
+ if Is16Bit then
+ ACanvas.brush.color := NewColor(ACanvas, Sender.Color, 16)
+ else
+ ACanvas.brush.color := Sender.Color;
+
+ if not IsTransparent then
+ ACanvas.FillRect(ARect);
+
+ HasBorder := false;
+ HasBkg := false;
+
+ if (cdsHot in State) then
+ begin
+ if (cdsChecked in State) or (Button.Down) or (cdsSelected in State) then
+ ACanvas.Brush.Color := FCheckedAreaSelectColor
+ else
+ ACanvas.brush.color := FBSelectColor;
+ HasBorder := true;
+ HasBkg := true;
+ end;
+
+ if ((cdsChecked in State) and not (cdsHot in State)) then
+ begin
+ ACanvas.Brush.Color := FCheckedAreaColor;
+ HasBorder := true;
+ HasBkg := true;
+ end;
+
+ if (cdsIndeterminate in State) and not (cdsHot in State) then
+ begin
+ ACanvas.Brush.Color := FBSelectColor;
+ HasBkg := true;
+ end;
+
+
+ if (Button.MenuItem <> nil) and (State = []) then
+ begin
+ ACanvas.brush.color := Sender.Color;
+ if not IsTransparent then
+ HasBkg := true;
+ end;
+
+
+ Inc(ARect.Top, 1);
+
+
+
+ if HasBkg then
+ ACanvas.FillRect(ARect);
+
+ if HasBorder then
+ DrawBorder;
+
+
+ if ((Button.MenuItem <> nil) or (Button.DropdownMenu <> nil))
+ and (cdsSelected in State) then
+ begin
+ DrawTopMenuItem(Button, ACanvas, ARect, Sender.Color ,false);
+ DefaultDraw := false;
+ end;
+
+ ARect := HoldRect;
+ DefaultDraw := false;
+
+
+ if Button.Style = tbsDropDown then
+ begin
+ ACanvas.Pen.Color := clBlack;
+ DrawArrow(ACanvas, (ARect.Right - 14) + ((14 - 5) div 2),
+ ARect.Top + ((ARect.Bottom - ARect.Top - 3) div 2) + 1);
+ end;
+
+ BitmapWidth := 0;
+{ Rem by Sylvain ...
+ if HasBitmap then
+ begin
+... Sylvain}
+ try
+ B := TBitmap.Create;
+ CanDraw := False;
+ ImglstHand:=0;
+ if (cdsHot in State) AND HasHotBitmap then
+ begin
+ B.Width := Sender.HotImages.Width;
+ B.Height := Sender.HotImages.Height;
+ ImglstHand := Sender.HotImages.Handle;
+ CanDraw := True;
+ end
+ else if (cdsDisabled in State) and HasDisBitmap then
+ begin
+ B.Width := Sender.DisabledImages.Width;
+ B.Height := Sender.DisabledImages.Height;
+ ImglstHand := Sender.DisabledImages.Handle;
+ CanDraw := True;
+ end
+ else if HasBitMap then
+ begin
+ B.Width := Sender.Images.Width;
+ B.Height := Sender.Images.Height;
+ ImglstHand := Sender.Images.Handle;
+ CanDraw := True;
+ end;
+ if CanDraw then
+ begin {CanDraw}
+ // B.Canvas.Brush.Color := TransparentColor; // ACanvas.Brush.Color; // +jt
+ B.Canvas.Brush.Color := B.Canvas.Pixels[0, B.Height - 1];//"Todd Asher"
+ B.Canvas.FillRect(Rect(0, 0, B.Width, B.Height));
+ ImageList_DrawEx(ImglstHand, Button.ImageIndex,
+ B.Canvas.Handle, 0, 0, 0, 0, clNone, clNone, ILD_Transparent);
+
+ BitmapWidth := b.Width;
+
+ if Button.Style = tbsDropDown then
+ Dec(ARect.Right, 12);
+
+
+ if TToolBar(Button.Parent).List then
+ begin
+
+ if Button.BiDiMode = bdRightToLeft then
+ begin
+ Dec(ARect.Right, 3);
+ ARect.Left := ARect.Right - BitmapWidth;
+
+ end
+ else
+ begin
+ Inc(ARect.Left, 3);
+ ARect.Right := ARect.Left + BitmapWidth
+ end
+
+
+ end
+ else
+ ARect.Left := Round(ARect.Left + (ARect.Right - ARect.Left - B.Width)/2);
+
+ inc(ARect.Top, 2);
+ ARect.Bottom := ARect.Top + B.Height + 6;
+
+ DrawIcon(Button, ACanvas, B, ARect, (cdsHot in State),
+ (cdsSelected in State), Button.Enabled, (cdsChecked in State), false,
+ false);
+
+ end; {CanDraw}
+ finally
+ B.Free;
+ end;
+ ARect := HoldRect;
+ DefaultDraw := false;
+{rem by sylvain ...
+ end;
+...Sylvain}
+//-----------
+
+ if Sender.ShowCaptions then
+ begin
+
+ if Button.Style = tbsDropDown then
+ Dec(ARect.Right, 12);
+
+
+ if not TToolBar(Button.Parent).List then
+ begin
+ TextFormat := DT_Center;
+
+ ARect.Top := ARect.Bottom - ACanvas.TextHeight(Button.Caption) - 6;
+ end
+ else
+ begin
+ TextFormat := DT_VCENTER;
+ if Button.BiDiMode = bdRightToLeft then
+ begin
+ TextFormat := TextFormat + DT_Right;
+ Dec(ARect.Right, BitmapWidth + 7);
+ end
+ else
+ begin
+ if BitmapWidth > 0 then //"Dan Downs"
+ if Sender.List then //Michaël Moreno
+ Inc(ARect.Left, BitmapWidth + 6)
+ else
+ Inc(ARect.Left, BitmapWidth);
+ end
+
+ end;
+
+ if (Button.MenuItem <> nil) then
+ begin
+ TextFormat := DT_Center;
+ //Inc(ARect.Left, 1);
+ end;
+
+ if Button.BiDiMode = bdRightToLeft then
+ TextFormat := TextFormat + DT_RTLREADING;
+
+ if Button.Down and not Button.Enabled then //"felix" 23/5
+ InflateRect(ARect, -1, -1);
+
+ {alexs alexs75@hotbox.ru}
+ ARect.Top := ARect.Top + ((ARect.Bottom - ARect.Top) - ACanvas.TextHeight('W')) div 2;
+ FFontSettings := FUCXPSettings.Font;
+ DrawTheText(Button, Button.Caption, '',
+ ACanvas, ARect,
+ (cdsSelected in State), Button.Enabled, false,
+ (Button.MenuItem <> nil),
+ (Button.BidiMode = bdRightToLeft), FFontSettings, TextFormat);
+ FUCXPSettings.Font := FFontSettings;
+ ARect := HoldRect;
+ DefaultDraw := false;
+ end;
+
+
+ if Button.Index > 0 then
+ begin
+ XButton := {TToolBar(Button.Parent)}Sender.Buttons[Button.Index - 1];
+ if (XButton.Style = tbsDivider) or (XButton.Style = tbsSeparator) then
+ begin
+ ARect := XButton.BoundsRect;
+ if Is16Bit then
+ ACanvas.brush.color := NewColor(ACanvas, Sender.Color, 16)
+ else
+ ACanvas.brush.color := Sender.Color;
+
+ if not IsTransparent then
+ ACanvas.FillRect(ARect);
+ // if (XButton.Style = tbsDivider) then // Can't get it.
+ if XButton.Tag > 0 then
+ begin
+ Inc(ARect.Top, 2);
+ Dec(ARect.Bottom, 1);
+
+ ACanvas.Pen.color := GetShadeColor(ACanvas,Sender.Color,30);
+ ARect.Left := ARect.Left + (ARect.Right - ARect.Left) div 2;
+ ACanvas.MoveTo(ARect.Left, ARect.Top);
+ ACanvas.LineTo(ARect.Left, ARect.Bottom);
+
+ end;
+ ARect := Button.BoundsRect;
+ DefaultDraw := false;
+ end;
+
+ end;
+
+ {if Button.MenuItem <> nil then
+ if (xcMainMenu in UCXPControls) then
+ ActivateMenuItem(Button.MenuItem);}
+end;
+{$ENDIF}
+
+// Controlbar Paint. Added by Michiel van Oudheusden (27 sep 2001)
+// Paints the bands of a controlbar like the office XP style
+procedure TUCXPStyle.ControlBarPaint(Sender: TObject; Control: TControl;
+ Canvas: TCanvas; var ARect: TRect; var Options: TBandPaintOptions);
+var
+ i: Integer;
+ intInc: integer;
+begin
+
+ if(FUCXPSettings.ColorsChanged) then SetGlobalColor(Canvas); // +jt
+ // No frame and grabber drawing. We do it ourselfes
+ Options := [];
+
+ // First background
+
+ if Is16Bit then
+ Canvas.brush.color := NewColor(Canvas, TControlBar(Sender).Color , 6)
+ else
+ Canvas.brush.color := TControlBar(Sender).Color;
+
+ Canvas.FillRect(ARect);
+
+ intInc := 30;
+ for i := (ARect.Top + 5) to (ARect.Bottom - 5)do
+ begin
+ Canvas.Pen.Color := GetShadeColor(Canvas, TControlBar(Sender).Color, intInc);
+ if i mod 2 = 0 then
+ begin
+ Canvas.MoveTo(ARect.Left + 3, i);
+ Canvas.LineTo(ARect.Left + 6, i);
+ Inc(intInc, 7);
+ end;
+ end;
+
+end;
+
+procedure TUCXPStyle.SetGlobalColor(ACanvas: TCanvas);
+begin
+//-----
+ FUCXPSettings.ColorsChanged:=false; // +jt
+
+ if GetDeviceCaps(ACanvas.Handle, BITSPIXEL) < 16 then
+ Is16Bit := false
+ else
+ Is16Bit := true;
+
+
+ FDimParentColor := 16;
+ FDimParentColorSelect := 40;
+
+ FFColor := FUCXPSettings.Color;
+ FFIconBackColor := FUCXPSettings.IconBackColor;
+
+ if Is16Bit then
+ begin
+ if FUCXPSettings.UseDimColor then
+ begin
+ FFSelectColor := NewColor(ACanvas, FUCXPSettings.SelectColor, 68);
+ FCheckedAreaColor := NewColor(ACanvas, FUCXPSettings.SelectColor, 80);
+ FCheckedAreaSelectColor := NewColor(ACanvas, FUCXPSettings.SelectColor, 50);
+ end
+ else
+ begin
+ FFSelectColor := FUCXPSettings.SelectColor;
+ FCheckedAreaColor := FUCXPSettings.SelectColor;
+ FCheckedAreaSelectColor := FUCXPSettings.SelectColor;
+ end;
+
+ FMenuBorderColor := GetShadeColor(ACanvas, clBtnFace, 90);
+ FMenuShadowColor := GetShadeColor(ACanvas, clBtnFace, 76);
+ end
+ else
+ begin
+ FFSelectColor := FUCXPSettings.SelectColor;
+ FCheckedAreaColor := clWhite;
+ FCheckedAreaSelectColor := clSilver;
+ FMenuBorderColor := clBtnShadow;
+ FMenuShadowColor := clBtnShadow;
+ end;
+
+ FFSelectBorderColor := FUCXPSettings.SelectBorderColor;
+ FFSelectFontColor := FUCXPSettings.SelectFontColor;
+ FFMenuBarColor := FUCXPSettings.MenuBarColor;
+ FFDisabledColor := FUCXPSettings.DisabledColor;
+ FFCheckedColor := FUCXPSettings.CheckedColor;
+ FFSeparatorColor := FUCXPSettings.SeparatorColor;
+
+
+
+ if FUCXPSettings.UseSystemColors then
+ begin
+// GetSystemMenuFont(FUCXPSettings.Font);
+ FFSelectFontColor := FUCXPSettings.Font.Color;
+ if not Is16Bit then
+ begin
+ FFColor := clWhite;
+ FFIconBackColor := clBtnFace;
+ FFSelectColor := clWhite;
+ FFSelectBorderColor := clHighlight;
+ FFMenuBarColor := FFIconBackColor;
+ FFDisabledColor := clBtnShadow;
+ FFCheckedColor := clHighlight;
+ FFSeparatorColor := clBtnShadow;
+ FCheckedAreaColor := clWhite;
+ FCheckedAreaSelectColor := clWhite;
+
+ end
+ else
+ begin
+ FFColor := NewColor(ACanvas, clBtnFace, 86);
+ FFIconBackColor := NewColor(ACanvas, clBtnFace, 16);
+ FFSelectColor := NewColor(ACanvas, clHighlight, 68);
+ FFSelectBorderColor := clHighlight;
+ FFMenuBarColor := clBtnFace;
+
+ FFDisabledColor := NewColor(ACanvas, clBtnShadow, 10);
+ FFSeparatorColor := NewColor(ACanvas, clBtnShadow, 25);
+ FFCheckedColor := clHighlight;
+ FCheckedAreaColor := NewColor(ACanvas, clHighlight, 80);
+ FCheckedAreaSelectColor := NewColor(ACanvas, clHighlight, 50);
+
+ end;
+ end;
+
+end;
+
+procedure TUCXPStyle.DrawTopMenuItem(Sender: TObject; ACanvas: TCanvas;
+ ARect: TRect; BckColor:Tcolor; IsRightToLeft: boolean);
+var
+ X1, X2: integer;
+ DefColor, HoldColor: TColor;
+begin
+ X1 := ARect.Left;
+ X2 := ARect.Right;
+
+
+ ACanvas.brush.Style := bsSolid;
+ ACanvas.brush.color := FFSelectColor;
+
+ ACanvas.FillRect(ARect);
+ ACanvas.Pen.Color := FFSelectBorderColor;
+
+ if (not IsRightToLeft) and (Is16Bit) and (Sender is TMenuItem) then
+ begin
+ ACanvas.MoveTo(X1, ARect.Bottom - 1);
+ ACanvas.LineTo(X1, ARect.Top);
+ ACanvas.LineTo(X2 - 8, ARect.Top);
+ ACanvas.LineTo(X2 - 8, ARect.Bottom);
+// ACanvas.LineTo(X1, ARect.Bottom);
+
+ DefColor := FFMenuBarColor;
+
+
+ HoldColor := GetShadeColor(ACanvas, DefColor, 10);
+ ACanvas.Brush.Style := bsSolid;
+ ACanvas.Brush.Color := HoldColor;
+ ACanvas.Pen.Color := HoldColor;
+
+ ACanvas.FillRect(Rect(X2 - 7, ARect.Top, X2, ARect.Bottom));
+
+ HoldColor := GetShadeColor(ACanvas, DefColor, 30);
+ ACanvas.Brush.Color := HoldColor;
+ ACanvas.Pen.Color := HoldColor;
+ ACanvas.FillRect(Rect(X2 - 7, ARect.Top + 3, X2 - 2, ARect.Bottom));
+
+ HoldColor := GetShadeColor(ACanvas, DefColor, 40 + 20);
+ ACanvas.Brush.Color := HoldColor;
+ ACanvas.Pen.Color := HoldColor;
+ ACanvas.FillRect(Rect(X2 - 7, ARect.Top + 5, X2 - 3, ARect.Bottom));
+
+ HoldColor := GetShadeColor(ACanvas, DefColor, 60 + 40);
+ ACanvas.Brush.Color := HoldColor;
+ ACanvas.Pen.Color := HoldColor;
+ ACanvas.FillRect(Rect(X2 - 7, ARect.Top + 6, X2 - 5, ARect.Bottom));
+
+ //---
+
+ ACanvas.Pen.Color := DefColor;
+ ACanvas.MoveTo(X2 - 5, ARect.Top + 1);
+ ACanvas.LineTo(X2 - 1, ARect.Top + 1);
+ ACanvas.LineTo(X2 - 1, ARect.Top + 6);
+
+ ACanvas.MoveTo(X2 - 3, ARect.Top + 2);
+ ACanvas.LineTo(X2 - 2, ARect.Top + 2);
+ ACanvas.LineTo(X2 - 2, ARect.Top + 3);
+ ACanvas.LineTo(X2 - 3, ARect.Top + 3);
+
+
+
+ ACanvas.Pen.Color := GetShadeColor(ACanvas, DefColor, 10);
+ ACanvas.MoveTo(X2 - 6, ARect.Top + 3);
+ ACanvas.LineTo(X2 - 3, ARect.Top + 3);
+ ACanvas.LineTo(X2 - 3, ARect.Top + 6);
+ ACanvas.LineTo(X2 - 4, ARect.Top + 6);
+ ACanvas.LineTo(X2 - 4, ARect.Top + 3);
+
+ ACanvas.Pen.Color := GetShadeColor(ACanvas, DefColor, 30);
+ ACanvas.MoveTo(X2 - 5, ARect.Top + 5);
+ ACanvas.LineTo(X2 - 4, ARect.Top + 5);
+ ACanvas.LineTo(X2 - 4, ARect.Top + 9);
+
+ ACanvas.Pen.Color := GetShadeColor(ACanvas, DefColor, 40);
+ ACanvas.MoveTo(X2 - 6, ARect.Top + 5);
+ ACanvas.LineTo(X2 - 6, ARect.Top + 7);
+
+ end
+ else
+ begin
+
+ ACanvas.Pen.Color := FFSelectBorderColor;
+ ACanvas.Brush.Color := GetShadeColor(ACanvas, BckColor, 70);
+
+ ACanvas.MoveTo(X1, ARect.Bottom - 1);
+ ACanvas.LineTo(X1, ARect.Top);
+ ACanvas.LineTo(X2 - 3, ARect.Top);
+ ACanvas.LineTo(X2 - 3, ARect.Bottom);
+
+
+ ACanvas.Pen.Color := ACanvas.Brush.Color;
+ ACanvas.FillRect(Rect(X2 - 2, ARect.Top + 2, X2, ARect.Bottom));
+
+ ACanvas.Brush.Color := BckColor;
+ ACanvas.FillRect(Rect(X2 - 2, ARect.Top , X2, ARect.Top + 2));
+
+
+ end;
+
+end;
+
+
+procedure TUCXPStyle.DrawCheckedItem(FMenuItem: TMenuItem; Selected, Enabled,
+ HasImgLstBitmap: boolean; ACanvas: TCanvas; CheckedRect: TRect);
+var
+ X1, X2: integer;
+begin
+ if FMenuItem.RadioItem then
+ begin
+ if FMenuItem.Checked then
+ begin
+ if Enabled then
+ begin
+ ACanvas.Pen.color := FFSelectBorderColor;
+ if selected then
+ ACanvas.Brush.Color := FCheckedAreaSelectColor
+ else
+ ACanvas.Brush.Color := FCheckedAreaColor;
+ end
+ else
+ ACanvas.Pen.color := FFDisabledColor;
+
+ ACanvas.Brush.Style := bsSolid;
+ if HasImgLstBitmap then
+ begin
+ ACanvas.RoundRect(CheckedRect.Left, CheckedRect.Top,
+ CheckedRect.Right, CheckedRect.Bottom,
+ 6, 6);
+ end
+ else
+ begin
+ ACanvas.Ellipse(CheckedRect.Left, CheckedRect.Top,
+ CheckedRect.Right, CheckedRect.Bottom);
+// +jt
+ InflateRect(CheckedRect, -2, -2);
+ ACanvas.Brush.color := ACanvas.Pen.Color;
+ ACanvas.Ellipse(CheckedRect.Left, CheckedRect.Top,
+ CheckedRect.Right, CheckedRect.Bottom);
// +jt
+ end;
+ end;
+ end
+ else
+ begin
+ if (FMenuItem.Checked) then
+ if (not HasImgLstBitmap) then
+ begin
+ if Enabled then
+ begin
+ ACanvas.Pen.color := FFCheckedColor;
+ if selected then
+ ACanvas.Brush.Color := FCheckedAreaSelectColor
+ else
+ ACanvas.Brush.Color := FCheckedAreaColor; ;
+ end
+ else
+ ACanvas.Pen.color := FFDisabledColor;
+
+ ACanvas.Brush.Style := bsSolid;
+ ACanvas.Rectangle(CheckedRect.Left, CheckedRect.Top,
+ CheckedRect.Right, CheckedRect.Bottom);
+ if Enabled then
+ ACanvas.Pen.color := clBlack
+ else
+ ACanvas.Pen.color := FFDisabledColor;
+ x1 := CheckedRect.Left + 1;
+ x2 := CheckedRect.Top + 5;
+ ACanvas.MoveTo(x1, x2);
+
+ x1 := CheckedRect.Left + 4;
+ x2 := CheckedRect.Bottom - 2;
+ ACanvas.LineTo(x1, x2);
+ //--
+ x1 := CheckedRect.Left + 2;
+ x2 := CheckedRect.Top + 5;
+ ACanvas.MoveTo(x1, x2);
+
+ x1 := CheckedRect.Left + 4;
+ x2 := CheckedRect.Bottom - 3;
+ ACanvas.LineTo(x1, x2);
+ //--
+ x1 := CheckedRect.Left + 2;
+ x2 := CheckedRect.Top + 4;
+ ACanvas.MoveTo(x1, x2);
+
+ x1 := CheckedRect.Left + 5;
+ x2 := CheckedRect.Bottom - 3;
+ ACanvas.LineTo(x1, x2);
+ //-----------------
+
+ x1 := CheckedRect.Left + 4;
+ x2 := CheckedRect.Bottom - 3;
+ ACanvas.MoveTo(x1, x2);
+
+ x1 := CheckedRect.Right + 2;
+ x2 := CheckedRect.Top - 1;
+ ACanvas.LineTo(x1, x2);
+ //--
+ x1 := CheckedRect.Left + 4;
+ x2 := CheckedRect.Bottom - 2;
+ ACanvas.MoveTo(x1, x2);
+
+ x1 := CheckedRect.Right - 2;
+ x2 := CheckedRect.Top + 3;
+ ACanvas.LineTo(x1, x2);
+
+ end
+ else
+ begin
+
+
+ if Enabled then
+ begin
+ ACanvas.Pen.color := FFSelectBorderColor;
+ if selected then
+ ACanvas.Brush.Color := FCheckedAreaSelectColor
+ else
+ ACanvas.Brush.Color := FCheckedAreaColor; ;
+ end
+ else
+ ACanvas.Pen.color := FFDisabledColor;
+
+ ACanvas.Brush.Style := bsSolid;
+ ACanvas.Rectangle(CheckedRect.Left, CheckedRect.Top,
+ CheckedRect.Right, CheckedRect.Bottom);
+ end;
+ end;
+
+end;
+
+procedure TUCXPStyle.DrawTheText(Sender: TObject; txt, ShortCuttext: string;
+ ACanvas: TCanvas; TextRect: TRect;
+ Selected, Enabled, Default, TopMenu, IsRightToLeft: boolean;
+ var TxtFont: TFont; TextFormat: integer);
+var
+ DefColor: TColor;
+ B: TBitmap;
+ BRect: TRect;
+begin
+ TextFormat := TextFormat + DT_EXPANDTABS;
+ DefColor := TxtFont.Color;
+
+ ACanvas.Font.Assign (TxtFont);
+
+ if Selected then
+ DefColor := FFSelectFontColor;
+
+ If not Enabled then
+ begin
+ DefColor := FFDisabledColor;
+
+ if (Sender is TToolButton) then
+ begin
+ TextRect.Top := TextRect.Top +
+ ((TextRect.Bottom - TextRect.Top) - ACanvas.TextHeight('W')) div 2;
+ B := TBitmap.Create;
+ try
+ B.Width := TextRect.Right - TextRect.Left;
+ B.Height := TextRect.Bottom - TextRect.Top;
+ BRect := Rect(0,0,B.Width, B.Height);
+
+
+ B.Canvas.Brush.Color := ACanvas.Brush.Color;
+ B.Canvas.FillRect (BRect);
+ // B.Canvas.Font := FUCXPSettings.Font; //felix added for resolving font problems in Win98
+ //27.08
+ B.Canvas.Font.color := DefColor;
+
+ DrawtextEx(B.Canvas.Handle,
+ PChar(txt),
+ Length(txt),
+ BRect, TextFormat + DT_VCENTER, nil);
+ ACanvas.CopyRect(TextRect, B.Canvas, BRect);
+ finally
+ B.Free;
+ end;
+ exit;
+ end;
+
+ end;
+
+ if (TopMenu and Selected) then
+ if FUCXPSettings.UseSystemColors then
+ DefColor := TopMenuFontColor(ACanvas, FFIconBackColor);
+
+ ACanvas.Font.color := DefColor; // will not affect Buttons
+
+ SetBkMode(ACanvas.Handle, TRANSPARENT);
+
+
+ if Default and Enabled then
+ begin
+
+ Inc(TextRect.Left, 1);
+ ACanvas.Font.color := GetShadeColor(ACanvas,
+ ACanvas.Pixels[TextRect.Left, TextRect.Top], 30);
+ DrawtextEx(ACanvas.Handle,
+ PChar(txt),
+ Length(txt),
+ TextRect, TextFormat, nil);
+ Dec(TextRect.Left, 1);
+
+
+ Inc(TextRect.Top, 2);
+ Inc(TextRect.Left, 1);
+ Inc(TextRect.Right, 1);
+
+
+ ACanvas.Font.color := GetShadeColor(ACanvas,
+ ACanvas.Pixels[TextRect.Left, TextRect.Top], 30);
+ DrawtextEx(ACanvas.Handle,
+ PChar(txt),
+ Length(txt),
+ TextRect, TextFormat, nil);
+
+
+ Dec(TextRect.Top, 1);
+ Dec(TextRect.Left, 1);
+ Dec(TextRect.Right, 1);
+
+ ACanvas.Font.color := GetShadeColor(ACanvas,
+ ACanvas.Pixels[TextRect.Left, TextRect.Top], 40);
+ DrawtextEx(ACanvas.Handle,
+ PChar(txt),
+ Length(txt),
+ TextRect, TextFormat, nil);
+
+
+ Inc(TextRect.Left, 1);
+ Inc(TextRect.Right, 1);
+
+ ACanvas.Font.color := GetShadeColor(ACanvas,
+ ACanvas.Pixels[TextRect.Left, TextRect.Top], 60);
+ DrawtextEx(ACanvas.Handle,
+ PChar(txt),
+ Length(txt),
+ TextRect, TextFormat, nil);
+
+ Dec(TextRect.Left, 1);
+ Dec(TextRect.Right, 1);
+ Dec(TextRect.Top, 1);
+
+ ACanvas.Font.color := DefColor;
+ end;
+
+ DrawtextEx(ACanvas.Handle,
+ PChar(txt),
+ Length(txt),
+ TextRect, TextFormat, nil);
+
+
+ txt := ShortCutText + ' ';
+ {
+ if not Is16Bit then
+ ACanvas.Font.color := DefColor
+ else
+ ACanvas.Font.color := GetShadeColor(ACanvas, DefColor, -40);
+ }
+
+
+ if IsRightToLeft then
+ begin
+ Inc(TextRect.Left, 10);
+ TextFormat := DT_LEFT
+ end
+ else
+ begin
+ Dec(TextRect.Right, 10);
+ TextFormat := DT_RIGHT;
+ end;
+
+
+ DrawtextEx(ACanvas.Handle,
+ PChar(txt),
+ Length(txt),
+ TextRect, TextFormat, nil);
+
+end;
+
+procedure TUCXPStyle.DrawIcon(Sender: TObject; ACanvas: TCanvas; B: TBitmap;
+ IconRect: Trect; Hot, Selected, Enabled, Checked, FTopMenu,
+ IsRightToLeft: boolean);
+var
+ DefColor: TColor;
+ X, Y: integer;
+begin
+
+ if (B <> nil) and (B.Width > 0) then
+ begin
+ X := IconRect.Left;
+ Y := IconRect.Top + 1;
+
+ if (Sender is TMenuItem) then
+ begin
+ inc(Y, 2);
+ if FUCXPSettings.IconWidth > B.Width then
+ X := X + ((FUCXPSettings.IconWidth - B.Width) div 2) - 1
+ else
+ begin
+ if IsRightToLeft then
+ X := IconRect.Right - b.Width - 2
+ else
+ X := IconRect.Left + 2;
+ end;
+ end;
+
+ if FTopMenu then
+ begin
+ if IsRightToLeft then
+ X := IconRect.Right - b.Width - 5
+ else
+ X := IconRect.Left + 1;
+ end;
+
+ if (Hot) and (FTopMenu) and (Enabled) then
+ if not Selected then
+ begin
+ dec(X, 1);
+ dec(Y, 2);
+ end;
+
+ if (Hot) and (not FTopMenu) and (Enabled) and (not Checked) then
+ if not Selected then
+ begin
+ dec(X, 1);
+ dec(Y, 1);
+ end;
+
+ if (not Hot) and (Enabled) and (not Checked) then
+ if Is16Bit then
+ DimBitmap(B, FUCXPSettings.DimLevel{30});
+
+
+ if not Enabled then
+ begin
+ GrayBitmap(B, FUCXPSettings.GrayLevel );
+ DimBitmap(B, 40);
+ end;
+
+ if (Hot) and (Enabled) and (not Checked) then
+ begin
+ if (Is16Bit) and (not FUCXPSettings.UseSystemColors) and (Sender is TToolButton) then
+ DefColor := NewColor(ACanvas, FUCXPSettings.SelectColor, 68)
+ else
+ DefColor := FFSelectColor;
+
+ DefColor := GetShadeColor(ACanvas, DefColor, 50);
+ DrawBitmapShadow(B, ACanvas, X + 2, Y + 2, DefColor);
+ end;
+
+ B.Transparent := true;
+ ACanvas.Draw(X, Y, B);
+ end;
+
+end;
+
+
+function TUCXPStyle.TopMenuFontColor(ACanvas: TCanvas; Color: TColor): TColor;
+var
+ r, g, b, avg: integer;
+begin
+
+ Color := ColorToRGB(Color);
+ r := Color and $000000FF;
+ g := (Color and $0000FF00) shr 8;
+ b := (Color and $00FF0000) shr 16;
+
+ Avg := (r + b) div 2;
+
+ if (Avg > 150) or (g > 200) then
+ Result := FUCXPSettings.Font.Color
+ else
+ Result := NewColor(ACanvas, Color, 90);
+
+end;
+
+procedure TUCXPStyle.SetDisableSubclassing(const Value: boolean);
+begin
+ if Value = FDisableSubclassing then Exit;
+ FDisableSubClassing := Value;
+ if UCXPStyleManager.ActiveXPStyle = Self then
+ UCXPStyleManager.UpdateActiveXPStyle(Self)
+ else
+ if (UCXPStyleManager.ActiveXPStyle = nil) and not(FDisableSubclassing) then
+ UCXPStyleManager.UpdateActiveXPStyle(nil);
+end;
+
+
+procedure TUCXPStyle.SetActive(const Value: boolean);
+begin
+ //if Value = FActive then exit;
+
+ FActive := Value;
+ if FActive then
+ InitItems(FForm, true, true)
+ else
+ InitItems(FForm, false, true);
+
+ if FForm.Handle <> 0 then
+ Windows.DrawMenuBar(FForm.Handle);
+end;
+
+procedure TUCXPStyle.SetForm(const Value: TScrollingWinControl);
+var
+ Hold: boolean;
+begin
+ if Value <> FForm then
+ begin
+ Hold := Active;
+ Active := false;
+ FForm := Value;
+ if Hold then
+ Active := True;
+ end;
+end;
+
+{moved to UCXPSettings
+
+procedure TUCXPStyle.SetFont(const Value: TFont);
+begin
+ FFont.Assign(Value);
+ Windows.DrawMenuBar(FForm.Handle);
+
+end;
+
+procedure TUCXPStyle.SetColor(const Value: TColor);
+begin
+ FColor := Value;
+ FColorsChanged := true; // +jt
+end;
+
+procedure TUCXPStyle.SetIconBackColor(const Value: TColor);
+begin
+ FIconBackColor := Value;
+ FColorsChanged := true; // +jt
+end;
+
+procedure TUCXPStyle.SetMenuBarColor(const Value: TColor);
+begin
+ FMenuBarColor := Value;
+ FColorsChanged := true; // +jt
+ Windows.DrawMenuBar(FForm.Handle);
+end;
+
+procedure TUCXPStyle.SetCheckedColor(const Value: TColor);
+begin
+ FCheckedColor := Value;
+ FColorsChanged := true; // +jt
+end;
+
+procedure TUCXPStyle.SetSeparatorColor(const Value: TColor);
+begin
+ FSeparatorColor := Value;
+ FColorsChanged := true; // +jt
+end;
+
+procedure TUCXPStyle.SetSelectBorderColor(const Value: TColor);
+begin
+ FSelectBorderColor := Value;
+ FColorsChanged := true; // +jt
+end;
+
+procedure TUCXPStyle.SetSelectColor(const Value: TColor);
+begin
+ FSelectColor := Value;
+ FColorsChanged := true; // +jt
+end;
+
+procedure TUCXPStyle.SetDisabledColor(const Value: TColor);
+begin
+ FDisabledColor := Value;
+ FColorsChanged := true; // +jt
+end;
+
+procedure TUCXPStyle.SetSelectFontColor(const Value: TColor);
+begin
+ FSelectFontColor := Value;
+ FColorsChanged := true; // +jt
+end;
+
+procedure TUCXPStyle.SetIconWidth(const Value: integer);
+begin
+ FIconWidth := Value;
+end;
+
+procedure TUCXPStyle.SetDrawSelect(const Value: boolean);
+begin
+ FDrawSelect := Value;
+end;
+
+
+
+procedure TUCXPStyle.SetOverrideOwnerDraw(const Value: boolean);
+begin
+ FOverrideOwnerDraw := Value;
+ if FActive then
+ Active := True;
+end;
+
+
+procedure TUCXPStyle.SetUseSystemColors(const Value: boolean);
+begin
+ FUseSystemColors := Value;
+ Windows.DrawMenuBar(FForm.Handle);
+end;
+
+procedure TUCXPStyle.SetGradient(const Value: boolean);
+begin
+ FGradient := Value;
+end;
+
+procedure TUCXPStyle.SetFlatMenu(const Value: boolean);
+begin
+ FFlatMenu := Value;
+end;
+
+procedure TUCXPStyle.SetUCXPContainers(const Value: TUCXPContainers);
+begin
+ if Value <> FXPContainers then
+ begin
+ if FActive then
+ begin
+ FActive := false;
+ InitItems(FForm, false, true);
+ FActive := true;
+ FXPContainers := Value;
+ InitItems(FForm, true, true);
+ end;
+ end;
+ FXPContainers := Value;
+
+end;
+
+procedure TUCXPStyle.SetUCXPControls(const Value: TUCXPControls);
+begin
+ if Value <> FXPControls then
+ begin
+ if FActive then
+ begin
+ FActive := false;
+ InitItems(FForm, false, true);
+ FActive := true;
+ FXPControls := Value;
+ InitItems(FForm, true, true);
+ end;
+ end;
+ FXPControls := Value;
+
+end;
+
+procedure TUCXPStyle.SetDrawMenuBar(const Value: boolean);
+begin
+ FDrawMenuBar := Value;
+end;
+
+procedure TUCXPStyle.SetUseDimColor(const Value: boolean);
+begin
+ FUseDimColor := Value;
+end;
+}{END moved to UCXPSettings}
+
+procedure GetSystemMenuFont(Font: TFont);
+var
+ FNonCLientMetrics: TNonCLientMetrics;
+begin
+ FNonCLientMetrics.cbSize := Sizeof(TNonCLientMetrics);
+ if SystemParametersInfo(SPI_GETNONCLIENTMETRICS, 0, @FNonCLientMetrics,0) then
+ begin
+ Font.Handle := CreateFontIndirect(FNonCLientMetrics.lfMenuFont);
+ Font.Color := clMenuText;
+ end;
+end;
+
+procedure TUCXPStyle.SetUCSettings(const Value: TUCSettings);
+begin
+ FUCSettings := Value;
+ if Value <> nil then Value.FreeNotification(self); //changed by fduenas
+end;
+
+procedure TUCXPStyle.DrawGradient(ACanvas: TCanvas; ARect: TRect;
+ IsRightToLeft: boolean);
+var
+ i: integer;
+ v: integer;
+ FRect: TRect;
+begin
+
+ fRect := ARect;
+ V := 0;
+ if IsRightToLeft then
+ begin
+ fRect.Left := fRect.Right - 1;
+ for i := ARect.Right Downto ARect.Left do
+ begin
+ if (fRect.Left < ARect.Right)
+ and (fRect.Left > ARect.Right - FUCXPSettings.IconWidth + 5) then
+ inc(v, 3)
+ else
+ inc(v, 1);
+
+ if v > 96 then v := 96;
+ ACanvas.Brush.Color := NewColor(ACanvas, FFIconBackColor, v);
+ ACanvas.FillRect(fRect);
+
+ fRect.Left := fRect.Left - 1;
+ fRect.Right := fRect.Left - 1;
+ end;
+ end
+ else
+ begin
+ fRect.Right := fRect.Left + 1;
+ for i := ARect.Left to ARect.Right do
+ begin
+ if (fRect.Left > ARect.Left)
+ and (fRect.Left < ARect.Left + FUCXPSettings.IconWidth + 5) then
+ inc(v, 3)
+ else
+ inc(v, 1);
+
+ if v > 96 then v := 96;
+ ACanvas.Brush.Color := NewColor(ACanvas, FFIconBackColor, v);
+ ACanvas.FillRect(fRect);
+
+ fRect.Left := fRect.Left + 1;
+ fRect.Right := fRect.Left + 1;
+ end;
+ end;
+end;
+
+function MenuWindowProc(hwnd: HWND; uMsg: integer; WParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
+var
+ oldproc: integer;
+ r: TRect;
+ pt: TPoint;
begin
+ if(uMsg=WM_ERASEBKGND) then
+ begin
+ Result:=1;
+ exit;
+end;
+ if((uMsg=WM_SHOWWINDOW) and (not Boolean(WParam))) or (uMsg=WM_CLOSE) or (uMsg=WM_DESTROY) then
+ begin
+ SetWindowRgn(hwnd, 0,false);
+ oldproc:=GetWindowLong(hWnd,GWL_USERDATA);
+ SetWindowLong(hWnd,GWL_WNDPROC,oldproc);
+ SetWindowLong(hWnd,GWL_USERDATA,0);
+ Result:=CallWindowProc(Pointer(oldproc), hwnd, uMsg, wParam, lParam);
+ GetWindowRect(hWnd, r);
+ pt.x:=r.Right+2;
+ pt.y:=r.Top+2;
+ hWnd :=WindowFromPoint(pt);
+ if GetWindowLong(hWnd,GWL_WNDPROC)<>integer(@MenuWindowProc) then
+ begin
+ pt.x:=r.Right+2;
+ pt.y:=r.Bottom-2;
+ hWnd :=WindowFromPoint(pt);
+ if GetWindowLong(hWnd,GWL_WNDPROC)<>integer(@MenuWindowProc) then exit;
+ end;
+ InvalidateRect(hwnd,nil,false);
+ end
+ else Result:=CallWindowProc(Pointer(GetWindowLong(hWnd,GWL_USERDATA)), hwnd, uMsg, wParam, lParam);
end;
+procedure TUCXPStyle.DrawWindowBorder(hWnd: HWND; IsRightToLeft: boolean);
+var
+ WRect: TRect;
+ dCanvas: TCanvas;
+ wDC: HDC; // +jt
+
+ regiontype: integer; // +jt
+ r1,r2,wr,region: HRGN; // +jt
+ rgnr: TRect; // +jt
+begin
+
+
+ if (hWnd <= 0) or (FSettingWindowRng) then
+ begin
+ exit;
+ end;
+// +jt
+ wDC := GetWindowDC(hWnd); //GetDesktopWindow
+ if wDC=0 then exit;
// +jt
+ FSettingWindowRng :=true; // +jt
+ dCanvas := TCanvas.Create;
+ try
+ dCanvas.Handle := wDC; // +jt
+ GetWindowRect(hWnd, WRect);
+ // +jt
+ WRect.Right := WRect.Right-WRect.Left;
+ WRect.Bottom := WRect.Bottom-WRect.Top;
+ WRect.Top:=0;
+ WRect.Left:=0;
+ if GetWindowLong(hWnd,GWL_WNDPROC)<>integer(@MenuWindowProc) then
+ begin
+ SetWindowLong(hWnd,GWL_USERDATA,GetWindowLong(hWnd,GWL_WNDPROC));
+ SetWindowLong(hWnd,GWL_WNDPROC,integer(@MenuWindowProc));
+ end;
+ if not IsWXP then
+ begin
+ wr:= CreateRectRgn(0,0,0,0);
+ regiontype := GetWindowRgn(hWnd, wr);
+ GetRgnBox(wr,rgnr);
+ DeleteObject(wr);
+ if (regionType = ERROR) or (abs(rgnr.Right-WRect.Right)>5) or (abs(rgnr.Bottom-WRect.Bottom)>5) then
+ begin
+ region:= CreateRectRgn(0,0,0,0);
+ r1:=CreateRectRgn(WRect.Left,WRect.Top,WRect.Right-2,WRect.Bottom-2);
+ r2:=CreateRectRgn(WRect.Left+2,WRect.Top+2,WRect.Right,WRect.Bottom);
+ CombineRgn(region,r1,r2,RGN_OR);
+ DeleteObject(r1);
+ DeleteObject(r2);
+ SetWindowRgn(hWnd,region,true);
+ end;
+ // +jt
+ Dec(WRect.Right, 2);
+ Dec(WRect.Bottom, 2);
+ end; // +jt
+ dCanvas.Brush.Style := bsClear;
+ dCanvas.Pen.Color := FMenuBorderColor;
+ dCanvas.Rectangle(WRect.Left, WRect.Top, WRect.Right, WRect.Bottom);
+ if IsRightToLeft then
+ begin
+ dCanvas.Pen.Color := FFIconBackColor;
+ dCanvas.MoveTo(WRect.Right - 3, WRect.Top + 2);
+ dCanvas.LineTo(WRect.Right - 2, WRect.Bottom - 1);
+ end
+ else
+ begin
+ dCanvas.Pen.Color := FFIconBackColor;
+ dCanvas.Rectangle(WRect.Left + 1, WRect.Top + 2,
+ WRect.Left + 3, WRect.Bottom - 1);
+ end;
+// +jt
+ StretchBlt(dCanvas.Handle,WRect.Left + 1,WRect.Top + 1,WRect.Right - WRect.Left-1,2,
+ dCanvas.Handle,WRect.Left + 1,WRect.Top + 3,WRect.Right - WRect.Left-1,1,SRCCOPY);
+ if IsWXP then
+ begin
+ StretchBlt(dCanvas.Handle,WRect.Left + 1,WRect.Bottom - 3,WRect.Right - WRect.Left-1,2,
+ dCanvas.Handle,WRect.Left + 1,WRect.Top + 3,WRect.Right - WRect.Left-1,1, SRCCOPY);
+ dCanvas.Pen.Color := FFColor;
+ dCanvas.Rectangle(WRect.Right - 3, WRect.Top+1, WRect.Right - 1,
+ WRect.Bottom-1);
+ end;
// +jt
+ Inc(WRect.Right, 2);
+ Inc(WRect.Bottom, 2);
+ if not IsWXP then // +jt
+ begin // +jt
+ dCanvas.Pen.Color := FMenuShadowColor;
+ dCanvas.Rectangle(WRect.Left + 2, WRect.Bottom, WRect.Right, WRect.Bottom - 2);
+ dCanvas.Rectangle(WRect.Right - 2, WRect.Bottom, WRect.Right, WRect.Top + 2);
+ end; // +jt
+
+ finally
+ ReleaseDC(hWnd, wDC); // +jt
+ dCanvas.Free;
+ FSettingWindowRng :=false;
+ end;
+end;
+
+procedure TUCXPStyle.Notification(AComponent: TComponent;
+ AOperation: TOperation);
+begin
+ //added by fduenas
+ inherited Notification(AComponent, AOperation); //changed by fduenas
+ if AOperation = opRemove then
+ If AComponent = FUCSettings then
+ FUCSettings := nil;
+
+ if not Assigned(UCXPStyleManager) then Exit;
+// Pass the notification information to the UCXPStyleManager
+ if not(csDesigning in ComponentState) then
+ UCXPStyleManager.Notification(AComponent, AOperation);
+
+ if not FActive then exit;
+ if not FAutoDetect then exit;
+ if (AOperation = opInsert) and
+ ((AComponent is TMenuItem) or (AComponent is TToolButton) or
+ (AComponent is TControlBar)) then
+ begin
+ if not (csDesigning in ComponentState) then
+ InitItem(AComponent, true, true); // Tom: This will process this new component
+ end;
+
+end;
+
+
+function GetShadeColor(ACanvas: TCanvas; clr: TColor; Value: integer): TColor;
+var
+ r, g, b: integer;
+
+begin
+ clr := ColorToRGB(clr);
+ r := Clr and $000000FF;
+ g := (Clr and $0000FF00) shr 8;
+ b := (Clr and $00FF0000) shr 16;
+
+ r := (r - value);
+ if r < 0 then r := 0;
+ if r > 255 then r := 255;
+
+ g := (g - value) + 2;
+ if g < 0 then g := 0;
+ if g > 255 then g := 255;
+
+ b := (b - value);
+ if b < 0 then b := 0;
+ if b > 255 then b := 255;
+
+ //Result := Windows.GetNearestColor(ACanvas.Handle, RGB(r, g, b));
+ Result := RGB(r, g, b);
+end;
+
+function MergColor(Colors: Array of TColor): TColor;
+var
+ r, g, b, i: integer;
+ clr: TColor;
+begin
+ r := 0; g:= 0; b:= 0;
+
+ for i := 0 to High(Colors) do
+ begin
+
+ clr := ColorToRGB(Colors[i]);
+ r := r + (Clr and $000000FF) div High(Colors);
+ g := g + ((Clr and $0000FF00) shr 8) div High(Colors);
+ b := b + ((Clr and $00FF0000) shr 16) div High(Colors);
+ end;
+
+ Result := RGB(r, g, b);
+
+end;
+function NewColor(ACanvas: TCanvas; clr: TColor; Value: integer): TColor;
+var
+ r, g, b: integer;
+
+begin
+ if Value > 100 then Value := 100;
+ clr := ColorToRGB(clr);
+ r := Clr and $000000FF;
+ g := (Clr and $0000FF00) shr 8;
+ b := (Clr and $00FF0000) shr 16;
+
+
+ r := r + Round((255 - r) * (value / 100));
+ g := g + Round((255 - g) * (value / 100));
+ b := b + Round((255 - b) * (value / 100));
+
+ //Result := Windows.GetNearestColor(ACanvas.Handle, RGB(r, g, b));
+ Result := RGB(r, g, b);
+
+end;
+
+function GetInverseColor(AColor: TColor): TColor;
+begin
+ Result := ColorToRGB(AColor) xor $FFFFFF;
+end;
+
+function GrayColor(ACanvas: TCanvas; Clr: TColor; Value: integer): TColor;
+var
+ r, g, b, avg: integer;
+
+begin
+
+ clr := ColorToRGB(clr);
+ r := Clr and $000000FF;
+ g := (Clr and $0000FF00) shr 8;
+ b := (Clr and $00FF0000) shr 16;
+
+ Avg := (r + g + b) div 3;
+ Avg := Avg + Value;
+
+ if Avg > 240 then Avg := 240;
+ //if ACanvas <> nil then
+ // Result := Windows.GetNearestColor (ACanvas.Handle,RGB(Avg, avg, avg));
+ Result := RGB(Avg, avg, avg);
+end;
+
+procedure GrayBitmap(ABitmap: TBitmap; Value: integer);
+var
+ x, y: integer;
+ LastColor1, LastColor2, Color: TColor;
+begin
+ LastColor1 := 0;
+ LastColor2 := 0;
+
+ for y := 0 to ABitmap.Height do
+ for x := 0 to ABitmap.Width do
+ begin
+ Color := ABitmap.Canvas.Pixels[x, y];
+ if Color = LastColor1 then
+ ABitmap.Canvas.Pixels[x, y] := LastColor2
+ else
+ begin
+ LastColor2 := GrayColor(ABitmap.Canvas , Color, Value);
+ ABitmap.Canvas.Pixels[x, y] := LastColor2;
+ LastColor1 := Color;
+ end;
+ end;
+end;
+{Modified by felix@unidreamtech.com}
+{
+procedure GrayBitmap(ABitmap: TBitmap; Value: integer);
+var
+ Pixel: PRGBTriple;
+ w, h: Integer;
+ x, y: Integer;
+ avg: integer;
+begin
+ ABitmap.PixelFormat := pf24Bit;
+ w := ABitmap.Width;
+ h := ABitmap.Height;
+ for y := 0 to h - 1 do
+ begin
+ Pixel := ABitmap.ScanLine[y];
+ for x := 0 to w - 1 do
+ begin
+ avg := ((Pixel^.rgbtRed + Pixel^.rgbtGreen + Pixel^.rgbtBlue) div 3)
+ + Value;
+ if avg > 240 then avg := 240;
+ Pixel^.rgbtRed := avg;
+ Pixel^.rgbtGreen := avg;
+ Pixel^.rgbtBlue := avg;
+ Inc(Pixel);
+ end;
+ end;
+end;
+}
+
+procedure DimBitmap(ABitmap: TBitmap; Value: integer);
+var
+ x, y: integer;
+ LastColor1, LastColor2, Color: TColor;
begin
+ if Value > 100 then Value := 100;
+ LastColor1 := -1;
+ LastColor2 := -1;
+ for y := 0 to ABitmap.Height - 1 do
+ for x := 0 to ABitmap.Width - 1 do
+ begin
+ Color := ABitmap.Canvas.Pixels[x, y];
+ if Color = LastColor1 then
+ ABitmap.Canvas.Pixels[x, y] := LastColor2
+ else
+ begin
+ LastColor2 := NewColor(ABitmap.Canvas, Color, Value);
+ ABitmap.Canvas.Pixels[x, y] := LastColor2;
+ LastColor1 := Color;
+ end;
+ end;
end;
+
+// LIne 2647
+{Modified by felix@unidreamtech.com}
+{works fine for 24 bit color
+procedure DimBitmap(ABitmap: TBitmap; Value: integer);
+var
+ Pixel: PRGBTriple;
+ w, h: Integer;
+ x, y, c1, c2: Integer;
+begin
+ ABitmap.PixelFormat := pf24Bit;
+ w := ABitmap.Width;
+ h := ABitmap.Height;
+
+ c1 := Value * 255;
+ c2 := 100 - Value;
+ for y := 0 to h - 1 do
+ begin
+ Pixel := ABitmap.ScanLine[y];
+ for x := 0 to w - 1 do
+ begin
+ Pixel^.rgbtRed := ((c2 * Pixel^.rgbtRed) + c1) div 100;
+ Pixel^.rgbtGreen := ((c2 * Pixel^.rgbtGreen) + c1) div 100;
+ Pixel^.rgbtBlue := ((c2 * Pixel^.rgbtBlue) + c1) div 100;
+ Inc(Pixel);
+ end;
+ end;
+end;
+}
+procedure DrawArrow(ACanvas: TCanvas; X, Y: integer);
begin
+ ACanvas.MoveTo(X, Y);
+ ACanvas.LineTo(X + 5, Y);
+
+ ACanvas.MoveTo(X + 1, Y + 1);
+ ACanvas.LineTo(X + 4, Y);
+
+ ACanvas.MoveTo(X + 2, Y + 2);
+ ACanvas.LineTo(X + 3, Y);
+
+end;
+
+procedure DrawArrow(ACanvas: TCanvas; X, Y, Orientation: integer);
+begin
+ case Orientation of
+ 0:
+ begin
+
+ ACanvas.MoveTo(X, Y);
+ ACanvas.LineTo(X, Y-1);
+
+ ACanvas.MoveTo(X + 1, Y + 1);
+ ACanvas.LineTo(X + 4, Y + 4);
+
+ ACanvas.MoveTo(X, Y + 1);
+ ACanvas.LineTo(X + 3, Y + 4);
+
+ ACanvas.MoveTo(X, Y + 2);
+ ACanvas.LineTo(X + 2, Y + 4);
+
+
+ ACanvas.MoveTo(X - 1, Y + 1);
+ ACanvas.LineTo(X - 4, Y + 4);
+
+ ACanvas.MoveTo(X, Y + 2);
+ ACanvas.LineTo(X - 3, Y + 4);
+
+ ACanvas.MoveTo(X, Y + 1);
+ ACanvas.LineTo(X - 2, Y + 4);
+
+ end;
+ 1:
+ begin
+ ACanvas.MoveTo(X, Y+3);
+ ACanvas.LineTo(X, Y+4);
+
+ ACanvas.MoveTo(X + 1, Y + 2);
+ ACanvas.LineTo(X + 4, Y - 1);
+
+ ACanvas.MoveTo(X, Y + 2);
+ ACanvas.LineTo(X + 3, Y - 1);
+
+ ACanvas.MoveTo(X, Y + 1);
+ ACanvas.LineTo(X + 2, Y + 0);
+
+
+
+ ACanvas.MoveTo(X - 1, Y + 2);
+ ACanvas.LineTo(X - 4, Y - 1);
+
+ ACanvas.MoveTo(X, Y + 2);
+ ACanvas.LineTo(X - 3, Y - 1);
+
+ ACanvas.MoveTo(X, Y + 1);
+ ACanvas.LineTo(X - 2, Y + 0);
+
+
+ end;
+ end;
+end;
+procedure DrawBitmapShadow(B: TBitmap; ACanvas: TCanvas; X, Y: integer;
+ ShadowColor: TColor);
var
+ BX, BY: integer;
+ TransparentColor: TColor;
begin
+ TransparentColor := B.Canvas.Pixels[0, B.Height - 1];
+ for BY := 0 to B.Height - 1 do
+ for BX := 0 to B.Width - 1 do
+ begin
+ if B.Canvas.Pixels[BX, BY] <> TransparentColor then
+ ACanvas.Pixels[X + BX, Y + BY] := ShadowColor;
+ end;
end;
+
+procedure DrawCheckMark(ACanvas: TCanvas; X, Y: integer);
+begin
+ Inc(X, 2);
+ Dec(Y, 3);
+ ACanvas.MoveTo(X , Y - 2);
+ ACanvas.LineTo(X + 2, Y );
+ ACanvas.LineTo(X + 7, Y - 5);
+
+ ACanvas.MoveTo(X , Y - 3);
+ ACanvas.LineTo(X + 2, Y - 1);
+ ACanvas.LineTo(X + 7, Y - 6);
+
+ ACanvas.MoveTo(X , Y - 4);
+ ACanvas.LineTo(X + 2, Y - 2);
+ ACanvas.LineTo(X + 7, Y - 7);
+end;
+
{ TCustomComboSubClass }
+//By Heath Provost (Nov 20, 2001)
+// ComboBox Subclass WndProc.
+// Message processing to allow control to repond to
+// messages needed to paint using Office XP style.
+procedure TControlSubClass.ControlSubClass(var Message: TMessage);
+
+begin
+ //Call original WindowProc FIRST. We are trying to emulate inheritance, so
+ //original WindowProc must handle all messages before we do.
+
+
+ if ((Message.Msg = WM_PAINT) and ((Control is TGraphicControl))) or
+ ((Control.ClassName = 'TDBLookupComboBox') and (Message.Msg = WM_NCPAINT)) then
+ Message.Result := 1
+ else
+ //: "Marcus Paulo Tavares"
+ orgWindowProc(Message);
+
+ if (FXPStyle <> nil) and (not FXPStyle.FActive) then
+ begin
+ try
+ Message.Result := 1;
+ if Control <> nil then
+ begin
+ Control.WindowProc := orgWindowProc;
+ if Control is TCustomEdit then
+ TEdit(Control).Ctl3D := FCtl3D;
+ if Control is TCustomRichEdit then
+ TRichEdit(Control).BorderStyle := FBorderStyle;
+ if Control.ClassName = 'TDBLookupComboBox' then
+ TComboBox(Control).Ctl3D := FCtl3D;
+ if Control is TCustomListBox then
+ TListBox(Control).BorderStyle := FBorderStyle;
+ if Control is TCustomListView then
+ TListView(Control).BorderStyle := FBorderStyle;
+ if Control is TCustomTreeView then
+ TTreeView(Control).BorderStyle := FBorderStyle;
+ Control := nil;
+ Free;
+ end;
+ exit;
+ except
+ exit;
+ end;
+ end;
+
+ FMsg := Message.Msg;
+ case Message.Msg of
+
+
+ EM_GETMODIFY, // For edit
+ CM_INVALIDATE:
+ begin
+ FBuilding := true
+ end;
+
+ CM_PARENTCOLORCHANGED:
+ begin
+ PaintControlXP;
+ end;
+
+ WM_DESTROY:
+ begin
+ if not FBuilding then
+ begin
+ try
+ if Control <> nil then
+ begin
+ Control.WindowProc := orgWindowProc;
+ FBuilding := false;
+ Free;
+ end;
+ except
+ end;
+ //FBuilding := false;
+ end;
+ Exit;
+ end;
+
+ WM_PAINT:
+ begin
+ FBuilding := false;
+ PaintControlXP;
+ end;
+
+ CM_MOUSEENTER:
+ if TControl(Control).Enabled then
+ begin
+// if FmouseInControl then exit;
+ FmouseInControl := true;
+ if Control is TGraphicControl then
+ begin
+ Control.Repaint;
+ exit;
+ end;
+ PaintControlXP;
+
+
+ {if Control is TGraphicControl then
+ begin
+ if not FMouseInControl and Control.Enabled
+ and (GetCapture = 0) then
+ begin
+ FMouseInControl := True;
+ Control.Repaint;
+ end;
+ end
+ else
+ begin
+ FmouseInControl := true;
+ PaintControlXP;
+ end;}
+
+
+ end;
+ CM_MOUSELEAVE:
+ if TControl(Control).Enabled then
+ begin
+ FmouseInControl := false;
+ if Control is TGraphicControl then
+ begin
+ Control.Invalidate;
+ exit;
+ end;
+ PaintControlXP;
+
+
+ {if Control is TGraphicControl then
+ begin
+ if FMouseInControl and Control.Enabled then
+ begin
+ FMouseInControl := False;
+ Control.Invalidate;
+ end;
+ end
+ else
+ begin
+ FmouseInControl := false;
+ PaintControlXP;
+ end;}
+ end;
+
+ WM_MOUSEMOVE:
+ begin
+ if TControl(Control).Enabled and (Control.ClassName = 'TUpDown') then
+ PaintControlXP;
+ end;
+ WM_LBUTTONDOWN:
+ begin
+ FLButtonBressed := true;
+ PaintControlXP;
+ end;
+
+ WM_LBUTTONUP:
+ begin
+ FLButtonBressed := false;
+ if Control is TGraphicControl then
+ begin
+ Control.Repaint;
+ exit;
+ end;
+ PaintControlXP;
+ end;
+
+ WM_KEYDOWN:
+ if Message.WParam = VK_SPACE then
+ begin
+ FBressed := true;
+ if not FIsKeyDown then
+ PaintControlXP;
+ FIsKeyDown := true;
+ end;
+
+ WM_KEYUP:
+ if Message.WParam = VK_SPACE then
+ begin
+ FBressed := false;
+ FIsKeyDown := false;
+ PaintControlXP;
+ end;
+
+ WM_SETFOCUS:
+ begin
+ FmouseInControl := true;
+ PaintControlXP;
+ end;
+ WM_KILLFOCUS:
+ begin
+ FmouseInControl := false;
+ PaintControlXP;
+ end;
+ CM_FOCUSCHANGED: //??
+ PaintControlXP;
+
+ CM_EXIT:
+ begin
+ FmouseInControl := false;
+ PaintControlXP;
+ end;
+
+ BM_SETCHECK:
+ begin
+ FmouseInControl := false;
+ PaintControlXP;
+ end;
+ BM_GETCHECK:
+ begin
+ FmouseInControl := false;
+ PaintControlXP;
+ end;
+ CM_ENABLEDCHANGED:
+ begin
+ if (Message.WParam = 0) then FmouseInControl := false;//Dirk Bottcher
+ PaintControlXP;
+ end;
+
+ CM_TEXTCHANGED:
+ begin
+ PaintControlXP;
+ end;
+
+
+ CM_CTL3DCHANGED, CM_PARENTCTL3DCHANGED:
+ begin
+ FBuilding := true;
+ end;
+ WM_LBUTTONDBLCLK: //for button, check
+ begin
+ if (Control is TButton) or
+ (Control is TSpeedButton) or
+ (Control is TCheckBox) then
+ Control.Perform(WM_LBUTTONDOWN, Message.WParam , Longint(Message.LParam));
+ end;
+ {CN_DRAWITEM,} BM_SETSTATE:
+ begin
+ PaintControlXP; // button
+ end;
+ WM_WINDOWPOSCHANGED, CN_PARENTNOTIFY: // Moving From parent to other
+ begin
+ FBuilding := true
+ end;
+ WM_NCPAINT:
+ begin
+ if (Control is TCustomListBox) or (Control is TCustomTreeView) or
+ (Control is TCustomListBox)
+ then
+ PaintNCWinControl;
+ end;
+ end;
+
+end;
+
+// changes added by Heath Provost (Nov 20, 2001)
+{ TCustomComboSubClass }
+// paints an overlay over the control to make it mimic
+// Office XP style.
+
+procedure TControlSubClass.PaintControlXP;
+begin
+
+ If Control is TWinControl then
+ FIsFocused := TWinControl(Control).Focused
+ else
+ FIsFocused := false;
+ {$IFDEF VER6U}
+ if (Control is TCustomCombo) then
+ PaintCombo;
+ {$ELSE}
+ if (Control is TCustomComboBox) then
+ PaintCombo;
+ {$ENDIF}
+ if Control.ClassName = 'TDBLookupComboBox' then
+ PaintDBLookupCombo;
+
+ if Control is TCustomRichEdit then
+ PaintRichEdit
+ else
+ if Control is TCustomEdit then
+ PaintEdit;
+
+ if Control is TCustomCheckBox then
+ PaintCheckBox;
+ if Control is TRadioButton then
+ PaintRadio;
+
+ if Control is TBitBtn then
+ PaintBitButn
+ else
+ if Control is TButton then
+ PaintButton;
+
+ if Control is TUpDown then
+ PaintUpDownButton;
+
+ if Control is TSpeedButton then
+ if Control.Visible then
+ PaintSpeedButton;
+
+ if Control is TCustomPanel then
+ PaintPanel;
+
+ if Control is TCustomGroupBox then
+ PaintGroupBox;
+
+ if (Control is TCustomListBox) or (Control is TCustomTreeView) or
+ (Control is TCustomListView)
+ then
+ PaintNCWinControl;
+
+ if Control is TProgressBar then
+ PaintProgressBar;
+
+ if Control is TCustomHotKey then
+ PaintHotKey;
+{
+ if Control is TDrawGrid then
+ PaintGrid;
+}
+end;
+
+procedure TControlSubClass.PaintCombo;
+var
+ C: TControlCanvas;
+ R: TRect;
+ SelectColor, BorderColor, ArrowColor: TColor;
+ X: integer;
+begin
+
+ C := TControlCanvas.Create;
+ try
+ C.Control := Control;
+
+// FXPStyle.SetGlobalColor(C);
+ if Control.Enabled then ArrowColor := clBlack else ArrowColor := clWhite;
+
+
+ if (FmouseinControl) then
+ begin
+ borderColor := FXPStyle.FFSelectBorderColor;
+ SelectColor := FXPStyle.FFSelectColor;
+ end
+ else
+ begin
+ borderColor := TComboBox(Control).Color;
+ if Control.Tag = 1000 then
+ SelectColor := NewColor(C, TControl(Control).Parent.Brush.Color, FXPStyle.FDimParentColor)
+ else
+ selectColor := clBtnFace;
+ end;
+
+ if (not FmouseinControl) and (FIsFocused) then
+ begin
+ borderColor := NewColor(C, FXPStyle.FFSelectBorderColor,60);
+ SelectColor := FXPStyle.FCheckedAreaColor;
+ end;
+
+ R := Control.ClientRect;
+
+ C.Brush.Color := Control.Parent.Brush.Color;
+ C.FrameRect(R);
+ InflateRect(R, -1, -1);
+
+ C.Pen.Color := C.Brush.Color;
+ C.MoveTo(R.Left, R.Top);
+ C.LineTo(R.Right, R.Top);
+
+ InflateRect(R, 0, -1);
+
+ if ( FmouseinControl or FIsFocused) then
+ InflateRect(R, 1, 1);
+
+ C.Brush.Color := TComboBox(Control).Color;;
+ C.FrameRect(R);
+
+ Inc(R.Bottom,1);
+ C.Brush.Color := BorderColor;
+ C.FrameRect(R);
+
+ {$IFDEF VER6U}
+ if TCustomCombo(Control).DroppedDown then
+ {$ELSE}
+ if TCustomComboBox(Control).DroppedDown then
+ {$ENDIF}
+ begin
+ BorderColor := FXPStyle.FFSelectBorderColor;
+ ArrowColor := clWhite;
+ SelectColor := FXPStyle.FCheckedAreaSelectColor ;
+ end;
+
+ if TComboBox(Control).style <> csSimple then
+ begin
+
+ InflateRect(R, -1, -1);
+
+ if Control.BiDiMode = bdRightToLeft then
+ R.Right := R.Left + GetSystemMetrics(SM_CXHTHUMB) + 1
+ else
+ R.Left := R.Right - GetSystemMetrics(SM_CXHTHUMB) - 1;
+
+ if ( FmouseinControl or FIsFocused) then
+ begin
+ if Control.BiDiMode = bdRightToLeft then
+ Inc(R.Right, 2)
+ else
+ Dec(R.Left, 1);
+ end;
+
+ C.Brush.Color := SelectColor;
+ C.FillRect(R);
+
+ if Control.BiDiMode = bdRightToLeft then
+ R.Left := R.Right - 5
+ else
+ R.Right := R.Left + 5;
+
+ C.Brush.Color := TComboBox(Control).Color;
+ C.FillRect(R);
+
+ C.Pen.Color := BorderColor;
+
+ if Control.BiDiMode = bdRightToLeft then
+ begin
+ C.Moveto(R.Left, R.Top);
+ C.LineTo(R.Left, R.Bottom);
+ end
+ else
+ begin
+ C.Moveto(R.Right, R.Top);
+ C.LineTo(R.Right, R.Bottom);
+ end;
+ C.Pen.Color := arrowColor;
+
+ R := Control.ClientRect;
+
+ if Control.BiDiMode = bdRightToLeft then
+ X := R.Left + 5
+ else
+ X := R.Right - 10;
+
+ C.Moveto(X + 0, R.Top + 10);
+ C.LineTo(X + 5, R.Top + 10);
+ C.Moveto(X + 1, R.Top + 11);
+ C.LineTo(X + 4, R.Top + 11);
+ C.Moveto(X + 2, R.Top + 12);
+ C.LineTo(X + 3, R.Top + 12);
+ end;
+ finally
+ C.Free;
+ end;
+
+end;
+
+procedure TControlSubClass.PaintDBLookupCombo;
+var
+ C: TControlCanvas;
+ R: TRect;
+ FrameColor, SelectColor, BorderColor, ArrowColor: TColor;
+ X: integer;
+ DC: HDC;
+
+begin
+ C := TControlCanvas.Create;
+ DC := GetWindowDC(TWinControl(Control).Handle);
+ try
+ C.Control := Control;
+ C.Handle := DC;
+ if TComboBox(Control).Ctl3D then
+ begin
+ FBuilding := true;
+ TComboBox(Control).Ctl3D := false;
+ end;
+
+ //FXPStyle.SetGlobalColor(C);
+ if Control.Enabled then ArrowColor := clBlack else ArrowColor := clWhite;
+
+
+ if (FmouseinControl) then
+ begin
+ FrameColor := FXPStyle.FFSelectBorderColor;
+ borderColor := FXPStyle.FFSelectBorderColor;
+ SelectColor := FXPStyle.FFSelectColor;
+ end
+ else
+ begin
+ FrameColor := GetShadeColor(C, Control.Parent.Brush.Color, 60);
+ borderColor := NewColor(C, FXPStyle.FFSelectBorderColor,60);
+ selectColor := clBtnFace;
+ end;
+ if (not FmouseinControl) and (FIsFocused) then
+ begin
+ FrameColor := GetShadeColor(C, Control.Parent.Brush.Color, 60);
+ borderColor := NewColor(C, FXPStyle.FFSelectBorderColor,60);
+ SelectColor := FXPStyle.FCheckedAreaColor;
+ end;
+
+
+ R := Rect(0, 0, Control.Width, Control.Height);
+ C.Brush.Color := TComboBox(Control).Color;
+ C.Brush.Color := FrameColor;
+ C.FrameRect(R);
+
+
+ R := Control.ClientRect;
+
+ // Move the thumb one pixel to the right and one pixel down
+ OffsetRect(R, 1, 1);
+
+
+ C.Brush.Color := TComboBox(Control).Color;
+ C.FrameRect(R);
+
+ {$IFDEF VER6U}
+ if TCustomCombo(Control).DroppedDown then
+ {$ELSE}
+ if TCustomComboBox(Control).DroppedDown then
+ {$ENDIF}
+ begin
+ BorderColor := FXPStyle.FFSelectBorderColor;
+ ArrowColor := clWhite;
+ SelectColor := FXPStyle.FCheckedAreaSelectColor ;
+ end;
+
+ if TComboBox(Control).style <> csSimple then
+ begin
+
+ InflateRect(R, -1, -1);
+
+ if Control.BiDiMode = bdRightToLeft then
+ R.Right := R.Left + GetSystemMetrics(SM_CXHTHUMB) + 1
+ else
+ R.Left := R.Right - GetSystemMetrics(SM_CXHTHUMB) - 1;
+
+ if ( FmouseinControl or FIsFocused) then
+ begin
+ if Control.BiDiMode = bdRightToLeft then
+ Inc(R.Right, 1)
+ else
+ Dec(R.Left, 1);
+ end;
+
+
+ C.Brush.Color := SelectColor;
+ C.FillRect(R);
+ C.Brush.Color := BorderColor;
+ C.FrameRect(R);
+
+ if Control.BiDiMode = bdRightToLeft then
+ R.Left := R.Right - 5
+ else
+ R.Right := R.Left + 5;
+
+ C.Brush.Color := TComboBox(Control).Color;
+ C.FillRect(R);
+
+ C.Pen.Color := BorderColor;
+
+ if Control.BiDiMode = bdRightToLeft then
+ begin
+ C.Moveto(R.Left, R.Top);
+ C.LineTo(R.Left, R.Bottom);
+ end
+ else
+ begin
+ C.Moveto(R.Right, R.Top);
+ C.LineTo(R.Right, R.Bottom);
+ end;
+ C.Pen.Color := arrowColor;
+
+ R := Control.ClientRect;
+
+ if Control.BiDiMode = bdRightToLeft then
+ X := R.Left + 5
+ else
+ X := R.Right - 9; // Changed by Uwe Runkel, uwe@runkel.info
+ // Changed value from 10 to 9 because the thumb has
+ // moved one pixel to the right
+
+ C.Moveto(X + 0, R.Top + 8);
+ C.LineTo(X + 5, R.Top + 8);
+ C.Moveto(X + 1, R.Top + 9);
+ C.LineTo(X + 4, R.Top + 9);
+ C.Moveto(X + 2, R.Top + 10);
+ C.LineTo(X + 3, R.Top + 10);
+ end;
+ finally
+ C.Free;
+ ReleaseDC(TWinControl(Control).Handle, DC);
+ end;
+
+end;
+
+procedure TControlSubClass.PaintEdit;
+var
+ C: TControlCanvas;
+ R: TRect;
+ BorderColor: TColor;
+begin
+
+ C := TControlCanvas.Create;
+ try
+ C.Control := Control;
+
+ //FXPStyle.SetGlobalColor(C);
+
+ if TEdit(Control).Ctl3D <> false then
+ begin
+ FBuilding := true;
+ TEdit(Control).Ctl3D := false;
+ end;
+
+ if (FmouseinControl) or (FIsFocused) then
+ borderColor := NewColor(C, FXPStyle.FFSelectBorderColor, 60)
+ else
+ borderColor := GetShadeColor(C, Control.Parent.Brush.Color, 60);
+
+
+ if FBorderStyle = bsNone then
+ begin
+ if (FmouseinControl) and (not FIsFocused) then
+ //borderColor := NewColor(C, Control.Parent.Brush.Color, 60)
+ borderColor := NewColor(C, MergColor([TEdit(Control).Color,Control.Parent.Brush.Color]), 40)
+
+ else
+ borderColor := TEdit(Control).Color;
+ end;
+
+
+ R := Control.ClientRect;
+
+ C.Pen.Color := BorderColor;
+ C.Brush.Style := bsClear;
+
+ C.Rectangle(R.Left, R.Top, R.Right, R.Bottom);
+ finally
+ C.Free;
+ end;
+end;
+
+procedure TControlSubClass.PaintRichEdit;
+var
+ C: TControlCanvas;
+ R: TRect;
+ BorderColor: TColor;
+begin
+
+ C := TControlCanvas.Create;
+ try
+ C.Control := Control.Parent;
+
+ R := Control.BoundsRect;
+ InflateRect(R, 1, 1);
+
+ if FBorderStyle = bsSingle then
+ begin
+ FBuilding := true;
+ TRichEdit(Control).BorderStyle := bsNone;
+ if TRichEdit(Control).BorderWidth < 2 then
+ TRichEdit(Control).BorderWidth := 2;
+ end;
+
+ if (FmouseinControl) or (FIsFocused) then
+ borderColor := NewColor(C, FXPStyle.FFSelectBorderColor,60)
+
+
+ else
+ begin
+ if FBorderStyle = bsSingle then
+ borderColor := GetShadeColor(C, Control.Parent.Brush.Color, 60)
+ else
+ borderColor := Control.Parent.Brush.Color;
+ end;
+
+ Frame3D(C, R, borderColor, borderColor, 1);
+
+ finally
+ C.Free;
+ end;
+
+end;
+
+procedure TControlSubClass.PaintCheckBox;
+var
+ C: TControlCanvas;
+ R: TRect;
+ SelectColor, BorderColor: TColor;
+begin
+
+ C := TControlCanvas.Create;
+ try
+ C.Control := Control;
+
+ if FMouseInControl then
+ begin
+ SelectColor := FXPStyle.FFSelectColor;
+ BorderColor := FXPStyle.FFSelectBorderColor;
+ end
+ else
+ begin
+ SelectColor := clWindow;
+ BorderColor := clBtnShadow;
+ end;
+
+ if (FIsFocused) then
+ begin
+ SelectColor := FXPStyle.FFSelectColor;
+ BorderColor := FXPStyle.FFSelectBorderColor;
+ end;
+ if (FBressed) or (FLButtonBressed ) then
+ SelectColor := FXPStyle.FCheckedAreaSelectColor ;
+
+ if TCheckBox(Control).State = cbGrayed then
+ SelectColor := clSilver ;
+ R := Control.ClientRect;
+ InflateRect(R, 0, -3);
+ R.Top := R.Top + ((R.Bottom - R.Top - GetSystemMetrics(SM_CXHTHUMB)) div 2);
+ R.Bottom := R.Top + GetSystemMetrics(SM_CXHTHUMB);
+
+ if ((Control.BiDiMode = bdRightToLeft) and
+ (TCheckBox(Control).Alignment = taRightJustify)) or
+ ((Control.BiDiMode = bdLeftToRight) and
+ (TCheckBox(Control).Alignment = taLeftJustify))
+ then
+ R.Left := R.Right - GetSystemMetrics(SM_CXHTHUMB) + 1
+ else
+ if ((Control.BiDiMode = bdLeftToRight) and
+ (TCheckBox(Control).Alignment = taRightJustify)) or
+ ((Control.BiDiMode = bdRightToLeft) and
+ (TCheckBox(Control).Alignment = taLeftJustify)) then
+ R.Right := R.Left + GetSystemMetrics(SM_CXHTHUMB) - 1;
+
+
+
+ C.Brush.Color := TCheckBox(Control).Color;
+ C.FillRect(R);
+ InflateRect(R, -2, -2);
+ C.Brush.Color := SelectColor;
+ C.Pen.Color := BorderColor;
+ C.Rectangle(R.Left, R.Top, R.Right, R.Bottom);
+
+ if (TCheckBox(Control).Checked) or
+ (TCheckBox(Control).State = cbGrayed) then
+ begin
+ if Control.Enabled then
+ begin
+ if (FBressed) or (FLButtonBressed ) then
+ C.Pen.color := clWindow
+ else
+ begin
+ if TCheckBox(Control).State = cbGrayed then
+ C.Pen.color := clGray
+ else
+ C.Pen.color := clHighlight;
+ end;
+ end
+ else
+ C.Pen.color := FXPStyle.FFDisabledColor;
+
+ DrawCheckMark(C, R.Left, R.Bottom )
+ end;
+
+ finally
+ C.Free;
+ end;
+
+
+end;
+
+procedure TControlSubClass.PaintRadio;
+var
+ C: TControlCanvas;
+ R: TRect;
+ SelectColor, BorderColor: TColor;
+begin
+
+ C := TControlCanvas.Create;
+ try
+ C.Control := Control;
+
+ if FMouseInControl then
+ begin
+ SelectColor := FXPStyle.FFSelectColor;
+ BorderColor := FXPStyle.FFSelectBorderColor;;
+ end
+ else
+ begin
+ SelectColor := clWindow;
+ BorderColor := clBtnShadow;
+ end;
+ if (FIsFocused) then
+ SelectColor := FXPStyle.FFSelectColor;
+
+ R := Control.ClientRect;
+ InflateRect(R, 0, -4);
+
+ R.Top := R.Top + ((R.Bottom - R.Top - GetSystemMetrics(SM_CXHTHUMB)) div 2);
+ R.Bottom := R.Top + GetSystemMetrics(SM_CXHTHUMB)-1;
+
+
+ if ((Control.BiDiMode = bdRightToLeft) and
+ (TCheckBox(Control).Alignment = taRightJustify)) or
+ ((Control.BiDiMode = bdLeftToRight) and
+ (TCheckBox(Control).Alignment = taLeftJustify))
+ then
+ R.Left := R.Right - GetSystemMetrics(SM_CXHTHUMB) + 1
+ else
+ if ((Control.BiDiMode = bdLeftToRight) and
+ (TCheckBox(Control).Alignment = taRightJustify)) or
+ ((Control.BiDiMode = bdRightToLeft) and
+ (TCheckBox(Control).Alignment = taLeftJustify)) then
+ R.Right := R.Left + GetSystemMetrics(SM_CXHTHUMB) - 1;
+
+ C.Brush.Color := TCheckBox(Control).Color;
+ C.FillRect(R);
+
+
+ InflateRect(R, -2, -2);
+ C.Brush.Color := SelectColor;
+ C.Pen.Color := BorderColor;
+
+
+ C.Ellipse(R.Left, R.Top, R.Right, R.Bottom);
+ if TRadioButton(Control).Checked then
+ begin
+ InflateRect(R, -2, -2);
+
+ if Control.Enabled then
+ C.Brush.Color := clHighlight
+ else
+ C.Brush.color := FXPStyle.FFDisabledColor;
+
+ C.Pen.Color := C.Brush.Color;
+ C.Ellipse(R.Left, R.Top, R.Right, R.Bottom);
+ end;
+ finally
+ C.Free;
+ end;
+
+
+end;
+
+procedure TControlSubClass.PaintButton;
+var
+ C: TControlCanvas;
+ R: TRect;
+ SelectColor, BorderColor: TColor;
+ Txt: string;
+ TextRect: TRect;
+ TxtFont: TFont;
+
+ CWidth, CHeight, TWidth, THeight: integer;
+ TextFormat: integer;
+
+begin
+
+ C := TControlCanvas.Create;
+ try
+ C.Control := Control;
+
+ if (FMouseInControl) then
+ begin
+ if Control.Tag = 1000 then // UseParentColor
+ SelectColor := NewColor(C, TControl(Control).Parent.Brush.Color, FXPStyle.FDimParentColorSelect)
+ else
+ SelectColor := NewColor(C, clBtnFace, FXPStyle.FDimParentColorSelect);
+
+ BorderColor := NewColor(C, FXPStyle.FFSelectBorderColor,60);
+ end
+ else
+ begin
+ if Control.Tag = 1000 then
+ SelectColor := NewColor(C, TControl(Control).Parent.Brush.Color, FXPStyle.FDimParentColor)
+ else
+ SelectColor := FXPStyle.FFIconBackColor;
+ BorderColor := clBtnShadow;
+ end;
+
+
+ if (not FmouseinControl) and (FIsFocused) then
+ begin
+ BorderColor := NewColor(C, FXPStyle.FFSelectBorderColor,60);
+ end;
+
+ TextFormat := DT_CENTER + DT_VCENTER;
+ R := Control.ClientRect;
+
+ CWidth := (R.Right - R.Left);
+ CHeight := (R.Bottom - R.Top);
+
+ C.Brush.Color := Control.Parent.Brush.Color;
+ C.FillRect(R);
+
+ C.Brush.Color := SelectColor;
+
+ C.Pen.Color := NewColor(C, BorderColor, 30);
+ C.RoundRect(R.Left, R.Top, R.Right, R.Bottom, 4, 4);
+
+ if TControl(Control).Enabled then
+ if FBressed or (FLButtonBressed and FmouseinControl) {or FBressed} then
+ begin
+ C.Pen.Color := GetShadeColor(C, BorderColor, 50);
+ C.MoveTo(R.Left , R.Bottom - 2);
+ C.LineTo(R.Left , R.Top + 1);
+ C.LineTo(R.Left + 1, R.Top );
+ C.LineTo(R.Right - 1 , R.Top );
+ end
+ else
+ begin
+ C.Pen.Color := GetShadeColor(C, BorderColor, 50);
+ C.MoveTo(R.Right - 1, R.Top + 1);
+ C.LineTo(R.Right - 1, R.Bottom - 2);
+ C.LineTo(R.Right - 2, R.Bottom - 1);
+ C.LineTo(R.Left , R.Bottom - 1);
+ end;
+
+ Txt := TButton(Control).Caption;
+
+ TextRect := R;
+
+ TxtFont := TButton(Control).Font;
+ C.Font.Assign (TxtFont);
+
+
+ if TButton(Control).IsRightToLeft then
+ TextFormat := TextFormat + DT_RTLREADING;
+
+//--- //"Holger Lembke"
+
+ if (Txt <> '') then
+ begin
+ FillChar(TextRect, SizeOf(TextRect),0);
+ DrawText(C.Handle,
+ PChar(Txt), Length(Txt),
+ TextRect,
+ DT_CALCRECT + control.DrawTextBiDiModeFlags(0));
+ TWidth := TextRect.Right;
+ THeight := TextRect.Bottom;
+ end
+ else
+ begin
+ TWidth := 0;
+ THeight := 0;
+ end;
+
+//---
+ TextRect.Left := (CWidth - (TWidth)) div 2;
+ TextRect.Right := TextRect.Left + TWidth;
+ TextRect.Top := (CHeight - (THeight)) div 2;
+ TextRect.Bottom := TextRect.Top + THeight;
+
+
+ FXPStyle.DrawTheText(Control,
+ Txt, '', C,
+ TextRect, false,
+ TControl(Control).Enabled,
+ TButton(Control).Default,
+ false,
+ TControl(Control).IsRightToLeft,
+ TxtFont,
+ TextFormat);
+
+ finally
+ C.Free;
+ end;
+
+end;
+
+procedure TControlSubClass.PaintSpeedButton;
+var
+ C: TControlCanvas;
+ R: TRect;
+ SelectColor, BorderColor: TColor;
+ Txt: string;
+ TextRect, IconRect: TRect;
+ TxtFont: TFont;
+ B, BF: TBitmap;
+ CWidth, CHeight, BWidth, BHeight, TWidth, THeight, Space,
+ NumGlyphs, Offset: integer;
+ TextFormat: integer;
+ FDown, FFlat, FTransparent: boolean;
+ FLayout: TButtonLayout;
+ P: TPoint;
+begin
+
+ C := TControlCanvas.Create;
+ try
+ C.Control := Control;
+
+ FDown := TSpeedButton(Control).Down;
+ FFlat := TSpeedButton(Control).Flat;
+ FTransparent := TSpeedButton(Control).Transparent;
+ NumGlyphs := TSpeedButton(Control).NumGlyphs;
+
+//----------
+ if FFlat then
+ if FMouseInControl then
+ begin
+ p := Mouse.CursorPos;
+ P := Control.ScreenToClient(P);
+ R := Control.ClientRect;
+ FMouseInControl := (p.x >= R.Left) and (p.x <= R.Right) and
+ (p.y >= R.Top) and (p.y <= R.Bottom);
+ end;
+
+//----------
+ if (FMouseInControl) then
+ begin
+ if Control.Tag = 1000 then // UseParentColor
+ begin
+ SelectColor := NewColor(C, TControl(Control).Parent.Brush.Color, FXPStyle.FDimParentColorSelect);
+ if FFlat then
+ SelectColor := FXPStyle.FFSelectColor ;
+ end
+ else
+ begin
+ SelectColor := NewColor(C, clBtnFace, FXPStyle.FDimParentColorSelect);
+ if FFlat then
+ SelectColor := FXPStyle.FFSelectColor ;
+ end;
+ BorderColor := NewColor(C, FXPStyle.FFSelectBorderColor,60);
+ end
+ else
+ begin
+ if Control.Tag = 1000 then
+ SelectColor := NewColor(C, TControl(Control).Parent.Brush.Color, FXPStyle.FDimParentColor)
+ else
+ SelectColor := FXPStyle.FFIconBackColor;
+ if FFlat then
+ SelectColor := TControl(Control).Parent.Brush.Color;
+
+ if (Control.ClassName = 'TNavButton') and FFlat then
+ begin
+ SelectColor := TControl(Control).Parent.Brush.Color;
+ end;
+ BorderColor := clBtnShadow;
+ end;
+
+
+ if FDown then
+ begin
+ SelectColor := FXPStyle.FCheckedAreaColor;
+ BorderColor := FXPStyle.FFSelectBorderColor;
+ end;
+
+ if FDown and FMouseInControl then
+ begin
+ SelectColor := FXPStyle.FCheckedAreaSelectColor;
+ BorderColor := FXPStyle.FFSelectBorderColor;
+ end;
+
+ if not TControl(Control).Enabled then
+ BorderColor := clBtnShadow;
+
+
+ TextFormat := + DT_CENTER + DT_VCENTER;;
+ R := Control.ClientRect;
+
+ CWidth := (R.Right - R.Left);
+ CHeight := (R.Bottom - R.Top);
+
+
+ if (FDown or FMouseInControl) and FTransparent then
+ begin
+ BF := TBitmap.Create;
+ try
+ BF.Width := R.Right - R.Left;
+ BF.Height := R.Bottom - R.Top;
+
+ if FFlat then
+ begin
+ if GetDeviceCaps(C.Handle, BITSPIXEL) > 16 then
+ BF.Canvas.Brush.Color := NewColor(C, FXPStyle.FFSelectColor, 20)
+ else
+ BF.Canvas.Brush.Color := SelectColor;
+ end
+ else
+ begin
+ if GetDeviceCaps(C.Handle, BITSPIXEL) > 16 then
+ BF.Canvas.Brush.Color := NewColor(C, SelectColor, 5)
+ else
+ BF.Canvas.Brush.Color := SelectColor;
+ end;
+ BF.Canvas.FillRect (R);
+ BitBlt(C.handle,
+ R.Left,
+ R.Top,
+ R.Right - R.left,
+ R.Bottom - R.top,
+ BF.Canvas.Handle,
+ 0,
+ 0,
+ SRCAND);
+ finally
+ BF.Free;
+ end;
+ end;
+
+
+
+
+ C.Brush.Color := SelectColor;
+ if not FTransparent then
+ c.FillRect (R);
+
+ if Control.ClassName = 'TNavButton' then
+ begin
+ c.FillRect (R);
+ end;
+ C.Pen.Color := NewColor(C, BorderColor, 30);
+
+ if (FFlat) and (not FTransparent) and (not FDown) and (not FMouseInControl) then
+ C.Pen.Color := C.Brush.Color;
+
+ if FTransparent then
+ C.Brush.Style := bsClear;
+ if ((FTransparent) and (FMouseInControl)) or
+ ((FTransparent) and (FDown)) or
+ ((not FTransparent )) or
+ ((not FFlat))
+ then
+ begin
+ C.Rectangle(R.Left, R.Top, R.Right, R.Bottom);
+ end;
+
+ if TControl(Control).Enabled then
+ begin
+ if (FFlat) then
+ begin
+ if (FLButtonBressed ) or (FDown) then
+ begin
+ C.Pen.Color := BorderColor;
+ C.Rectangle(R.Left, R.Top, R.Right, R.Bottom);
+ C.Pen.Color := GetShadeColor(C, BorderColor, 50);
+
+ C.MoveTo(R.Left , R.Bottom - 1);
+ C.LineTo(R.Left , R.Top );
+ C.LineTo(R.Right , R.Top );
+ end
+ else
+ if (FMouseInControl) then
+ begin
+ C.Pen.Color := FXPStyle.FFSelectBorderColor;
+ C.Rectangle(R.Left, R.Top, R.Right, R.Bottom);
+ end;
+ end;
+
+ if (not FFlat) then
+ if (FLButtonBressed ) or (FDown) then
+ begin
+ C.Pen.Color := GetShadeColor(C, BorderColor, 50);
+ C.MoveTo(R.Left , R.Bottom - 1);
+ C.LineTo(R.Left , R.Top );
+ C.LineTo(R.Right , R.Top );
+ end
+ else
+ begin
+ C.Pen.Color := GetShadeColor(C, BorderColor, 50);
+ C.MoveTo(R.Right - 1, R.Top );
+ C.LineTo(R.Right - 1, R.Bottom - 1);
+ C.LineTo(R.Left , R.Bottom - 1);
+ end;
+ end;
+ Txt := TSpeedButton(Control).Caption;
+
+ TextRect := R;
+
+ TxtFont := TSpeedButton(Control).Font;
+ C.Font.Assign (TxtFont);
+
+ TWidth := C.TextWidth(Txt);
+ //THeight := C.TextHeight(Txt);
+ TextRect.Left := (CWidth - TWidth) div 2;
+
+
+ if TControl(Control).IsRightToLeft then
+ TextFormat := TextFormat + DT_RTLREADING;
+
+//--- //"Holger Lembke"
+
+ if (Txt <> '') then
+ begin
+ FillChar(TextRect, sizeof(TextRect),0);
+ DrawText(C.Handle,
+ PChar(Txt), Length(Txt),
+ TextRect,
+ DT_CALCRECT + control.DrawTextBiDiModeFlags(0));
+ TWidth := TextRect.Right;
+ THeight := TextRect.Bottom;
+ end
+ else
+ begin
+ TWidth := 0;
+ THeight := 0;
+ end;
+
+//---
+
+ if (TSpeedButton(Control).Glyph <> nil) then
+ begin
+ B := TBitmap.Create;
+ BWidth := TSpeedButton(Control).Glyph.Width div
+ TSpeedButton(Control).NumGlyphs;
+
+ BHeight := TSpeedButton(Control).Glyph.Height;
+
+ B.Width := BWidth;
+ B.Height := BHeight;
+ if Length(TSpeedButton(Control).Caption) > 0 then
+ Space := TSpeedButton(Control).Spacing
+ else
+ Space := 0;
+
+ IconRect := Rect(R.Left , R.Top, R.Left+BWidth, R.Top + BHeight);
+
+
+ // Suggested by : "Holger Lembke"
+ Offset := 1;
+ if (not Control.Enabled) and (NumGlyphs > 1) then
+ Offset := 2;
+ if (FLButtonBressed) and (NumGlyphs > 2) then
+ Offset := 3;
+ if (FDown) and (NumGlyphs > 3) then
+ Offset := 4;
+
+
+ B.Canvas.CopyRect (Rect(0, 0, BWidth, BHeight),
+ TSpeedButton(Control).Glyph.Canvas,
+ Rect((BWidth * Offset) - BWidth, 0, BWidth * Offset, BHeight));
+
+
+ FLayout := TSpeedButton(Control).Layout;
+ if Control.IsRightToLeft then
+ begin
+ if FLayout = blGlyphLeft then
+ FLayout := blGlyphRight
+ else
+ if FLayout = blGlyphRight then FLayout := blGlyphLeft;
+ end;
+ case FLayout of
+ blGlyphLeft:
+ begin
+ IconRect.Left := (CWidth - (BWidth + Space + TWidth)) div 2;
+ IconRect.Right := IconRect.Left + BWidth;
+ IconRect.Top := ((CHeight - (BHeight)) div 2) - 1;
+ IconRect.Bottom := IconRect.Top + BHeight;
+
+ TextRect.Left := IconRect.Right + Space;
+ TextRect.Right := TextRect.Left + TWidth;
+ TextRect.Top := (CHeight - (THeight)) div 2;
+ TextRect.Bottom := TextRect.Top + THeight;
+
+ end;
+ blGlyphRight:
+ begin
+ IconRect.Right := (CWidth + (BWidth + Space + TWidth)) div 2;
+ IconRect.Left := IconRect.Right - BWidth;
+ IconRect.Top := (CHeight - (BHeight)) div 2;
+ IconRect.Bottom := IconRect.Top + BHeight;
+
+ TextRect.Right := IconRect.Left - Space;
+ TextRect.Left := TextRect.Right - TWidth;
+ TextRect.Top := (CHeight - (THeight)) div 2;
+ TextRect.Bottom := TextRect.Top + THeight;
+
+ end;
+ blGlyphTop:
+ begin
+ IconRect.Left := (CWidth - BWidth) div 2;
+ IconRect.Right := IconRect.Left + BWidth;
+ IconRect.Top := (CHeight - (BHeight + Space + THeight)) div 2;
+ IconRect.Bottom := IconRect.Top + BHeight;
+
+ TextRect.Left := (CWidth - (TWidth)) div 2;
+ TextRect.Right := TextRect.Left + TWidth;
+ TextRect.Top := IconRect.Bottom + Space;
+ TextRect.Bottom := TextRect.Top + THeight;
+
+ end;
+ blGlyphBottom:
+ begin
+ IconRect.Left := (CWidth - BWidth) div 2;
+ IconRect.Right := IconRect.Left + BWidth;
+ IconRect.Bottom := (CHeight + (BHeight + Space + THeight)) div 2;
+ IconRect.Top := IconRect.Bottom - BHeight;
+
+ TextRect.Left := (CWidth - (TWidth)) div 2;
+ TextRect.Right := TextRect.Left + TWidth;
+ TextRect.Bottom := IconRect.Top - Space;
+ TextRect.Top := TextRect.Bottom - THeight;
+
+ end;
+
+ end;
+
+ FXPStyle.DrawIcon(Control, C , B, IconRect,
+ FMouseinControl,
+ FIsFocused,
+ TControl(Control).Enabled,
+ FDown or FLButtonBressed,
+ false,
+ TControl(Control).IsRightToLeft);
+
+ B.Free;
+ end;
+
+ FXPStyle.DrawTheText(Control,
+ Txt, '', C,
+ TextRect, false,
+ TControl(Control).Enabled,
+ false,
+ false,
+ TControl(Control).IsRightToLeft,
+ TxtFont,
+ TextFormat);
+ finally
+ C.Free;
+ end;
+
+end;
+
+procedure TControlSubClass.PaintBitButn;
+var
+ C: TControlCanvas;
+ R: TRect;
+ SelectColor, BorderColor: TColor;
+ Txt: string;
+ TextRect, IconRect: TRect;
+ TxtFont: TFont;
+ B: TBitmap;
+ CWidth, CHeight, BWidth, BHeight, TWidth, THeight, Space: integer;
+ TextFormat: integer;
+begin
+
+ C := TControlCanvas.Create;
+ try
+ C.Control := Control;
+
+ if (FMouseInControl or FBressed) then
+ begin
+ if (Control.Tag and 1000) = 1000 then
+ SelectColor := NewColor(C,
+ TControl(Control).Parent.Brush.Color, FXPStyle.FDimParentColorSelect)
+ else
+ SelectColor := NewColor(C, clBtnFace, FXPStyle.FDimParentColorSelect);
+ BorderColor := NewColor(C, FXPStyle.FFSelectBorderColor,60);
+ end
+ else
+ begin
+ if (Control.Tag and 1000) = 1000 then
+ SelectColor := NewColor(C, TControl(Control).Parent.Brush.Color, FXPStyle.FDimParentColor)
+ else
+ SelectColor := FXPStyle.FFIconBackColor;
+ BorderColor := clBtnShadow;
+ end;
+
+ if (not FmouseinControl) and (FIsFocused) then
+ begin
+ BorderColor := NewColor(C, FXPStyle.FFSelectBorderColor,60);
+ end;
+
+ if (Control.Tag and 1001) = 1001 then
+ begin
+ BorderColor := SelectColor;
+ end;
+
+
+ TextFormat := + DT_CENTER + DT_VCENTER;
+
+ R := Control.ClientRect;
+
+ CWidth := (R.Right - R.Left);
+ CHeight := (R.Bottom - R.Top);
+
+
+ C.Brush.Color := Control.Parent.Brush.Color;
+ C.FillRect(R);
+
+ C.Brush.Color := SelectColor;
+
+
+ C.Pen.Color := NewColor(C, BorderColor, 30);
+ c.RoundRect(R.Left, R.Top, R.Right, R.Bottom, 4, 4);
+
+ if (Control.Tag and 1001) <> 1001 then
+ begin
+ if TControl(Control).Enabled then
+ if (FLButtonBressed and FmouseinControl) or (FBressed) then
+ begin
+ C.Pen.Color := GetShadeColor(C, BorderColor, 50);
+ C.MoveTo(R.Left , R.Bottom - 2);
+ C.LineTo(R.Left , R.Top + 1);
+ C.LineTo(R.Left + 1, R.Top );
+ C.LineTo(R.Right - 1 , R.Top );
+ end
+ else
+ begin
+ C.Pen.Color := GetShadeColor(C, BorderColor, 50);
+ C.MoveTo(R.Right - 1, R.Top + 1);
+ C.LineTo(R.Right - 1, R.Bottom - 2);
+ C.LineTo(R.Right - 2, R.Bottom - 1);
+ C.LineTo(R.Left , R.Bottom - 1);
+ end;
+ end;
+ Txt := TBitBtn(Control).Caption;
+
+ TextRect := R;
+
+ TxtFont := TBitBtn(Control).Font;
+ C.Font.Assign (TxtFont);
+
+ TWidth := C.TextWidth(Txt);
+
+ TextRect.Left := (CWidth - TWidth) div 2;
+
+
+//--- //"Holger Lembke"
+
+ if (Txt <> '') then
+ begin
+ FillChar(TextRect, sizeof(TextRect),0);
+ DrawText(C.Handle,
+ PChar(Txt), Length(Txt),
+ TextRect,
+ DT_CALCRECT + control.DrawTextBiDiModeFlags(0));
+ TWidth := TextRect.Right;
+ THeight := TextRect.Bottom;
+ end
+ else
+ begin
+ TWidth := 0;
+ THeight := 0;
+ end;
+
+//---
+ if TBitBtn(Control).IsRightToLeft then
+ TextFormat := TextFormat + DT_RTLREADING;
+
+
+ if (TBitBtn(Control).Glyph <> nil) then
+ begin
+ B := TBitmap.Create;
+ BWidth := TBitBtn(Control).Glyph.Width div
+ TBitBtn(Control).NumGlyphs;
+
+ BHeight := TBitBtn(Control).Glyph.Height;
+
+ B.Width := BWidth;
+ B.Height := BHeight;
+ Space := TBitBtn(Control).Spacing;
+ if (Trim(TBitBtn(Control).Caption) = '') then Space := 0; //"Holger Lembke"
+ IconRect := Rect(R.Left , R.Top, R.Left+BWidth, R.Top + BHeight);
+
+ B.Canvas.CopyRect (Rect(0, 0, BWidth, BHeight),
+ TBitBtn(Control).Glyph.Canvas,
+ Rect(0, 0, BWidth, BHeight));
+
+ case TBitBtn(Control).Layout of
+ blGlyphLeft:
+ begin
+ IconRect.Left := (CWidth - (BWidth + Space + TWidth)) div 2;
+ IconRect.Right := IconRect.Left + BWidth;
+ IconRect.Top := (CHeight - (BHeight)) div 2;
+ IconRect.Bottom := IconRect.Top + BHeight;
+
+ TextRect.Left := IconRect.Right + Space;
+ TextRect.Right := TextRect.Left + TWidth;
+
+ TextRect.Top := (CHeight - (THeight)) div 2;
+ TextRect.Bottom := TextRect.Top + THeight;
+ end;
+ blGlyphRight:
+ begin
+ IconRect.Right := (CWidth + (BWidth + Space + TWidth)) div 2;
+ IconRect.Left := IconRect.Right - BWidth;
+ IconRect.Top := (CHeight - (BHeight)) div 2;
+ IconRect.Bottom := IconRect.Top + BHeight;
+
+ TextRect.Right := IconRect.Left - Space;
+ TextRect.Left := TextRect.Right - TWidth;
+ TextRect.Top := (CHeight - (THeight)) div 2;
+ TextRect.Bottom := TextRect.Top + THeight;
+ end;
+ blGlyphTop:
+ begin
+ IconRect.Left := (CWidth - BWidth) div 2;
+ IconRect.Right := IconRect.Left + BWidth;
+ IconRect.Top := (CHeight - (BHeight + Space + THeight)) div 2;
+ IconRect.Bottom := IconRect.Top + BHeight;
+
+ TextRect.Left := (CWidth - (TWidth)) div 2;
+ TextRect.Right := TextRect.Left + TWidth;
+ TextRect.Top := IconRect.Bottom + Space;
+ TextRect.Bottom := TextRect.Top + THeight;
+
+ end;
+ blGlyphBottom:
+ begin
+ IconRect.Left := (CWidth - BWidth) div 2;
+ IconRect.Right := IconRect.Left + BWidth;
+ IconRect.Bottom := (CHeight + (BHeight + Space + THeight)) div 2;
+ IconRect.Top := IconRect.Bottom - BHeight;
+
+ TextRect.Left := (CWidth - (TWidth)) div 2;
+ TextRect.Right := TextRect.Left + TWidth;
+ TextRect.Bottom := IconRect.Top - Space;
+ TextRect.Top := TextRect.Bottom - THeight;
+
+ end;
+ end;
+
+ FXPStyle.DrawIcon(Control, C , B, IconRect,
+ FMouseinControl,
+ FIsFocused,
+ TControl(Control).Enabled,
+ false,
+ false,
+ TControl(Control).IsRightToLeft);
+
+ B.Free;
+ end;
+
+ if (Control.Tag and 1002) = 1002 then
+ begin
+ if TBitBtn(Control).IsRightToLeft then
+ TextFormat := + DT_RIGHT + DT_VCENTER
+ else
+ TextFormat := + DT_LEFT + DT_VCENTER;
+ TextRect := R;
+ InflateRect(TextRect, -4,-2);
+ end;
+
+ FXPStyle.DrawTheText(Control,
+ Txt, '', C,
+ TextRect, false,
+ TControl(Control).Enabled,
+ TBitBtn(Control).Default,
+ false,
+ TControl(Control).IsRightToLeft,
+ TxtFont,
+ TextFormat);
+
+ finally
+ C.Free;
+ end;
+end;
+
+procedure TControlSubClass.PaintUpDownButton;
+var
+ C: TControlCanvas;
+ R: TRect;
+ SelectColor, BorderColor, ArrowColor: TColor;
+ P: TPoint;
+ H: integer;
+
+ procedure DrawUpDownButton(ARect: TRect; Arrow: integer; Active: boolean);
+ begin
+ if Control.Enabled then ArrowColor := clBlack else ArrowColor := clWhite;
+ if Active then
+ begin
+ if FLButtonBressed then
+ begin
+ BorderColor := FXPStyle.FFSelectBorderColor;
+ SelectColor := FXPStyle.FCheckedAreaSelectColor ;
+ ArrowColor := clWhite;
+ end
+ else begin
+ BorderColor := FXPStyle.FFSelectBorderColor;
+ SelectColor := NewColor(C, FXPStyle.FFSelectColor, 60);//FXPStyle.FFSelectColor;
+ end;
+ end
+ else begin
+ if Control.Tag = 1000 then
+ SelectColor := NewColor(C, TControl(Control).Parent.Brush.Color, FXPStyle.FDimParentColor)
+ else
+ SelectColor := NewColor(C, FXPStyle.FFSelectColor, FXPStyle.FDimParentColor);//clBtnFace;
+ BorderColor := NewColor(C, TControl(Control).Parent.Brush.Color, 80);//SelectColor;
+ end;
+
+ C.Pen.Color := BorderColor;
+ C.Brush.Color := SelectColor;
+ C.Font.Color := ArrowColor;
+
+ if C.Pixels[ARect.Left, ARect.Top] <> ColorToRGB(BorderColor) then begin
+ C.Rectangle(ARect.Left, ARect.Top, ARect.Right, ARect.Bottom);
+ C.Pen.Color := ArrowColor;
+ DrawArrow(C, ARect.Left + ((ARect.Right - ARect.Left) div 2),
+ ARect.Top + ((ARect.Bottom - ARect.Top) div 2) -2, Arrow);
+ end;
+ end;
+
+begin
+ C := TControlCanvas.Create;
+ try
+ C.Control := Control;
+ R := Control.ClientRect;
+
+ H := (R.Bottom - R.Top) div 2;
+ P := Control.ScreenToClient(Mouse.CursorPos);
+ DrawUpDownButton(Rect(R.Left, R.Top, R.Right, R.Top + H), 0,
+ TControl(Control).Enabled and FMouseInControl and (P.Y < H));
+ DrawUpDownButton(Rect(R.Left, R.Bottom - H, R.Right, R.Bottom), 1,
+ TControl(Control).Enabled and FMouseInControl and not(P.Y < H));
+ finally
+ C.Free;
+ end;
+end;
+
+procedure TControlSubClass.PaintGroupBox;
+var
+ C: TControlCanvas;
+ R, RText: TRect;
+ ShadowColor, LightColor: TColor;
+ TextHeight, TextWidth: integer;
+ Text: string;
+begin
+
+ if FMsg <> WM_PAINT then exit;
+ C := TControlCanvas.Create;
+ try
+ C.Control := Control;
+
+ R := Control.ClientRect;
+ C.Font.Assign (TGroupBox(Control).Font);
+ C.Font.Height := TGroupBox(Control).Font.Height;
+ Text := TGroupBox(Control).Caption;
+
+ TextHeight := C.TextHeight(Text);
+ TextWidth := C.TextWidth(Text);
+ if Length(Text) = 0 then
+ TextHeight := C.TextHeight(' ');
+ ShadowColor := GetShadeColor(C, TGroupBox(Control).color, 60);
+ LightColor := NewColor(C, TGroupBox(Control).color, 60);
+
+ InflateRect(R,-1, -1);
+ Inc(R.Top, (TextHeight)-1);
+ C.Brush.Style := bsClear;
+ C.Pen.Color := TGroupBox(Control).Color; // Control Color;
+ C.Rectangle (R.Left, R.Top, R.Right, R.Bottom);
+
+
+ //----Draw the outer Frame
+ R := Control.ClientRect;
+ Inc(R.Top, (TextHeight div 2)-1);
+ C.Pen.Color := TGroupBox(Control).Color;
+ C.MoveTo(R.Left + 1, R.Top); // Repeat
+ C.LineTo(R.Left + 1, R.Bottom);
+ if TGroupBox(Control).Ctl3D then
+ Frame3D(C, R, LightColor, ShadowColor, 1)
+ else
+ Frame3D(C, R, ShadowColor, ShadowColor, 1);
+
+
+ // Fill Upper part (outside frame)
+ R := Control.ClientRect;
+ R.Bottom := R.Top + (TextHeight div 2) + 1;
+ C.Brush.Style := bsSolid;
+ C.Brush.Color := Control.Parent.Brush.Color; // Parent Color;
+ C.Pen.Color := C.Brush.Color;
+ C.FillRect(R);
+
+
+ if Control.IsRightToLeft then
+ begin
+ C.TextFlags := ETO_RTLREADING;
+ RText.Right := R.Right - 9;
+ RText.Left := RText.Right - TextWidth;
+ end
+ else
+ begin
+ RText.Left := R.Left + 9;
+ RText.Right := RText.Left + TextWidth;
+ end;
+
+ RText.Top := R.Top ;
+ RText.Bottom := R.Top + TextHeight;
+
+ //(inside frame)
+ InflateRect(R, -1, 0);
+ R.Top := R.Bottom;
+ R.Bottom := R.Top + (TextHeight div 2) + 1;
+ C.Brush.Style := bsSolid;
+ R.Left := RText.Left;
+ R.Right := RText.Right;
+ C.Brush.Color := TGroupBox(Control).Color; // Control Color;
+ C.Pen.Color := C.Brush.Color;
+ C.FillRect(R);
+
+ R.Right := Control.ClientRect.Right;
+
+ C.MoveTo(R.Right-2, R.Top);
+ C.LineTo(R.Right-2, RText.Bottom);
+
+ C.Brush.Style := bsClear;
+ if Control.IsRightToLeft then
+ C.TextFlags := ETO_RTLREADING;
+
+ C.TextRect (RText, RText.Left, RText.Top, Text);
+
+ // Draw Upper Line
+ R := Control.ClientRect;
+ Inc(R.Top, (TextHeight div 2) + 1);
+ if TGroupBox(Control).Ctl3D then
+ C.Pen.Color := LightColor
+ else
+ C.Pen.Color := ShadowColor;
+ C.MoveTo(R.Left, R.Top);
+ C.LineTo(RText.Left, R.Top);
+
+ C.MoveTo(RText.Right, R.Top);
+ C.LineTo(R.Right -1, R.Top);
+
+ finally
+ C.Free;
+ end;
+end;
+
+procedure TControlSubClass.PaintPanel;
+var
+ C: TControlCanvas;
+ R: TRect;
+ ShadowColor, LightColor: TColor;
+begin
+ if FMsg <> WM_PAINT then exit;
+ C := TControlCanvas.Create;
+ try
+ C.Control := Control;
+
+ R := Control.ClientRect;
+ ShadowColor := GetShadeColor(C, TPanel(Control).color, 60);
+ LightColor := NewColor(C, TPanel(Control).color, 60);
+ if TPanel(Control).BevelOuter <> bvNone then
+ begin
+ if TPanel(Control).BevelOuter = bvLowered then
+ Frame3D(C, R, ShadowColor, LightColor, TPanel(Control).BevelWidth)
+ else
+ Frame3D(C, R, LightColor, ShadowColor, TPanel(Control).BevelWidth);
+ end;
+
+ if TPanel(Control).BevelInner <> bvNone then
+ begin
+ InflateRect(R, -TPanel(Control).BorderWidth, -TPanel(Control).BorderWidth);
+
+ if TPanel(Control).BevelInner = bvLowered then
+ Frame3D(C, R, ShadowColor, LightColor, TPanel(Control).BevelWidth)
+ else
+ Frame3D(C, R, LightColor, ShadowColor, TPanel(Control).BevelWidth);
+ end;
+ finally
+ C.Free;
+ end;
+
+end;
+
+type
+ TCastWinControl = class(TWinControl);
+
+procedure TControlSubClass.PaintNCWinControl;
+var
+ DC: HDC;
+ C: TControlCanvas;
+ R: TRect;
+ BorderColor: TColor;
+
+begin
+ C := TControlCanvas.Create;
+ DC := GetWindowDC(TWinControl(Control).Handle);
+ try
+ C.Control := Control;
+ C.Handle := DC;
+
+ FXPStyle.SetGlobalColor(C);
+
+ if (FMouseInControl) or (FIsFocused) then
+ begin
+ if FBorderStyle = bsSingle then
+ BorderColor := NewColor(C, FXPStyle.FFSelectBorderColor, 60)
+ else
+ BorderColor := NewColor(C, FXPStyle.FFSelectBorderColor, 80);
+ end
+ else
+ begin
+ if FBorderStyle = bsSingle then
+ borderColor := GetShadeColor(C, Control.Parent.Brush.Color, 60)
+ else
+ borderColor := Control.Parent.Brush.Color;
+ end;
+
+ if TCastWinControl(Control).Ctl3D <> false then
+ begin
+ FBuilding := true;
+ TCastWinControl(Control).Ctl3D := false;
+ end;
+
+ C.Pen.Color := BorderColor;
+ C.Brush.Style := bsClear;
+
+ R := Rect(0, 0, Control.Width, Control.Height);
+ C.Rectangle(R.Left, R.Top, R.Right, R.Bottom);
+ finally
+ C.Free;
+ ReleaseDC(TWinControl(Control).Handle, DC);
+ end;
+end;
+
+procedure TControlSubClass.PaintProgressBar;
+var
+ DC: HDC;
+ C: TControlCanvas;
+ R: TRect;
+ BorderColor: TColor;
+
+begin
+ C := TControlCanvas.Create;
+ DC := GetWindowDC(TWinControl(Control).Handle);
+ try
+ C.Control := Control;
+ C.Handle := DC;
+
+ if (FMouseInControl) then
+ BorderColor := FXPStyle.FFSelectBorderColor
+ else
+ BorderColor := GetShadeColor(C, Control.Parent.Brush.Color, 60);
+
+ C.Pen.Color := BorderColor;
+ C.Brush.Style := bsClear;
+
+ R := Rect(0, 0, Control.Width, Control.Height);
+ C.Rectangle(R.Left, R.Top, R.Right, R.Bottom);
+ finally
+ C.Free;
+ ReleaseDC(TWinControl(Control).Handle, DC);
+ end;
+end;
+
+procedure TControlSubClass.PaintHotKey;
+var
+ DC: HDC;
+ C: TControlCanvas;
+ R: TRect;
+ BorderColor: TColor;
+
+begin
+ C := TControlCanvas.Create;
+ DC := GetWindowDC(TWinControl(Control).Handle);
+ try
+ C.Control := Control;
+ C.Handle := DC;
+
+ FXPStyle.SetGlobalColor(C);
+
+ if (FMouseInControl) or (FIsFocused) then
+ BorderColor := NewColor(C, FXPStyle.FFSelectBorderColor, 60)
+ else
+ BorderColor := GetShadeColor(C, Control.Parent.Brush.Color, 60);
+
+ C.Pen.Color := BorderColor;
+ C.Brush.Style := bsClear;
+
+ R := Rect(0, 0, Control.Width, Control.Height);
+ C.Rectangle(R.Left, R.Top, R.Right, R.Bottom);
+ InflateRect(R, -1, -1);
+ C.Pen.Color := clWindow;
+ C.Rectangle(R.Left, R.Top, R.Right, R.Bottom);
+
+ finally
+ C.Free;
+ ReleaseDC(TWinControl(Control).Handle, DC);
+ end;
+end;
+
+// UCXPStyleManager
+//
+// Uwe Runkel, uwe@runkel.info
+//
+// Enable FXPStyle to be used globally (all windows in the application use XPStyle).
+// Hence you don't need more than one instance in an application. However it is also
+// possible to have more than one instance. But only one instance is used for subclassing.
+// If this instance is destroyed the manager looks if there is another instance which is
+// allowed to subclass.
+
+constructor TUCXPStyleManager.Create;
+begin
+ inherited Create;
+ FXPStyleList := TList.Create; // list of XPStyle components in the application
+ FFormList := TList.Create; // list of subclassed forms
+ FPendingFormsList := TList.Create; // list of forms inserted but not subclassed yet
+ FDisableSubclassing := false; // This disables the UCXPStyleManager
+ FActiveXPStyle := nil; // Currently for subclassing used XPStyle
+ // if this is nil no subclassing is done.
+ {the If condition was added because sometimes it freezes delphi when
+ more than two windows with the UCXPStyle component are opened and the closed}
+
+ if not (csDesigning in Application.ComponentState) then
+ Application.HookMainWindow(MainWindowHook);
+end;
+
+destructor TUCXPStyleManager.Destroy;
+begin
+{Bret Goldsmith bretg@yahoo.com}
+{alexs }
+ {the If condition was added because sometimes it freezes delphi when
+ more than two windows with the UCXPStyle component are opened and the closed}
+ if not (csDesigning in Application.ComponentState) then
+ Application.UnhookMainWindow(MainWindowHook);
+
+ FPendingFormsList.Free;
+ FXPStyleList.Free;
+ FFormList.Free;
+ inherited;
+end;
+
+// A component has been inserted or removed, if it is a form and subclassing is
+// allowed then subclass it, so this form doesn't need a XPStyle component as well
+procedure TUCXPStyleManager.Notification(AComponent: TComponent;
+ AOperation: TOperation);
+begin
+ if (FActiveXPStyle = nil) or FDisableSubclassing then Exit;
+ case AOperation of
+ opInsert:
+ // At this place we cannot subclass the control because it did not yet get its
+ // initial window procedure.
+ // So we add it to an intermediate list and subclass it at a later moment.
+ if (AComponent is TCustomForm) and (FPendingFormsList.IndexOf(AComponent) < 0) then
+ FPendingFormsList.Add(AComponent);
+ opRemove:
+ if (AComponent is TWinControl) then
+ begin
+ if AComponent is TCustomForm then begin
+ // Remove the destroyed form from any form list if it is still there.
+ FPendingFormsList.Remove(AComponent);
+ FFormList.Remove(AComponent);
+ end;
+ end;
+ end;
+end;
+
+// Add some XPStyle to the manager
+procedure TUCXPStyleManager.Add(AXPStyle: TUCXPStyle);
+begin
+ FXPStyleList.Add(AXPStyle);
+ FFormList.Add(AXPStyle.Form);
+ if (FActiveXPStyle = nil) and AXPStyle.Active and not(AXPStyle.DisableSubclassing) and
+ not(FDisableSubclassing) then
+ begin
+ FActiveXPStyle := AXPStyle;
+ CollectForms;
+ end;
+end;
+
+// Remove some XPStyle from the manager
+procedure TUCXPStyleManager.Delete(AXPStyle: TUCXPStyle);
+begin
+ if AXPStyle = FActiveXPStyle then
+ UpdateActiveXPStyle(AXPStyle);
+ FXPStyleList.Remove(AXPStyle);
+end;
+
+// Select a new ActiveXPStyle (except the one given in the parameter)
+procedure TUCXPStyleManager.UpdateActiveXPStyle(AXPStyle: TUCXPStyle);
+var
+ Cnt : integer;
+ XPM : TUCXPStyle;
+ Item: TControlSubClass;
+ Comp: TControlSubClass;
+
+begin
+ XPM := FindSubclassingXPStyle(AXPStyle);
+ if XPM = nil then
+ begin
+ FPendingFormsList.Clear;
+ if not Assigned(Application.MainForm) then Exit;
+ for Cnt := 0 to FFormList.Count - 1 do
+ if (AXPStyle = nil) or (FFormList[Cnt] <> AXPStyle.Form) then
+ RemoveChildSubclassing(TCustomForm(FFormList[Cnt]));
+ FFormList.Clear;
+ FActiveXPStyle := XPM;
+ end
+ else begin
+ if FActiveXPStyle = nil then
+ begin
+ FActiveXPStyle := XPM;
+ CollectForms;
+ end
+ else begin
+ for Cnt := 0 to FActiveXPStyle.ComponentCount - 1 do
+ if (FActiveXPStyle.Components[Cnt] is TControlSubClass) then
+ begin
+ Comp := FActiveXPStyle.Components[Cnt] as TControlSubClass;
+ if (AXPStyle <> nil) and not(AXPStyle.Form.ContainsControl(Comp.Control)) then
+ begin
+ Item := TControlSubClass.Create(XPM);
+ Item.Control := Comp.Control;
+ Item.orgWindowProc := Comp.orgWindowProc;
+ Item.Control.WindowProc := Item.ControlSubClass;
+ Item.FXPStyle := XPM;
+ Item.FCtl3D := Comp.FCtl3D;
+ Item.FBorderStyle := Comp.FBorderStyle;
+ {Item.FOnDrawCell := Comp.FOnDrawCell;}
+ Item.FDefaultDrawing := Comp.FDefaultDrawing;
+ Item.FSelCol := Comp.FSelCol;
+ Item.FSelRow := Comp.FSelRow;
+ end;
+ end;
+ FActiveXPStyle := XPM;
+ end;
+ end;
+end;
+
+// Find an XPStyle which can be used for subclassing
+function TUCXPStyleManager.FindSubclassingXPStyle(Exclude: TUCXPStyle): TUCXPStyle;
+var
+ XPM: TUCXPStyle;
+ Cnt: integer;
+
+begin
+ Result := nil;
+ if (FXPStyleList.Count = 0) or FDisableSubclassing then Exit;
+ Cnt := 0;
+ repeat
+ XPM := TUCXPStyle(FXPStyleList[Cnt]);
+ if XPM.Active and not(XPM.DisableSubclassing) and (XPM <> Exclude)
+ then Result := XPM;
+ inc(Cnt);
+ until (Result <> nil) or (Cnt = FXPStyleList.Count);
+end;
+
+// Listens to messages sent to the application and looks if a window is inserted.
+function TUCXPStyleManager.MainWindowHook(var Message: TMessage): boolean;
+var
+ i: integer;
+ NewForm: TCustomForm;
+
+ FMenuItem: TMenuItem; // +jt
+ FMenu: TMenu; // +jt
+ r: TRECT; // +jt
+ pt: TPOINT; // +jt
+ hWndM: HWND; // +j
+begin
+ Result := false;
+ // +ahuser// ahuser: "Andreas Hausladen"
+ if UCXPStyleManager = nil then // prevent AVs on termination
+ Exit;
+ // +ahuser
+ if Message.Msg = WM_DRAWMENUBORDER then
+ begin
+ FMenuItem:=TMenuItem(Message.LParam);
+ if Assigned(FMenuItem) then
+ begin
+ GetMenuItemRect(0,FMenuItem.Parent.Handle,FMenuItem.MenuIndex,r);
+ FMenu := FMenuItem.Parent.GetParentMenu;
+ pt.x:=r.Left+(r.Right-r.Left) div 2;
+ pt.y:=r.Top+(r.Bottom-r.Top) div 2;
+ hWndM :=WindowFromPoint(pt);
+ if (hWndM <> 0) and Assigned(FActiveXPStyle) then //Rappido 2003 09 13
+ FActiveXPStyle.DrawWindowBorder(hWndM, FMenu.IsRightToLeft);
+ end;
+ end;
+
+ if Message.Msg = WM_DRAWMENUBORDER2 then
+ begin
+ hWndM := HWND(Message.LParam);
+ if (hWndM <> 0) and Assigned(FActiveXPStyle) then //Rappido 2003 09 13
+ FActiveXPStyle.DrawWindowBorder(hWndM, boolean(Message.WParam));
+ end;
+
+ if (Assigned(FPendingFormsList)) and (FPendingFormsList <> nil) then
+ try
+ if (FPendingFormsList.Count > 0) then
+ begin
+ for i := 0 to FPendingFormsList.Count - 1 do begin
+ NewForm := TCustomForm(FPendingFormsList[i]);
+ if FFormList.IndexOf(NewForm) < 0 then begin
+ FFormList.Add(NewForm);
+ if not(FDisableSubclassing) then
+ FActiveXPStyle.InitItems(NewForm, true, true);
+ end;
+ end;
+ FPendingFormsList.Clear;
+ end;
+ except
+ end;
+
+
+end;
+
+// Collect all forms of the application and subclass them
+procedure TUCXPStyleManager.CollectForms;
+var
+ FCnt, CCnt: integer;
+ HasXPStyle : boolean;
+
+begin
+ if not FDisableSubclassing then
+ for FCnt := 0 to Screen.FormCount - 1 do
+ if (FFormList.IndexOf(Screen.Forms[FCnt]) < 0) and (Screen.Forms[FCnt].Tag <> 999) then
+ begin
+ HasXPStyle := false;
+ for CCnt := 0 to Screen.Forms[FCnt].ComponentCount - 1 do
+ HasXPStyle := HasXPStyle or (Screen.Forms[FCnt].Components[CCnt] is TUCXPStyle);
+ if not(HasXPStyle) then
+ FPendingFormsList.Add(Screen.Forms[FCnt]);
+ end;
+end;
+
+// Remove subclassing from the original components
+procedure TUCXPStyleManager.RemoveChildSubclassing(AForm: TCustomForm);
+var
+ Cnt : integer;
+ Comp : TComponent;
+ Control: TControl;
+
+begin
+//exit;
+ for Cnt := FActiveXPStyle.ComponentCount - 1 downto 0 do begin
+ Comp := FActiveXPStyle.Components[Cnt];
+ if (Comp is TControlSubClass) then begin
+ Control := TControlSubClass(Comp).Control;
+ if AForm.ContainsControl(Control) then begin
+ try
+ Control.WindowProc := TControlSubClass(Comp).orgWindowProc;
+ if Control is TCustomEdit then begin
+ TEdit(Control).Ctl3D := TControlSubClass(Comp).FCtl3D;
+ TEdit(Control).BorderStyle := TControlSubClass(Comp).FBorderStyle;
+ end;
+ if Control.ClassName = 'TDBLookupComboBox' then
+ TComboBox(Control).Ctl3D := TControlSubClass(Comp).FCtl3D;
+ if Control is TCustomListBox then begin
+ TListBox(Control).Ctl3D := TControlSubClass(Comp).FCtl3D;
+ TListBox(Control).BorderStyle := TControlSubClass(Comp).FBorderStyle;
+ end;
+ if Control is TCustomListView then begin
+ TListView(Control).Ctl3D := TControlSubClass(Comp).FCtl3D;
+ TListView(Control).BorderStyle := TControlSubClass(Comp).FBorderStyle;
+ end;
+ if Control is TCustomTreeView then begin
+ TTreeView(Control).Ctl3D := TControlSubClass(Comp).FCtl3D;
+ TTreeView(Control).BorderStyle := TControlSubClass(Comp).FBorderStyle;
+ end;
+ except
+ end;
+ end;
+ end;
+ end;
+end;
+
+// Add a form manually to the current XPStyle
+procedure TUCXPStyleManager.AddForm(AForm: TCustomForm);
+begin
+ if FPendingFormsList.IndexOf(AForm) < 0 then
+ FPendingFormsList.Add(AForm);
+end;
+
+// Remove a form manually from the current XPStyle
+procedure TUCXPStyleManager.RemoveForm(AForm: TCustomForm);
+begin
+ if FPendingFormsList.IndexOf(AForm) >= 0 then
+ FPendingFormsList.Remove(AForm);
+ if FFormList.IndexOf(AForm) >= 0 then
+ FFormList.Remove(AForm);
+end;
+
+// Disable/Enable subclassing by the manager
+procedure TUCXPStyleManager.SetDisableSubclassing(AValue: boolean);
+begin
+ if FDisableSubclassing = AValue then Exit;
+ FDisableSubclassing := AValue;
+ UpdateActiveXPStyle(nil);
+end;
+
+// Check if a Form is subclassed
+function TUCXPStyleManager.IsFormSubclassed(AForm: TCustomForm): boolean;
+begin
+ Result := ((FFormList <> nil) and (FFormList.IndexOf(AForm) >= 0)) or
+ ((FPendingFormsList <> nil) and (FPendingFormsList.IndexOf(AForm) >= 0));
+end;
+
+// Check if a Component is subclassed
+function TUCXPStyleManager.IsComponentSubclassed(AComponent: TComponent): boolean;
+var
+ Cnt: integer;
+
+begin
+ Result := false;
+ with FActiveXPStyle do
+ for Cnt := 0 to ComponentCount - 1 do
+ if Components[Cnt] is TControlSubClass then
+ if TControlSubClass(Components[Cnt]).Control = TControl(AComponent) then
+ begin
+ Result := True;
+ Break; // ahuser
+ end;
+end;
+initialization
+ InitControls;
+ //else
+ // exit;
+finalization
+ DoneControls;
+end.
+
diff --git a/official/2.20/Source/UcConsts_Language.pas b/official/2.20/Source/UcConsts_Language.pas
new file mode 100644
index 0000000..efbe4bb
--- /dev/null
+++ b/official/2.20/Source/UcConsts_Language.pas
@@ -0,0 +1,904 @@
+unit UcConsts_Language;
+
+interface
+
+Uses SysUtils;
+
+Type TUCLanguage = ( ucPortuguesBr, ucEnglish, ucSpanish, ucFrench );
+
+Const MaxArray = 213;
+
+Const UC_PTBR : Array [0..MaxArray,0..1] of string = (
+ ('Const_Contr_TitleLabel','Seleção de Componentes do Form. :'),
+ ('Const_Contr_GroupLabel','Grupo :') ,
+ ('Const_Contr_CompDispLabel','Componentes Disponíveis :'),
+ ('Const_Contr_CompSelLabel','Componentes Selecionados :'),
+ ('Const_Contr_BtOK','&OK'),
+ ('Const_Contr_BTCancel','&Cancelar'),
+ ('Const_Contr_DescCol','Descrição'),
+ ('Const_Contr_BtSellAllHint','Selecionar Todos'),
+ ('Const_Contr_BtSelHint','Selecionar'),
+ ('Const_Contr_BtUnSelHint','Desmarcar'),
+ ('Const_Contr_BtUnSelAllHint','Desmarcar Todos'),
+ ('Const_Msgs_BtNew','&Nova Mensagem'),
+ ('Const_Msgs_BtReplay','&Responder'),
+ ('Const_Msgs_BtForward','E&ncaminhar'),
+ ('Const_Msgs_BtDelete','&Excluir'),
+ ('Const_Msgs_BtClose','&Fechar'),
+ ('Const_Msgs_WindowCaption','Mensagens do Sistema'),
+ ('Const_Msgs_ColFrom','Remetente'),
+ ('Const_Msgs_ColSubject','Assunto'),
+ ('Const_Msgs_ColDate','Data'),
+ ('Const_Msgs_PromptDelete','Confirma excluir as mensagens selecionadas ?'),
+ ('Const_Msgs_PromptDelete_WindowCaption','Apagar mensagens'),
+ ('Const_Msgs_NoMessagesSelected','Não existem mensagens selecionadas'),
+ ('Const_Msgs_NoMessagesSelected_WindowCaption','Informação'),
+ ('Const_MsgRec_BtClose','&Fechar'),
+ ('Const_MsgRec_WindowCaption','Mensagem'),
+ ('Const_MsgRec_Title','Mensagem Recebida'),
+ ('Const_MsgRec_LabelFrom','De :'),
+ ('Const_MsgRec_LabelDate','Data'),
+ ('Const_MsgRec_LabelSubject','Assunto'),
+ ('Const_MsgRec_LabelMessage','Mensagem'),
+ ('Const_MsgSend_BtSend','&Enviar'),
+ ('Const_MsgSend_BtCancel','&Cancelar'),
+ ('Const_MsgSend_WindowCaption','Mensagem'),
+ ('Const_MsgSend_Title','Enviar Nova Mensagem'),
+ ('Const_MsgSend_GroupTo','Para'),
+ ('Const_MsgSend_RadioUser','Usuário :'),
+ ('Const_MsgSend_RadioAll','Todos'),
+ ('Const_MsgSend_GroupMessage','Mensagem'),
+ ('Const_MsgSend_LabelSubject','Assunto'),
+ ('Const_MsgSend_LabelMessageText','Texto da mensagem'),
+ ('MsgExceptConnection','Não informado o Connection, Transaction ou Database do componente %s'),
+ ('MsgExceptTransaction','Não informado o Transaction do componente %s'),
+ ('MsgExceptDatabase','Não informado o Database do componente %s'),
+ ('MsgExceptPropriedade','Favor informar a propriedade %s'),
+ ('MsgExceptUserMngMenu','Informe na propriedade UsersForm.MenuItem ou UsersForm.Action o Item responsável pelo controle de usuários'),
+ ('MsgExceptUserProfile','Informe na propriedade UsersProfile.MenuItem ou UsersProfile.Action o Item responsável pelo controle de Perfil de usuários'),
+ ('MsgExceptChagePassMenu','Informe na propriedade ChangePasswordForm.MenuItem or .Action o Item que permite ao usuário alterar sua senha'),
+ ('MsgExceptAppID','Na propriedade ApplicationID informe um nome para identificar a aplicação na tabela de permissões'),
+ ('MsgExceptUsersTable','Na propriedade TableUsers informe o nome da tabela que será criada para armazenar os dados dos usuários'),
+ ('MsgExceptRightsTable','Na propriedade TableRights informe o nome da tabela que será criada para armazenar as permissões dos usuários'),
+ ('MsgExceptConnector','Propriedade DataConnector não definida!'),
+ ('Const_Men_AutoLogonError','Falha de Auto Logon!' + #13 + #10 + 'Informe um usuário e senha válidos.'),
+ ('Const_Men_SenhaDesabitada','Retirada senha do Login %s'),
+ ('Const_Men_SenhaAlterada','Senha alterada com sucesso!'),
+ ('Const_Men_MsgInicial','ATENÇÃO Login Inicial:' + #13 + #10 + #13 + #10 + 'Usuário : :user' + #13 + #10 + 'Senha : :password' + #13 + #10 + #13 + #10 + 'Defina as permissões para este usuário.'),
+ ('Const_Men_MaxTentativas','%d Tentativas de login inválido. Por motivos de segurança o ' + #13 + #10 + 'sistema será fechado.'),
+ ('Const_Men_LoginInvalido','Usuário ou Senha inválidos!'),
+ ('Const_Men_UsuarioExiste','O Usuário "%s" já está cadastrado no sistema !!'),
+ ('Const_Men_PasswordExpired','Atenção, sua senha expirou, favor troca-la'),
+ ('Const_Log_BtCancelar','&Cancelar'),
+ ('Const_Log_BtOK','&OK'),
+ ('Const_Log_LabelSenha','Senha :'),
+ ('Const_Log_LabelUsuario','Usuário :'),
+ ('Const_Log_WindowCaption','Login'),
+ ('Const_Log_LbEsqueciSenha','Esqueci a senha'),
+ ('Const_Log_MsgMailSend','A senha foi enviada para o seu email.'),
+ ('Const_Log_LabelTentativa','Tentativa : '),
+ ('Const_Log_LabelTentativas','Máximo de Tentativas : '),
+ ('Const_LogC_WindowCaption','Segurança'),
+ ('Const_LogC_LabelDescricao','Log do Sistema'),
+ ('Const_LogC_LabelUsuario','Usuário :'),
+ ('Const_LogC_LabelData','Data :'),
+ ('Const_LogC_LabelNivel','Nível mínimo :'),
+ ('Const_LogC_ColunaAppID','AppID'),
+ ('Const_LogC_ColunaNivel','Nível'),
+ ('Const_LogC_ColunaMensagem','Mensagem'),
+ ('Const_LogC_ColunaUsuario','Usuário'),
+ ('Const_LogC_ColunaData','Data'),
+ ('Const_LogC_BtFiltro','&Aplicar Filtro'),
+ ('Const_LogC_BtExcluir','&Excluir Log'),
+ ('Const_LogC_BtFechar','&Fechar'),
+ ('Const_LogC_ConfirmaExcluir','Confirma excluir todos os registros de log selecionados ?'),
+ ('Const_LogC_ConfirmaDelete_WindowCaption','Confirma exclusão'),
+ ('Const_LogC_Todos','Todos'),
+ ('Const_LogC_Low','Baixo'),
+ ('Const_LogC_Normal','Normal'),
+ ('Const_LogC_High','Alto'),
+ ('Const_LogC_Critic','Crítico'),
+ ('Const_LogC_ExcluirEfectuada','Exclusão de log´s do sistema : Usuário = "%s" | Data = %s a %s | Nível <= %s'),
+ ('Const_Cad_WindowCaption','Segurança'),
+ ('Const_Cad_LabelDescricao','Cadastro de Usuários'),
+ ('Const_Cad_ColunaNome','Nome'),
+ ('Const_Cad_ColunaLogin','Login'),
+ ('Const_Cad_ColunaEmail','Email'),
+ ('Const_Cad_BtAdicionar','&Adicionar'),
+ ('Const_Cad_BtAlterar','A<erar'),
+ ('Const_Cad_BtExcluir','&Excluir'),
+ ('Const_Cad_BtPermissoes','A&cessos'),
+ ('Const_Cad_BtSenha','&Senha'),
+ ('Const_Cad_BtFechar','&Fechar'),
+ ('Const_Cad_ConfirmaExcluir','Confirma excluir o usuário "%s" ?'),
+ ('Const_Cad_ConfirmaDelete_WindowCaption','Excluir usuário'),
+ ('Const_Prof_WindowCaption','Segurança'),
+ ('Const_Prof_LabelDescricao','Perfil de Usuários'),
+ ('Const_Prof_ColunaNome','Perfil'),
+ ('Const_Prof_BtAdicionar','&Adicionar'),
+ ('Const_Prof_BtAlterar','A<erar'),
+ ('Const_Prof_BtExcluir','&Excluir'),
+ ('Const_Prof_BtPermissoes','A&cessos'),
+ ('Const_Prof_BtSenha','&Senha'),
+ ('Const_Prof_BtFechar','&Fechar'),
+ ('Const_Prof_ConfirmaExcluir','Existem usuários com o perfil "%s". Confirma excluir?'),
+ ('Const_Prof_ConfirmaDelete_WindowCaption','Delete profile'),
+ ('Const_Inc_WindowCaption','Cadastro de Usuários'),
+ ('Const_Inc_LabelAdicionar','Adicionar Usuário'),
+ ('Const_Inc_LabelAlterar','Alterar Usuário'),
+ ('Const_Inc_LabelNome','Nome :'),
+ ('Const_Inc_LabelLogin','Login :'),
+ ('Const_Inc_LabelEmail','Email :'),
+ ('Const_Inc_LabelPerfil','Perfil :'),
+ ('Const_Inc_CheckPrivilegiado','Usuário privilegiado'),
+ ('Const_Inc_BtGravar','&Gravar'),
+ ('Const_Inc_BtCancelar','Cancelar'),
+ ('Const_Inc_CheckEspira','Senha do usuário não expira'),
+ ('Const_Inc_Dia','Dias'),
+ ('Const_Inc_ExpiraEm','Expira em'),
+ ('Const_PInc_WindowCaption','Perfil de Usuários'),
+ ('Const_PInc_LabelAdicionar','Adicionar Perfil'),
+ ('Const_PInc_LabelAlterar','Alterar Perfil'),
+ ('Const_PInc_LabelNome','Descrição :'),
+ ('Const_PInc_BtGravar','&Gravar'),
+ ('Const_PInc_BtCancelar','Cancelar'),
+ ('Const_Perm_WindowCaption','Segurança'),
+ ('Const_Perm_LabelUsuario','Permissões do Usuário :'),
+ ('Const_Perm_LabelPerfil','Permissões do Perfil :'),
+ ('Const_Perm_PageMenu','Itens do Menu'),
+ ('Const_Perm_PageActions','Ações'),
+ ('Const_Perm_PageControls','Controles'),
+ ('Const_Perm_BtLibera','&Liberar'),
+ ('Const_Perm_BtBloqueia','&Bloquear'),
+ ('Const_Perm_BtGravar','&Gravar'),
+ ('Const_Perm_BtCancelar','&Cancelar'),
+ ('Const_Troc_WindowCaption','Segurança'),
+ ('Const_Troc_LabelDescricao','Trocar Senha'),
+ ('Const_Troc_LabelSenhaAtual','Senha Atual :'),
+ ('Const_Troc_LabelNovaSenha','Nova Senha :'),
+ ('Const_Troc_LabelConfirma','Confirmação :'),
+ ('Const_Troc_BtGravar','&Gravar'),
+ ('Const_Troc_BtCancelar','Cancelar'),
+ ('Const_ErrPass_SenhaAtualInvalida','Senha Atual não confere!'),
+ ('Const_ErrPass_ErroNovaSenha','Os campos: Nova Senha e Confirmação devem ser iguais.'),
+ ('Const_ErrPass_NovaIgualAtual','Nova senha igual a senha atual'),
+ ('Const_ErrPass_SenhaObrigatoria','A Senha é obrigatória'),
+ ('Const_ErrPass_SenhaMinima','A senha deve conter no mínimo %d caracteres'),
+ ('Const_ErrPass_SenhaInvalida','Proibido utilizar senhas obvias!'),
+ ('Const_ErrPass_ForcaTrocaSenha','Mudança de senha obrigatória'),
+ ('Const_DefPass_WindowCaption','Definir senha do usuário : "%s"'),
+ ('Const_DefPass_LabelSenha','Senha :'),
+ ('Const_TableUsers_FieldUserID','UCIdUser'),
+ ('Const_TableUsers_FieldUserName','UCUserName'),
+ ('Const_TableUsers_FieldLogin','UCLogin'),
+ ('Const_TableUsers_FieldPassword','UCPassword'),
+ ('Const_TableUsers_FieldEmail','UCEmail'),
+ ('Const_TableUsers_FieldPrivileged','UCPrivileged'),
+ ('Const_TableUsers_FieldTypeRec','UCTypeRec'),
+ ('Const_TableUsers_FieldProfile','UCProfile'),
+ ('Const_TableUsers_FieldKey','UCKey'),
+ ('Const_TableUsers_TableName','UCTabUsers'),
+ ('Const_TableUsers_FieldDateExpired','UCPASSEXPIRED'),
+ ('Const_TableUser_FieldUserExpired','UCUserExpired'),
+ ('Const_TableUser_FieldUserDaysSun','UCUserDaysSun'),
+ ('Const_TableRights_FieldUserID','UCIdUser'),
+ ('Const_TableRights_FieldModule','UCModule'),
+ ('Const_TableRights_FieldComponentName','UCCompName'),
+ ('Const_TableRights_FieldFormName','UCFormName'),
+ ('Const_TableRights_FieldKey','UCKey'),
+ ('Const_TableRights_TableName','UCTabRights'),
+ ('Const_TableUsersLogged_FieldLogonID','UCIdLogon'),
+ ('Const_TableUsersLogged_FieldUserID','UCIdUser'),
+ ('Const_TableUsersLogged_FieldApplicationID','UCApplicationId'),
+ ('Const_TableUsersLogged_FieldMachineName','UCMachineName'),
+ ('Const_TableUsersLogged_FieldData','UCData'),
+ ('Const_TableUsersLogged_TableName','UCTabUsersLogged'),
+ ('Const_Evento_Insert','Inserido'),
+ ('Const_Evento_Delete','Apagado'),
+ ('Const_Evento_Edit','Editado'),
+ ('Const_Evento_NewRecord','Novo registro'),
+ ('Const_Hist_All','Todos'),
+ ('Const_Msg_LimpHistorico','Excluir todo o conteúdo do histórico ?'),
+ ('Const_Msg_MensConfirma','Confirmação'),
+ ('Const_Msg_LogEmptyHistory','Usuário %s apagou todo o histórico as %s'),
+ ('Const_LabelDescricao','Histórico de tabelas'),
+ ('Const_LabelUser','Usuário'),
+ ('Const_LabelForm','Formulário'),
+ ('Const_LabelEvento','Evento'),
+ ('Const_LabelTabela','Tabela'),
+ ('Const_LabelDataEvento','Data'),
+ ('Const_LabelHoraEvento','Hora'),
+ ('Const_Msg_NewRecord','%s inseriu um novo registro'),
+ ('Const_Hist_TableName','UCTABHistory'),
+ ('Const_Hist_FieldApplicationID','ApplicationID'),
+ ('Const_Hist_FieldUserID','UserID'),
+ ('Const_Hist_FieldEventDate','EventDate'),
+ ('Const_Hist_FieldEventTime','EventTime'),
+ ('Const_Hist_FieldForm','Form'),
+ ('Const_Hist_FieldCaptionForm','FormCaption'),
+ ('Const_Hist_FieldEvent','Event'),
+ ('Const_Hist_FieldObs','Obs'),
+ ('Const_Hist_FieldTableName','tName'),
+ ('Const_Hist_MsgExceptPropr','Favor informar a propriedade %s'),
+ ('Const_Hist_BtnFiltro','&Aplicar Filtro'),
+ ('Const_Hist_BtnExcluir','&Excluir Histórico'),
+ ('Const_Hist_BtnFechar','&Fechar') );
+
+{------------------------------------------------------------------------------ }
+
+Const UC_ENGLISH : Array [0..MaxArray,0..1] of string = (
+ ('Const_Contr_TitleLabel','Team of Components of the Form. :'),
+ ('Const_Contr_GroupLabel','Group:'),
+ ('Const_Contr_CompDispLabel','Available components:'),
+ ('Const_Contr_CompSelLabel','Selected components:'),
+ ('Const_Contr_BtOK','&OK'),
+ ('Const_Contr_BTCancel','&Cancel'),
+ ('Const_Contr_DescCol','Description'),
+ ('Const_Contr_BtSellAllHint','Select All'),
+ ('Const_Contr_BtSelHint','Select'),
+ ('Const_Contr_BtUnSelHint','Unselect'),
+ ('Const_Contr_BtUnSelAllHint','Unselect All'),
+ ('Const_Msgs_BtNew','&New Message'),
+ ('Const_Msgs_BtReplay','&Replay'),
+ ('Const_Msgs_BtForward','F&orward'),
+ ('Const_Msgs_BtDelete','&Delete'),
+ ('Const_Msgs_BtClose','&Close'),
+ ('Const_Msgs_WindowCaption','Messages of the System'),
+ ('Const_Msgs_ColFrom','From'),
+ ('Const_Msgs_ColSubject','Subject'),
+ ('Const_Msgs_ColDate','Date'),
+ ('Const_Msgs_PromptDelete','It confirms exclusion of the selected messages?'),
+ ('Const_Msgs_PromptDelete_WindowCaption','Delete messages'),
+ ('Const_Msgs_NoMessagesSelected','No Messages selected'),
+ ('Const_Msgs_NoMessagesSelected_WindowCaption','Information'),
+ ('Const_MsgRec_BtClose','&Close'),
+ ('Const_MsgRec_WindowCaption','Message'),
+ ('Const_MsgRec_Title','Received message'),
+ ('Const_MsgRec_LabelFrom','From:'),
+ ('Const_MsgRec_LabelDate','Date'),
+ ('Const_MsgRec_LabelSubject','Subject'),
+ ('Const_MsgRec_LabelMessage','Message'),
+ ('Const_MsgSend_BtSend','&Send'),
+ ('Const_MsgSend_BtCancel','&Cancel'),
+ ('Const_MsgSend_WindowCaption','Message'),
+ ('Const_MsgSend_Title','Send New Message'),
+ ('Const_MsgSend_GroupTo','To'),
+ ('Const_MsgSend_RadioUser','User:'),
+ ('Const_MsgSend_RadioAll','All'),
+ ('Const_MsgSend_GroupMessage','Message'),
+ ('Const_MsgSend_LabelSubject','Subject'),
+ ('Const_MsgSend_LabelMessageText','Message text'),
+ ('MsgExceptConnection','Done not informed the Connection, Transaction or Database component %s'),
+ ('MsgExceptTransaction','Done not informed the Transaction component %s'),
+ ('MsgExceptDatabase','Done not informed the Database do component %s'),
+ ('MsgExceptPropriedade','Inform the property %s'),
+ ('MsgExceptUserMngMenu','Inform in the property UsersForm.MenuItem or UsersForm.Action the item responsible for the users control'),
+ ('MsgExceptUserProfile','Inform in the property UsersProfile.MenuItem or UsersProfile.Action the Item responsible for the control of users Profile '),
+ ('MsgExceptChagePassMenu','Inform in the property ChangePasswordForm.MenuItem or .Action the Item that allows to a user to alter his password'),
+ ('MsgExceptAppID','In the property "ApplicationID" inform a name to identify the application in the chart of permissions'),
+ ('MsgExceptUsersTable','In the property "TableUsers" inform the name of the chart that will be created to store the data of the users '),
+ ('MsgExceptRightsTable','In the property "TableRights" inform the name of the chart that will be created to store the permissions of the users '),
+ ('MsgExceptConnector','The property DataConnector not defined!'),
+ ('Const_Men_AutoLogonError','Fault of Car Logon !' + #13 + #10 + 'Inform a valid user and password.'),
+ ('Const_Men_SenhaDesabitada','Retired password of the Login %s'),
+ ('Const_Men_SenhaAlterada','Password altered with success!'),
+ ('Const_Men_MsgInicial','ATTENTION, Inicial Login :' + #13 + #10 + #13 + #10 + 'User: :user' + #13 + #10 + 'Password : :password '+ #13 + #10 + #13 + #10 + 'Define the permissions for this user.'),
+ ('Const_Men_MaxTentativas','%d Attempts of login invalid. By reasons of security the system will be closed.'),
+ ('Const_Men_LoginInvalido','User invalids or password !'),
+ ('Const_Men_UsuarioExiste','The User "%s" is already set up in the system !!'),
+ ('Const_Men_PasswordExpired','Attention, his sign died, favor exchanges it '),
+ ('Const_Log_BtCancelar','&Cancel'),
+ ('Const_Log_BtOK','&OK'),
+ ('Const_Log_LabelSenha','Password :'),
+ ('Const_Log_LabelUsuario','User :'),
+ ('Const_Log_WindowCaption','Login'),
+ ('Const_Log_LbEsqueciSenha','I forgot the password'),
+ ('Const_Log_MsgMailSend','The password was sent for his email .'),
+ ('Const_Log_LabelTentativa','Attempt : '),
+ ('Const_Log_LabelTentativas','Max of Attempts: '),
+ ('Const_LogC_WindowCaption','Security'),
+ ('Const_LogC_LabelDescricao','Log of system'),
+ ('Const_LogC_LabelUsuario','User :'),
+ ('Const_LogC_LabelData','Date :'),
+ ('Const_LogC_LabelNivel','Least level:'),
+ ('Const_LogC_ColunaAppID','AppID'),
+ ('Const_LogC_ColunaNivel','Level '),
+ ('Const_LogC_ColunaMensagem','Message'),
+ ('Const_LogC_ColunaUsuario','User'),
+ ('Const_LogC_ColunaData','Date'),
+ ('Const_LogC_BtFiltro','&Apply Filter'),
+ ('Const_LogC_BtExcluir','&Erase Log'),
+ ('Const_LogC_BtFechar','&Close'),
+ ('Const_LogC_ConfirmaExcluir','It confirms to exclude all the registers of log selected ?'),
+ ('Const_LogC_ConfirmaDelete_WindowCaption','Delete confirmation'),
+ ('Const_LogC_Todos','All'),
+ ('Const_LogC_Low','Low'),
+ ('Const_LogC_Normal','Normal'),
+ ('Const_LogC_High','High'),
+ ('Const_LogC_Critic','Critic'),
+ ('Const_LogC_ExcluirEfectuada','Deletion of system log done: User = "%s" | Date = %s a %s | Level <= %s'),
+ ('Const_Cad_WindowCaption','Security'),
+ ('Const_Cad_LabelDescricao','Users register '),
+ ('Const_Cad_ColunaNome','Name'),
+ ('Const_Cad_ColunaLogin','Login'),
+ ('Const_Cad_ColunaEmail','Email'),
+ ('Const_Cad_BtAdicionar','&Add'),
+ ('Const_Cad_BtAlterar','A<er'),
+ ('Const_Cad_BtExcluir','&Erase'),
+ ('Const_Cad_BtPermissoes','A&ccesses'),
+ ('Const_Cad_BtSenha','&Password'),
+ ('Const_Cad_BtFechar','&Close'),
+ ('Const_Cad_ConfirmaExcluir','Confirm erase the user "%s" ?'),
+ ('Const_Cad_ConfirmaDelete_WindowCaption','Delete user'),
+ ('Const_Prof_WindowCaption','Security'),
+ ('Const_Prof_LabelDescricao','Users profile '),
+ ('Const_Prof_ColunaNome','Profile'),
+ ('Const_Prof_BtAdicionar','&Add'),
+ ('Const_Prof_BtAlterar','A<er'),
+ ('Const_Prof_BtExcluir','&Delete'),
+ ('Const_Prof_BtPermissoes','A&ccesses'),
+ ('Const_Prof_BtSenha','&Password'),
+ ('Const_Prof_BtFechar','&Close'),
+ ('Const_Prof_ConfirmaExcluir','There are users with the profile "%s". Confirm erase ?'),
+ ('Const_Prof_ConfirmaDelete_WindowCaption','Delete profile'),
+ ('Const_Inc_WindowCaption','Users register '),
+ ('Const_Inc_LabelAdicionar','Add User'),
+ ('Const_Inc_LabelAlterar','Change User'),
+ ('Const_Inc_LabelNome','Name :'),
+ ('Const_Inc_LabelLogin','Login :'),
+ ('Const_Inc_LabelEmail','Email :'),
+ ('Const_Inc_LabelPerfil','Profile :'),
+ ('Const_Inc_CheckPrivilegiado','Privileged user '),
+ ('Const_Inc_BtGravar','&Save'),
+ ('Const_Inc_BtCancelar','Cancel'),
+ ('Const_Inc_CheckEspira','Password do not expired'),
+ ('Const_Inc_Dia','Day'),
+ ('Const_Inc_ExpiraEm','Expired in'),
+ ('Const_PInc_WindowCaption','Profile the Users'),
+ ('Const_PInc_LabelAdicionar','Add Profile'),
+ ('Const_PInc_LabelAlterar','Change Profile '),
+ ('Const_PInc_LabelNome','Description :'),
+ ('Const_PInc_BtGravar','&Save'),
+ ('Const_PInc_BtCancelar','Cancel'),
+ ('Const_Perm_WindowCaption','Security'),
+ ('Const_Perm_LabelUsuario','Permissions of the User :'),
+ ('Const_Perm_LabelPerfil','Permissions of the Profile :'),
+ ('Const_Perm_PageMenu','Items of the Menu'),
+ ('Const_Perm_PageActions','Actions'),
+ ('Const_Perm_PageControls','Controls'),
+ ('Const_Perm_BtLibera','&Release'),
+ ('Const_Perm_BtBloqueia','&Block'),
+ ('Const_Perm_BtGravar','&Save'),
+ ('Const_Perm_BtCancelar','&Cancel'),
+ ('Const_Troc_WindowCaption','Security'),
+ ('Const_Troc_LabelDescricao','Change Password'),
+ ('Const_Troc_LabelSenhaAtual','Password :'),
+ ('Const_Troc_LabelNovaSenha','New Password :'),
+ ('Const_Troc_LabelConfirma','Confirmation :'),
+ ('Const_Troc_BtGravar','&Save'),
+ ('Const_Troc_BtCancelar','Cancel'),
+ ('Const_ErrPass_SenhaAtualInvalida','Current password does not tally!'),
+ ('Const_ErrPass_ErroNovaSenha','The Field: New Password and Confirmation must be the same.'),
+ ('Const_ErrPass_NovaIgualAtual','New equal password to current password '),
+ ('Const_ErrPass_SenhaObrigatoria','The password is compulsory '),
+ ('Const_ErrPass_SenhaMinima','The password must contain at least %d characters '),
+ ('Const_ErrPass_SenhaInvalida','When to use password was prohibited you obviate !'),
+ ('Const_ErrPass_ForcaTrocaSenha','Compulsory change password'),
+ ('Const_DefPass_WindowCaption','Define Password of the user : "%s"'),
+ ('Const_DefPass_LabelSenha','Password :'),
+ ('Const_TableUsers_FieldUserID','UCIdUser'),
+ ('Const_TableUsers_FieldUserName','UCUserName'),
+ ('Const_TableUsers_FieldLogin','UCLogin'),
+ ('Const_TableUsers_FieldPassword','UCPassword'),
+ ('Const_TableUsers_FieldEmail','UCEmail'),
+ ('Const_TableUsers_FieldPrivileged','UCPrivileged'),
+ ('Const_TableUsers_FieldTypeRec','UCTypeRec'),
+ ('Const_TableUsers_FieldProfile','UCProfile'),
+ ('Const_TableUsers_FieldKey','UCKey'),
+ ('Const_TableUsers_TableName','UCTabUsers'),
+ ('Const_TableUsers_FieldDateExpired','UCPassExpired'),
+ ('Const_TableUser_FieldUserExpired','UCUserExpired'),
+ ('Const_TableUser_FieldUserDaysSun','UCUserDaysSun'),
+ ('Const_TableRights_FieldUserID','UCIdUser'),
+ ('Const_TableRights_FieldModule','UCModule'),
+ ('Const_TableRights_FieldComponentName','UCCompName'),
+ ('Const_TableRights_FieldFormName','UCFormName'),
+ ('Const_TableRights_FieldKey','UCKey'),
+ ('Const_TableRights_TableName','UCTabRights'),
+ ('Const_TableUsersLogged_FieldLogonID','UCIdLogon'),
+ ('Const_TableUsersLogged_FieldUserID','UCIdUser'),
+ ('Const_TableUsersLogged_FieldApplicationID','UCApplicationId'),
+ ('Const_TableUsersLogged_FieldMachineName','UCMachineName'),
+ ('Const_TableUsersLogged_FieldData','UCData'),
+ ('Const_TableUsersLogged_TableName','UCTabUsersLogged'),
+ ('Const_Evento_Insert','Insert'),
+ ('Const_Evento_Delete','Delete'),
+ ('Const_Evento_Edit','Edit'),
+ ('Const_Evento_NewRecord','New record'),
+ ('Const_Hist_All','All'),
+ ('Const_Msg_LimpHistorico','Clean table history ?'),
+ ('Const_Msg_MensConfirma','Confirm'),
+ ('Const_Msg_LogEmptyHistory','User %s erase table history in %s'),
+ ('Const_LabelDescricao','History of Tables'),
+ ('Const_LabelUser','User'),
+ ('Const_LabelForm','Form'),
+ ('Const_LabelEvento','Event'),
+ ('Const_LabelTabela','Table'),
+ ('Const_LabelDataEvento','Date'),
+ ('Const_LabelHoraEvento','Time'),
+ ('Const_Msg_NewRecord','%s insert new record'),
+ ('Const_Hist_TableName','UCTABHistory'),
+ ('Const_Hist_FieldApplicationID','ApplicationID'),
+ ('Const_Hist_FieldUserID','UserID'),
+ ('Const_Hist_FieldEventDate','EventDate'),
+ ('Const_Hist_FieldEventTime','EventTime'),
+ ('Const_Hist_FieldForm','Form'),
+ ('Const_Hist_FieldCaptionForm','FormCaption'),
+ ('Const_Hist_FieldEvent','Event'),
+ ('Const_Hist_FieldObs','Obs'),
+ ('Const_Hist_FieldTableName','tName'),
+ ('Const_Hist_MsgExceptPropr','Inform the property %s'),
+ ('Const_Hist_BtnFiltro','&Apply Filter'),
+ ('Const_Hist_BtnExcluir','&Erase History'),
+ ('Const_Hist_BtnFechar','&Close') );
+
+{------------------------------------------------------------------------------ }
+
+Const UC_SPANISH : Array [0..MaxArray,0..1] of string = (
+ ('Const_Contr_TitleLabel','Seleccionar Componentes del Formulario:'),
+ ('Const_Contr_GroupLabel','Grupo:'),
+ ('Const_Contr_CompDispLabel','Componentes Disponibles:'),
+ ('Const_Contr_CompSelLabel','Componentes Seleccionados:'),
+ ('Const_Contr_BtOK','&Aceptar'),
+ ('Const_Contr_BTCancel','&Cancelar'),
+ ('Const_Contr_DescCol','Descripción'),
+ ('Const_Contr_BtSellAllHint','Seleccionar Todo'),
+ ('Const_Contr_BtSelHint','Seleccionar'),
+ ('Const_Contr_BtUnSelHint','Deseleccionar'),
+ ('Const_Contr_BtUnSelAllHint','Deseleccionar Todo'),
+ ('Const_Msgs_BtNew','&Nuevo Mensaje'),
+ ('Const_Msgs_BtReplay','&Responder'),
+ ('Const_Msgs_BtForward','&Reenviar'),
+ ('Const_Msgs_BtDelete','&Borrar'),
+ ('Const_Msgs_BtClose','&Cerrar'),
+ ('Const_Msgs_WindowCaption','Mensajes de Sistema'),
+ ('Const_Msgs_ColFrom','Remitente'),
+ ('Const_Msgs_ColSubject','Asunto'),
+ ('Const_Msgs_ColDate','Fecha'),
+ ('Const_Msgs_PromptDelete','¿Está seguro de eliminar los mensajes seleccionados?'),
+ ('Const_Msgs_PromptDelete_WindowCaption','Eliminar mensajes'),
+ ('Const_Msgs_NoMessagesSelected','!Ningún mensaje seleccionado¡'),
+ ('Const_Msgs_NoMessagesSelected_WindowCaption','Información'),
+ ('Const_MsgRec_BtClose','&Cerrar'),
+ ('Const_MsgRec_WindowCaption','Mensaje'),
+ ('Const_MsgRec_Title','Mensaje Recibido'),
+ ('Const_MsgRec_LabelFrom','De:'),
+ ('Const_MsgRec_LabelDate','Fecha'),
+ ('Const_MsgRec_LabelSubject','Asunto'),
+ ('Const_MsgRec_LabelMessage','Mensaje'),
+ ('Const_MsgSend_BtSend','&Enviar'),
+ ('Const_MsgSend_BtCancel','&Cancelar'),
+ ('Const_MsgSend_WindowCaption','Mensaje'),
+ ('Const_MsgSend_Title','Enviar Nuevo Mensaje'),
+ ('Const_MsgSend_GroupTo','Para:'),
+ ('Const_MsgSend_RadioUser','Usuario:'),
+ ('Const_MsgSend_RadioAll','Todos'),
+ ('Const_MsgSend_GroupMessage','Mensaje'),
+ ('Const_MsgSend_LabelSubject','Asunto'),
+ ('Const_MsgSend_LabelMessageText','Texto del mensaje'),
+ ('MsgExceptConnection','¡Valor No Válido para la propiedad Connection del componente %s!'),
+ ('MsgExceptTransaction','¡Valor No Válido para la propiedad Transaction del componente %s!'),
+ ('MsgExceptDatabase','¡Valor No Válido para la propiedad Database del componente %s!'),
+ ('MsgExceptPropriedade','Favor informar a propriedade %s'),
+ ('MsgExceptUserMngMenu','Ingrese en la propiedad UsersForm.MenuItem o UsersForm.Action la opción del menu para abrir el Control de Usuarios'),
+ ('MsgExceptUserProfile','Ingrese en la propiedad UsersProfile.MenuItem o UsersProfile.Action la opción del menu para abrir el Perfil de Usuarios'),
+ ('MsgExceptChagePassMenu','Ingrese en la propiedad ChangePasswordForm.MenuItem o .Action la opción del menú que permite al usuario cambiar su Contraseña'),
+ ('MsgExceptAppID','La propiedad ApplicationID requiere el nombre válido de una tabla para el registro de los Permisos de Usuario'),
+ ('MsgExceptUsersTable','La propiedad UserTable requiere el nombre válido de una tabla para registrar/seleccionar los datos de los usuarios'),
+ ('MsgExceptRightsTable','La propiead RightTable requiere el nombre válido de una tabla para registrar/seleccionar los permisos de los usuarios'),
+ ('MsgExceptConnector','Propriedade DataConnector não definida!'),
+ ('Const_Men_AutoLogonError','Error de Ingreso Automático!'+#13+#10+ 'Especifique un Usuario y Contraseña Válidos.'),
+ ('Const_Men_SenhaDesabitada','Contraseña vacía para el Usuario %s'),
+ ('Const_Men_SenhaAlterada','¡Se ha cambiado la Contraseña con éxito!'),
+ ('Const_Men_MsgInicial','ATENCION! Conección Inicial:'+#13+#10+#13+#10+'Usuario : :user'+#13+#10+'Contraseña : :password'+#13+#10+#13+#10+'Defina permisos para este usuario'),
+ ('Const_Men_MaxTentativas','%d Intentos de conección inválidos !'),
+ ('Const_Men_LoginInvalido','Usuario y/o Contraseña Incorrectos!'),
+ ('Const_Men_UsuarioExiste','O Usuário "%s" já está cadastrado no sistema !!'),
+ ('Const_Men_PasswordExpired','Atenção, sua senha expirou, favor troca-la'),
+ ('Const_Log_BtCancelar','&Cancelar'),
+ ('Const_Log_BtOK','Aceptar'),
+ ('Const_Log_LabelSenha','Contraseña:'),
+ ('Const_Log_LabelUsuario','Usuario: '),
+ ('Const_Log_WindowCaption','Conección'),
+ ('Const_Log_LbEsqueciSenha','Olvidé mi Contraseña'),
+ ('Const_Log_MsgMailSend','La contraseña fue enviada a su correo.'),
+ ('Const_Log_LabelTentativa','Tentativa : '),
+ ('Const_Log_LabelTentativas','Máximo de Tentativas : '),
+ ('Const_LogC_WindowCaption','Seguridad'),
+ ('Const_LogC_LabelDescricao','Visor de Eventos'),
+ ('Const_LogC_LabelUsuario','Usuario:'),
+ ('Const_LogC_ColunaAppID','AppID'),
+ ('Const_LogC_LabelData','Fecha:'),
+ ('Const_LogC_LabelNivel','Nivel Mínimo: '),
+ ('Const_LogC_ColunaNivel','Nivel'),
+ ('Const_LogC_ColunaMensagem','Mensaje'),
+ ('Const_LogC_ColunaUsuario','Usuario'),
+ ('Const_LogC_ColunaData','Fecha'),
+ ('Const_LogC_BtFiltro','&Aplicar Filtro'),
+ ('Const_LogC_BtExcluir','&Borrar Bitácora'),
+ ('Const_LogC_BtFechar','&Cerrar'),
+ ('Const_LogC_ConfirmaExcluir','¿Está seguro de Eliminar todos todos los registros de Bitácora seleccionados?'),
+ ('Const_LogC_ConfirmaDelete_WindowCaption','Confirmación'),
+ ('Const_LogC_Todos','Todos'),
+ ('Const_LogC_Low','Bajo'),
+ ('Const_LogC_Normal','Normal'),
+ ('Const_LogC_High','Alto'),
+ ('Const_LogC_Critic','Crítico'),
+ ('Const_LogC_ExcluirEfectuada','Borrado de registros de bitácora realizado: Usuario = "%s" | Fecha = %s a %s | Nivel <= %s'),
+ ('Const_Cad_WindowCaption','Seguridad'),
+ ('Const_Cad_LabelDescricao','Administración de Usuarios'),
+ ('Const_Cad_ColunaNome','Nombre'),
+ ('Const_Cad_ColunaLogin','Usuario'),
+ ('Const_Cad_ColunaEmail','Correo'),
+ ('Const_Cad_BtAdicionar','&Nuevo'),
+ ('Const_Cad_BtAlterar','&Editar'),
+ ('Const_Cad_BtExcluir','E&liminar'),
+ ('Const_Cad_BtPermissoes','&Accesos'),
+ ('Const_Cad_BtSenha','C&ontraseña'),
+ ('Const_Cad_BtFechar','&Cerrar'),
+ ('Const_Cad_ConfirmaExcluir','¿Está seguro de Eliminar al Usuario "%s"?'),
+ ('Const_Cad_ConfirmaDelete_WindowCaption','Eliminar usuario'),
+ ('Const_Prof_WindowCaption','Seguridad'),
+ ('Const_Prof_LabelDescricao','Perfil de Usuario'),
+ ('Const_Prof_ColunaNome','Perfil'),
+ ('Const_Prof_BtAdicionar','&Nuevo'),
+ ('Const_Prof_BtAlterar','&Editar'),
+ ('Const_Prof_BtExcluir','E&liminar'),
+ ('Const_Prof_BtPermissoes','&Accesos'),
+ ('Const_Prof_BtSenha','C&ontraseña'),
+ ('Const_Prof_BtFechar','&Cerrar'),
+ ('Const_Prof_ConfirmaExcluir','Existe(n) usuario(s) con el Perfil "%s". ¿Está seguro de eliminar el perfil?'),
+ ('Const_Prof_ConfirmaDelete_WindowCaption','Eliminar perfil'),
+ ('Const_Inc_WindowCaption','Administración de Usuarios'),
+ ('Const_Inc_LabelAdicionar','Nuevo Usuario'),
+ ('Const_Inc_LabelAlterar','Editar Usuario'),
+ ('Const_Inc_LabelNome','Nombre:'),
+ ('Const_Inc_LabelLogin','Usuario: '),
+ ('Const_Inc_LabelEmail','Correo: '),
+ ('Const_Inc_LabelPerfil','Perfil: '),
+ ('Const_Inc_CheckPrivilegiado','Usuario Privilegiado'),
+ ('Const_Inc_BtGravar','&Guardar'),
+ ('Const_Inc_BtCancelar','Cancelar'),
+ ('Const_Inc_CheckEspira','Senha do usuário não expira'),
+ ('Const_Inc_Dia','Dias'),
+ ('Const_Inc_ExpiraEm','Expira em'),
+ ('Const_PInc_WindowCaption','Perfiles de Usuarios'),
+ ('Const_PInc_LabelAdicionar','Nuevo Perfil'),
+ ('Const_PInc_LabelAlterar','Editar Perfil'),
+ ('Const_PInc_LabelNome','Descripción: '),
+ ('Const_PInc_BtGravar','&Guardar'),
+ ('Const_PInc_BtCancelar','Cancelar'),
+ ('Const_Perm_WindowCaption','Seguridad'),
+ ('Const_Perm_LabelUsuario','Permisos de Usuario : '),
+ ('Const_Perm_LabelPerfil','Permisos del Perfil : '),
+ ('Const_Perm_PageMenu','Elementos del Menú'),
+ ('Const_Perm_PageActions','Acciones'),
+ ('Const_Perm_PageControls','Controles'),
+ ('Const_Perm_BtLibera','&Permitir'),
+ ('Const_Perm_BtBloqueia','&Bloquear'),
+ ('Const_Perm_BtGravar','&Guardar'),
+ ('Const_Perm_BtCancelar','&Cancelar'),
+ ('Const_Troc_WindowCaption','Seguridad'),
+ ('Const_Troc_LabelDescricao','Cambiar Contraseña'),
+ ('Const_Troc_LabelSenhaAtual','Contraseña Actual:'),
+ ('Const_Troc_LabelNovaSenha','Nueva Contraseña:'),
+ ('Const_Troc_LabelConfirma','Confirme Contraseña:'),
+ ('Const_Troc_BtGravar','&Guardar'),
+ ('Const_Troc_BtCancelar','Cancelar'),
+ ('Const_ErrPass_SenhaAtualInvalida','¡Contraseña Actual Incorrecta!'),
+ ('Const_ErrPass_ErroNovaSenha','Los campos Contraseña Nueva y Confirme Contraseña deben ser iguales'),
+ ('Const_ErrPass_NovaIgualAtual','Nueva Contraseña y Contraseña Actual deben ser diferentes'),
+ ('Const_ErrPass_SenhaObrigatoria','¡La Contraseña es obligatoria!'),
+ ('Const_ErrPass_SenhaMinima','La Contraseña debe tener un mínimo de %d caracteres'),
+ ('Const_ErrPass_SenhaInvalida','¡Prohibido utilizar contraseñas NO Seguras!'),
+ ('Const_ErrPass_ForcaTrocaSenha','Mudança de senha obrigatória'),
+ ('Const_DefPass_WindowCaption','Ingrese Contraseña de Usuario: "%s"'),
+ ('Const_DefPass_LabelSenha','Contraseña: '),
+ ('Const_TableUsers_FieldUserID','UCIdUser'),
+ ('Const_TableUsers_FieldUserName','UCUserName'),
+ ('Const_TableUsers_FieldLogin','UCLogin'),
+ ('Const_TableUsers_FieldPassword','UCPassword'),
+ ('Const_TableUsers_FieldEmail','UCEmail'),
+ ('Const_TableUsers_FieldPrivileged','UCPrivileged'),
+ ('Const_TableUsers_FieldTypeRec','UCTypeRec'),
+ ('Const_TableUsers_FieldProfile','UCProfile'),
+ ('Const_TableUsers_FieldKey','UCKey'),
+ ('Const_TableUsers_TableName','UCTabUsers'),
+ ('Const_TableUsers_FieldDateExpired','UCPASSEXPIRED'),
+ ('Const_TableUser_FieldUserExpired','UCUserExpired'),
+ ('Const_TableUser_FieldUserDaysSun','UCUserDaysSun'),
+ ('Const_TableRights_FieldUserID','UCIdUser'),
+ ('Const_TableRights_FieldModule','UCModule'),
+ ('Const_TableRights_FieldComponentName','UCCompName'),
+ ('Const_TableRights_FieldFormName','UCFormName'),
+ ('Const_TableRights_FieldKey','UCKey'),
+ ('Const_TableRights_TableName','UCTabRights'),
+ ('Const_TableUsersLogged_FieldLogonID','UCIdLogon'),
+ ('Const_TableUsersLogged_FieldUserID','UCIdUser'),
+ ('Const_TableUsersLogged_FieldApplicationID','UCApplicationId'),
+ ('Const_TableUsersLogged_FieldMachineName','UCMachineName'),
+ ('Const_TableUsersLogged_FieldData','UCData'),
+ ('Const_TableUsersLogged_TableName','UCTabUsersLogged'),
+ ('Const_Evento_Insert','Nuevo'),
+ ('Const_Evento_Delete','Eliminar'),
+ ('Const_Evento_Edit','Editar'),
+ ('Const_Evento_NewRecord','Nuevo registro'),
+ ('Const_Hist_All','Todos'),
+ ('Const_Msg_LimpHistorico','Excluir el contenido entero del histórico ?'),
+ ('Const_Msg_MensConfirma','Confirme'),
+ ('Const_Msg_LogEmptyHistory','El usuario %s borra la historia de mesa en %s '),
+ ('Const_LabelDescricao','Histórico de tabelas'),
+ ('Const_LabelUser','Usuario'),
+ ('Const_LabelForm','Formulário'),
+ ('Const_LabelEvento','Evento'),
+ ('Const_LabelTabela','Tabela'),
+ ('Const_LabelDataEvento','Data'),
+ ('Const_LabelHoraEvento','Hora'),
+ ('Const_Msg_NewRecord','%s Inserte el nuevo registro'),
+ ('Const_Hist_TableName','UCTABHistory'),
+ ('Const_Hist_FieldApplicationID','ApplicationID'),
+ ('Const_Hist_FieldUserID','UserID'),
+ ('Const_Hist_FieldEventDate','EventDate'),
+ ('Const_Hist_FieldEventTime','EventTime'),
+ ('Const_Hist_FieldForm','Form'),
+ ('Const_Hist_FieldCaptionForm','FormCaption'),
+ ('Const_Hist_FieldEvent','Event'),
+ ('Const_Hist_FieldObs','Obs'),
+ ('Const_Hist_FieldTableName','tName'),
+ ('Const_Hist_MsgExceptPropr','Por favor informe la propiedad %s'),
+ ('Const_Hist_BtnFiltro','&Aplicar Filtro'),
+ ('Const_Hist_BtnExcluir','&Borrar Histórico'),
+ ('Const_Hist_BtnFechar','&Cerrar') );
+
+{------------------------------------------------------------------------------ }
+
+Const UC_FRENCH : Array [0..MaxArray,0..1] of string = (
+ ('Const_Contr_TitleLabel','L''équipe de Composantes de la Forme :'),
+ ('Const_Contr_GroupLabel','Groupe :'),
+ ('Const_Contr_CompDispLabel','Composantes disponibles :'),
+ ('Const_Contr_CompSelLabel','Composantes choisies:'),
+ ('Const_Contr_BtOK','&OK'),
+ ('Const_Contr_BTCancel','&Annuler'),
+ ('Const_Contr_DescCol','Description'),//nao
+ ('Const_Contr_BtSellAllHint','Choisissez Tous'),
+ ('Const_Contr_BtSelHint','Choisir'),
+ ('Const_Contr_BtUnSelHint','No Choisir'),
+ ('Const_Contr_BtUnSelAllHint','Non choisissez Tous'),
+ ('Const_Msgs_BtNew','&Nouveau Message'),
+ ('Const_Msgs_BtReplay','&Rejeu'),
+ ('Const_Msgs_BtForward','Env&oyer'),
+ ('Const_Msgs_BtDelete','&Effacer'),
+ ('Const_Msgs_BtClose','&Près'),
+ ('Const_Msgs_WindowCaption','Messages du Système'),
+ ('Const_Msgs_ColFrom','De'),
+ ('Const_Msgs_ColSubject','Sujet'),
+ ('Const_Msgs_ColDate','Date'), //nao
+ ('Const_Msgs_PromptDelete','Il confirme l''exclusion des messages choisis ?'),
+ ('Const_Msgs_PromptDelete_WindowCaption','Effacez des messages'),
+ ('Const_Msgs_NoMessagesSelected','Aucun Message choisi'),
+ ('Const_Msgs_NoMessagesSelected_WindowCaption','Renseignements'),
+ ('Const_MsgRec_BtClose','&Près'),
+ ('Const_MsgRec_WindowCaption','Message'),
+ ('Const_MsgRec_Title','Message reçu'),
+ ('Const_MsgRec_LabelFrom','De:'),
+ ('Const_MsgRec_LabelDate','Date'),
+ ('Const_MsgRec_LabelSubject','Sujet'),
+ ('Const_MsgRec_LabelMessage','Message'),
+ ('Const_MsgSend_BtSend','&Envoyer'),
+ ('Const_MsgSend_BtCancel','&Annuler'),
+ ('Const_MsgSend_WindowCaption','Message'),
+ ('Const_MsgSend_Title','Envoyez le Nouveau Message'),
+ ('Const_MsgSend_GroupTo','À'),
+ ('Const_MsgSend_RadioUser','Utilisateur:'),
+ ('Const_MsgSend_RadioAll','Tous'),
+ ('Const_MsgSend_GroupMessage','Message'),
+ ('Const_MsgSend_LabelSubject','Sujet'),
+ ('Const_MsgSend_LabelMessageText','Texte de message'),
+ ('MsgExceptConnection','Fait non informé la Connexion, la Transaction ou la composante de Base de données %s'),
+ ('MsgExceptTransaction','Fait non informé la composante Transactionnelle %s'),
+ ('MsgExceptDatabase','Fait non informé la Base de données font la composante %s'),
+ ('MsgExceptPropriedade','Informez la propriété %s'),
+ ('MsgExceptUserMngMenu','Informez la propriété UsersForm.MenuItem ou UsersForm.Action l''article responsable du contrôle d''utilisateurs '),
+ ('MsgExceptUserProfile','Informez la propriété UsersProfile.MenuItem ou UsersProfile.Action l''Article responsable du contrôle de Profil d''utilisateurs'),
+ ('MsgExceptChagePassMenu','Informez la propriété ChangePasswordForm.MenuItem ou .Action l''Article qui permet à un utilisateur de changer son mot de passe'),
+ ('MsgExceptAppID','Dans la propriété "ApplicationID" informent un nom pour identifier l''application dans le graphique de permissions'),
+ ('MsgExceptUsersTable','Dans la propriété "TableUsers" informent le nom du graphique qui sera créé pour conserver les données des utilisateurs'),
+ ('MsgExceptRightsTable','Dans la propriété "TableRights" informent le nom du graphique qui sera créé pour conserver les permissions des utilisateurs'),
+ ('MsgExceptConnector','La propriété "DataConnector" non défini!'),
+ ('Const_Men_AutoLogonError','Faute de Début de transaction Automobile!' + #13 + #10 + 'Informez un utilisateur valide et un mot de passe.'),
+ ('Const_Men_SenhaDesabitada','Mot de passe retraité de l''Ouverture de session %s'),
+ ('Const_Men_SenhaAlterada','Le mot de passe changeait avec le succès!'),
+ ('Const_Men_MsgInicial','ATTENTION, Ouverture de session d''Inicial :' + #13 + #10 + #13 + #10 + 'Utilisateur : :user + '#13 + #10 + 'Mot de passe : :password ' + #13 + #10 + #13 + #10 + 'Définissez les permissions pour cet utilisateur.'),
+ ('Const_Men_MaxTentativas','%d Essais d''infirme d''ouverture de session. Par les raisons de sécurité le système sera fermé.'),
+ ('Const_Men_LoginInvalido','L''utilisateur devient infirme ou le mot de passe!'),
+ ('Const_Men_UsuarioExiste','L''Utilisateur "%s" est déjà remis sur pied dans le système !!'),
+ ('Const_Men_PasswordExpired','L''attention, son signe est mort, la faveur l''échange '),
+ ('Const_Log_BtCancelar','&Annuler'),
+ ('Const_Log_BtOK','&OK'),
+ ('Const_Log_LabelSenha','Passe :'),
+ ('Const_Log_LabelUsuario','Utilisateur :'),
+ ('Const_Log_WindowCaption','Ouverture de session'),
+ ('Const_Log_LbEsqueciSenha','J''ai oublié le mot de passe'),
+ ('Const_Log_MsgMailSend','le mot de passe a été envoyé pour son courrier électronique .'),
+ ('Const_Log_LabelTentativa','Essais : '),
+ ('Const_Log_LabelTentativas','Max d''Essais : '),
+ ('Const_LogC_WindowCaption','sécurité'),
+ ('Const_LogC_LabelDescricao','Rondin de système'),
+ ('Const_LogC_LabelUsuario','Utilisateur :'),
+ ('Const_LogC_LabelData','Date :'),
+ ('Const_LogC_LabelNivel','La moindre partie de niveau:'),
+ ('Const_LogC_ColunaAppID','AppID'),
+ ('Const_LogC_ColunaNivel','Niveau '),
+ ('Const_LogC_ColunaMensagem','Message'),
+ ('Const_LogC_ColunaUsuario','Utilisateur'),
+ ('Const_LogC_ColunaData','Date'),
+ ('Const_LogC_BtFiltro','&Appliquez le Filtre'),
+ ('Const_LogC_BtExcluir','&Effacez le Rondin'),
+ ('Const_LogC_BtFechar','&Près'),
+ ('Const_LogC_ConfirmaExcluir','Il confirme pour exclure tous les registres de rondin choisi?'),
+ ('Const_LogC_ConfirmaDelete_WindowCaption','Effacez la confirmation '),
+ ('Const_LogC_Todos','Tous'),
+ ('Const_LogC_Low','Bas'),
+ ('Const_LogC_Normal','Normal'),
+ ('Const_LogC_High','Haut'),
+ ('Const_LogC_Critic','Critique'),
+ ('Const_LogC_ExcluirEfectuada','L''effacement de rondin de système fait : Utilisateur = "%s" | Date = %s a %s | Niveau <= %s'),
+ ('Const_Cad_WindowCaption','Sécurité'),
+ ('Const_Cad_LabelDescricao','Les utilisateurs s''inscrivent'),
+ ('Const_Cad_ColunaNome','Nom'),
+ ('Const_Cad_ColunaLogin','Utilisateur'),
+ ('Const_Cad_ColunaEmail','Courrier Électronique'),
+ ('Const_Cad_BtAdicionar','&Ajouter'),
+ ('Const_Cad_BtAlterar','Ch&anger'),
+ ('Const_Cad_BtExcluir','&Effacer'),
+ ('Const_Cad_BtPermissoes','A&pproches'),
+ ('Const_Cad_BtSenha','&Passe'),
+ ('Const_Cad_BtFechar','&Près' ),
+ ('Const_Cad_ConfirmaExcluir','Confirmez effacent l''utilisateur "%s" ?'),
+ ('Const_Cad_ConfirmaDelete_WindowCaption','Effacez l''utilisateur '),
+ ('Const_Prof_WindowCaption','Sécurité'),
+ ('Const_Prof_LabelDescricao','Les utilisateurs dressent le portrait'),
+ ('Const_Prof_ColunaNome','Profile'),
+ ('Const_Prof_BtAdicionar','&Ajouter'),
+ ('Const_Prof_BtAlterar','&Ajouter'),
+ ('Const_Prof_BtExcluir','&Effacer'),
+ ('Const_Prof_BtPermissoes','A&pproches'),
+ ('Const_Prof_BtSenha','&Passe'),
+ ('Const_Prof_BtFechar','&Près'),
+ ('Const_Prof_ConfirmaExcluir','Il y a des utilisateurs avec le profil "%s". Confirmez effacent ?'),
+ ('Const_Prof_ConfirmaDelete_WindowCaption','Effacez le profil'),
+ ('Const_Inc_WindowCaption','Les utilisateurs s''inscrivent '),
+ ('Const_Inc_LabelAdicionar','Ajouter utilisateurs'),
+ ('Const_Inc_LabelAlterar','Changer utilisateurs'),
+ ('Const_Inc_LabelNome','Nom :'),
+ ('Const_Inc_LabelLogin','Login :'),
+ ('Const_Inc_LabelEmail','Courrier Électronique :'),
+ ('Const_Inc_LabelPerfil','Profil :'),
+ ('Const_Inc_CheckPrivilegiado','Utilisateur privilégié'),
+ ('Const_Inc_BtGravar','&Sauver'),
+ ('Const_Inc_BtCancelar','Annuler'),
+ ('Const_Inc_CheckEspira','Le mot de passe ne fait pas expiré'),
+ ('Const_Inc_Dia','Jour'),
+ ('Const_Inc_ExpiraEm','Expiré dans'),
+ ('Const_PInc_WindowCaption','Dressez le portrait des Utilisateurs'),
+ ('Const_PInc_LabelAdicionar','Ajouter Profil'),
+ ('Const_PInc_LabelAlterar','Ajouter Profil '),
+ ('Const_PInc_LabelNome','Description :'),
+ ('Const_PInc_BtGravar','&Sauver'),
+ ('Const_PInc_BtCancelar','Annuler'),
+ ('Const_Perm_WindowCaption','Sécurité'),
+ ('Const_Perm_LabelUsuario','Permissions de l''Utilisateur :'),
+ ('Const_Perm_LabelPerfil','Permissions de l'' Profil :'),
+ ('Const_Perm_PageMenu','Articles du Menu'),
+ ('Const_Perm_PageActions','Actions'),
+ ('Const_Perm_PageControls','Controls'),
+ ('Const_Perm_BtLibera','&Libération'),
+ ('Const_Perm_BtBloqueia','&Bloc'),
+ ('Const_Perm_BtGravar','&Sauver'),
+ ('Const_Perm_BtCancelar','&Annuler'),
+ ('Const_Troc_WindowCaption','Sécurité'),
+ ('Const_Troc_LabelDescricao','Mot de passe de Changement '),
+ ('Const_Troc_LabelSenhaAtual','Passe :'),
+ ('Const_Troc_LabelNovaSenha','Nouveau Mot de passe :'),
+ ('Const_Troc_LabelConfirma','Confirmation :'),
+ ('Const_Troc_BtGravar','&Sauver'),
+ ('Const_Troc_BtCancelar','Annuler'),
+ ('Const_ErrPass_SenhaAtualInvalida','Le mot de passe actuel ne correspond pas !'),
+ ('Const_ErrPass_ErroNovaSenha','Le Champ : le Nouveau Mot de passe et la Confirmation doivent être le même.'),
+ ('Const_ErrPass_NovaIgualAtual','Nouveau mot de passe égal au mot de passe actuel'),
+ ('Const_ErrPass_SenhaObrigatoria','Le mot de passe est obligatoire'),
+ ('Const_ErrPass_SenhaMinima','Le mot de passe doit contenir au moins %d des caractères '),
+ ('Const_ErrPass_SenhaInvalida','Quand utiliser le mot de passe a été interdit vous obviez !'),
+ ('Const_ErrPass_ForcaTrocaSenha','Mot de passe de changement obligatoire'),
+ ('Const_DefPass_WindowCaption','Définissez le Mot de passe de l''utilisateur : "%s"'),
+ ('Const_DefPass_LabelSenha','Passe :'),
+ ('Const_TableUsers_FieldUserID','UCIdUser'),
+ ('Const_TableUsers_FieldUserName','UCUserName'),
+ ('Const_TableUsers_FieldLogin','UCLogin'),
+ ('Const_TableUsers_FieldPassword','UCPassword'),
+ ('Const_TableUsers_FieldEmail','UCEmail'),
+ ('Const_TableUsers_FieldPrivileged','UCPrivileged'),
+ ('Const_TableUsers_FieldTypeRec','UCTypeRec'),
+ ('Const_TableUsers_FieldProfile','UCProfile'),
+ ('Const_TableUsers_FieldKey','UCKey'),
+ ('Const_TableUsers_TableName','UCTabUsers'),
+ ('Const_TableUsers_FieldDateExpired','UCPassExpired'),
+ ('Const_TableUser_FieldUserExpired','UCUserExpired'),
+ ('Const_TableUser_FieldUserDaysSun','UCUserDaysSun'),
+ ('Const_TableRights_FieldUserID','UCIdUser'),
+ ('Const_TableRights_FieldModule','UCModule'),
+ ('Const_TableRights_FieldComponentName','UCCompName'),
+ ('Const_TableRights_FieldFormName','UCFormName'),
+ ('Const_TableRights_FieldKey','UCKey'),
+ ('Const_TableRights_TableName','UCTabRights'),
+ ('Const_TableUsersLogged_FieldLogonID','UCIdLogon'),
+ ('Const_TableUsersLogged_FieldUserID','UCIdUser'),
+ ('Const_TableUsersLogged_FieldApplicationID','UCApplicationId'),
+ ('Const_TableUsersLogged_FieldMachineName','UCMachineName'),
+ ('Const_TableUsersLogged_FieldData','UCData'),
+ ('Const_TableUsersLogged_TableName','UCTabUsersLogged'),
+ ('Const_Evento_Insert','Insertion'),
+ ('Const_Evento_Delete','Effacer'),
+ ('Const_Evento_Edit','Réviser'),
+ ('Const_Evento_NewRecord','Nouveau record '),
+ ('Const_Hist_All','Tous'),
+ ('Const_Msg_LimpHistorico','Histoire de table propre?'),
+ ('Const_Msg_MensConfirma','Confirmer'),
+ ('Const_Msg_LogEmptyHistory','L''utilisateur %s efface l''histoire de table dans %s '),
+ ('Const_LabelDescricao','Histoire de Tables'),
+ ('Const_LabelUser','Utilisateur'),
+ ('Const_LabelForm','Forme'),
+ ('Const_LabelEvento','Événement'),
+ ('Const_LabelTabela','Table'),
+ ('Const_LabelDataEvento','Date'),
+ ('Const_LabelHoraEvento','Temps'),
+ ('Const_Msg_NewRecord','%s insérez le nouveau record'),
+ ('Const_Hist_TableName','UCTABHistory'),
+ ('Const_Hist_FieldApplicationID','ApplicationID'),
+ ('Const_Hist_FieldUserID','UserID'),
+ ('Const_Hist_FieldEventDate','EventDate'),
+ ('Const_Hist_FieldEventTime','EventTime'),
+ ('Const_Hist_FieldForm','Form'),
+ ('Const_Hist_FieldCaptionForm','FormCaption'),
+ ('Const_Hist_FieldEvent','Event'),
+ ('Const_Hist_FieldObs','Obs'),
+ ('Const_Hist_FieldTableName','tName'),
+ ('Const_Hist_MsgExceptPropr','Informez la propriété %s'),
+ ('Const_Hist_BtnFiltro','&Appliquez le Filtre'),
+ ('Const_Hist_BtnExcluir','&Effacez l''Histoire'),
+ ('Const_Hist_BtnFechar','&Près') );
+
+
+ Function RetornaLingua( Lingua : TUCLanguage; Prop : String ) : String;
+
+implementation
+
+Function RetornaLingua( Lingua : TUCLanguage; Prop : String ) : String;
+Var I : Integer;
+Begin
+ Result := '';
+ For I := 0 to MaxArray do
+ Begin
+ Case Lingua of
+ ucPortuguesBr : If UpperCase( UC_PTBR[ I , 0 ] ) = UpperCase( Prop ) then Result := UC_PTBR[ I , 1 ];
+ ucEnglish : If UpperCase( UC_ENGLISH[ I , 0 ] ) = UpperCase( Prop ) then Result := UC_ENGLISH[ I , 1 ];
+ ucSpanish : if UpperCase( UC_SPANISH[ I , 0 ] ) = UpperCase( Prop ) then Result := UC_SPANISH[ I , 1 ];
+ ucFrench : if UpperCase( UC_FRENCH[ I , 0 ] ) = UpperCase( Prop ) then Result := UC_FRENCH[ I , 1 ];
+ else
+ If UpperCase( UC_PTBR[ I , 0 ] ) = UpperCase( Prop ) then Result := UC_PTBR[ I , 1 ];
+ End;
+ End;
+End;
+
+end.
+
diff --git a/official/2.20/Source/UserControl.inc b/official/2.20/Source/UserControl.inc
new file mode 100644
index 0000000..efc80b5
--- /dev/null
+++ b/official/2.20/Source/UserControl.inc
@@ -0,0 +1,159 @@
+{------------------------------------------------------------------------------}
+{ VERXXX to DELPHIX }
+{------------------------------------------------------------------------------}
+
+{$IFDEF VER110}
+ {$DEFINE DELPHI3}
+{$ENDIF}
+
+{$IFDEF VER120}
+ {$DEFINE DELPHI4}
+{$ENDIF}
+
+{$IFDEF VER130}
+ {$DEFINE DELPHI5}
+{$ENDIF}
+
+{$IFDEF VER140}
+ {$DEFINE DELPHI6}
+{$ENDIF}
+
+{$IFDEF VER150}
+ {$DEFINE DELPHI7}
+{$ENDIF}
+
+{$IFDEF VER160}
+ {$DEFINE DELPHI8}
+{$ENDIF}
+
+{$IFDEF VER170}
+ {$DEFINE DELPHI9}
+{$ENDIF}
+
+{$IFDEF VER180}
+ {$DEFINE DELPHI10}
+{$ENDIF}
+
+{------------------------------------------------------------------------------}
+{ DELPHIX_UP from DELPHIX mappings }
+{------------------------------------------------------------------------------}
+
+{$IFDEF DELPHI10}
+ {$DEFINE DELPHI10_UP}
+ {$DEFINE DELPHI9_UP}
+ {$DEFINE DELPHI8_UP}
+ {$DEFINE DELPHI7_UP}
+ {$DEFINE DELPHI6_UP}
+ {$DEFINE DELPHI5_UP}
+ {$DEFINE DELPHI4_UP}
+ {$DEFINE DELPHI3_UP}
+ {$DEFINE DELPHI2_UP}
+ {$DEFINE DELPHI1_UP}
+{$ENDIF}
+
+{$IFDEF DELPHI9}
+ {$DEFINE DELPHI9_UP}
+ {$DEFINE DELPHI8_UP}
+ {$DEFINE DELPHI7_UP}
+ {$DEFINE DELPHI6_UP}
+ {$DEFINE DELPHI5_UP}
+ {$DEFINE DELPHI4_UP}
+ {$DEFINE DELPHI3_UP}
+ {$DEFINE DELPHI2_UP}
+ {$DEFINE DELPHI1_UP}
+{$ENDIF}
+
+{$IFDEF DELPHI8}
+ {$DEFINE DELPHI8_UP}
+ {$DEFINE DELPHI7_UP}
+ {$DEFINE DELPHI6_UP}
+ {$DEFINE DELPHI5_UP}
+ {$DEFINE DELPHI4_UP}
+ {$DEFINE DELPHI3_UP}
+ {$DEFINE DELPHI2_UP}
+ {$DEFINE DELPHI1_UP}
+{$ENDIF}
+
+{$IFDEF DELPHI7}
+ {$DEFINE DELPHI7_UP}
+ {$DEFINE DELPHI6_UP}
+ {$DEFINE DELPHI5_UP}
+ {$DEFINE DELPHI4_UP}
+ {$DEFINE DELPHI3_UP}
+ {$DEFINE DELPHI2_UP}
+ {$DEFINE DELPHI1_UP}
+{$ENDIF}
+
+{$IFDEF DELPHI6}
+ {$DEFINE DELPHI6_UP}
+ {$DEFINE DELPHI5_UP}
+ {$DEFINE DELPHI4_UP}
+ {$DEFINE DELPHI3_UP}
+ {$DEFINE DELPHI2_UP}
+ {$DEFINE DELPHI1_UP}
+{$ENDIF}
+
+{$IFDEF DELPHI5}
+ {$DEFINE DELPHI5_UP}
+ {$DEFINE DELPHI4_UP}
+ {$DEFINE DELPHI3_UP}
+ {$DEFINE DELPHI2_UP}
+ {$DEFINE DELPHI1_UP}
+{$ENDIF}
+
+{$IFDEF DELPHI4}
+ {$DEFINE DELPHI4_UP}
+ {$DEFINE DELPHI3_UP}
+ {$DEFINE DELPHI2_UP}
+ {$DEFINE DELPHI1_UP}
+{$ENDIF}
+
+{$IFDEF DELPHI3}
+ {$DEFINE DELPHI3_UP}
+ {$DEFINE DELPHI2_UP}
+ {$DEFINE DELPHI1_UP}
+{$ENDIF}
+
+{$IFDEF DELPHI2}
+ {$DEFINE DELPHI2_UP}
+ {$DEFINE DELPHI1_UP}
+{$ENDIF}
+
+{$IFDEF DELPHI1}
+ {$DEFINE DELPHI1_UP}
+{$ENDIF}
+
+(*
+
+ Definições de funcionamento
+
+*)
+
+{$IFDEF DELPHI7_UP}
+ {$WARN UNSAFE_TYPE OFF}
+ {$WARN UNSAFE_CODE OFF}
+ {$WARN UNSAFE_CAST OFF}
+ {$WARN SYMBOL_DEPRECATED OFF}
+ {$WARN SYMBOL_LIBRARY OFF}
+ {$WARN SYMBOL_PLATFORM OFF}
+ {$WARN UNIT_LIBRARY OFF}
+ {$WARN UNIT_PLATFORM OFF}
+ {$WARN UNIT_DEPRECATED OFF}
+ {$WARN CONSTRUCTING_ABSTRACT OFF}
+ {$WARN IMPLICIT_IMPORT OFF}
+
+ {$DEFINE UCACTMANAGER}
+{$ENDIF}
+
+{$IFDEF DELPHI9_UP}
+ {$WARN SYMBOL_EXPERIMENTAL OFF}
+ {$WARN UNIT_EXPERIMENTAL OFF}
+{$ENDIF}
+
+(*
+ Definições do Usuario
+*)
+
+// Define se vai compilar com o indy
+
+{$DEFINE INDY}
diff --git a/official/2.20/Source/UserPermis_U.dfm b/official/2.20/Source/UserPermis_U.dfm
new file mode 100644
index 0000000..1bf5356
--- /dev/null
+++ b/official/2.20/Source/UserPermis_U.dfm
@@ -0,0 +1,650 @@
+object UserPermis: TUserPermis
+ Left = 255
+ Top = 154
+ BorderStyle = bsDialog
+ Caption = 'Seguran'#231'a'
+ ClientHeight = 522
+ ClientWidth = 542
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ OldCreateOrder = False
+ OnDestroy = FormDestroy
+ OnShow = FormShow
+ PixelsPerInch = 96
+ TextHeight = 13
+ object Panel1: TPanel
+ Left = 0
+ Top = 0
+ Width = 542
+ Height = 35
+ Align = alTop
+ BevelOuter = bvNone
+ Color = clWhite
+ TabOrder = 0
+ object LbDescricao: TLabel
+ Left = 44
+ Top = 12
+ Width = 205
+ Height = 18
+ Margins.Bottom = 0
+ Caption = 'Permiss'#245'es do Usu'#225'rio:'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -16
+ Font.Name = 'Verdana'
+ Font.Style = [fsBold]
+ ParentFont = False
+ end
+ object Image1: TImage
+ Left = 8
+ Top = 4
+ Width = 28
+ Height = 28
+ AutoSize = True
+ Picture.Data = {
+ 07544269746D6170760C0000424D760C00000000000036000000280000001C00
+ 00001C0000000100200000000000400C00000000000000000000000000000000
+ 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FEFEFE00F9F9F900F1F1F100EAEA
+ EA00E3E3E300E0E0E000DEDEDE00DFDFDF00E1E1E100E4E4E400E8E8E800ECEC
+ EC00F0F0F000F5F5F500FAFAFA00FEFEFE00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F6F6F600C5C7
+ C5008E9F91006E8A70005E815C00527B4F004E7C4A004B7C48004A7C47004B7B
+ 48004C7C4A004E7B4C0050795000557854005B7A5C00677F6A007C897E00A2A2
+ A200D4D4D400FAFAFA00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00F2F4F30074967100487638004E7C35004E8334004B893300488E
+ 31004592300044962F0043972F0043982F0043972F004494300047903100498C
+ 32004C863400507F35004E7A360047703900526C5200A9A9A900FAFAFA00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0094B3910058743900537B
+ 36004E8334004A8A33004690310043962F00409B2E003E9F2D003DA12D003DA1
+ 2D003DA02D003F9D2E0042992F0045933000488D32004C863400517F35005577
+ 3700567039005A725A00E6E6E600FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00688D5B0055783700508035004B8833004790310043982F003F9E
+ 2D003BA42C0039A82B0037AB2A0037AB2A0038AA2B003AA62C003DA12D00419B
+ 2E0045943000498C32004D843400527C36005773380054724D00DEDEDE00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF005E875100527C36004D84
+ 3400488D320044962F003F9E2E003BA52C0037AC2A0034B1290032B4280032B5
+ 280033B3280035AE290039A82B003DA12D00419A2F00469131004B8933005080
+ 35005577370056775100E4E4E400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00729A6800507F35004B88330046913100419A2E003CA32C0037AB
+ 2A0033B328002FB927002DBE25002CBF25002EBC260031B6270035AF29003AA7
+ 2B003F9E2D0044953000498C32004E833400537A37006F8C6E00F2F2F200FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A5C6A700508136004A8A
+ 3300449330003F9D2E003AA62B0035AF290030B827002BBF250035B237002BBB
+ 2B0029C324002DBC260033B4280037AB2A003DA12D0042982F00478F31004D85
+ 34004A7B3600B0BCB200FDFDFD00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00F6FAF70058904D00498B3200449530003E9E2D0039A82B0034B2
+ 28002EBB26004BA34E00DEE0DF00DDEADF0044BB47002BC0250031B6270036AD
+ 2A003CA32C00419A2F00479031004C86340072997100F1F1F100FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D4E4D6004A8E
+ 3D00449530003E9E2D0039A82B0034B129002FA92C00A4B0A700E5E6E600E8E9
+ E900CFDED20035B3340031B6270036AC2A003CA32C0041992F00468F31005E95
+ 5B00E5E7E500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00D2E4D4004E984500409C2E003AA52C0035AE
+ 2900518B5400989B9F00798A96006B7F8C00757E85005B7F5D002D9E240038A9
+ 2A003DA12D0040952F0070A46F00E9ECEA00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00EDF4EF007BB57B003A9D2E00319131004F7C93004992C5004A98CF004897
+ CE004592C800437DA400235437002C7F22004B9B4500AECAB000F9F9F900FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00BDD3C7004C90
+ AF0052A0D60052A0D500519FD4004F9DD3004C9AD1004997CE00438CBF004363
+ 6700C1C2C100FDFDFD00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00F5F6F70072ABD00056A4D90056A4D90056A4D90055A3D80054A2
+ D70052A0D5004F9DD3004B99D000468DC000727D8400E7E7E700FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A2C4DC005AA6DB005BA8
+ DC005BA8DC005BA8DC005AA7DB0058A5DA0056A4D90053A1D600509ED4004B9A
+ D0004C7FA500ADADAD00FDFDFD00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00E9EEF4005FA7D7005EABDF005FACE0005FACE0005FACE0005EABDF005CA9
+ DD005AA7DB0057A4D90054A2D700509ED4004A95CA0076828B00F0F0F000FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00ADCDE20060ACE00061AEE20063B0
+ E30063B0E30063B0E30061AEE2005FACE0005DAADE005AA7DC0056A4D90053A1
+ D600B7A293006947310069473100694731006947310069473100694731006947
+ 3100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF007EB5DA0063B0E30065B2E50067B4E70068B4E70067B4E60065B2E50063B0
+ E30060ADE1005DAADE0059A7DB0055A3D800B7A29300FFFFFF00FCFDFF005476
+ FF00E4E9FF00FFFFFF00FFFFFF0069473100FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FAFBFC0064AAD80066B3E60069B5E8006BB7
+ E9006CB8EA006BB7E90069B5E80066B3E60062AFE3005FACE0005BA8DC0057A5
+ DA00B7A29300FFFFFF00B4C3FF000033FF002450FF00FCFDFF00FFFFFF006947
+ 3100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00EDF2
+ F50062A9D9005696BF00538EB5005E9FC9006BB4E3006EBAEC006CB8EA0069B5
+ E70064B1E40060ADE1005DAADE0059A6DB00B7A29300FFFFFF004066FF000C3D
+ FF000033FF009CB0FF00FFFFFF0069473100FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00F1F5F9004F8FB9004385AF004485AE003F79
+ 9D003E708F004B7FA00062A5D10069B5E60066B3E60062AFE2005EABDF0059A7
+ DB00B7A293008CA3FF000033FF00708DFF006483FF001846FF00F0F3FF006947
+ 3100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF005490B8004D94C1004F96C3005097C3004E95C200488BB5003D7192004375
+ 95005B9FCD0061AEE1005DAADE004C8FBC00B7A2930088A0FF001C49FF00E4E9
+ FF00F0F3FF00204DFF006080FF0069473100FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0084B1CD00569ECB0058A0CE0059A1
+ CE00579FCC00539BC8004E95C2004689B300386A8A00447B9F004786B0003C7F
+ A900B7A29300FFFFFF00FFFFFF00FFFFFF00FFFFFF009CB0FF000C3DFF006080
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00C3D8E5005EA5D30061AAD80062ABD9005FA8D6005BA3D100559DCA004E95
+ C200478DB9003D7DA6003C7FAA003D82AD00B7A29300B7A29300B7A29300B7A2
+ 9300B7A29300B7A293009CB0FF001443FF006080FF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FCFDFE0079B1D5006AB4E2006AB5
+ E30067B1DF0062ABD9005BA3D000539AC7004B91BE004388B4003D82AD003C81
+ AC0062849A00ECECEC00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF009CB0
+ FF00345DFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00DDE9F00075B9E40073BEED006EB9E80067B1DF005FA7D500569E
+ CB004D94C100458BB7003D82AE005584A200D8DBDD00FEFEFE00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF009CB0FF00486DFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D8E7F1007FBF
+ E80072BDEC0069B3E20061A9D70058A0CD004F96C2004689B5006994B000DCDF
+ E300FEFEFE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF009CB0FF007893FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00F4F7FA00B2D0E30085B8D80070A9CE0071A6
+ C70087AFC900C3D1DB00FAFAFA00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00}
+ end
+ object lbUser: TLabel
+ Left = 257
+ Top = 12
+ Width = 54
+ Height = 18
+ Margins.Bottom = 0
+ Caption = 'Admin'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clBlue
+ Font.Height = -16
+ Font.Name = 'Verdana'
+ Font.Style = [fsBold]
+ ParentFont = False
+ end
+ end
+ object Panel3: TPanel
+ Left = 445
+ Top = 35
+ Width = 97
+ Height = 487
+ Align = alRight
+ BevelOuter = bvNone
+ TabOrder = 1
+ object BtLibera: TBitBtn
+ Left = 8
+ Top = 80
+ Width = 81
+ Height = 25
+ Caption = '&Liberar'
+ TabOrder = 0
+ OnClick = BtLiberaClick
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000C8D0D4C8D0D4
+ C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0
+ D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8
+ D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D49FBFD0
+ 0060900060900060900060900060900060900060900060900060900060900060
+ 909FBFD0C8D0D4C8D0D4C8D0D4C2C8CB8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D
+ 8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8DC2C8CBC8D0D4C8D0D4C8D0D40090C8
+ 98D8F80090C80090C80090C80090C80090C80090C80090C80090C80090C80090
+ C8006090C8D0D4C8D0D4C8D0D4B5B5B5E7E7E7B6B6B6B5B5B5B5B5B5B5B5B5B5
+ B5B5B5B5B5B6B6B6B5B5B5B5B5B5B5B5B58D8D8DC8D0D4C8D0D4C8D0D40090C8
+ D7EFFD7ACEF774CCF66EC9F55494A840404045879B4EBBF146B7EF42B5EF0090
+ C8006090C8D0D4C8D0D4C8D0D4B5B5B5F5F5F5E1E1E1E0E0E0DDDDDDB1B1B166
+ 6666A7A7A7D5D5D5D3D3D3D2D2D2B5B5B58D8D8DC8D0D4C8D0D4C8D0D40090C8
+ D7EFFD83D2F87DD0F777CDF671CAF540404063C5F45AC1F352BDF14AB9F00090
+ C8006090C8D0D4C8D0D4C8D0D4B5B5B5F5F5F5E3E3E3E2E2E2E0E0E0DFDFDF66
+ 6666DBDBDBD8D8D8D7D7D7D4D4D4B6B6B68D8D8DC8D0D4C8D0D4C8D0D40090C8
+ D7EFFD89D5F983D2F87DD0F740404040404040404063C5F45AC1F352BDF10090
+ C8006090C8D0D4C8D0D4C8D0D4B5B5B5F6F6F6E5E5E5E3E3E3E2E2E267676766
+ 6666666666DCDCDCD9D9D9D6D6D6B6B6B68D8D8DC8D0D4C8D0D4C8D0D40090C8
+ D7EFFD8FD8FA89D5F983D2F862AABE40404062AABE6BC8F563C5F45AC1F30090
+ C8006090C8D0D4C8D0D4C8D0D4B5B5B5F6F6F6E7E7E7E5E5E5E3E3E3C2C2C266
+ 6666C2C2C2DDDDDDDCDCDCD9D9D9B6B6B68D8D8DC8D0D4C8D0D4C8D0D40090C8
+ D7EFFD95DBFB8FD8FA89D5F983D2F87DD0F777CDF671CAF56BC8F563C5F40090
+ C8006090C8D0D4C8D0D4C8D0D4B6B6B6F5F5F5E9E9E9E7E7E7E5E5E5E3E3E3E2
+ E2E2E0E0E0DFDFDFDDDDDDDCDCDCB5B5B58D8D8DC8D0D4C8D0D4C8D0D40090C8
+ 98D8F8D7EFFDD7EFFDD7EFFDD7EFFDD7EFFDD7EFFDD7EFFDD7EFFDD7EFFD98D8
+ F8006090C8D0D4C8D0D4C8D0D4B5B5B5E7E7E7F6F6F6F6F6F6F6F6F6F6F6F6F6
+ F6F6F6F6F6F6F6F6F6F6F6F5F5F5E7E7E78D8D8DC8D0D4C8D0D4C8D0D49FBFD0
+ 028DC70090C80090C80090C80090C80090C80090C80090C80090C80090C80090
+ C89FBFD0C8D0D4C8D0D4C8D0D4C2C8CBB4B4B4B6B6B6B6B6B6B6B6B6B5B5B5B5
+ B5B5B5B5B5B6B6B6B6B6B6B5B5B5B5B5B5C2C8CBC8D0D4C8D0D4C8D0D4C8D0D4
+ C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D40090C860C8F8006090C8D0
+ D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8
+ D0D4C8D0D4B6B6B6DDDDDD8D8D8DC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4
+ C8D0D40090C8006090006090C8D0D4C8D0D4C8D0D40090C860C8F8006090C8D0
+ D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4B6B6B68D8D8D8D8D8DC8D0D4C8
+ D0D4C8D0D4B6B6B6DDDDDD8D8D8DC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4
+ C8D0D40090C8D7EFFD0060909FBFD0C8D0D49FBFD00090C860C8F8006090C8D0
+ D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4B5B5B5F6F6F68D8D8DC2C8CBC8
+ D0D4C2C8CBB5B5B5DDDDDD8D8D8DC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4
+ C8D0D47FB1CDD7EFFD98D8F800609000609000609098D8F860C8F8367EA3C8D0
+ D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4BDC2C4F5F5F5E7E7E78D8D8D8E
+ 8E8E8D8D8DE7E7E7DDDDDD9EA0A1C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4
+ C8D0D49FBFD07FB1CDD7EFFDD7EFFDD7EFFDD7EFFD4DB9EC367EA39FBFD0C8D0
+ D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C2C8CBBDC2C4F6F6F6F6F6F6F6
+ F6F6F6F6F6D3D3D39EA0A1C2C8CBC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4
+ C8D0D4C8D0D49FBFD07FB1CD0090C80090C80090C87FB1CD9FBFD0C8D0D4C8D0
+ D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C2C8CBBDC2C4B5B5B5B5
+ B5B5B5B5B5BDC2C4C2C8CBC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4}
+ NumGlyphs = 2
+ end
+ object BtBloqueia: TBitBtn
+ Left = 8
+ Top = 133
+ Width = 81
+ Height = 25
+ Caption = '&Bloquear'
+ TabOrder = 1
+ OnClick = BtBloqueiaClick
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000C8D0D4C8D0D4
+ C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0
+ D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8
+ D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D49FBFD0
+ 0060900060900060900060900060900060900060900060900060900060900060
+ 909FBFD0C8D0D4C8D0D4C8D0D4C2C8CB8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D
+ 8D8D8D8D8D8E8E8E8D8D8D8D8D8D8D8D8DC2C8CBC8D0D4C8D0D4C8D0D40090C8
+ 98D8F80090C80090C80090C80090C80090C80090C80090C80090C80090C80090
+ C8006090C8D0D4C8D0D4C8D0D4B6B6B6E7E7E7B5B5B5B6B6B6B5B5B5B5B5B5B5
+ B5B5B6B6B6B5B5B5B5B5B5B6B6B6B6B6B68D8D8DC8D0D4C8D0D4C8D0D40090C8
+ D7EFFD7ACEF774CCF66EC9F55494A840404045879B4EBBF146B7EF42B5EF0090
+ C8006090C8D0D4C8D0D4C8D0D4B5B5B5F5F5F5E1E1E1E0E0E0DDDDDDB1B1B166
+ 6666A7A7A7D5D5D5D3D3D3D2D2D2B6B6B68D8D8DC8D0D4C8D0D4C8D0D40090C8
+ D7EFFD83D2F87DD0F777CDF671CAF540404063C5F45AC1F352BDF14AB9F00090
+ C8006090C8D0D4C8D0D4C8D0D4B6B6B6F6F6F6E3E3E3E2E2E2E0E0E0DFDFDF66
+ 6666DCDCDCD9D9D9D7D7D7D4D4D4B6B6B68D8D8DC8D0D4C8D0D4C8D0D40090C8
+ D7EFFD89D5F983D2F87DD0F740404040404040404063C5F45AC1F352BDF10090
+ C8006090C8D0D4C8D0D4C8D0D4B5B5B5F5F5F5E5E5E5E3E3E3E2E2E266666666
+ 6666666666DCDCDCD8D8D8D6D6D6B5B5B58D8D8DC8D0D4C8D0D4C8D0D40090C8
+ D7EFFD8FD8FA89D5F983D2F862AABE40404062AABE6BC8F563C5F45AC1F30090
+ C8006090C8D0D4C8D0D4C8D0D4B6B6B6F6F6F6E7E7E7E6E6E6E3E3E3C2C2C267
+ 6767C2C2C2DDDDDDDBDBDBD9D9D9B6B6B68D8D8DC8D0D4C8D0D4C8D0D40090C8
+ D7EFFD95DBFB8FD8FA89D5F983D2F87DD0F777CDF671CAF56BC8F563C5F40090
+ C8006090C8D0D4C8D0D4C8D0D4B5B5B5F6F6F6E9E9E9E7E7E7E6E6E6E3E3E3E2
+ E2E2E0E0E0DFDFDFDDDDDDDBDBDBB6B6B68D8D8DC8D0D4C8D0D4C8D0D40090C8
+ 98D8F8D7EFFDD7EFFDD7EFFDD7EFFDD7EFFDD7EFFDD7EFFDD7EFFDD7EFFD98D8
+ F8006090C8D0D4C8D0D4C8D0D4B5B5B5E7E7E7F6F6F6F6F6F6F6F6F6F6F6F6F6
+ F6F6F6F6F6F6F6F6F6F6F6F6F6F6E7E7E78D8D8DC8D0D4C8D0D4C8D0D49FBFD0
+ 0090C80090C80090C80090C80090C80090C80090C80090C80090C80090C80090
+ C89FBFD0C8D0D4C8D0D4C8D0D4C2C8CBB5B5B5B6B6B6B6B6B6B5B5B5B6B6B6B5
+ B5B5B6B6B6B6B6B6B5B5B5B5B5B5B6B6B6C2C8CBC8D0D4C8D0D4C8D0D4C8D0D4
+ C8D0D40090C8D7EFFD006090C8D0D4C8D0D4C8D0D40090C860C8F8006090C8D0
+ D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4B5B5B5F5F5F58D8D8DC8D0D4C8
+ D0D4C8D0D4B5B5B5DDDDDD8D8D8DC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4
+ C8D0D40090C8D7EFFD0060909FBFD0C8D0D49FBFD00090C860C8F8006090C8D0
+ D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4B5B5B5F6F6F68D8D8DC2C8CBC8
+ D0D4C2C8CBB5B5B5DEDEDE8D8D8DC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4
+ C8D0D47FB1CDD7EFFD98D8F800609000609000609060C8F860C8F8367EA3C8D0
+ D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4BDC2C4F6F6F6E7E7E78D8D8D8D
+ 8D8D8D8D8DDEDEDEDDDDDD9EA0A1C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4
+ C8D0D49FBFD07FB1CDD7EFFDD7EFFDD7EFFDD7EFFD60C8F8367EA39FBFD0C8D0
+ D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C2C8CBBDC2C4F6F6F6F6F6F6F6
+ F6F6F6F6F6DDDDDD9EA0A1C2C8CBC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4
+ C8D0D4C8D0D49FBFD07FB1CD0090C80090C80090C87FB1CD9FBFD0C8D0D4C8D0
+ D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C2C8CBBDC2C4B5B5B5B5
+ B5B5B6B6B6BDC2C4C2C8CBC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4
+ C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0
+ D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8
+ D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4}
+ NumGlyphs = 2
+ end
+ object BtGrava: TBitBtn
+ Left = 8
+ Top = 186
+ Width = 81
+ Height = 25
+ Caption = '&Gravar'
+ TabOrder = 2
+ OnClick = BtGravaClick
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF
+ 6D422F6D422F6D422F6D422F6D422F6D422F6D422F6D422F6D422F6D422F6D42
+ 2F6D422F6D422F6D422FFF00FFFF00FF69696969696969696969696969696969
+ 6969696969696969696969696969696969696969696969696969FF00FFCE726F
+ D19792CB8E8A715A48C0B2ABC4BCB8CAC1BCCAC1BCCAC1BCCAC1BC8C76679443
+ 409443409443406D422FFF00FF9A9A9AB4B4B4AEAEAE7D7D7DC6C6C6CECECED2
+ D2D2D2D2D2D2D2D2D2D2D2969696707070707070707070696969FF00FFCE726F
+ D79F9BD19792715A482E1F185F5046FFFFFFFFFFFFFFFFFFF0E4DE8C76679747
+ 449443409443406D422FFF00FF9A9A9ABBBBBBB5B5B57C7C7C434343747474FF
+ FFFFFFFFFFFFFFFFECECEC969696747474707070707070696969FF00FFCE726F
+ DDA8A3D79F9B715A480A0A0A36241BFFFFFFF7F1EEF0E4DEE1CABD8C76679E50
+ 4D9747449443406D422FFF00FF9A9A9AC1C1C1BBBBBB7D7D7D2A2A2A4A4A4AFF
+ FFFFF6F6F6ECECECD8D8D89595957C7C7C757575707070696969FF00FFCE726F
+ E3B0ABDDA8A3715A48715A48715A48715A48715A48715A48715A48715A48A459
+ 569E504D9747446D422FFF00FF9A9A9AC8C8C8C1C1C17D7D7D7D7D7D7D7D7D7C
+ 7C7C7D7D7D7D7D7D7D7D7D7D7D7D8383837C7C7C747474696969FF00FFCE726F
+ EDBDB8E7B5B0E0ACA7DAA49FD49B97CB8E8AC58682BF7E79B97571B26B68AB62
+ 5FA459569E504D6D422FFF00FF9A9A9AD2D2D2CCCCCCC4C4C4BEBEBEB8B8B8AE
+ AEAEA8A8A8A1A1A19A9A9A9292928B8B8B8484847B7B7B696969FF00FFCE726F
+ F0C1BCEDBDB8E7B5B0E0ACA7DAA49FD49B97CE938EC88A86C2827EBC7975B26B
+ 68AB625FA459566D422FFF00FF9A9A9AD4D4D4D2D2D2CBCBCBC4C4C4BFBFBFB8
+ B8B8B1B1B1ABABABA5A5A59D9D9D9292928B8B8B848484696969FF00FFCE726F
+ F0C1BCF0C1BCC8635CC8635CC8635CC8635CC8635CC8635CC8635CC8635CC863
+ 5CB5706CAE67636D422FFF00FF9A9A9AD4D4D4D5D5D58E8E8E8E8E8E8E8E8E8E
+ 8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E9696968E8E8E696969FF00FFCE726F
+ F0C1BCC8635CFAF5F3F6EEEAF2E7E2EEE2DAEBDCD3E7D6CBE4D0C4E1CABDE1CA
+ BDC8635CB5706C6D422FFF00FF9A9A9AD4D4D48E8E8EF8F8F8F3F3F3EEEEEEEA
+ EAEAE6E6E6E1E1E1DDDDDDD8D8D8D8D8D88E8E8E969696676767FF00FFCE726F
+ F0C1BCC8635CFFFFFFFCF8F7F8F1EEF4EAE6F0E4DEECDFD6E9D9CFE6D3C8E2CD
+ C0C8635CBC79756D422FFF00FF9A9A9AD5D5D58E8E8EFFFFFFFAFAFAF6F6F6F1
+ F1F1ECECECE7E7E7E3E3E3DFDFDFDADADA8E8E8E9D9D9D696969FF00FFCE726F
+ F0C1BCC8635CFFFFFFFFFFFFFCF8F7F8F1EEF4EAE6F0E4DEECDFD6E9D9CFE6D3
+ C8C8635CC2827E6D422FFF00FF9A9A9AD4D4D48D8D8DFFFFFFFFFFFFFBFBFBF6
+ F6F6F0F0F0ECECECE7E7E7E3E3E3DFDFDF8E8E8EA5A5A5696969FF00FFCE726F
+ F0C1BCC8635CFFFFFFFFFFFFFFFFFFFCF8F7F8F1EEF4EAE6F0E4DEECDFD6E9D9
+ CFC8635CC88A866D422FFF00FF9A9A9AD4D4D48E8E8EFFFFFFFFFFFFFFFFFFFB
+ FBFBF5F5F5F1F1F1ECECECE8E8E8E3E3E38E8E8EABABAB696969FF00FFCE726F
+ F0C1BCC8635CFFFFFFFFFFFFFFFFFFFFFFFFFCF8F7F8F1EEF4EAE6F0E4DEECDF
+ D6C8635CD197926D422FFF00FF9A9A9AD4D4D48E8E8EFFFFFFFFFFFFFFFFFFFF
+ FFFFFBFBFBF6F6F6F1F1F1ECECECE7E7E78E8E8EB5B5B5696969FF00FFCE726F
+ F0C1BCC8635CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF8F7F8F1EEF4EAE6F0E4
+ DEC8635C0A0A0A6D422FFF00FF9A9A9AD4D4D48E8E8EFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFBFBFBF6F6F6F1F1F1ECECEC8E8E8E2A2A2A676767FF00FFCE726F
+ F0C1BCC8635CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF8F7F8F1EEF4EA
+ E6C8635CC88A866D422FFF00FF9A9A9AD5D5D58E8E8EFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFBFBFBF5F5F5F1F1F18E8E8EABABAB696969FF00FFCE726F
+ CE726FCE726FCE726FCE726FCE726FCE726FCE726FCE726FCE726FCE726FCE72
+ 6FCE726FCE726FCE726FFF00FF9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+ 9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A}
+ NumGlyphs = 2
+ end
+ object BtCancel: TBitBtn
+ Left = 8
+ Top = 240
+ Width = 81
+ Height = 25
+ Caption = '&Cancelar'
+ TabOrder = 3
+ OnClick = BtCancelClick
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFC066148E4019
+ 8E40198E40198E40198E40198E40198E40198E40198E40198E40198E40198E40
+ 198E40198E4019FF00FF8888886969696969696969696969696969696A6A6A69
+ 69696969696969696A6A6A6969696969696A6A6A696969FF00FFC06614F9F5F4
+ C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2
+ A5C3B2A58E4019FF00FF888888F8F8F8C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6
+ C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6696969FF00FFC06614FCFAFA
+ F9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCDFD0C7DFD0C7DCCB
+ C1C3B2A58E4019FF00FF888888FCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEAEAEAE7
+ E7E7E4E4E4E0E0E0DDDDDDDDDDDDD9D9D9C6C6C6696969FF00FFC06614FFFFFF
+ FCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCE2D4CCDFD0
+ C7C3B2A58E4019FF00FF888888FFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEA
+ EAEAE7E7E7E3E3E3E0E0E0E0E0E0DDDDDDC6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E5D9D1E2D4
+ CCC3B2A58E4019FF00FF888888FFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EE
+ EEEEEAEAEAE7E7E7E3E3E3E3E3E3E0E0E0C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E9DED7E5D9
+ D1C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1
+ F1F1EEEEEEEAEAEAE7E7E7E7E7E7E3E3E3C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F2EBE8EEE6E2ECE2DCECE2DCE9DE
+ D7C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFBFBFBF7
+ F7F7F1F1F1EEEEEEEAEAEAEAEAEAE7E7E7C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF0E9E5F0E9E5EDE4
+ DFC3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFB
+ FBFBF7F7F7F3F3F3F0F0F0F0F0F0ECECECC6C6C66A6A6AFF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF4EEEBF0E9
+ E5C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE
+ FEFEFBFBFBF7F7F7F3F3F3F3F3F3F0F0F0C6C6C66A6A6AFF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F78A9DE92546CD1D3F
+ C9193BC8183BC88194E1898989FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFEFEFEFAFAFAC6C6C6979797929292929292929292C0C0C0C06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFD3355DBF2F4FD4E6B
+ D94A67D8F2F4FD183BC8888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFEFEFEA1A1A1FAFAFAAAAAAAA8A8A8F9F9F9929292C066148E4019
+ 8E40198E40198E40198E40198E40198E40198E40198E40193C5CDD8296E4D9DF
+ F9CDD5F74C69D81A3CC88888886969696969696969696A6A6A69696969696969
+ 6969696969696969A5A5A5C1C1C1EDEDEDE7E7E7A8A8A8929292C06614ED9733
+ ED9733ED9733ED9733ED9733ED9733ED9733F6CA9AED97334563E16980E2E4E8
+ FBD8DEF9516DDA1F40C9888888ACACACACACACADADADADADADADADADACACACAD
+ ADADD5D5D5ADADADA8A8A8B6B6B6F2F2F2ECECECABABAB939393F810DCC06614
+ C06614C06614C06614C06614C06614C06614C06614C066144D6AE3F2F4FD667D
+ E26E85E2F2F4FD2749CEEF14EF88888888888888888888888889898988888888
+ 8888888888898989ACACACF9F9F9B5B5B5B9B9B9F9F9F9989898FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF9AABEF4D6AE34563
+ E14463DF3E5EDE8FA2EBFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFCFCFCFACACACA8A8A8A8A8A8A6A6A6C9C9C9}
+ NumGlyphs = 2
+ end
+ end
+ object PC: TPageControl
+ Left = 0
+ Top = 35
+ Width = 445
+ Height = 487
+ ActivePage = PageMenu
+ Align = alClient
+ Style = tsFlatButtons
+ TabOrder = 2
+ object PageMenu: TTabSheet
+ Caption = 'Itens do Menu'
+ ExplicitLeft = 0
+ ExplicitTop = 0
+ ExplicitWidth = 0
+ ExplicitHeight = 0
+ object TreeMenu: TTreeView
+ Left = 0
+ Top = 0
+ Width = 437
+ Height = 456
+ Align = alClient
+ Ctl3D = True
+ Images = ImageList1
+ Indent = 19
+ ParentCtl3D = False
+ ReadOnly = True
+ RightClickSelect = True
+ TabOrder = 0
+ OnClick = TreeMenuClick
+ OnCollapsing = TreeMenuCollapsing
+ OnExpanding = TreeMenuCollapsing
+ OnKeyPress = TreeMenuKeyPress
+ OnMouseUp = TreeMenuMouseUp
+ end
+ end
+ object PageAction: TTabSheet
+ Caption = 'A'#231#245'es'
+ ImageIndex = 1
+ ExplicitLeft = 0
+ ExplicitTop = 0
+ ExplicitWidth = 0
+ ExplicitHeight = 0
+ object TreeAction: TTreeView
+ Left = 0
+ Top = 0
+ Width = 437
+ Height = 456
+ Align = alClient
+ Ctl3D = True
+ Images = ImageList1
+ Indent = 19
+ ParentCtl3D = False
+ ReadOnly = True
+ RightClickSelect = True
+ TabOrder = 0
+ OnClick = TreeActionClick
+ OnCollapsing = TreeMenuCollapsing
+ OnExpanding = TreeMenuCollapsing
+ OnKeyPress = TreeMenuKeyPress
+ end
+ end
+ object PageControls: TTabSheet
+ Caption = 'Controles'
+ ImageIndex = 2
+ ExplicitLeft = 0
+ ExplicitTop = 0
+ ExplicitWidth = 0
+ ExplicitHeight = 0
+ object TreeControls: TTreeView
+ Left = 0
+ Top = 0
+ Width = 437
+ Height = 456
+ Align = alClient
+ Ctl3D = True
+ Images = ImageList1
+ Indent = 19
+ ParentCtl3D = False
+ ReadOnly = True
+ RightClickSelect = True
+ TabOrder = 0
+ OnClick = TreeControlsClick
+ OnCollapsing = TreeMenuCollapsing
+ OnExpanding = TreeMenuCollapsing
+ OnKeyPress = TreeMenuKeyPress
+ end
+ end
+ end
+ object ImageList1: TImageList
+ Left = 360
+ Top = 8
+ Bitmap = {
+ 494C010103000400040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
+ 0000000000003600000028000000400000001000000001002000000000000010
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000084848400C6DEC600C6DE
+ C600C6DEC600C6DEC600C6DEC600C6DEC600C6DEC600C6DEC600C6DEC600C6DE
+ C600C6DEC6000000000000000000000000000000000084848400C6DEC600C6DE
+ C600C6DEC600C6DEC600C6DEC600C6DEC600C6DEC600C6DEC600C6DEC600C6DE
+ C600C6DEC6000000000000000000000000000000000084848400C6DEC600C6DE
+ C600C6DEC600C6DEC600C6DEC600C6DEC600C6DEC600C6DEC600C6DEC600C6DE
+ C600C6DEC6000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000084848400848484000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000C6DEC6000000000000000000000000000000000084848400848484000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000C6DEC600000000000000000000000000000000008484840084848400C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6DEC6000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000084848400848484000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000C6DEC6000000000000000000000000000000000084848400848484000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000C6DEC600000000000000000000000000000000008484840084848400C6C6
+ C600C6C6C600C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6DEC6000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000084848400848484000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000C6DEC6000000000000000000000000000000000084848400848484000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000C6DEC600000000000000000000000000000000008484840084848400C6C6
+ C600C6C6C600848484008484840084848400C6C6C600C6C6C600C6C6C600C6C6
+ C600C6DEC6000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000084848400848484000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000C6DEC6000000000000000000000000000000000084848400848484000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000C6DEC600000000000000000000000000000000008484840084848400C6C6
+ C6008484840084848400848484008484840084848400C6C6C600C6C6C600C6C6
+ C600C6DEC6000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000084848400848484000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000C6DEC6000000000000000000000000000000000084848400848484000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000C6DEC600000000000000000000000000000000008484840084848400C6C6
+ C6008484840084848400C6C6C600848484008484840084848400C6C6C600C6C6
+ C600C6DEC6000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000084848400848484000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000C6DEC6000000000000000000000000000000000084848400848484000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000C6DEC600000000000000000000000000000000008484840084848400C6C6
+ C60084848400C6C6C600C6C6C600C6C6C600848484008484840084848400C6C6
+ C600C6DEC6000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000084848400848484000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000C6DEC6000000000000000000000000000000000084848400848484000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000C6DEC600000000000000000000000000000000008484840084848400C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008484840084848400C6C6
+ C600C6DEC6000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000084848400848484000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000C6DEC6000000000000000000000000000000000084848400848484000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000C6DEC600000000000000000000000000000000008484840084848400C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60084848400C6C6
+ C600C6DEC6000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000084848400848484000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000C6DEC6000000000000000000000000000000000084848400848484000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000C6DEC600000000000000000000000000000000008484840084848400C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6DEC6000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000084848400848484008484
+ 8400848484008484840084848400848484008484840084848400848484008484
+ 8400C6DEC6000000000000000000000000000000000084848400848484008484
+ 8400848484008484840084848400848484008484840084848400848484008484
+ 8400C6DEC6000000000000000000000000000000000084848400848484008484
+ 8400848484008484840084848400848484008484840084848400848484008484
+ 8400C6DEC6000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000084848400848484008484
+ 8400848484008484840084848400848484008484840084848400848484008484
+ 8400848484000000000000000000000000000000000084848400848484008484
+ 8400848484008484840084848400848484008484840084848400848484008484
+ 8400848484000000000000000000000000000000000084848400848484008484
+ 8400848484008484840084848400848484008484840084848400848484008484
+ 8400848484000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000424D3E000000000000003E000000
+ 2800000040000000100000000100010000000000800000000000000000000000
+ 000000000000000000000000FFFFFF00FFFFFFFFFFFF0000FFFFFFFFFFFF0000
+ FFFFFFFFFFFF000080078007800700009FF79FF7800700009FF79DF780070000
+ 9FF798F7800700009FF79077800700009FF79237800700009FF7971780070000
+ 9FF79F97800700009FF79FD7800700009FF79FF7800700008007800780070000
+ 8007800780070000FFFFFFFFFFFF000000000000000000000000000000000000
+ 000000000000}
+ end
+end
diff --git a/official/2.20/Source/UserPermis_U.pas b/official/2.20/Source/UserPermis_U.pas
new file mode 100644
index 0000000..7951215
--- /dev/null
+++ b/official/2.20/Source/UserPermis_U.pas
@@ -0,0 +1,744 @@
+unit UserPermis_U;
+
+interface
+
+{$I 'UserControl.inc'}
+
+uses
+ UCBase,
+ {$IFDEF UCACTMANAGER}
+ ActnMan,
+ ActnMenus,
+ {$ENDIF}
+ {$IFDEF DELPHI5_UP}
+ Variants,
+ {$ENDIF}
+ Buttons,
+ Classes,
+ ComCtrls,
+ Controls,
+ DB,
+ ExtCtrls,
+ Forms,
+ Graphics,
+ ImgList,
+ Menus,
+ StdCtrls;
+
+type
+ PTreeMenu = ^TTreeMenu;
+
+ TTreeMenu = record
+ Selecionado: Integer;
+ MenuName: String;
+ end;
+
+ PTreeAction = ^TTreeAction;
+
+ TTreeAction = record
+ Grupo: Boolean;
+ Selecionado: Integer;
+ MenuName: String;
+ end;
+
+ PTreeControl = ^TTreeControl;
+
+ TTreeControl = record
+ Grupo: Boolean;
+ Selecionado: Integer;
+ CompName: String;
+ FormName: String;
+ end;
+
+ TUserPermis = class(TForm)
+ Panel1: TPanel;
+ LbDescricao: TLabel;
+ Image1: TImage;
+ Panel3: TPanel;
+ BtLibera: TBitBtn;
+ BtBloqueia: TBitBtn;
+ BtGrava: TBitBtn;
+ lbUser: TLabel;
+ ImageList1: TImageList;
+ BtCancel: TBitBtn;
+ PC: TPageControl;
+ PageMenu: TTabSheet;
+ PageAction: TTabSheet;
+ TreeMenu: TTreeView;
+ TreeAction: TTreeView;
+ PageControls: TTabSheet;
+ TreeControls: TTreeView;
+ procedure BtGravaClick(Sender: TObject);
+ procedure TreeMenuClick(Sender: TObject);
+ procedure BtCancelClick(Sender: TObject);
+ procedure BtLiberaClick(Sender: TObject);
+ procedure BtBloqueiaClick(Sender: TObject);
+ procedure FormShow(Sender: TObject);
+ procedure TreeActionClick(Sender: TObject);
+ procedure TreeControlsClick(Sender: TObject);
+ procedure TreeMenuCollapsing(Sender: TObject; Node: TTreeNode; var AllowCollapse: Boolean);
+ procedure TreeMenuKeyPress(Sender: TObject; var Key: char);
+ procedure TreeMenuMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
+ procedure FormDestroy(Sender: TObject);
+ private
+ FMenu: TMenu;
+ FActions: TObject;
+ FChangingTree: Boolean;
+ FTempMPointer: PTreeMenu;
+ FTempAPointer: PTreeAction;
+ FTempCPointer: PTreeControl;
+ FExtraRights: TUCExtraRights;
+ FTempLista: TStringList;
+ FListaAction: array of PTreeAction;
+ FListaMenu: array of PTreeMenu;
+ FListaControl: array of PTreeControl;
+ {$IFDEF UCACTMANAGER}
+ FActionMainMenuBar: TActionMainMenuBar;
+ procedure TrataItem(IT: TActionClientItem; node: TTreeNode); overload;
+ {$ENDIF}
+ procedure TrataItem(IT: TMenuItem; node: TTreeNode); overload;
+ procedure TreeMenuItem(marca: Boolean);
+ procedure Atualiza(Selec: Boolean);
+ procedure TreeActionItem(marca: Boolean);
+ procedure UnCheckChild(node: TTreeNode);
+ procedure TreeControlItem(marca: Boolean);
+ procedure CarregaTreeviews;
+ public
+ FTempIdUser: Integer;
+ FUserControl: TUserControl;
+ DSPermiss: TDataset;
+ DSPermissEX: TDataset;
+ DSPerfil: TDataset;
+ DSPerfilEX: TDataset;
+ end;
+
+var
+ UserPermis: TUserPermis;
+
+implementation
+
+uses
+ ActnList,
+ Messages,
+ SysUtils,
+ Windows;
+
+{$R *.dfm}
+
+procedure TUserPermis.BtGravaClick(Sender: TObject);
+var
+ Contador: Integer;
+begin
+ with TUserControl(Owner).TableRights do
+ begin
+ TUserControl(Owner).DataConnector.UCExecSQL('Delete from ' + TableName + ' Where ' + FieldUserID + ' = ' + IntToStr(FTempIdUser) + ' and ' + FieldModule + ' = ' + QuotedStr(TUserControl(owner).ApplicationID));
+ TUserControl(Owner).DataConnector.UCExecSQL('Delete from ' + TableName + 'EX Where ' + FieldUserID + ' = ' + IntToStr(FTempIdUser) + ' and ' + FieldModule + ' = ' + QuotedStr(TUserControl(owner).ApplicationID));
+ end;
+
+ for Contador := 0 to TreeMenu.Items.Count - 1 do
+ if PTreeMenu(TreeMenu.Items[Contador].Data).Selecionado = 1 then
+ TUserControl(Owner).AddRight(FTempIdUser, PTreeMenu(TreeMenu.Items[Contador].Data).MenuName);
+
+ for Contador := 0 to TreeAction.Items.Count - 1 do
+ if PTreeAction(TreeAction.Items[Contador].Data).Selecionado = 1 then
+ TUserControl(Owner).AddRight(FTempIdUser, PTreeAction(TreeAction.Items[Contador].Data).MenuName);
+
+ //Extra Rights
+ for Contador := 0 to Pred(TreeControls.Items.Count) do
+ if PTreeControl(TreeControls.Items[Contador].Data).Selecionado = 1 then
+ TUserControl(Owner).AddRightEX(FTempIdUser, TUserControl(Owner).ApplicationID, PTreeControl(TreeControls.Items[Contador].Data).FormName, PTreeControl(TreeControls.Items[Contador].Data).CompName);
+
+ Close;
+end;
+
+procedure TUserPermis.TrataItem(IT: TMenuItem; node: TTreeNode);
+var
+ contador: Integer;
+ TempNode: TTreeNode;
+begin
+ for contador := 0 to IT.Count - 1 do
+ if IT.Items[Contador].Caption <> '-' then
+ if IT.Items[Contador].Count > 0 then
+ begin
+ New(FTempMPointer);
+ SetLength(FListaMenu, Length(FListaMenu) + 1); //Adicionado por Luiz 18/01/06
+ FListaMenu[High(FListaMenu)] := FTempMPointer; //Adicionado por Luiz 18/01/06
+ FTempMPointer.Selecionado := 0;
+ FTempMPointer.MenuName := IT.Items[Contador].Name;
+ TempNode := TreeMenu.Items.AddChildObject(node, StringReplace(IT.Items[Contador].Caption, '&', '', [rfReplaceAll]), FTempMPointer);
+ TrataItem(IT.Items[Contador], TempNode);
+ end
+ else
+ begin
+ New(FTempMPointer);
+ SetLength(FListaMenu, Length(FListaMenu) + 1); //Adicionado por Luiz 18/01/06
+ FListaMenu[High(FListaMenu)] := FTempMPointer; //Adicionado por Luiz 18/01/06
+ FTempMPointer.Selecionado := 0;
+ FTempMPointer.MenuName := IT.Items[Contador].Name;
+ TreeMenu.Items.AddChildObject(node, StringReplace(IT.Items[Contador].Caption, '&', '', [rfReplaceAll]), FTempMPointer);
+ end;
+end;
+
+{$IFDEF UCACTMANAGER}
+procedure TUserPermis.TrataItem(IT: TActionClientItem; node: TTreeNode);
+var
+ contador: Integer;
+ TempNode: TTreeNode;
+begin
+ for contador := 0 to IT.Items.Count - 1 do
+ if IT.Items[Contador].Caption <> '-' then
+ if IT.Items[Contador].Items.Count > 0 then
+ begin
+ New(FTempMPointer);
+ SetLength(FListaMenu, Length(FListaMenu) + 1); //Adicionado por Luiz 18/01/06
+ FListaMenu[High(FListaMenu)] := FTempMPointer; //Adicionado por Luiz 18/01/06
+ FTempMPointer.Selecionado := 0;
+ FTempMPointer.MenuName := #1 + 'G' + IT.Items[Contador].Caption;
+ TempNode := TreeMenu.Items.AddChildObject(node, StringReplace(IT.Items[Contador].Caption, '&', '', [rfReplaceAll]), FTempMPointer);
+ TrataItem(IT.Items[Contador], TempNode);
+ end
+ else
+ begin
+ New(FTempMPointer);
+ SetLength(FListaMenu, Length(FListaMenu) + 1); //Adicionado por Luiz 18/01/06
+ FListaMenu[High(FListaMenu)] := FTempMPointer; //Adicionado por Luiz 18/01/06
+ FTempMPointer.Selecionado := 0;
+ FTempMPointer.MenuName := IT.Items[Contador].Action.Name;
+ TreeMenu.Items.AddChildObject(node, StringReplace(IT.Items[Contador].Caption, '&', '', [rfReplaceAll]), FTempMPointer);
+ end;
+end;
+
+{$ENDIF}
+
+procedure TUserPermis.CarregaTreeviews;
+var
+ Contador: Integer;
+ TempNode: TTreeNode;
+ Temp: String;
+ Temp2: String;
+ Desc: String;
+begin
+ FChangingTree := False;
+ PC.ActivePage := PageMenu;
+
+ Self.FMenu := TUserControl(Owner).ControlRight.MainMenu;
+ Self.FActionMainMenuBar := TUserControl(Owner).ControlRight.ActionMainMenuBar;
+ if Assigned(TUserControl(Owner).ControlRight.ActionList) then
+ Self.FActions := TUserControl(Owner).ControlRight.ActionList
+ else
+ Self.FActions := TUserControl(Owner).ControlRight.ActionManager;
+
+ Self.FExtraRights := TUserControl(Owner).ExtraRights;
+
+ (*if (not Assigned(FMenu)) and (not Assigned(TUserControl(Owner).ControlRight.ActionList))
+ {$IFDEF UCACTMANAGER} and (not Assigned(TUserControl(Owner).ControlRight.ActionManager)) and
+ (not Assigned(TUserControl(Owner).ControlRight.ActionMainMenuBar))
+ {$ENDIF} then
+ begin
+ if (Assigned(FMenu))
+ {$IFDEF UCACTMANAGER} and (not Assigned(TUserControl(Owner).ControlRight.ActionMainMenuBar))
+ {$ENDIF} then*)
+
+ //TempNode := nil;
+ if Assigned(FMenu) then
+ begin
+ TreeMenu.Items.Clear;
+ for Contador := 0 to FMenu.Items.Count - 1 do
+ if FMenu.Items[Contador].Count > 0 then
+ begin
+ New(FTempMPointer);
+ SetLength(FListaMenu, Length(FListaMenu) + 1); //Adicionado por Luiz 18/01/06
+ FListaMenu[High(FListaMenu)] := FTempMPointer; //Adicionado por Luiz 18/01/06
+ FTempMPointer.Selecionado := 0;
+ FTempMPointer.MenuName := FMenu.Items[Contador].Name;
+ TempNode := TreeMenu.Items.AddObject(nil, StringReplace(FMenu.Items[Contador].Caption, '&', '', [rfReplaceAll]), FTempMPointer);
+ TrataItem(FMenu.Items[Contador], TempNode);
+ end
+ else
+ if FMenu.Items[Contador].Caption <> '-' then
+ begin
+ New(FTempMPointer);
+ SetLength(FListaMenu, Length(FListaMenu) + 1); //Adicionado por Luiz 18/01/06
+ FListaMenu[High(FListaMenu)] := FTempMPointer; //Adicionado por Luiz 18/01/06
+ FTempMPointer.Selecionado := 0;
+ FTempMPointer.MenuName := FMenu.Items[Contador].Name;
+ TreeMenu.Items.AddObject(nil, StringReplace(FMenu.Items[Contador].Caption, '&', '', [rfReplaceAll]), FTempMPointer);
+ end;
+ TreeMenu.FullExpand;
+ TreeMenu.Perform(WM_VSCROLL, SB_TOP, 0);
+ end;
+
+ {$IFDEF UCACTMANAGER}
+ //TempNode := nil;
+ if Assigned(FActionMainMenuBar) then
+ begin
+ TreeMenu.Items.Clear;
+ for Contador := 0 to FActionMainMenuBar.ActionClient.Items.Count - 1 do
+ begin
+ Temp := IntToStr(Contador);
+ if FActionMainMenuBar.ActionClient.Items[StrToInt(Temp)].Items.Count > 0 then
+ begin
+ New(FTempMPointer);
+ SetLength(FListaMenu, Length(FListaMenu) + 1); //Adicionado por Luiz 18/01/06
+ FListaMenu[High(FListaMenu)] := FTempMPointer; //Adicionado por Luiz 18/01/06
+ FTempMPointer.Selecionado := 0;
+ FTempMPointer.MenuName := #1 + 'G' + FActionMainMenuBar.ActionClient.Items[StrToInt(Temp)].Caption;
+ TempNode := TreeMenu.Items.AddObject(nil, StringReplace(FActionMainMenuBar.ActionClient.Items[StrToInt(Temp)].Caption, '&', '', [rfReplaceAll]), FTempMPointer);
+ TrataItem(FActionMainMenuBar.ActionClient.Items[StrToInt(Temp)], TempNode);
+ end
+ else
+ begin
+ New(FTempMPointer);
+ SetLength(FListaMenu, Length(FListaMenu) + 1); //Adicionado por Luiz 18/01/06
+ FListaMenu[High(FListaMenu)] := FTempMPointer; //Adicionado por Luiz 18/01/06
+ FTempMPointer.Selecionado := 0;
+ FTempMPointer.MenuName := FActionMainMenuBar.ActionClient.Items[StrToInt(Temp)].Action.Name;
+ TreeMenu.Items.AddObject(nil, StringReplace(FActionMainMenuBar.ActionClient.Items[StrToInt(Temp)].Action.Name, '&', '', [rfReplaceAll]), FTempMPointer);
+ end;
+ TreeMenu.FullExpand;
+ TreeMenu.Perform(WM_VSCROLL, SB_TOP, 0);
+ end;
+ end;
+ {$ENDIF}
+
+(*if (Assigned(TUserControl(Owner).ControlRight.ActionList))
+ {$IFDEF UCACTMANAGER} or (Assigned(TUserControl(Owner).ControlRight.ActionManager))
+ {$ENDIF} then*)
+
+ TempNode := nil;
+ if Assigned(FActions) then
+ begin
+ TreeAction.Items.Clear;
+ if Assigned(FTempLista) then
+ FreeAndNil(FTempLista);
+ FTempLista := TStringList.Create;
+ for Contador := 0 to TActionList(FActions).ActionCount - 1 do
+ FTempLista.Append(TActionList(FActions).Actions[contador].Category + #1 + TActionList(FActions).Actions[contador].Name + #2 + TAction(TActionList(FActions).Actions[contador]).Caption);
+ FTempLista.Sort;
+ Temp := #1;
+ for Contador := 0 to FTempLista.Count - 1 do
+ begin
+ if Temp <> Copy(FTempLista[Contador], 1, Pos(#1, FTempLista[Contador]) - 1) then
+ begin
+ New(FTempAPointer);
+ SetLength(FListaAction, Length(FListaAction) + 1); //Adicionado por Luiz 18/01/06
+ FListaAction[High(FListaAction)] := FTempAPointer; //Adicionado por Luiz 18/01/06
+ FTempAPointer.Grupo := True;
+ FTempAPointer.Selecionado := 0;
+ FTempAPointer.MenuName := 'Grupo';
+ TempNode := TreeAction.Items.AddObject(nil, StringReplace(Copy(FTempLista[Contador], 1, Pos(#1, FTempLista[Contador]) - 1), '&', '', [rfReplaceAll]), FTempAPointer);
+ TempNode.ImageIndex := 2;
+ TempNode.SelectedIndex := 2;
+ Temp := Copy(FTempLista[Contador], 1, Pos(#1, FTempLista[Contador]) - 1);
+ end;
+ Temp2 := FTempLista[Contador];
+ Delete(Temp2, 1, pos(#1, Temp2));
+ New(FTempAPointer);
+ SetLength(FListaAction, Length(FListaAction) + 1); //Adicionado por Luiz 18/01/06
+ FListaAction[High(FListaAction)] := FTempAPointer; //Adicionado por Luiz 18/01/06
+ FTempAPointer.Grupo := False;
+ FTempAPointer.Selecionado := 0;
+ FTempAPointer.MenuName := Copy(Temp2, 1, Pos(#2, Temp2) - 1);
+ Delete(Temp2, 1, pos(#2, Temp2));
+ TreeAction.Items.AddChildObject(TempNode, StringReplace(Temp2, '&', '', [rfReplaceAll]), FTempAPointer);
+ end;
+ TreeAction.FullExpand;
+ TreeAction.Perform(WM_VSCROLL, SB_TOP, 0);
+ end;
+
+ //ExtraRights
+ TempNode := nil;
+ if Self.FExtraRights.Count > 0 then
+ begin
+ TreeControls.Items.Clear;
+ if Assigned(FTempLista) then
+ FreeAndNil(FTempLista);
+ FTempLista := TStringList.Create;
+ for Contador := 0 to Pred(FExtraRights.Count) do
+ FTempLista.Append(FExtraRights[Contador].GroupName + #1 + FExtraRights[Contador].Caption + #2 + FExtraRights[Contador].FormName + #3 + FExtraRights[Contador].CompName);
+ FTempLista.Sort;
+ Temp := #1;
+ for Contador := 0 to Pred(FTempLista.Count) do
+ begin
+ if Temp <> Copy(FTempLista[Contador], 1, Pos(#1, FTempLista[Contador]) - 1) then
+ begin
+ New(FTempCPointer);
+ SetLength(FListaControl, Length(FListaControl) + 1); //Adicionado por Luiz 18/01/06
+ FListaControl[High(FListaControl)] := FTempCPointer; //Adicionado por Luiz 18/01/06
+ FTempCPointer.Grupo := True;
+ FTempCPointer.Selecionado := 0;
+ FTempCPointer.FormName := 'Grupo';
+ FTempCPointer.CompName := 'Grupo';
+ TempNode := TreeControls.Items.AddObject(nil, Copy(FTempLista[Contador], 1, Pos(#1, FTempLista[Contador]) - 1), FTempCPointer);
+ TempNode.ImageIndex := 2;
+ TempNode.SelectedIndex := 2;
+ Temp := Copy(FTempLista[Contador], 1, Pos(#1, FTempLista[Contador]) - 1);
+ end;
+ Temp2 := FTempLista[Contador];
+ Delete(Temp2, 1, pos(#1, Temp2));
+ New(FTempCPointer);
+ SetLength(FListaControl, Length(FListaControl) + 1); //Adicionado por Luiz 18/01/06
+ FListaControl[High(FListaControl)] := FTempCPointer; //Adicionado por Luiz 18/01/06
+ FTempCPointer.Grupo := False;
+ FTempCPointer.Selecionado := 0;
+ Desc := Copy(Temp2, 1, Pos(#2, Temp2) - 1); // descricao do objeto
+ Delete(Temp2, 1, pos(#2, Temp2));
+
+ FTempCPointer.FormName := Copy(Temp2, 1, Pos(#3, Temp2) - 1);
+ Delete(Temp2, 1, pos(#3, Temp2));
+ FTempCPointer.CompName := Temp2;
+ TreeControls.Items.AddChildObject(TempNode, Desc, FTempCPointer);
+ FTempCPointer := nil;
+ end;
+ TreeControls.FullExpand;
+ TreeControls.Perform(WM_VSCROLL, SB_TOP, 0);
+ end;
+
+ PageMenu.TabVisible := Assigned(FMenu);
+
+ PageAction.TabVisible := Assigned(FActions);
+
+ PageControls.TabVisible := (Assigned(FExtraRights) and (FExtraRights.Count > 0));
+end;
+
+procedure TUserPermis.UnCheckChild(node: TTreeNode);
+var
+ child: TTreeNode;
+begin
+ PTreemenu(node.Data).Selecionado := 0;
+ node.ImageIndex := 0;
+ node.SelectedIndex := 0;
+ child := node.GetFirstChild;
+ repeat
+ if child.HasChildren then
+ UnCheckChild(child)
+ else
+ begin
+ PTreemenu(child.Data).Selecionado := 0;
+ child.ImageIndex := 0;
+ child.SelectedIndex := 0;
+ end;
+ child := node.GetNextChild(child);
+ until child = nil;
+end;
+
+procedure TUserPermis.TreeMenuItem(Marca: Boolean);
+var
+ AbsIdx: Integer;
+begin
+ if Marca then
+ if PTreemenu(TreeMenu.Selected.Data).Selecionado < 2 then
+ begin
+ if PTreemenu(TreeMenu.Selected.Data).Selecionado = 0 then //marcar
+ begin
+ AbsIdx := TreeMenu.Selected.AbsoluteIndex;
+ while AbsIdx > -1 do
+ begin
+ PTreemenu(TreeMenu.Items.Item[AbsIdx].Data).Selecionado := 1;
+ TreeMenu.Items.Item[AbsIdx].ImageIndex := 1;
+ TreeMenu.Items.Item[AbsIdx].SelectedIndex := 1;
+ if TreeMenu.Items.Item[AbsIdx].Parent <> nil then
+ begin
+ AbsIdx := TreeMenu.Items.Item[AbsIdx].Parent.AbsoluteIndex;
+ if PTreemenu(TreeMenu.Items.Item[AbsIdx].Data).Selecionado = 2 then
+ AbsIdx := -1;
+ end
+ else
+ AbsIdx := -1;
+ end;
+ end
+ else
+ if TreeMenu.Selected.HasChildren then
+ UnCheckChild(TreeMenu.Selected)
+ else
+ begin
+ PTreemenu(TreeMenu.Selected.Data).Selecionado := 0;
+ TreeMenu.Selected.ImageIndex := 0;
+ TreeMenu.Selected.SelectedIndex := 0;
+ end; //desmarcar
+ TreeMenu.Repaint;
+ end;
+end;
+
+procedure TUserPermis.TreeActionItem(marca: Boolean);
+begin
+ if not Assigned(FActions) then
+ Exit;
+ if PTreeAction(TreeAction.Selected.Data).Grupo then
+ Exit;
+ if Marca then
+ begin
+ if PTreeAction(TreeAction.Selected.Data).Selecionado < 2 then
+ if PTreeAction(TreeAction.Selected.Data).Selecionado = 0 then
+ PTreeAction(TreeAction.Selected.Data).Selecionado := 1
+ else
+ PTreeAction(TreeAction.Selected.Data).Selecionado := 0;
+ TreeAction.Selected.ImageIndex := PTreeAction(TreeAction.Selected.Data).Selecionado;
+ TreeAction.Selected.SelectedIndex := PTreeAction(TreeAction.Selected.Data).Selecionado;
+ end;
+ TreeAction.Repaint;
+end;
+
+procedure TUserPermis.TreeControlItem(marca: Boolean);
+begin
+ if PTreeControl(TreeControls.Selected.Data).Grupo then
+ Exit;
+ if Marca then
+ begin
+ if PTreeControl(TreeControls.Selected.Data).Selecionado < 2 then
+ if PTreeControl(TreeControls.Selected.Data).Selecionado = 0 then
+ PTreeControl(TreeControls.Selected.Data).Selecionado := 1
+ else
+ PTreeControl(TreeControls.Selected.Data).Selecionado := 0;
+ TreeControls.Selected.ImageIndex := PTreeControl(TreeControls.Selected.Data).Selecionado;
+ TreeControls.Selected.SelectedIndex := PTreeAction(TreeControls.Selected.Data).Selecionado;
+ end;
+ TreeControls.Repaint;
+end;
+
+procedure TUserPermis.TreeMenuClick(Sender: TObject);
+begin
+ if not FChangingTree then
+ TreeMenuItem(True);
+end;
+
+procedure TUserPermis.BtCancelClick(Sender: TObject);
+begin
+ Close;
+end;
+
+procedure TUserPermis.BtLiberaClick(Sender: TObject);
+begin
+ Atualiza(True);
+end;
+
+procedure TUserPermis.Atualiza(Selec: Boolean);
+var
+ Contador: Integer;
+ Temp: Integer;
+begin
+ if Selec then
+ Temp := 1
+ else
+ Temp := 0;
+
+ if PC.ActivePage = PageMenu then
+ begin
+ for Contador := 0 to TreeMenu.Items.Count - 1 do
+ if PTreeMenu(TreeMenu.Items[Contador].Data).Selecionado < 2 then
+ begin
+ PTreeMenu(TreeMenu.Items[Contador].Data).Selecionado := Temp;
+ TreeMenu.Items[Contador].ImageIndex := Temp;
+ TreeMenu.Items[Contador].SelectedIndex := Temp;
+ end;
+ TreeMenu.Repaint;
+ end
+ else
+ if PC.ActivePage = PageAction then
+ begin
+ for Contador := 0 to TreeAction.Items.Count - 1 do
+ if not PTreeAction(TreeAction.Items[Contador].Data).Grupo then
+ if PTreeAction(TreeAction.Items[Contador].Data).Selecionado < 2 then
+ begin
+ PTreeAction(TreeAction.Items[Contador].Data).Selecionado := Temp;
+ TreeAction.Items[Contador].ImageIndex := Temp;
+ TreeAction.Items[Contador].SelectedIndex := Temp;
+ end;
+ TreeAction.Repaint;
+ end
+ else
+ begin // tabContols
+ for Contador := 0 to TreeControls.Items.Count - 1 do
+ if not PTreeControl(TreeControls.Items[Contador].Data).Grupo then
+ if PTreeControl(TreeControls.Items[Contador].Data).Selecionado < 2 then
+ begin
+ PTreeControl(TreeControls.Items[Contador].Data).Selecionado := Temp;
+ TreeControls.Items[Contador].ImageIndex := Temp;
+ TreeControls.Items[Contador].SelectedIndex := Temp;
+ end;
+ TreeControls.Repaint;
+ end;
+end;
+
+
+procedure TUserPermis.BtBloqueiaClick(Sender: TObject);
+begin
+ Atualiza(False);
+end;
+
+procedure TUserPermis.FormShow(Sender: TObject);
+var
+ Contador: Integer;
+ Selec: Integer;
+begin
+ // Adcionado por Luiz
+ SetLength(FListaAction, 0);
+ SetLength(FListaMenu, 0);
+ SetLength(FListaControl, 0);
+
+ //carrega itens do menu, actions e controles
+ CarregaTreeviews;
+
+ // Exibe Permissoes do Usuario
+ for Contador := 0 to TreeAction.Items.Count - 1 do
+ begin
+ DSPermiss.First;
+ if DSPermiss.Locate('ObjName', PTreeAction(TreeAction.Items[Contador].Data).MenuName, []) then
+ Selec := 1
+ else
+ Selec := 0;
+
+ PTreeAction(TreeAction.Items[Contador].Data).Selecionado := Selec;
+ if not PTreeAction(TreeAction.Items[Contador].Data).Grupo then
+ begin
+ TreeAction.Items[Contador].ImageIndex := Selec;
+ TreeAction.Items[Contador].SelectedIndex := Selec;
+ end;
+ end;
+
+ for Contador := 0 to TreeMenu.Items.Count - 1 do
+ begin
+ DSPermiss.First;
+ if DSPermiss.Locate('ObjName', PTreeMenu(TreeMenu.Items[Contador].Data).MenuName, []) then
+ Selec := 1
+ else
+ Selec := 0;
+
+ PTreeMenu(TreeMenu.Items[Contador].Data).Selecionado := Selec;
+ TreeMenu.Items[Contador].ImageIndex := Selec;
+ TreeMenu.Items[Contador].SelectedIndex := Selec;
+ end;
+
+ //Extra Rights
+ for Contador := 0 to Pred(TreeControls.Items.Count) do
+ begin
+ DSPermissEX.First;
+ if DSPermissEX.Locate('FormName;ObjName', VarArrayOf([PTreeControl(TreeControls.Items[Contador].Data).FormName, PTreeControl(TreeControls.Items[Contador].Data).CompName]), []) then
+ Selec := 1
+ else
+ Selec := 0;
+
+ PTreeControl(TreeControls.Items[Contador].Data).Selecionado := Selec;
+ if not PTreeControl(TreeControls.Items[Contador].Data).Grupo then
+ begin
+ TreeControls.Items[Contador].ImageIndex := Selec;
+ TreeControls.Items[Contador].SelectedIndex := Selec;
+ end;
+ end;
+
+ // Exibe Permissoes do Perfil
+ if DSPerfil.Active then
+ begin
+ for Contador := 0 to TreeAction.Items.Count - 1 do
+ begin
+ DSPerfil.First;
+ if DSPerfil.Locate('ObjName', PTreeAction(TreeAction.Items[Contador].Data).MenuName, []) then
+ begin
+ Selec := 2;
+ PTreeAction(TreeAction.Items[Contador].Data).Selecionado := Selec;
+ if not PTreeAction(TreeAction.Items[Contador].Data).Grupo then
+ begin
+ TreeAction.Items[Contador].ImageIndex := Selec;
+ TreeAction.Items[Contador].SelectedIndex := Selec;
+ end;
+ end;
+ end;
+
+ for Contador := 0 to TreeMenu.Items.Count - 1 do
+ begin
+ DSPerfil.First;
+ if DSPerfil.Locate('ObjName', PTreeMenu(TreeMenu.Items[Contador].Data).MenuName, []) then
+ begin
+ Selec := 2;
+ PTreeMenu(TreeMenu.Items[Contador].Data).Selecionado := Selec;
+ TreeMenu.Items[Contador].ImageIndex := Selec;
+ TreeMenu.Items[Contador].SelectedIndex := Selec;
+ end;
+ end;
+
+ //Extra Rights
+ for Contador := 0 to Pred(TreeControls.Items.Count) do
+ begin
+ DSPerfilEX.First;
+ if DSPerfilEX.Locate('FormName;ObjName', VarArrayOf([PTreeControl(TreeControls.Items[Contador].Data).FormName, PTreeControl(TreeControls.Items[Contador].Data).CompName]), []) then
+ begin
+ Selec := 2;
+ PTreeControl(TreeControls.Items[Contador].Data).Selecionado := Selec;
+ if not PTreeControl(TreeControls.Items[Contador].Data).Grupo then
+ begin
+ TreeControls.Items[Contador].ImageIndex := Selec;
+ TreeControls.Items[Contador].SelectedIndex := Selec;
+ end;
+ end;
+ end;
+ end;
+
+ TreeAction.Repaint;
+ TreeMenu.Repaint;
+ FChangingTree := False;
+end;
+
+procedure TUserPermis.TreeActionClick(Sender: TObject);
+begin
+ if not FChangingTree then
+ TreeActionItem(True);
+end;
+
+procedure TUserPermis.TreeControlsClick(Sender: TObject);
+begin
+ if not FChangingTree then
+ TreeControlItem(True);
+end;
+
+procedure TUserPermis.TreeMenuCollapsing(Sender: TObject; Node: TTreeNode; var AllowCollapse: Boolean);
+begin
+ if (Self.Showing) and (TTreeView(Sender).Focused) then
+ FChangingTree := True;
+end;
+
+procedure TUserPermis.TreeMenuKeyPress(Sender: TObject; var Key: char);
+begin
+ if Key = ' ' then
+ begin
+ TTreeView(Sender).OnClick(Sender);
+ Key := #0;
+ end;
+end;
+
+procedure TUserPermis.TreeMenuMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
+begin
+ FChangingTree := False;
+end;
+
+procedure TUserPermis.FormDestroy(Sender: TObject);
+var
+ Contador: Integer;
+begin
+ // Adicionado por Luiz 18/01/06
+ if Assigned(DSPermiss) then
+ FreeAndNil(DSPermiss);
+
+ if Assigned(DSPermissEX) then
+ FreeAndNil(DSPermissEX);
+
+ if Assigned(DSPerfil) then
+ FreeAndNil(DSPerfil);
+
+ if Assigned(DSPerfilEX) then
+ FreeAndNil(DSPerfilEX);
+
+ if Assigned(FTempLista) then
+ FreeAndNil(FTempLista);
+
+ for Contador := 0 to High(FListaMenu) do
+ Dispose(FListaMenu[Contador]);
+
+ for Contador := 0 to High(FListaAction) do
+ Dispose(FListaAction[Contador]);
+
+ for Contador := 0 to High(FListaControl) do
+ Dispose(FListaControl[Contador]);
+end;
+
+end.
+
diff --git a/official/2.20/Source/UsersLogged_U.dfm b/official/2.20/Source/UsersLogged_U.dfm
new file mode 100644
index 0000000..d7e1efe
--- /dev/null
+++ b/official/2.20/Source/UsersLogged_U.dfm
@@ -0,0 +1,263 @@
+object frmUsersLogged: TfrmUsersLogged
+ Left = 238
+ Top = 239
+ BorderStyle = bsDialog
+ Caption = 'Usu'#225'rios logados no Sistema'
+ ClientHeight = 311
+ ClientWidth = 586
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ OldCreateOrder = False
+ Position = poDesktopCenter
+ OnClose = FormClose
+ OnCreate = FormCreate
+ OnDestroy = FormDestroy
+ OnShow = FormShow
+ PixelsPerInch = 96
+ TextHeight = 13
+ object DBGrid: TDBGrid
+ Left = 0
+ Top = 35
+ Width = 586
+ Height = 242
+ Align = alClient
+ DataSource = dsDados
+ Options = [dgTitles, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgRowSelect, dgAlwaysShowSelection, dgConfirmDelete, dgCancelOnExit]
+ ReadOnly = True
+ TabOrder = 0
+ TitleFont.Charset = DEFAULT_CHARSET
+ TitleFont.Color = clWindowText
+ TitleFont.Height = -11
+ TitleFont.Name = 'MS Sans Serif'
+ TitleFont.Style = []
+ Columns = <
+ item
+ Expanded = False
+ FieldName = 'UserName'
+ Title.Alignment = taCenter
+ Title.Caption = 'Nome'
+ Width = 159
+ Visible = True
+ end
+ item
+ Expanded = False
+ FieldName = 'Login'
+ Title.Alignment = taCenter
+ Width = 123
+ Visible = True
+ end
+ item
+ Expanded = False
+ FieldName = 'MACHINENAME'
+ Title.Alignment = taCenter
+ Title.Caption = 'Computador'
+ Width = 150
+ Visible = True
+ end
+ item
+ Expanded = False
+ FieldName = 'DATA'
+ Title.Alignment = taCenter
+ Title.Caption = 'Data'
+ Width = 130
+ Visible = True
+ end>
+ end
+ object Panel1: TPanel
+ Left = 0
+ Top = 0
+ Width = 586
+ Height = 35
+ Align = alTop
+ BevelOuter = bvNone
+ Color = clWhite
+ TabOrder = 1
+ object lbDescricao: TLabel
+ Left = 46
+ Top = 12
+ Width = 149
+ Height = 18
+ Margins.Bottom = 0
+ Caption = 'Usu'#225'rios logados'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -16
+ Font.Name = 'Verdana'
+ Font.Style = [fsBold]
+ ParentFont = False
+ end
+ object Image2: TImage
+ Left = 7
+ Top = 4
+ Width = 28
+ Height = 28
+ AutoSize = True
+ Picture.Data = {
+ 07544269746D617066090000424D660900000000000036000000280000001C00
+ 00001C000000010018000000000030090000C40E0000C40E0000000000000000
+ 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7F7EFEFEFE7E7E7E7E7E7
+ DEDEDEDEDEDEE7E7E7E7E7E7EFEFEFEFEFEFF7F7F7F7F7F7FFFFFFFFFFFFFFFF
+ FFFFFFFFEFF7FF84C6E7E7F7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7F7C6
+ C6C68C9C946B8C735A845A527B4A4A7B4A4A7B4A4A7B424A7B4A4A7B4A4A7B4A
+ 527B52527B525A7B5A637B6B7B8C7BA5A5A5D6D6D6FFFFFF9CD6EF7BE7F77BB5
+ D6E7EFEFF7F7F7FFFFFFFFFFFFF7F7F77394734A73394A7B314A84314A8C314A
+ 8C31429431429429429429429C294294294294314294314A8C314A8C3163BDDE
+ B5CEDE4A8C31527B31E7E7E77BB5CE52CEE7317BAD7B737B847373ADADADFFFF
+ FF94B5945A7339527B314A84314A8C31429431429429429C29399C2939A52939
+ A52939A529399C29429C294294319CD6EF7BEFF7398CBD8C8C9494737B946363
+ 73637321A5D6297BAD845A63945252846B6BFFFFFF6B8C5A527B315284314A8C
+ 31429431429C29399C2939A52939AD2931AD2931AD2939AD2939A52939A52942
+ 9C2994B5C642BDE71884BD846B7BBD6B6BB56B63AD636B42ADD6318CBD8C5A63
+ 9C5A5A735252FFFFFF5A8452527B314A84314A8C31429429399C2939A52931AD
+ 2931B52931B52931B52931B52931AD2939AD2939AD29B573734294C6299CCE84
+ 6B84C66B6BBD6B6BB56B6B6384A55284A5A56363A55A5A845252FFFFFF739C6B
+ 527B314A8C31429431429C2939A52931AD2931B52929BD2129BD2129BD2129BD
+ 2131B52131AD29CE9C9CDE7B7B7B8CA542ADD6947384CE7373C66B6BBD6B6BB5
+ 6363A55A5AA56363AD7373947373FFFFFFA5C6A55284314A8C31429431399C29
+ 39A52931AD2931BD2129BD2131B53129BD2929C62129BD2131B529CEADADE77B
+ 7BD67B7B947B8CBD7373BD7373B57373B58484C6A5A5DEB5B5DEBDBDDEBDBD9C
+ 8484FFFFFFF7FFF75A944A4A8C31429431399C2939AD2931B52929BD214AA54A
+ DEE7DEDEEFDE42BD4229C62131B52139AD29B57B7BCEA5A5D6BDBDDEC6C6E7CE
+ CEE7C6C6DEB5B5DEA5A5DEB5B5E7C6C6D6ADADB59C9CFFFFFFFFFFFFD6E7D64A
+ 8C39429431399C2939AD2931B52929AD29A5B5A5E7E7E7EFEFEFCEDED631B531
+ 31B52131AD29C69C9CF7EFEFF7DEDEE7B5B5E7B5B5E7BDBDEFCECEEFD6D6E7CE
+ CEE7C6C6B58C8CE7E7E7FFFFFFFFFFFFFFFFFFD6E7D64A9C42429C2939A52931
+ AD29528C529C9C9C7B8C946B7B8C737B845A7B5A299C2139AD2939AD29C6A5A5
+ E7D6D6F7E7E7EFDEDEE7B5B5DEADADE7B5B5D6BDBDBD9494E7DEDEFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFEFF7EF7BB57B399C293194314A7B944A94C64A9CCE4A
+ 94CE4294CE427BA5215231297B214A9C42F7EFEFDEC6C6C6ADADC6A5A5CEA5A5
+ BD9C9CA584848C7B7BE7E7E7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFBDD6C64A94AD52A5D652A5D6529CD64A9CD64A9CD64A94CE428CBD42
+ 6363C6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFADB5B5A5A5A5737373DEDEDE
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7F773ADD652A5DE52A5
+ DE52A5DE52A5DE52A5D652A5D64A9CD64A9CD6428CC6737B84E7E7E7FFFFFFFF
+ FFFFD6D6D6ADADAD8C9494B5B5B58C9494EFEFEFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFA5C6DE5AA5DE5AADDE5AADDE5AADDE5AA5DE5AA5DE52A5
+ DE52A5D6529CD64A9CD64A7BA5ADADADFFFFFFC6CECE9C9C9CBDBDBDB5B5B5B5
+ B5B5EFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFF75AA5D6
+ 5AADDE5AADE75AADE75AADE75AADDE5AADDE5AA5DE52A5DE52A5D6529CD64A94
+ CE73848CF7F7F7F7F7F7ADB5B5C6C6C6EFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFADCEE763ADE763ADE763B5E763B5E763B5E7
+ 63ADE75AADE75AADDE5AA5DE52A5DE52A5D64A9CD65A7B94DEDEDEFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFF7BB5DE63B5E763B5E763B5E76BB5E763B5E763B5E763B5E763ADE75AADDE
+ 5AA5DE52A5DE529CD64A84ADC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63ADDE63B5E76BB5EF6B
+ B5EF6BBDEF6BB5EF6BB5EF63B5E763ADE75AADE75AADDE52A5DE52A5D64A8CBD
+ BDBDBDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFEFF7F763ADDE5294BD528CB55A9CCE6BB5E76BBDEF6BBDEF6B
+ B5E763B5E763ADE75AADDE5AA5DE52A5D64A94C6BDBDBDFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7FF4A8C
+ BD4284AD4284AD397B9C39738C4A7BA563A5D66BB5E763B5E763ADE75AADDE5A
+ A5DE52A5D64A8CB5C6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5294BD4A94C64A94C65294C64A94
+ C64A8CB53973944273945A9CCE63ADE75AADDE4A8CBD39739C39637BD6D6D6FF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF84B5CE529CCE5AA5CE5AA5CE529CCE529CCE4A94C6428CB5396B
+ 8C427B9C4284B5397BAD3984AD5A7B8CEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6DEE75AA5D6
+ 63ADDE63ADDE5AADD65AA5D6529CCE4A94C6428CBD397BA5397BAD3984AD397B
+ A5A5ADADFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7BB5D66BB5E76BB5E763B5DE63ADDE
+ 5AA5D6529CC64A94BD428CB53984AD3984AD63849CEFEFEFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFDEEFF773BDE773BDEF6BBDEF63B5DE5AA5D6529CCE4A94C6428CB5
+ 3984AD5284A5DEDEDEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDEE7F77B
+ BDEF73BDEF6BB5E763ADD65AA5CE4A94C6428CB56B94B5DEDEE7FFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFB5D6E784BDDE73ADCE73
+ A5C684ADCEC6D6DEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF}
+ end
+ end
+ object Panel3: TPanel
+ Left = 0
+ Top = 277
+ Width = 586
+ Height = 34
+ Align = alBottom
+ BevelOuter = bvNone
+ TabOrder = 2
+ DesignSize = (
+ 586
+ 34)
+ object BtExit: TBitBtn
+ Left = 484
+ Top = 6
+ Width = 95
+ Height = 25
+ Caption = '&Fechar'
+ TabOrder = 2
+ Kind = bkClose
+ end
+ object BitMsg: TBitBtn
+ Left = 287
+ Top = 6
+ Width = 95
+ Height = 25
+ Anchors = [akTop, akRight]
+ Caption = '&Mensagem'
+ TabOrder = 0
+ OnClick = BitMsgClick
+ Glyph.Data = {
+ 42020000424D4202000000000000420000002800000010000000100000000100
+ 1000030000000002000000000000000000000000000000000000007C0000E003
+ 00001F0000001F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7CD3001F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7CD300D300
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C9A19D300D300D3003B32
+ D3001F7C1F7CD8520D190D190D190D190D190D1915369A19FE4ABF429D3E5C36
+ 3B32D3001F7CD8521A5F964A964A964A964A964A964A9A191F53DF46BF429D3E
+ 5C365B32D300D852964A3B5F3B5F3B5F3B5F3B5F3B5F9A191F531F53BF429D3E
+ 9D3ED3001F7CD8527C6B964A7D6B7D6B7D6B7D6B7D6B9A199A199A199A19DF46
+ D3001F7C1F7CD8529D739D73964ADF7BDF7BDF7BDF7BDF7BDF7BDF7B9A19D300
+ 964A1F7C1F7CD852DF7BDF7B964A964AFF7FFF7FFF7FFF7F1536964AD3007C6B
+ 0D191F7C1F7CD852FF7F964AB97F977F964A964A964A964A0D7FEA7E964A964A
+ 0D191F7C1F7CD852964ADB7FDB7FB97F977F757F537F517F2F7F0D7FEA7E1536
+ 0D191F7C1F7CD852DB7FDB7FDB7FDB7FB97F977F757F537F517F2F7F0D7FEA7E
+ 0D191F7C1F7C1F7CD852DB7FDB7FDB7FDB7FB97F977F757F537F517F2F7F4E21
+ 1F7C1F7C1F7C1F7C1F7CD856DB7FDB7FDB7FDB7FB97F977F757F537F0D191F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7CD852DB7FDB7FDB7FDB7FB97F977F0D191F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7C1F7CD852D852D852D852D852D8521F7C1F7C1F7C
+ 1F7C1F7C1F7C}
+ end
+ object BitRefresh: TBitBtn
+ Left = 386
+ Top = 6
+ Width = 95
+ Height = 25
+ Anchors = [akTop, akRight]
+ Caption = '&Atualizar'
+ TabOrder = 1
+ OnClick = BitRefreshClick
+ Glyph.Data = {
+ 42020000424D4202000000000000420000002800000010000000100000000100
+ 1000030000000002000000000000000000000000000000000000007C0000E003
+ 00001F0000001F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7CD9560D190D190D190D190D190D190D190D190D190D190D19
+ 0D190D191F7C1F7CD956964A964A964A964A964A964A964A964A964A964A964A
+ 964A0D191F7C1F7C8049FF7FDF7BBE77D9569D6F7D6F7C6B964A3B633B5F3B5F
+ 964A0D191F7C1F7CB05E8049FF7FDF7BD956BE739D6F7D6F964A5C673B633B5F
+ 964A0D191F7C1F7CD956B05E8049D956D956964A964A964A964A964A964A964A
+ 964A0D191F7C1F7CD956B05EDA7F8049D956DF7BBE77BE73964A7D6F7C6B5C67
+ 964A0D191F7C1F7CD956FF7FB05E527F8049FF7FDF7BBE77964A9D6F7D6F7C6B
+ 964A0D191F7C1F7CD956D956B05EDA7F207F8049D956D956964A964A964A964A
+ 964A0D191F7C8049804980498049FF7FDA7F207F8049FF7FD956DE77BE779D6F
+ 964A0D191F7C1F7CB05E207F207F207FFF7FDA7F207F8049D956DF7BDE77BE77
+ 964A0D191F7C1F7CB05EDA7FFF7FFF7F207F207F207F207F8049004C004C004C
+ 004C004C1F7C1F7CC07CB05EFF7FFF7F207F8049804980498049867E477E087E
+ E97D004C1F7C1F7CC07CB05EDA7FFF7F987F207F8049C07CC07CC07CC07CC07C
+ C07CC07C1F7C1F7C1F7C1F7CB05EFF7FFE7FB77F207F80491F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C1F7C1F7C1F7CB05EA04980498049804980491F7C1F7C1F7C1F7C
+ 1F7C1F7C1F7C}
+ end
+ end
+ object dsDados: TDataSource
+ Left = 132
+ Top = 144
+ end
+end
diff --git a/official/2.20/Source/UsersLogged_U.pas b/official/2.20/Source/UsersLogged_U.pas
new file mode 100644
index 0000000..94b3d8b
--- /dev/null
+++ b/official/2.20/Source/UsersLogged_U.pas
@@ -0,0 +1,124 @@
+unit UsersLogged_U;
+
+interface
+
+uses
+{$IFDEF DELPHI5}
+{$ELSE}
+ Variants,
+{$ENDIF}
+ Buttons,
+ Classes,
+ Controls,
+ DB,
+ DBGrids,
+ Dialogs,
+ ExtCtrls,
+ Forms,
+ Graphics,
+ Grids,
+ IncUser_U,
+ Menus,
+ Messages,
+ StdCtrls,
+ SysUtils,
+ UCBase,
+ Windows;
+
+type
+ TfrmUsersLogged = class(TForm)
+ dsDados: TDataSource;
+ DBGrid: TDBGrid;
+ Panel1: TPanel;
+ lbDescricao: TLabel;
+ Panel3: TPanel;
+ BtExit: TBitBtn;
+ BitMsg: TBitBtn;
+ BitRefresh: TBitBtn;
+ Image2: TImage;
+ procedure FormClose(Sender: TObject; var Action: TCloseAction);
+ procedure FormShow(Sender: TObject);
+ procedure BitRefreshClick(Sender: TObject);
+ procedure BitMsgClick(Sender: TObject);
+ procedure FormCreate(Sender: TObject);
+ procedure FormDestroy(Sender: TObject);
+ private
+ DSUserLogados: TDataset;
+ UCMes : TUCApplicationMessage; // Por Vicente Barros Leonel
+ public
+ FUserControl: TUserControl;
+ end;
+
+implementation
+
+{$R *.dfm}
+
+procedure TfrmUsersLogged.FormClose(Sender: TObject; var Action: TCloseAction);
+begin
+ Action := caFree;
+end;
+
+procedure TfrmUsersLogged.FormShow(Sender: TObject);
+var
+ SQLStmt: String;
+begin
+ with FUserControl do
+ begin
+ SQLStmt :=
+ 'SELECT U.' + TableUsers.FieldUserName + ' AS UserName,' +
+ ' U.' + TableUsers.FieldLogin + ' AS Login,' +
+ ' L.' + TableUsersLogged.FieldMachineName + ' AS MachineName,' +
+ ' L.' + TableUsersLogged.FieldData + ' AS DATA ' +
+ 'FROM ' + TableUsersLogged.TableName + ' L ' +
+ ' INNER JOIN ' + TableUsers.TableName + ' U ON U.' + TableUsers.FieldUserID + ' = L.' + TableUsersLogged.FieldUserID +
+ ' LEFT JOIN ' + TableUsers.TableName + ' P ON P.' + TableUsers.FieldUserID + ' = U.' + TableUsers.FieldProfile + ' ' +
+ 'WHERE L.' + TableUsersLogged.FieldApplicationID + ' = ' + QuotedStr(ApplicationID);
+
+ DSUserLogados := DataConnector.UCGetSQLDataset(SQLStmt);
+ end;
+ dsDados.Dataset := DSUserLogados;
+end;
+
+procedure TfrmUsersLogged.BitRefreshClick(Sender: TObject);
+begin
+ try
+ Screen.Cursor := crHourGlass;
+ dsDados.DataSet.Close;
+ dsDados.DataSet.Open;
+ finally
+ Screen.Cursor := crDefault;
+ end;
+end;
+
+procedure TfrmUsersLogged.BitMsgClick(Sender: TObject);
+var Msg : String;
+begin
+ //Vicente Barros Leonel
+ If Assigned( UcMes ) then
+ begin
+ If InputQuery('Mensagem','Digite sua mensagem',Msg) = true then
+ UcMes.SendAppMessage( dsDados.DataSet.FieldValues['id'],'Mensagem do Sistema',Msg);
+ End;
+end;
+
+procedure TfrmUsersLogged.FormCreate(Sender: TObject);
+Var I : Integer; Form : TForm; { Por Vicente Barros Leonel }
+begin
+ UCMes := nil;
+ Form := Application.MainForm;
+ For I := 0 to Form.ComponentCount - 1 do
+ Begin
+ If ( Form.Components[ I ] is TUCApplicationMessage ) then
+ UCMes := TUCApplicationMessage( Form.Components[ I ] );
+ end;
+
+ BitMsg.Visible := UCMES <> Nil;
+end;
+
+procedure TfrmUsersLogged.FormDestroy(Sender: TObject);
+begin { Por Vicente Barros Leonel }
+ UCMes := Nil;
+end;
+
+end.
+
diff --git a/official/2.20/Source/ViewLog_U.dfm b/official/2.20/Source/ViewLog_U.dfm
new file mode 100644
index 0000000..490d4c6
--- /dev/null
+++ b/official/2.20/Source/ViewLog_U.dfm
@@ -0,0 +1,894 @@
+object ViewLog: TViewLog
+ Left = 202
+ Top = 147
+ BorderStyle = bsDialog
+ Caption = 'Seguran'#231'a'
+ ClientHeight = 573
+ ClientWidth = 792
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ OldCreateOrder = False
+ Position = poDefault
+ OnClose = FormClose
+ OnCreate = FormCreate
+ OnShow = FormShow
+ PixelsPerInch = 96
+ TextHeight = 13
+ object Splitter1: TSplitter
+ Left = 177
+ Top = 35
+ Height = 538
+ Beveled = True
+ end
+ object Panel1: TPanel
+ Left = 0
+ Top = 0
+ Width = 792
+ Height = 35
+ Align = alTop
+ BevelOuter = bvNone
+ Color = clWhite
+ TabOrder = 0
+ object lbDescricao: TLabel
+ Left = 49
+ Top = 12
+ Width = 133
+ Height = 18
+ Caption = 'Log do Sistema'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -16
+ Font.Name = 'Verdana'
+ Font.Style = [fsBold]
+ ParentFont = False
+ end
+ object Image1: TImage
+ Left = 8
+ Top = 4
+ Width = 28
+ Height = 28
+ AutoSize = True
+ Picture.Data = {
+ 07544269746D6170760C0000424D760C00000000000036000000280000001C00
+ 00001C0000000100200000000000400C00000000000000000000000000000000
+ 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00E5E0DC00885D40006947310069473100885D
+ 4000E5E0DC00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E5E0DC006947
+ 3100B7A29300B7A29300B7A29300B7A2930069473100E5E0DC00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00E5E0DC0069473100B7A29300E4D7CF00E3D5CD00E1D3CB00E0D1
+ C800B7A2930069473100E5E0DC00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E5E0DC0069473100B7A29300E7DB
+ D400E5D9D200E4D7CF00E3D5CD00E1D3CB00E0D1C800B7A2930069473100E5E0
+ DC00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E5E0
+ DC0069473100B7A29300E9DFD900E8DDD700E7DBD4009830000098300000E3D5
+ CD00E1D3CB00E0D1C800B7A2930069473100E5E0DC00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00E5E0DC0069473100B7A29300EDE4DF00EBE2DD00EAE0
+ DA0098300000C8600000C860000098300000E3D5CD00E1D3CB00E0D1C800B7A2
+ 930069473100E5E0DC00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E5E0DC0069473100B7A2
+ 9300EFE8E300EEE6E100EDE4DF0098300000C8600000F57E4600F5794000C860
+ 000098300000E3D6CE00E1D3CB00E0D1C800B7A2930069473100E5E0DC00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00E5E0DC0069473100B7A29300F2ECE800F1EAE600EFE8E30097300000C35D
+ 0000E6825000E37B4A00E2774300E3733E00BE5B0000962F0000E3D6CE00E2D4
+ CC00E1D2C900B7A2930069473100E5E0DC00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00E5E0DC0069473100B7A29300F5F0ED00F3EE
+ EB00F2ECE80098300000C55E0000E0865A00BE6F4700AC613C00AA5C3700B25E
+ 3500CD683800C05C000098300000E3D6CE00E2D4CC00E1D2C900B7A293006947
+ 3100E5E0DC00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E5E0DC006947
+ 3100B7A29300F6F2EF00F6F2EF00F5F0ED0098300000C8600000F49C6E00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00CF6D3E00EE794100C86000009830
+ 0000E3D6CE00E2D4CC00E1D2C900B7A2930069473100E5E0DC00FFFFFF00FFFF
+ FF00FFFFFF00E5E0DC0069473100B7A29300F6F2EF00F9F7F500F8F5F3009830
+ 0000C8600000F8A77B00F7A17500EEA07800FFFFFF00FFFFFF00FFFFFF00AE6C
+ 4C00DE794800F3804800F57C4300C860000098300000E3D6CE00E2D4CC00E1D2
+ C900B7A2930069473100E5E0DC00FFFFFF00E5E0DC0069473100B7A29300F6F2
+ EF00FCFBFA00FBF9F80098300000C8600000F9B18700F9AC8100F8A77B00F09D
+ 7100FFFFFF00FFFFFF00FFFFFF00AA634000E3804F00F6865000F5814900F57C
+ 4300C860000098300000E3D6CE00E2D4CC00E1D2C900B7A2930069473100E5E0
+ DC00B7A29300D0BBAC00F6F2EF00FFFFFF00FDFDFD00A3370500C8600000FABA
+ 9300FAB58D00F9B18700F9AC8100F0A27700FFFFFF00FFFFFF00FFFFFF00AA66
+ 4400E4855600F68B5600F6865000F5814900F57C4300C860000098300000E3D6
+ CE00E2D4CC00E1D2C900B7A29300885D4000B7A29300F6F2EF00FFFFFF00FFFF
+ FF00C8600000F68B5600FBC39F00FBBF9900FABA9300FAB58D00F9B18700F1A7
+ 7D00FFFFFF00FFFFFF00FFFFFF00AA694800E4885B00F7905D00F68B5600F686
+ 5000F5814900F57C4300C860000098300000E4D7CF00E3D5CD00B7A293006947
+ 3100D0BBAC00FFFFFF00FFFFFF00FFFFFF00C8600000FBC39F00FBC39F00FBC3
+ 9F00FBC19C00FBBD9600F9B78F00EBA88200FFFFFF00FFFFFF00FFFFFF00AA6E
+ 4E00E48F6400F7976600F7926000F68D5900F6885300F6834D00C86000009830
+ 0000E5D9D200E4D7CF00B7A2930069473100D0BBAC00F6F2EF00FFFFFF00FFFF
+ FF00FFFFFF00C8600000FBC39F00FBC39F00FBC39F00FBC19C00F7BA9400E2A9
+ 8700FFFFFF00FFFFFF00FFFFFF00AD735400E6946A00F79B6C00F7976600F792
+ 6000F68D5900C860000098300000E8DDD700E7DBD400E5D9D200B7A29300885D
+ 4000ECE4DE00D0BBAC00F6F2EF00FFFFFF00FFFFFF00FFFFFF00C8600000FBC3
+ 9F00FBC39F00FBC39F00F8BF9A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C083
+ 6100E99B7100F8A07200F79B6C00F7976600C860000098300000EBE1DC00E9DF
+ D900E8DDD700B7A2930069473100E5E0DC00FFFFFF00ECE4DE00D0BBAC00F6F2
+ EF00FFFFFF00FFFFFF00FFFFFF00C8600000FBC39F00FBC39F00FAC29E00F7C2
+ 9F00F0C2A600ECCEBC00F8EFE900DA987300F1A57A00F8A57800F8A07200C860
+ 000098300000EDE5E000ECE3DE00EBE1DC00B7A2930069473100E5E0DC00FFFF
+ FF00FFFFFF00FFFFFF00ECE4DE00D0BBAC00F6F2EF00FFFFFF00FFFFFF00FFFF
+ FF00C8600000FBC39F00FBC39F00F8C19D00E5B08F00C4937500B8886A00D296
+ 7400F0A87F00F9AA7E00C860000098300000F1EAE600EFE8E300EEE6E100B7A2
+ 930069473100E5E0DC00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00ECE4
+ DE00D0BBAC00F6F2EF00FFFFFF00FFFFFF00FFFFFF00C8600000FBC39F00F5BE
+ 9B00EDD7C900FFFFFF00D0BFB400BD8B6D00ECA98200C860000098300000F3EE
+ EB00F2ECE800F1EAE600B7A2930069473100E5E0DC00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00ECE4DE00D0BBAC00F6F2EF00FFFF
+ FF00FFFFFF00FFFFFF00C8600000F6BF9C00FFFFFF00FFFFFF00FFFFFF00C796
+ 7700BF5B000098300000F6F2EF00F5F0ED00F3EEEB00B7A2930069473100E5E0
+ DC00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00ECE4DE00D0BBAC00F6F2EF00FFFFFF00FFFFFF00FFFFFF00C65F
+ 0000F8E0D000FFFFFF00EDD7C900B8580000952F0000F9F6F400F7F4F200F6F2
+ EF00B7A2930069473100E5E0DC00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00ECE4DE00D0BB
+ AC00F6F2EF00FFFFFF00FFFFFF00FFFFFF00C65F0000F6BF9C00F0885400962F
+ 0000FAF9F800FAF8F700F6F2EF00B7A2930069473100E5E0DC00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00ECE4DE00D0BBAC00F6F2EF00FFFFFF00FFFF
+ FF00FFFFFF00C8600000C8600000FFFFFF00FDFDFD00F6F2EF00B7A293006947
+ 3100E5E0DC00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00ECE4DE00D0BBAC00F6F2EF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00F6F2EF00B7A2930069473100E5E0DC00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00ECE4DE00E2C0B100F6F2
+ EF00FFFFFF00FFFFFF00FFFFFF00F6F2EF00B7A2930069473100E5E0DC00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00ECE4DE00D0BBAC00F6F2EF00FFFFFF00F6F2EF00D0BB
+ AC0069473100E5E0DC00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00ECE4
+ DE00D0BBAC00D0BBAC00B7A29300B7A29300E5E0DC00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00}
+ end
+ end
+ object Panel2: TPanel
+ Left = 0
+ Top = 35
+ Width = 177
+ Height = 538
+ Align = alLeft
+ BevelOuter = bvNone
+ TabOrder = 1
+ object lbUsuario: TLabel
+ Left = 16
+ Top = 24
+ Width = 42
+ Height = 13
+ Caption = 'Usu'#225'rio :'
+ end
+ object Bevel1: TBevel
+ Left = 8
+ Top = 72
+ Width = 161
+ Height = 2
+ Style = bsRaised
+ end
+ object lbData: TLabel
+ Left = 16
+ Top = 88
+ Width = 29
+ Height = 13
+ Caption = 'Data :'
+ end
+ object Bevel2: TBevel
+ Left = 8
+ Top = 176
+ Width = 161
+ Height = 2
+ Style = bsRaised
+ end
+ object lbNivel: TLabel
+ Left = 16
+ Top = 200
+ Width = 69
+ Height = 13
+ Caption = 'N'#237'vel m'#237'nimo :'
+ end
+ object Bevel3: TBevel
+ Left = 8
+ Top = 256
+ Width = 161
+ Height = 2
+ Style = bsRaised
+ end
+ object btfiltro: TBitBtn
+ Left = 38
+ Top = 272
+ Width = 101
+ Height = 31
+ Caption = 'Aplicar filtro'
+ Enabled = False
+ TabOrder = 4
+ OnClick = btfiltroClick
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFA68B7A694731FF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFA8A8A86C
+ 6C6CFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFA68B7AB09888694731FF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFA7A7A7B1
+ B1B16B6B6BFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFA68B7ADCCCC286624D694731FF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFA7A7A7DA
+ DADA8585856C6C6CFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFA68B7ADECFC686624D694731FF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFA7A7A7DC
+ DCDC8484846C6C6CFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFA68B7ADFD1C886624D694731FF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFA7A7A7DD
+ DDDD8585856B6B6BFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFA68B7AE1D3CB86624D694731FF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFA7A7A7DF
+ DFDF8585856B6B6BFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFA68B7AE2D6CE86624D694731FF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFA7A7A7E2
+ E2E28585856C6C6CFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFA68B7AE4D8D086624D694731FF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFA8A8A8E3
+ E3E38585856C6C6CFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFA68B7AFFFFFFDACABFBDA69686624D694731FF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFA7A7A7FFFFFFD8
+ D8D8BDBDBD8484846C6C6CFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ FF00FFFF00FFA68B7AFFFFFFF0F0F0E1D4CCD1BBADB4937E86624D694731FF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFA7A7A7FFFFFFF5F5F5E0
+ E0E0CDCDCDAEAEAE8585856C6C6CFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
+ FF00FFA68B7AFFFFFFF0F0F0ECE4E0E6DBD5DFD1C7CFB9AABE9F8A86624D6947
+ 31FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFA7A7A7FFFFFFF5F5F5ECECECE5
+ E5E5DEDEDECBCBCBB7B7B78585856B6B6BFF00FFFF00FFFF00FFFF00FFFF00FF
+ A68B7AFFFFFFF0F0F0F5F0EEF1EAE7ECE3DEE6DBD5DCCDC2CFB9AAB4937E8662
+ 4D694731FF00FFFF00FFFF00FFFF00FFA7A7A7FFFFFFF5F5F5F5F5F5F0F0F0EC
+ ECECE6E6E6DADADACBCBCBAEAEAE8585856B6B6BFF00FFFF00FFFF00FFA68B7A
+ FFFFFFF0F0F0F3EEEAF0E9E5EDE6E1E5D9D1E5D9D1E2D6CEDED0C6CFB9AABE9F
+ 8A86624D694731FF00FFFF00FFA7A7A7FFFFFFF5F5F5F3F3F3F0F0F0EDEDEDE4
+ E4E4E3E3E3E2E2E2DDDDDDCBCBCBB7B7B78585856C6C6CFF00FFFF00FFB39A89
+ B39A89B39A89B39A89B39A89B39A89B39A89B39A89B39A89B39A89B39A89B39A
+ 89B39A89B39A89FF00FFFF00FFB4B4B4B3B3B3B3B3B3B3B3B3B4B4B4B3B3B3B3
+ B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3FF00FFFF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF}
+ NumGlyphs = 2
+ end
+ object btfecha: TBitBtn
+ Left = 38
+ Top = 352
+ Width = 101
+ Height = 31
+ Caption = 'Fechar'
+ TabOrder = 5
+ OnClick = btfechaClick
+ Glyph.Data = {
+ 36060000424D3606000000000000360000002800000020000000100000000100
+ 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
+ FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFC066148E4019
+ 8E40198E40198E40198E40198E40198E40198E40198E40198E40198E40198E40
+ 198E40198E4019FF00FF8888886969696969696969696969696969696A6A6A69
+ 69696969696969696A6A6A6969696969696A6A6A696969FF00FFC06614F9F5F4
+ C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2
+ A5C3B2A58E4019FF00FF888888F8F8F8C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6
+ C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6696969FF00FFC06614FCFAFA
+ F9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCDFD0C7DFD0C7DCCB
+ C1C3B2A58E4019FF00FF888888FCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEAEAEAE7
+ E7E7E4E4E4E0E0E0DDDDDDDDDDDDD9D9D9C6C6C6696969FF00FFC06614FFFFFF
+ FCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCE2D4CCDFD0
+ C7C3B2A58E4019FF00FF888888FFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEA
+ EAEAE7E7E7E3E3E3E0E0E0E0E0E0DDDDDDC6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E5D9D1E2D4
+ CCC3B2A58E4019FF00FF888888FFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EE
+ EEEEEAEAEAE7E7E7E3E3E3E3E3E3E0E0E0C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E9DED7E5D9
+ D1C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1
+ F1F1EEEEEEEAEAEAE7E7E7E7E7E7E3E3E3C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F2EBE8EEE6E2ECE2DCECE2DCE9DE
+ D7C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFBFBFBF7
+ F7F7F1F1F1EEEEEEEAEAEAEAEAEAE7E7E7C6C6C6696969FF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF0E9E5F0E9E5EDE4
+ DFC3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFB
+ FBFBF7F7F7F3F3F3F0F0F0F0F0F0ECECECC6C6C66A6A6AFF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF4EEEBF0E9
+ E5C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE
+ FEFEFBFBFBF7F7F7F3F3F3F3F3F3F0F0F0C6C6C66A6A6AFF00FFC06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F78A9DE92546CD1D3F
+ C9193BC8183BC88194E1898989FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFEFEFEFAFAFAC6C6C6979797929292929292929292C0C0C0C06614FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFD3355DBF2F4FD4E6B
+ D94A67D8F2F4FD183BC8888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFEFEFEA1A1A1FAFAFAAAAAAAA8A8A8F9F9F9929292C066148E4019
+ 8E40198E40198E40198E40198E40198E40198E40198E40193C5CDD8296E4D9DF
+ F9CDD5F74C69D81A3CC88888886969696969696969696A6A6A69696969696969
+ 6969696969696969A5A5A5C1C1C1EDEDEDE7E7E7A8A8A8929292C06614ED9733
+ ED9733ED9733ED9733ED9733ED9733ED9733F6CA9AED97334563E16980E2E4E8
+ FBD8DEF9516DDA1F40C9888888ACACACACACACADADADADADADADADADACACACAD
+ ADADD5D5D5ADADADA8A8A8B6B6B6F2F2F2ECECECABABAB939393F810DCC06614
+ C06614C06614C06614C06614C06614C06614C06614C066144D6AE3F2F4FD667D
+ E26E85E2F2F4FD2749CEEF14EF88888888888888888888888889898988888888
+ 8888888888898989ACACACF9F9F9B5B5B5B9B9B9F9F9F9989898FF00FFFF00FF
+ FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF9AABEF4D6AE34563
+ E14463DF3E5EDE8FA2EBFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
+ 00FFFF00FFFF00FFCFCFCFACACACA8A8A8A8A8A8A6A6A6C9C9C9}
+ NumGlyphs = 2
+ end
+ object btexclui: TBitBtn
+ Left = 38
+ Top = 312
+ Width = 101
+ Height = 31
+ Caption = 'Excluir Log'
+ TabOrder = 6
+ OnClick = btexcluiClick
+ Glyph.Data = {
+ 36050000424D3605000000000000360400002800000010000000100000000100
+ 08000000000000010000220B0000220B000000010000000100000031DE000031
+ E7000031EF000031F700FF00FF000031FF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00040404040404
+ 0404040404040404000004000004040404040404040404000004040000000404
+ 0404040404040000040404000000000404040404040000040404040402000000
+ 0404040400000404040404040404000000040000000404040404040404040400
+ 0101010004040404040404040404040401010204040404040404040404040400
+ 0201020304040404040404040404030201040403030404040404040404050203
+ 0404040405030404040404040303050404040404040303040404040303030404
+ 0404040404040403040403030304040404040404040404040404030304040404
+ 0404040404040404040404040404040404040404040404040404}
+ end
+ object ComboUsuario: TComboBox
+ Left = 16
+ Top = 40
+ Width = 145
+ Height = 21
+ Style = csDropDownList
+ ItemHeight = 13
+ TabOrder = 0
+ OnChange = ComboUsuarioChange
+ end
+ object data1: TDateTimePicker
+ Left = 16
+ Top = 104
+ Width = 89
+ Height = 21
+ Date = 37615.000000000000000000
+ Time = 37615.000000000000000000
+ TabOrder = 1
+ OnChange = data1Change
+ end
+ object data2: TDateTimePicker
+ Left = 16
+ Top = 136
+ Width = 89
+ Height = 21
+ Date = 37615.000000000000000000
+ Time = 37615.000000000000000000
+ TabOrder = 2
+ OnChange = ComboUsuarioChange
+ end
+ object ComboNivel: TComboBox
+ Left = 16
+ Top = 216
+ Width = 145
+ Height = 24
+ Style = csOwnerDrawFixed
+ ItemHeight = 18
+ TabOrder = 3
+ OnChange = ComboUsuarioChange
+ OnDrawItem = ComboNivelDrawItem
+ Items.Strings = (
+ 'Faible'
+ 'Moyen'
+ 'Haut'
+ 'Critique')
+ end
+ end
+ object Panel3: TPanel
+ Left = 180
+ Top = 35
+ Width = 612
+ Height = 538
+ Align = alClient
+ BevelOuter = bvNone
+ TabOrder = 2
+ DesignSize = (
+ 612
+ 538)
+ object DBGrid1: TDBGrid
+ Left = 3
+ Top = 6
+ Width = 608
+ Height = 529
+ Anchors = [akLeft, akTop, akRight, akBottom]
+ Ctl3D = True
+ DataSource = DataSource1
+ DefaultDrawing = False
+ Options = [dgTitles, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgConfirmDelete, dgCancelOnExit]
+ ParentCtl3D = False
+ ReadOnly = True
+ TabOrder = 0
+ TitleFont.Charset = DEFAULT_CHARSET
+ TitleFont.Color = clWindowText
+ TitleFont.Height = -11
+ TitleFont.Name = 'MS Sans Serif'
+ TitleFont.Style = []
+ OnDrawColumnCell = DBGrid1DrawColumnCell
+ Columns = <
+ item
+ Expanded = False
+ Visible = True
+ end
+ item
+ Expanded = False
+ Visible = True
+ end
+ item
+ Expanded = False
+ Visible = True
+ end
+ item
+ Expanded = False
+ Visible = True
+ end
+ item
+ Expanded = False
+ Visible = True
+ end>
+ end
+ end
+ object DataSource1: TDataSource
+ Left = 440
+ end
+ object ImageList1: TImageList
+ Left = 136
+ Top = 153
+ Bitmap = {
+ 494C010104000900040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
+ 0000000000003600000028000000400000003000000001002000000000000030
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000DEDEDE00DEDEDE00DEDEDE00D6D6D600000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000E7C4B300E7C4B300E7C4B300D6B9AE00000000000000
+ 000000000000000000000000000000000000000000000000000000A4EB000088
+ C8000088C8000088C8000088C8000088C8000088C8000088C8000088C8000088
+ C8000088C8000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000DEDEDE00F1F1F100E0E0E000E0E0E000F1F1F100D6D6D6000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000E7C4B300F2E7E100CAD0D600CAD0D600F2E7E100D6B9AE000000
+ 000000000000000000000000000000000000000000002DBCFF0040D6F00015C1
+ E60015C1E60015C1E60013C0E2003471890011BFDE0015C1E60015C1E60015C1
+ E60015C1E60000A4EB00000000000000000000000000000000000000FF000000
+ FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000
+ FF000000FF000000FF0000000000000000000000000000000000000000000000
+ 0000DEDEDE00F1F1F100FEFEFE00B5B5B500ACACAC00D1D1D100F1F1F100D6D6
+ D600000000000000000000000000000000000000000000000000000000000000
+ 0000E7C4B300F2E7E100FEFEFE00D0805D00C4695200BFB9B900F2E7E100D6B9
+ AE00000000000000000000000000000000000000000078CCE80066E5F8002ECB
+ EC002DCAEB002CCAEB003471890031001000347189002BC8EA002BC8EA002BC8
+ EA0013B9DD002DBCFF000000000000000000000000000000FF000000FF000000
+ FF000000FF000000FF000000FF0000000000000000000000FF000000FF000000
+ FF000000FF000000FF000000FF0000000000000000000000000000000000DEDE
+ DE00F1F1F100FEFEFE00B5B5B500ACACAC00A8A8A800ACACAC00D1D1D100F1F1
+ F100D6D6D600000000000000000000000000000000000000000000000000E7C4
+ B300F2E7E100FEFEFE00D0805D00C46E5200BF694C00C4695200BFB9B900F2E7
+ E100D6B9AE0000000000000000000000000000000000000000002DBCFF0040D6
+ F00039CEEC0038CDEB002DC8E2003471890021C4DA0036CAEA0035CAEA0035CA
+ EA0000A4EB0000000000000000000000000000000000000000000000FF000000
+ FF000000FF000000FF000000FF0000000000000000000000FF000000FF000000
+ FF000000FF000000FF0000000000000000000000000000000000DEDEDE00F1F1
+ F100FEFEFE00B5B5B500ACACAC00F5F5F500F5F5F500EFEFEF00A8A8A800D1D1
+ D100F1F1F100D6D6D60000000000000000000000000000000000E7C4B300F2E7
+ E100FEFEFE00D0805D00C46E5200F8EDE700F8EDE700F8E1D600BF694C00BFB9
+ B900F2E7E100D6B9AE000000000000000000000000000000000078CCE80066E5
+ F8003ACEEC0039CEEC0038CDEB003471890037CBEA0036CAEA0036CAEA0013B9
+ DD002DBCFF0000000000000000000000000000000000000000000000FF000000
+ FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000
+ FF000000FF000000FF00000000000000000000000000DEDEDE00F1F1F100FEFE
+ FE00B5B5B500ACACAC00ACACAC00ACACAC00F5F5F500ACACAC00ACACAC00A8A8
+ A800D1D1D100F1F1F100D6D6D6000000000000000000E7C4B300F2E7E100FEFE
+ FE00D0805D00C46E5200C46E5200C46E5200F8EDE700C46E5200C46E5200BF69
+ 4C00BFB9B900F2E7E100D6B9AE00000000000000000000000000000000002DBC
+ FF0040D6F0003BCFED0017BACC003100100017BACC0037CAEA0036CAEA0000A4
+ EB00000000000000000000000000000000000000000000000000000000000000
+ FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000
+ FF000000FF0000000000000000000000000000000000E5E5E500FEFEFE00B5B5
+ B500B0B0B000ACACAC00ACACAC00ACACAC00F5F5F500ACACAC00ACACAC00ACAC
+ AC00A8A8A800D1D1D100D6D6D6000000000000000000EDD0C400FEFEFE00D080
+ 5D00CA7A5700C46E5200C46E5200C46E5200F8EDE700C46E5200C46E5200C46E
+ 5200BF694C00BFB9B900D6B9AE000000000000000000000000000000000078CC
+ E80066E5F8003CD0ED001796A700310010001796A70037CBEA0013B9DD002DBC
+ FF00000000000000000000000000000000000000000000000000000000000000
+ FF000000FF000000FF000000FF0000000000000000000000FF000000FF000000
+ FF000000FF0000000000000000000000000000000000E5E5E500FFFFFF00EBEB
+ EB00C4C4C400B0B0B000ACACAC00ACACAC00F5F5F500ACACAC00ACACAC00ACAC
+ AC00B5B5B500E0E0E000D6D6D6000000000000000000EDD0C400FFFFFF00F8E1
+ CA00E1A27400CA7A5700C46E5200C46E5200F8EDE700C46E5200C46E5200C46E
+ 5200D0805D00CAD0D600D6B9AE00000000000000000000000000000000000000
+ 00002DBCFF0040D6F0003471890031001000286F7D0038CCEB0000A4EB000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000FF000000FF000000FF0000000000000000000000FF000000FF000000
+ FF000000000000000000000000000000000000000000DEDEDE00F1F1F100FFFF
+ FF00EBEBEB00C4C4C400B0B0B000F5F5F500F5F5F500ACACAC00ACACAC00B5B5
+ B500F1F1F100F1F1F100D6D6D6000000000000000000E7C4B300F2E7E100FFFF
+ FF00F8E1CA00E1A27400CA7A5700F8EDE700F8EDE700C46E5200C46E5200D080
+ 5D00E7EDED00F2E7E100D6B9AE00000000000000000000000000000000000000
+ 000078CCE80066E5F80034718900310010003471890013B9DD002DBCFF000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000FF000000FF000000FF0000000000000000000000FF000000FF000000
+ FF00000000000000000000000000000000000000000000000000DEDEDE00F1F1
+ F100FFFFFF00EBEBEB00C4C4C400B0B0B000CDCDCD00ACACAC00B5B5B500FEFE
+ FE00F1F1F100DBDBDB0000000000000000000000000000000000E7C4B300F2E7
+ E100FFFFFF00F8E1CA00E1A27400CA7A5700E7AE8500C46E5200D0805D00FEFE
+ FE00F2E7E100E1C4B30000000000000000000000000000000000000000000000
+ 0000000000002DBCFF0030B3CA002B5768002396A70000A4EB00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000FF000000FF0000000000000000000000FF000000FF000000
+ 000000000000000000000000000000000000000000000000000000000000DEDE
+ DE00F1F1F100FFFFFF00EBEBEB00C4C4C400F5F5F500B5B5B500FEFEFE00F1F1
+ F100DBDBDB00000000000000000000000000000000000000000000000000E7C4
+ B300F2E7E100FFFFFF00F8E1CA00E1A27400F8EDE700D0805D00FEFEFE00F2E7
+ E100E1C4B3000000000000000000000000000000000000000000000000000000
+ 00000000000078CCE80066E5F8003ACFEC0013B9DD002DBCFF00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000FF000000FF0000000000000000000000FF000000FF000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000DEDEDE00F1F1F100FFFFFF00EBEBEB00B5B5B500FEFEFE00F1F1F100DBDB
+ DB00000000000000000000000000000000000000000000000000000000000000
+ 0000E7C4B300F2E7E100FFFFFF00F8E1CA00D0805D00FEFEFE00F2E7E100E1C4
+ B300000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000002DBCFF0066E5F80000A4EB0000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000FF000000FF000000FF000000FF00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000DEDEDE00F1F1F100FFFFFF00FEFEFE00F1F1F100DBDBDB000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000E7C4B300F2E7E100FFFFFF00FEFEFE00F2E7E100E1C4B3000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000078CCE8003DD2EE002DBCFF0000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000FF000000FF000000FF000000FF00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000DEDEDE00DEDEDE00DBDBDB00DBDBDB00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000E7C4B300E7C4B300E1C4B300E1C4B300000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000002DBCFF000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000FF000000FF0000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000424D3E000000000000003E000000
+ 2800000040000000300000000100010000000000800100000000000000000000
+ 000000000000000000000000FFFFFF0000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000FFFFFFFFFFFFFFFFFC3FFC3FC007FFFF
+ F81FF81F8003C003F00FF00F80038001E007E007C007C003C003C003C007C003
+ 80018001E00FE00780018001E00FE00780018001F01FF00F80018001F01FF00F
+ C003C003F83FF81FE007E007F83FF81FF00FF00FFC7FFC3FF81FF81FFC7FFC3F
+ FC3FFC3FFEFFFE7FFFFFFFFFFFFFFFFF00000000000000000000000000000000
+ 000000000000}
+ end
+end
diff --git a/official/2.20/Source/ViewLog_U.pas b/official/2.20/Source/ViewLog_U.pas
new file mode 100644
index 0000000..3dddd0b
--- /dev/null
+++ b/official/2.20/Source/ViewLog_U.pas
@@ -0,0 +1,272 @@
+unit ViewLog_U;
+
+interface
+
+{$I 'UserControl.inc'}
+
+uses
+{$IFDEF DELPHI5_UP}
+{$ELSE}
+ Variants,
+{$ENDIF}
+ Buttons,
+ Classes,
+ ComCtrls,
+ Controls,
+ DB,
+ DBGrids,
+ Dialogs,
+ ExtCtrls,
+ Forms,
+ Graphics,
+ Grids,
+ ImgList,
+ Messages,
+ StdCtrls,
+ SysUtils,
+ UCBase,
+// UCConsts,
+ Windows;
+
+type
+ TViewLog = class(TForm)
+ Panel1: TPanel;
+ lbDescricao: TLabel;
+ Image1: TImage;
+ Panel2: TPanel;
+ Splitter1: TSplitter;
+ Panel3: TPanel;
+ lbUsuario: TLabel;
+ ComboUsuario: TComboBox;
+ Bevel1: TBevel;
+ lbData: TLabel;
+ data1: TDateTimePicker;
+ data2: TDateTimePicker;
+ Bevel2: TBevel;
+ lbNivel: TLabel;
+ ComboNivel: TComboBox;
+ btfiltro: TBitBtn;
+ Bevel3: TBevel;
+ DataSource1: TDataSource;
+ DBGrid1: TDBGrid;
+ ImageList1: TImageList;
+ btfecha: TBitBtn;
+ btexclui: TBitBtn;
+ procedure FormCreate(Sender: TObject);
+ procedure ComboNivelDrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState);
+ procedure FormShow(Sender: TObject);
+ procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
+ procedure ComboUsuarioChange(Sender: TObject);
+ procedure btfechaClick(Sender: TObject);
+ procedure FormClose(Sender: TObject; var Action: TCloseAction);
+ procedure btexcluiClick(Sender: TObject);
+ procedure data1Change(Sender: TObject);
+ procedure btfiltroClick(Sender: TObject);
+ private
+ procedure AplicaFiltro;
+ public
+ ListIdUser: TStringList;
+ DSLog, DSCmd: TDataset;
+ UCComponent: TUserControl;
+ end;
+
+implementation
+
+uses
+ UCDataInfo;
+
+{$R *.dfm}
+
+procedure TViewLog.FormCreate(Sender: TObject);
+begin
+ ComboNivel.Items.Clear;
+ //Modified by fduenas
+ ComboNivel.Items.Append(TUserControl(Owner).UserSettings.Log.OptionLevelLow); //BGM
+ ComboNivel.Items.Append(TUserControl(Owner).UserSettings.Log.OptionLevelNormal); //BGM
+ ComboNivel.Items.Append(TUserControl(Owner).UserSettings.Log.OptionLevelHigh); //BGM
+ ComboNivel.Items.Append(TUserControl(Owner).UserSettings.Log.OptionLevelCritic); //BGM
+ ComboNivel.ItemIndex := 0;
+ ComboUsuario.Items.Clear;
+ ListIdUser := TStringList.Create;
+ data1.Date := EncodeDate(StrToInt(FormatDateTime('yyyy', Date)), 1, 1);
+ data2.DateTime := Now;
+end;
+
+procedure TViewLog.ComboNivelDrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState);
+var
+ TempImg: Graphics.TBitmap;
+begin
+ TempImg := Graphics.TBitmap.Create;
+ Imagelist1.GetBitmap(Index, TempImg);
+ ComboNivel.Canvas.Draw(Rect.Left + 5, Rect.Top + 1, TempImg);
+ ComboNivel.Canvas.TextRect(Rect, Rect.Left + 30, Rect.Top + 2, ComboNivel.items[Index]);
+ ComboNivel.Canvas.Draw(Rect.Left + 5, Rect.Top + 1, TempImg);
+ FreeAndNil(TempImg);
+end;
+
+procedure TViewLog.FormShow(Sender: TObject);
+var
+ TabelaLog: String;
+ SQLStmt: String;
+begin
+ with TUserControl(Owner) do
+ DSCmd := DataConnector.UCGetSQLDataset(
+ Format('SELECT %s AS IDUSER, %s AS NOME FROM %s WHERE %s = %s ORDER BY %s',
+ [TableUsers.FieldUserID,
+ TableUsers.FieldUserName,
+ TableUsers.TableName,
+ TableUsers.FieldTypeRec,
+ QuotedStr('U'),
+ TableUsers.FieldUserName]));
+ ComboUsuario.Items.Append(TUserControl(Owner).UserSettings.Log.OptionUserAll); //BGM, modified by fduenas
+ ListIdUser.Append('0');
+ while not DSCmd.EOF do
+ begin
+ ComboUsuario.Items.Append(DSCmd.FieldByName('Nome').AsString);
+ ListIdUser.Append(DSCmd.FieldByName('idUser').AsString);
+ DSCmd.Next;
+ end;
+ DSCmd.Close;
+ FreeAndNil(DSCmd);
+
+ ComboUsuario.ItemIndex := 0;
+
+
+ TabelaLog := TUserControl(Owner).LogControl.TableLog;
+ with TUserControl(Owner) do
+ begin
+ SQLStmt := 'SELECT ' + TableUsers.TableName + '.' + TableUsers.FieldUserName + ' AS NOME, ' + TabelaLog + '.* from ' + TabelaLog +
+ ' LEFT OUTER JOIN ' + TableUsers.TableName + ' on ' + TabelaLog + '.idUser = ' + TableUsers.TableName + '.' + TableUsers.FieldUserID +
+ ' WHERE (DATA >=' + QuotedStr(FormatDateTime('yyyyMMddhhmmss', data1.DateTime)) + ') AND (DATA<=' + QuotedStr(FormatDateTime('yyyyMMddhhmmss', data2.DateTime)) + ') ORDER BY DATA DESC';
+ DSLog := DataConnector.UCGetSQLDataset(SQLStmt);
+ end;
+ DataSource1.Dataset := DSLog;
+ btexclui.Enabled := not DsLog.IsEmpty; //added by fduenas
+ try Position := poScreenCenter; except end;
+end;
+
+procedure TViewLog.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
+var
+ TempImg: Graphics.TBitmap;
+ FData: System.TDateTime;
+ TempData: String;
+begin
+ if DSLog.IsEmpty then
+ Exit;
+
+ if UpperCase(Column.FieldName) = 'NIVEL' then //Done by Petrus v Breda 28/4/2007
+ begin
+ If Column.Field.AsInteger >= 0 then // By Vicente Barros Leonel
+ { No meu banco de dados, qdo não tinha log dava pau pq o TempIMG era null}
+ Begin
+ TempImg := Graphics.TBitmap.Create;
+ imagelist1.GetBitmap(Column.Field.AsInteger, TempImg);
+ DbGrid1.Canvas.Draw((((Rect.Left + Rect.Right) - TempImg.Width) div 2), rect.Top, Tempimg);
+ FreeAndNil(TempImg);
+ End
+ else
+ DbGrid1.Canvas.TextRect(Rect, Rect.Left + 2, Rect.Top + 2, Column.Field.AsString);
+ end
+ else
+ if UpperCase(Column.FieldName) = 'DATA' then //Done by Petrus v Breda 28/4/2007
+ begin
+ TempData := Column.Field.AsString;
+ FData := EncodeDate(StrToInt(Copy(Tempdata, 1, 4)), StrToInt(Copy(Tempdata, 5, 2)), StrToInt(Copy(Tempdata, 7, 2))) +
+ EncodeTime(StrToInt(Copy(TempData, 9, 2)), StrToInt(Copy(TempData, 11, 2)), StrToInt(Copy(TempData, 13, 2)), 0);
+ DbGrid1.Canvas.TextRect(Rect, Rect.Left + 2, Rect.Top + 2, DateTimeToStr(FData));
+ end
+ else
+ DbGrid1.Canvas.TextRect(Rect, Rect.Left + 2, Rect.Top + 2, Column.Field.AsString);
+end;
+
+procedure TViewLog.ComboUsuarioChange(Sender: TObject);
+begin
+ btFiltro.Enabled := True;
+end;
+
+procedure TViewLog.btfechaClick(Sender: TObject);
+begin
+ Close;
+end;
+
+procedure TViewLog.FormClose(Sender: TObject; var Action: TCloseAction);
+begin
+ ListIdUser.Free;
+ Action := caFree;
+end;
+
+procedure TViewLog.btexcluiClick(Sender: TObject);
+var
+ FTabLog, Temp: String;
+begin
+ //modified by fduenas
+ if MessageBox(Handle, PChar(TUserControl(Owner).UserSettings.Log.PromptDelete),
+ PChar(TUserControl(Owner).UserSettings.Log.PromptDelete_WindowCaption), mb_YesNo) <> mrYes then
+ exit;
+
+ btFiltro.Enabled := False;
+ FTabLog := TUserControl(Owner).LogControl.TableLog;
+ Temp := 'Delete from ' + FTabLog +
+ ' Where (Data >=' + QuotedStr(FormatDateTime('yyyyMMddhhmmss', data1.DateTime)) + ') ' +
+ ' and (Data <=' + QuotedStr(FormatDateTime('yyyyMMddhhmmss', data2.DateTime)) + ') ' +
+ ' and nivel >=' + IntToStr(ComboNivel.ItemIndex);
+
+ if ComboUsuario.ItemIndex > 0 then
+ Temp := Temp + ' and ' + FTabLog + '.idUser = ' + ListIdUser[ComboUsuario.ItemIndex];
+
+ try
+ TUserControl(Owner).DataConnector.UCExecSQL(Temp);
+ AplicaFiltro;
+ DBGrid1.Repaint;
+ except
+ end;
+
+ //modified by fduenas
+ try
+ TUserControl(Owner).Log(Format(TUserControl(Owner).UserSettings.Log.DeletePerformed, [comboUsuario.Text, DateTimeToStr(Data1.datetime), DateTimeToStr(Data2.datetime), ComboNivel.Text]), 2);
+ except;
+ end;
+
+end;
+
+procedure TViewLog.data1Change(Sender: TObject);
+begin
+ btFiltro.Enabled := True;
+end;
+
+procedure TViewLog.btfiltroClick(Sender: TObject);
+begin
+ AplicaFiltro;
+end;
+
+procedure TViewLog.AplicaFiltro;
+var
+ FTabUser, FTabLog: String;
+ Temp: String;
+begin
+ btFiltro.Enabled := False;
+ DSLog.Close;
+ FTabLog := TUserControl(Owner).LogControl.TableLog;
+ FTabUser := TUserControl(Owner).TableUsers.TableName;
+
+ Temp := Format('Select TabUser.' + TUserControl(Owner).TableUsers.FieldUserName + ' as nome, ' + FTabLog + '.* ' +
+ 'from ' + FTabLog +
+ ' Left outer join %s TabUser on ' + FTabLog + '.idUser = TabUser.%s ' +
+ 'Where (data >= ' + QuotedStr(FormatDateTime('yyyyMMddhhmmss', data1.DateTime)) + ') ' +
+ 'and (Data <= ' + QuotedStr(FormatDateTime('yyyyMMddhhmmss', data2.DateTime)) + ') ' +
+ 'and nivel >= ' + IntToStr(ComboNivel.ItemIndex),
+ [TUserControl(Owner).TableUsers.TableName, TUserControl(Owner).TableUsers.FieldUserID]);
+
+ if ComboUsuario.ItemIndex > 0 then
+ Temp := Temp + ' and ' + FTabLog + '.idUser = ' + ListIdUser[ComboUsuario.ItemIndex];
+
+ Temp := Temp + ' order by data desc';
+
+ FreeAndNil(DSLog);
+ DataSource1.DataSet := nil;
+ DSLog := TUserControl(Owner).DataConnector.UCGetSQLDataset(Temp);
+ DataSource1.DataSet := DSLog;
+ btexclui.Enabled := not DsLog.IsEmpty;
+end;
+
+end.
diff --git a/official/2.20/Source/md5.pas b/official/2.20/Source/md5.pas
new file mode 100644
index 0000000..13fcc9e
--- /dev/null
+++ b/official/2.20/Source/md5.pas
@@ -0,0 +1,401 @@
+// tabs = 2
+// -----------------------------------------------------------------------------------------------
+
+// MD5 Message-Digest for Delphi 4
+
+ // Delphi 4 Unit implementing the
+ // RSA Data Security, Inc. MD5 Message-Digest Algorithm
+
+// Implementation of Ronald L. Rivest's RFC 1321
+
+ // Copyright © 1997-1999 Medienagentur Fichtner & Meyer
+ // Written by Matthias Fichtner
+
+// -----------------------------------------------------------------------------------------------
+// See RFC 1321 for RSA Data Security's copyright and license notice!
+// -----------------------------------------------------------------------------------------------
+
+// 14-Jun-97 mf Implemented MD5 according to RFC 1321 RFC 1321
+// 16-Jun-97 mf Initial release of the compiled unit (no source code) RFC 1321
+// 28-Feb-99 mf Added MD5Match function for comparing two digests RFC 1321
+// 13-Sep-99 mf Reworked the entire unit RFC 1321
+// 17-Sep-99 mf Reworked the "Test Driver" project RFC 1321
+// 19-Sep-99 mf Release of sources for MD5 unit and "Test Driver" project RFC 1321
+
+// -----------------------------------------------------------------------------------------------
+ // The latest release of md5.pas will always be available from
+ // the distribution site at: http://www.fichtner.net/delphi/md5/
+// -----------------------------------------------------------------------------------------------
+ // Please send questions, bug reports and suggestions
+ // regarding this code to: mfichtner@fichtner-meyer.com
+// -----------------------------------------------------------------------------------------------
+ // This code is provided "as is" without express or
+ // implied warranty of any kind. Use it at your own risk.
+// -----------------------------------------------------------------------------------------------
+
+unit md5;
+
+// -----------------------------------------------------------------------------------------------
+interface
+// -----------------------------------------------------------------------------------------------
+
+uses
+ Windows;
+
+type
+ MD5Count = array[0..1] of DWORD;
+ MD5State = array[0..3] of DWORD;
+ MD5Block = array[0..15] of DWORD;
+ MD5CBits = array[0..7] of Byte;
+ MD5Digest = array[0..15] of Byte;
+ MD5Buffer = array[0..63] of Byte;
+
+ MD5Context = record
+ State: MD5State;
+ Count: MD5Count;
+ Buffer: MD5Buffer;
+ end;
+
+procedure MD5Init(var Context: MD5Context);
+procedure MD5Update(var Context: MD5Context; Input: PChar; Length: longword);
+procedure MD5Final(var Context: MD5Context; var Digest: MD5Digest);
+
+function MD5String(M: String): MD5Digest;
+function MD5File(N: String): MD5Digest;
+function MD5Print(D: MD5Digest): String;
+
+function MD5Match(D1, D2: MD5Digest): Boolean;
+
+// -----------------------------------------------------------------------------------------------
+implementation
+// -----------------------------------------------------------------------------------------------
+
+var
+ PADDING: MD5Buffer = ($80, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00);
+
+function F(x, y, z: DWORD): DWORD;
+begin
+ Result := (x and y) or ((not x) and z);
+end;
+
+function G(x, y, z: DWORD): DWORD;
+begin
+ Result := (x and z) or (y and (not z));
+end;
+
+function H(x, y, z: DWORD): DWORD;
+begin
+ Result := x xor y xor z;
+end;
+
+function I(x, y, z: DWORD): DWORD;
+begin
+ Result := y xor (x or (not z));
+end;
+
+procedure rot(var x: DWORD; n: Byte);
+begin
+ x := (x shl n) or (x shr (32 - n));
+end;
+
+procedure FF(var a: DWORD; b, c, d, x: DWORD; s: Byte; ac: DWORD);
+begin
+ Inc(a, F(b, c, d) + x + ac);
+ rot(a, s);
+ Inc(a, b);
+end;
+
+procedure GG(var a: DWORD; b, c, d, x: DWORD; s: Byte; ac: DWORD);
+begin
+ Inc(a, G(b, c, d) + x + ac);
+ rot(a, s);
+ Inc(a, b);
+end;
+
+procedure HH(var a: DWORD; b, c, d, x: DWORD; s: Byte; ac: DWORD);
+begin
+ Inc(a, H(b, c, d) + x + ac);
+ rot(a, s);
+ Inc(a, b);
+end;
+
+procedure II(var a: DWORD; b, c, d, x: DWORD; s: Byte; ac: DWORD);
+begin
+ Inc(a, I(b, c, d) + x + ac);
+ rot(a, s);
+ Inc(a, b);
+end;
+
+// -----------------------------------------------------------------------------------------------
+
+// Encode Count bytes at Source into (Count / 4) DWORDs at Target
+procedure Encode(Source, Target: pointer; Count: longword);
+var
+ S: PByte;
+ T: PDWORD;
+ I: longword;
+begin
+ S := Source;
+ T := Target;
+ for I := 1 to Count div 4 do
+ begin
+ T^ := S^;
+ Inc(S);
+ T^ := T^ or (S^ shl 8);
+ Inc(S);
+ T^ := T^ or (S^ shl 16);
+ Inc(S);
+ T^ := T^ or (S^ shl 24);
+ Inc(S);
+ Inc(T);
+ end;
+end;
+
+// Decode Count DWORDs at Source into (Count * 4) Bytes at Target
+procedure Decode(Source, Target: pointer; Count: longword);
+var
+ S: PDWORD;
+ T: PByte;
+ I: longword;
+begin
+ S := Source;
+ T := Target;
+ for I := 1 to Count do
+ begin
+ T^ := S^ and $ff;
+ Inc(T);
+ T^ := (S^ shr 8) and $ff;
+ Inc(T);
+ T^ := (S^ shr 16) and $ff;
+ Inc(T);
+ T^ := (S^ shr 24) and $ff;
+ Inc(T);
+ Inc(S);
+ end;
+end;
+
+// Transform State according to first 64 bytes at Buffer
+procedure Transform(Buffer: pointer; var State: MD5State);
+var
+ a, b, c, d: DWORD;
+ Block: MD5Block;
+begin
+ Encode(Buffer, @Block, 64);
+ a := State[0];
+ b := State[1];
+ c := State[2];
+ d := State[3];
+ FF(a, b, c, d, Block[0], 7, $d76aa478);
+ FF(d, a, b, c, Block[1], 12, $e8c7b756);
+ FF(c, d, a, b, Block[2], 17, $242070db);
+ FF(b, c, d, a, Block[3], 22, $c1bdceee);
+ FF(a, b, c, d, Block[4], 7, $f57c0faf);
+ FF(d, a, b, c, Block[5], 12, $4787c62a);
+ FF(c, d, a, b, Block[6], 17, $a8304613);
+ FF(b, c, d, a, Block[7], 22, $fd469501);
+ FF(a, b, c, d, Block[8], 7, $698098d8);
+ FF(d, a, b, c, Block[9], 12, $8b44f7af);
+ FF(c, d, a, b, Block[10], 17, $ffff5bb1);
+ FF(b, c, d, a, Block[11], 22, $895cd7be);
+ FF(a, b, c, d, Block[12], 7, $6b901122);
+ FF(d, a, b, c, Block[13], 12, $fd987193);
+ FF(c, d, a, b, Block[14], 17, $a679438e);
+ FF(b, c, d, a, Block[15], 22, $49b40821);
+ GG(a, b, c, d, Block[1], 5, $f61e2562);
+ GG(d, a, b, c, Block[6], 9, $c040b340);
+ GG(c, d, a, b, Block[11], 14, $265e5a51);
+ GG(b, c, d, a, Block[0], 20, $e9b6c7aa);
+ GG(a, b, c, d, Block[5], 5, $d62f105d);
+ GG(d, a, b, c, Block[10], 9, $2441453);
+ GG(c, d, a, b, Block[15], 14, $d8a1e681);
+ GG(b, c, d, a, Block[4], 20, $e7d3fbc8);
+ GG(a, b, c, d, Block[9], 5, $21e1cde6);
+ GG(d, a, b, c, Block[14], 9, $c33707d6);
+ GG(c, d, a, b, Block[3], 14, $f4d50d87);
+ GG(b, c, d, a, Block[8], 20, $455a14ed);
+ GG(a, b, c, d, Block[13], 5, $a9e3e905);
+ GG(d, a, b, c, Block[2], 9, $fcefa3f8);
+ GG(c, d, a, b, Block[7], 14, $676f02d9);
+ GG(b, c, d, a, Block[12], 20, $8d2a4c8a);
+ HH(a, b, c, d, Block[5], 4, $fffa3942);
+ HH(d, a, b, c, Block[8], 11, $8771f681);
+ HH(c, d, a, b, Block[11], 16, $6d9d6122);
+ HH(b, c, d, a, Block[14], 23, $fde5380c);
+ HH(a, b, c, d, Block[1], 4, $a4beea44);
+ HH(d, a, b, c, Block[4], 11, $4bdecfa9);
+ HH(c, d, a, b, Block[7], 16, $f6bb4b60);
+ HH(b, c, d, a, Block[10], 23, $bebfbc70);
+ HH(a, b, c, d, Block[13], 4, $289b7ec6);
+ HH(d, a, b, c, Block[0], 11, $eaa127fa);
+ HH(c, d, a, b, Block[3], 16, $d4ef3085);
+ HH(b, c, d, a, Block[6], 23, $4881d05);
+ HH(a, b, c, d, Block[9], 4, $d9d4d039);
+ HH(d, a, b, c, Block[12], 11, $e6db99e5);
+ HH(c, d, a, b, Block[15], 16, $1fa27cf8);
+ HH(b, c, d, a, Block[2], 23, $c4ac5665);
+ II(a, b, c, d, Block[0], 6, $f4292244);
+ II(d, a, b, c, Block[7], 10, $432aff97);
+ II(c, d, a, b, Block[14], 15, $ab9423a7);
+ II(b, c, d, a, Block[5], 21, $fc93a039);
+ II(a, b, c, d, Block[12], 6, $655b59c3);
+ II(d, a, b, c, Block[3], 10, $8f0ccc92);
+ II(c, d, a, b, Block[10], 15, $ffeff47d);
+ II(b, c, d, a, Block[1], 21, $85845dd1);
+ II(a, b, c, d, Block[8], 6, $6fa87e4f);
+ II(d, a, b, c, Block[15], 10, $fe2ce6e0);
+ II(c, d, a, b, Block[6], 15, $a3014314);
+ II(b, c, d, a, Block[13], 21, $4e0811a1);
+ II(a, b, c, d, Block[4], 6, $f7537e82);
+ II(d, a, b, c, Block[11], 10, $bd3af235);
+ II(c, d, a, b, Block[2], 15, $2ad7d2bb);
+ II(b, c, d, a, Block[9], 21, $eb86d391);
+ Inc(State[0], a);
+ Inc(State[1], b);
+ Inc(State[2], c);
+ Inc(State[3], d);
+end;
+
+// -----------------------------------------------------------------------------------------------
+
+// Initialize given Context
+procedure MD5Init(var Context: MD5Context);
+begin
+ with Context do
+ begin
+ State[0] := $67452301;
+ State[1] := $efcdab89;
+ State[2] := $98badcfe;
+ State[3] := $10325476;
+ Count[0] := 0;
+ Count[1] := 0;
+ ZeroMemory(@Buffer, SizeOf(MD5Buffer));
+ end;
+end;
+
+// Update given Context to include Length bytes of Input
+procedure MD5Update(var Context: MD5Context; Input: PChar; Length: longword);
+var
+ Index: longword;
+ PartLen: longword;
+ I: longword;
+begin
+ with Context do
+ begin
+ Index := (Count[0] shr 3) and $3f;
+ Inc(Count[0], Length shl 3);
+ if Count[0] < (Length shl 3) then
+ Inc(Count[1]);
+ Inc(Count[1], Length shr 29);
+ end;
+ PartLen := 64 - Index;
+ if Length >= PartLen then
+ begin
+ CopyMemory(@Context.Buffer[Index], Input, PartLen);
+ Transform(@Context.Buffer, Context.State);
+ I := PartLen;
+ while I + 63 < Length do
+ begin
+ Transform(@Input[I], Context.State);
+ Inc(I, 64);
+ end;
+ Index := 0;
+ end
+ else
+ I := 0;
+ CopyMemory(@Context.Buffer[Index], @Input[I], Length - I);
+end;
+
+// Finalize given Context, create Digest and zeroize Context
+procedure MD5Final(var Context: MD5Context; var Digest: MD5Digest);
+var
+ Bits: MD5CBits;
+ Index: longword;
+ PadLen: longword;
+begin
+ Decode(@Context.Count, @Bits, 2);
+ Index := (Context.Count[0] shr 3) and $3f;
+ if Index < 56 then
+ PadLen := 56 - Index
+ else
+ PadLen := 120 - Index;
+ MD5Update(Context, @PADDING, PadLen);
+ MD5Update(Context, @Bits, 8);
+ Decode(@Context.State, @Digest, 4);
+ ZeroMemory(@Context, SizeOf(MD5Context));
+end;
+
+// -----------------------------------------------------------------------------------------------
+
+// Create digest of given Message
+function MD5String(M: String): MD5Digest;
+var
+ Context: MD5Context;
+begin
+ MD5Init(Context);
+ MD5Update(Context, PChar(M), length(M));
+ MD5Final(Context, Result);
+end;
+
+// Create digest of file with given Name
+function MD5File(N: String): MD5Digest;
+var
+ FileHandle: THandle;
+ MapHandle: THandle;
+ ViewPointer: pointer;
+ Context: MD5Context;
+begin
+ MD5Init(Context);
+ FileHandle := CreateFile(PChar(N), GENERIC_READ, FILE_SHARE_READ or FILE_SHARE_WRITE,
+ nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL or FILE_FLAG_SEQUENTIAL_SCAN, 0);
+ if FileHandle <> INVALID_HANDLE_VALUE then
+ try
+ MapHandle := CreateFileMapping(FileHandle, nil, PAGE_READONLY, 0, 0, nil);
+ if MapHandle <> 0 then
+ try
+ ViewPointer := MapViewOfFile(MapHandle, FILE_MAP_READ, 0, 0, 0);
+ if ViewPointer <> nil then
+ try
+ MD5Update(Context, ViewPointer, GetFileSize(FileHandle, nil));
+ finally
+ UnmapViewOfFile(ViewPointer);
+ end;
+ finally
+ CloseHandle(MapHandle);
+ end;
+ finally
+ CloseHandle(FileHandle);
+ end;
+ MD5Final(Context, Result);
+end;
+
+// Create hex representation of given Digest
+function MD5Print(D: MD5Digest): String;
+var
+ I: Byte;
+const
+ Digits: array[0..15] of char =
+ ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f');
+begin
+ Result := '';
+ for I := 0 to 15 do
+ Result := Result + Digits[(D[I] shr 4) and $0f] + Digits[D[I] and $0f];
+end;
+
+// -----------------------------------------------------------------------------------------------
+
+// Compare two Digests
+function MD5Match(D1, D2: MD5Digest): Boolean;
+var
+ I: Byte;
+begin
+ I := 0;
+ Result := True;
+ while Result and (I < 16) do
+ begin
+ Result := D1[I] = D2[I];
+ Inc(I);
+ end;
+end;
+
+end.
+