diff --git a/10.3.2/Activator/Activator.bdsproj b/10.3.2/Activator/Activator.bdsproj
new file mode 100644
index 0000000..9feb977
--- /dev/null
+++ b/10.3.2/Activator/Activator.bdsproj
@@ -0,0 +1,183 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ 7.0
+
+
+ 8
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ 0
+ 1
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 1
+ 0
+ 1
+ True
+ True
+ Classes=;mirror=
+
+ False
+
+ False
+ True
+ False
+ True
+ True
+ 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
+ False
+ False
+ False
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+
+
+
+ 0
+ 0
+ False
+ 1
+ False
+ False
+ False
+ 16384
+ 1048576
+ 4194304
+
+
+
+ ..\Release
+ ..\Dcu
+
+
+ ..\KOL
+ vcl;rtl
+ KOL_MCK;NOT_USE_RICHEDIT;USE_MHTOOLTIP;xDEBUGMODE
+
+ False
+
+
+
+
+
+ False
+
+
+ True
+ False
+
+
+ False
+
+
+ True
+ False
+ 26
+ 0
+ 32767
+ 6593
+ False
+ False
+ False
+ False
+ False
+ 1033
+ 1252
+
+
+ Lsuper
+
+ 26.0.32767.6593
+
+
+
+ Activator.exe
+
+ 26.0
+
+
+
+
+
diff --git a/10.3.2/Activator/Activator.dpr b/10.3.2/Activator/Activator.dpr
new file mode 100644
index 0000000..c9992d9
--- /dev/null
+++ b/10.3.2/Activator/Activator.dpr
@@ -0,0 +1,32 @@
+{ KOL MCK } // Do not remove this line!
+program Activator;
+
+uses
+KOL,
+ FileUtils in 'FileUtils.pas',
+ PatchData in 'PatchData.pas',
+ WinUtils in 'WinUtils.pas',
+
+ AnsiStrings in '..\Keygen\AnsiStrings.pas',
+ FGInt in '..\Keygen\FGInt.pas',
+ RadKeygen in '..\Keygen\RadKeygen.pas',
+ RadLicense in '..\Keygen\RadLicense.pas',
+ RadVersion in '..\Keygen\RadVersion.pas',
+ Sha1 in '..\Keygen\Sha1.pas',
+
+ MainFrm in 'MainFrm.pas' {MainForm};
+
+{$R *.res}
+
+begin // PROGRAM START HERE -- Please do not remove this comment
+
+{$IF Defined(KOL_MCK)} {$I Activator_0.inc} {$ELSE}
+
+ Application.Initialize;
+ Application.MainFormOnTaskbar := True;
+ Application.CreateForm(TMainForm, MainForm);
+ Application.Run;
+
+{$IFEND}
+
+end.
diff --git a/10.3.2/Activator/Activator.res b/10.3.2/Activator/Activator.res
new file mode 100644
index 0000000..6092141
Binary files /dev/null and b/10.3.2/Activator/Activator.res differ
diff --git a/10.3.2/Activator/Activator_0.inc b/10.3.2/Activator/Activator_0.inc
new file mode 100644
index 0000000..8fa625f
--- /dev/null
+++ b/10.3.2/Activator/Activator_0.inc
@@ -0,0 +1,20 @@
+{ KOL MCK } // Do not remove this line!
+{ Activator_0.inc
+ Do not edit this file manually - it is generated automatically.
+ You can only modify Activator_1.inc and Activator_3.inc
+ files. }
+
+{$IFDEF Pcode}
+ InstallCollapse;
+{$ENDIF Pcode}
+ NewMainForm( MainForm, nil );
+{$I Activator_1.inc}
+
+{$I Activator_2.inc}
+
+{$I Activator_3.inc}
+
+ Run( MainForm.Form );
+
+{$I Activator_4.inc}
+
diff --git a/10.3.2/Activator/Activator_1.inc b/10.3.2/Activator/Activator_1.inc
new file mode 100644
index 0000000..e19f111
--- /dev/null
+++ b/10.3.2/Activator/Activator_1.inc
@@ -0,0 +1,9 @@
+{ Activator_1.inc
+ This file is for you. Place here any code to run it
+ just following Applet creation (if it present) but
+ before creating other forms. E.g., You can place here
+ statement, which prevents running of application
+ in some cases. TIP: always use Applet for such checks
+ and make it invisible until final decision if to run
+ application or not. }
+
diff --git a/10.3.2/Activator/Activator_2.inc b/10.3.2/Activator/Activator_2.inc
new file mode 100644
index 0000000..830ed7f
--- /dev/null
+++ b/10.3.2/Activator/Activator_2.inc
@@ -0,0 +1,4 @@
+{ KOL MCK } // Do not remove this line!
+{ Activator_2.inc
+ Do not modify this file manually - it is generated automatically. }
+
diff --git a/10.3.2/Activator/Activator_3.inc b/10.3.2/Activator/Activator_3.inc
new file mode 100644
index 0000000..5f758d7
--- /dev/null
+++ b/10.3.2/Activator/Activator_3.inc
@@ -0,0 +1,4 @@
+{ Activator_3.inc
+ This file is for you. Place here any code to run it
+ after forms creating, but before Run call, if necessary. }
+
diff --git a/10.3.2/Activator/Activator_4.inc b/10.3.2/Activator/Activator_4.inc
new file mode 100644
index 0000000..3e4c27b
--- /dev/null
+++ b/10.3.2/Activator/Activator_4.inc
@@ -0,0 +1,4 @@
+{ Activator_4.inc
+ This file is for you. Place here any code to be inserted
+ after Run call, if necessary. }
+
diff --git a/10.3.2/Activator/Admin.res b/10.3.2/Activator/Admin.res
new file mode 100644
index 0000000..5e2a64c
Binary files /dev/null and b/10.3.2/Activator/Admin.res differ
diff --git a/10.3.2/Activator/FileUtils.pas b/10.3.2/Activator/FileUtils.pas
new file mode 100644
index 0000000..a99e226
--- /dev/null
+++ b/10.3.2/Activator/FileUtils.pas
@@ -0,0 +1,65 @@
+{ *********************************************************************** }
+{ }
+{ ߵԪ }
+{ }
+{ ƣLsuper 2013.02.16 }
+{ ע }
+{ ˣ }
+{ }
+{ Copyright (c) 1998-2014 Super Studio }
+{ }
+{ *********************************************************************** }
+
+unit FileUtils;
+
+interface
+
+uses
+ SysUtils, Classes;
+
+function LoadDataFromFile(const AFile: string): AnsiString;
+procedure SaveDataToFile(const AFile: string; const ABuffer; ASize: Integer);
+
+implementation
+
+uses
+ Windows;
+
+////////////////////////////////////////////////////////////////////////////////
+//ƣLsuper 2010.01.19
+//ܣļ
+//
+////////////////////////////////////////////////////////////////////////////////
+function LoadDataFromFile(const AFile: string): AnsiString;
+begin
+ with TFileStream.Create(AFile, fmOpenRead or fmShareDenyWrite) do
+ try
+ SetLength(Result, Size);
+ ReadBuffer(PAnsiChar(Result)^, Size);
+ finally
+ Free;
+ end;
+end;
+
+////////////////////////////////////////////////////////////////////////////////
+//ƣLsuper 2010.01.19
+//ܣļ
+//
+////////////////////////////////////////////////////////////////////////////////
+procedure SaveDataToFile(const AFile: string; const ABuffer;
+ ASize: Integer);
+var
+ F: string;
+begin
+ F := ExtractFileDir(AFile);
+ ForceDirectories(F);
+ with TFileStream.Create(AFile, fmCreate or fmShareDenyWrite) do
+ try
+ Position := 0;
+ WriteBuffer(ABuffer, ASize);
+ finally
+ Free;
+ end;
+end;
+
+end.
diff --git a/10.3.2/Activator/MainFrm.dfm b/10.3.2/Activator/MainFrm.dfm
new file mode 100644
index 0000000..1aba167
--- /dev/null
+++ b/10.3.2/Activator/MainFrm.dfm
@@ -0,0 +1,425 @@
+object MainForm: TMainForm
+ Left = 0
+ Top = 0
+ HorzScrollBar.Visible = False
+ VertScrollBar.Visible = False
+ Caption = 'Delphi 10.3.2 Activator'
+ ClientHeight = 122
+ ClientWidth = 534
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ OldCreateOrder = True
+ Scaled = False
+ PixelsPerInch = 96
+ TextHeight = 13
+ object btnExit: TKOLButton
+ Tag = 0
+ Left = 428
+ Top = 16
+ Width = 90
+ Height = 90
+ Hint = 'Exit'
+ HelpType = htKeyword
+ HelpContext = 0
+ IgnoreDefault = True
+ AnchorLeft = False
+ AnchorTop = False
+ AnchorRight = False
+ AnchorBottom = False
+ AcceptChildren = False
+ MouseTransparent = False
+ TabOrder = 2
+ MinWidth = 0
+ MinHeight = 0
+ MaxWidth = 0
+ MaxHeight = 0
+ PlaceDown = False
+ PlaceRight = False
+ PlaceUnder = False
+ Visible = True
+ Enabled = True
+ DoubleBuffered = False
+ Align = caNone
+ CenterOnParent = False
+ Caption = '&Exit'
+ Ctl3D = True
+ Color = clBtnFace
+ parentColor = False
+ Font.Color = clWindowText
+ Font.FontStyle = []
+ Font.FontHeight = 0
+ Font.FontWidth = 0
+ Font.FontWeight = 0
+ Font.FontName = 'System'
+ Font.FontOrientation = 0
+ Font.FontCharset = 1
+ Font.FontPitch = fpDefault
+ Font.FontQuality = fqDefault
+ parentFont = True
+ OnClick = btnExitClick
+ EraseBackground = False
+ Localizy = loForm
+ Border = 2
+ TextAlign = taCenter
+ VerticalAlign = vaCenter
+ TabStop = True
+ autoSize = False
+ DefaultBtn = False
+ CancelBtn = False
+ windowed = True
+ Flat = False
+ WordWrap = False
+ LikeSpeedButton = False
+ end
+ object btnAbout: TKOLButton
+ Tag = 0
+ Left = 325
+ Top = 16
+ Width = 90
+ Height = 90
+ Hint = 'About'
+ HelpType = htKeyword
+ HelpContext = 0
+ IgnoreDefault = True
+ AnchorLeft = False
+ AnchorTop = False
+ AnchorRight = False
+ AnchorBottom = False
+ AcceptChildren = False
+ MouseTransparent = False
+ TabOrder = 0
+ MinWidth = 0
+ MinHeight = 0
+ MaxWidth = 0
+ MaxHeight = 0
+ PlaceDown = False
+ PlaceRight = False
+ PlaceUnder = False
+ Visible = True
+ Enabled = True
+ DoubleBuffered = False
+ Align = caNone
+ CenterOnParent = False
+ Caption = '&About'
+ Ctl3D = True
+ Color = clBtnFace
+ parentColor = False
+ Font.Color = clWindowText
+ Font.FontStyle = []
+ Font.FontHeight = 0
+ Font.FontWidth = 0
+ Font.FontWeight = 0
+ Font.FontName = 'System'
+ Font.FontOrientation = 0
+ Font.FontCharset = 1
+ Font.FontPitch = fpDefault
+ Font.FontQuality = fqDefault
+ parentFont = True
+ OnClick = btnAboutClick
+ EraseBackground = False
+ Localizy = loForm
+ Border = 2
+ TextAlign = taCenter
+ VerticalAlign = vaCenter
+ TabStop = True
+ autoSize = False
+ DefaultBtn = False
+ CancelBtn = False
+ windowed = True
+ Flat = False
+ WordWrap = False
+ LikeSpeedButton = False
+ end
+ object btnReset: TKOLButton
+ Tag = 0
+ Left = 222
+ Top = 16
+ Width = 90
+ Height = 90
+ Hint = 'Reset Delphi 10.3.2'
+ HelpType = htKeyword
+ HelpContext = 0
+ IgnoreDefault = True
+ AnchorLeft = False
+ AnchorTop = False
+ AnchorRight = False
+ AnchorBottom = False
+ AcceptChildren = False
+ MouseTransparent = False
+ TabOrder = 1
+ MinWidth = 0
+ MinHeight = 0
+ MaxWidth = 0
+ MaxHeight = 0
+ PlaceDown = False
+ PlaceRight = False
+ PlaceUnder = False
+ Visible = True
+ Enabled = True
+ DoubleBuffered = False
+ Align = caNone
+ CenterOnParent = False
+ Caption = 'Re&set'
+ Ctl3D = True
+ Color = clBtnFace
+ parentColor = False
+ Font.Color = clWindowText
+ Font.FontStyle = []
+ Font.FontHeight = 0
+ Font.FontWidth = 0
+ Font.FontWeight = 0
+ Font.FontName = 'System'
+ Font.FontOrientation = 0
+ Font.FontCharset = 1
+ Font.FontPitch = fpDefault
+ Font.FontQuality = fqDefault
+ parentFont = True
+ OnClick = btnResetClick
+ EraseBackground = False
+ Localizy = loForm
+ Border = 2
+ TextAlign = taCenter
+ VerticalAlign = vaCenter
+ TabStop = True
+ autoSize = False
+ DefaultBtn = False
+ CancelBtn = False
+ windowed = True
+ Flat = False
+ WordWrap = False
+ LikeSpeedButton = False
+ end
+ object btnRunBds: TKOLButton
+ Tag = 0
+ Left = 119
+ Top = 16
+ Width = 90
+ Height = 90
+ Hint = 'Run Delphi 10.3.2'
+ HelpType = htKeyword
+ HelpContext = 0
+ IgnoreDefault = True
+ AnchorLeft = False
+ AnchorTop = False
+ AnchorRight = False
+ AnchorBottom = False
+ AcceptChildren = False
+ MouseTransparent = False
+ TabOrder = 3
+ MinWidth = 0
+ MinHeight = 0
+ MaxWidth = 0
+ MaxHeight = 0
+ PlaceDown = False
+ PlaceRight = False
+ PlaceUnder = False
+ Visible = True
+ Enabled = True
+ DoubleBuffered = False
+ Align = caNone
+ CenterOnParent = False
+ Caption = '&Run'
+ Ctl3D = True
+ Color = clBtnFace
+ parentColor = False
+ Font.Color = clWindowText
+ Font.FontStyle = []
+ Font.FontHeight = 0
+ Font.FontWidth = 0
+ Font.FontWeight = 0
+ Font.FontName = 'System'
+ Font.FontOrientation = 0
+ Font.FontCharset = 1
+ Font.FontPitch = fpDefault
+ Font.FontQuality = fqDefault
+ parentFont = True
+ OnClick = btnRunBdsClick
+ EraseBackground = False
+ Localizy = loForm
+ Border = 2
+ TextAlign = taCenter
+ VerticalAlign = vaCenter
+ TabStop = True
+ autoSize = False
+ DefaultBtn = False
+ CancelBtn = False
+ windowed = True
+ Flat = False
+ WordWrap = False
+ LikeSpeedButton = False
+ end
+ object btnActive: TKOLButton
+ Tag = 0
+ Left = 16
+ Top = 16
+ Width = 90
+ Height = 90
+ Hint = 'Active Delphi 10.3.2'
+ HelpType = htKeyword
+ HelpContext = 0
+ IgnoreDefault = True
+ AnchorLeft = False
+ AnchorTop = False
+ AnchorRight = False
+ AnchorBottom = False
+ AcceptChildren = False
+ MouseTransparent = False
+ TabOrder = 4
+ MinWidth = 0
+ MinHeight = 0
+ MaxWidth = 0
+ MaxHeight = 0
+ PlaceDown = False
+ PlaceRight = False
+ PlaceUnder = False
+ Visible = True
+ Enabled = True
+ DoubleBuffered = False
+ Align = caNone
+ CenterOnParent = False
+ Caption = '&Active'
+ Ctl3D = True
+ Color = clBtnFace
+ parentColor = False
+ Font.Color = clWindowText
+ Font.FontStyle = []
+ Font.FontHeight = 0
+ Font.FontWidth = 0
+ Font.FontWeight = 0
+ Font.FontName = 'System'
+ Font.FontOrientation = 0
+ Font.FontCharset = 1
+ Font.FontPitch = fpDefault
+ Font.FontQuality = fqDefault
+ parentFont = True
+ OnClick = btnActiveClick
+ EraseBackground = False
+ Localizy = loForm
+ Border = 2
+ TextAlign = taCenter
+ VerticalAlign = vaCenter
+ TabStop = True
+ autoSize = False
+ DefaultBtn = False
+ CancelBtn = False
+ windowed = True
+ Flat = False
+ WordWrap = False
+ LikeSpeedButton = False
+ end
+ object kolActivator: TKOLProject
+ Locked = False
+ Localizy = False
+ projectName = 'Activator'
+ projectDest = 'Activator'
+ sourcePath = 'F:\LITE\D10.3\15.2\Crack\Activator\'
+ outdcuPath = '0"..\Dcu\'
+ dprResource = True
+ protectFiles = True
+ showReport = False
+ isKOLProject = True
+ autoBuild = True
+ autoBuildDelay = 500
+ BUILD = False
+ consoleOut = False
+ SupportAnsiMnemonics = 0
+ PaintType = ptWYSIWIG
+ ShowHint = True
+ ReportDetailed = False
+ GeneratePCode = False
+ NewIF = True
+ DefaultFont.Color = clWindowText
+ DefaultFont.FontStyle = []
+ DefaultFont.FontHeight = 0
+ DefaultFont.FontWidth = 0
+ DefaultFont.FontWeight = 0
+ DefaultFont.FontName = 'System'
+ DefaultFont.FontOrientation = 0
+ DefaultFont.FontCharset = 1
+ DefaultFont.FontPitch = fpDefault
+ DefaultFont.FontQuality = fqDefault
+ FormCompactDisabled = False
+ Left = 32
+ Top = 8
+ end
+ object kolMainForm: TKOLForm
+ Tag = 0
+ ForceIcon16x16 = False
+ Caption = 'Delphi 10.3.2 Activator'
+ Visible = True
+ OnMessage = kolMainFormMessage
+ OnDestroy = kolMainFormDestroy
+ AllBtnReturnClick = False
+ Tabulate = False
+ TabulateEx = False
+ UnitSourcePath = 'F:\LITE\D10.3\15.2\Crack\Activator\'
+ Locked = False
+ formUnit = 'MainFrm'
+ formMain = True
+ Enabled = True
+ defaultSize = False
+ defaultPosition = False
+ MinWidth = 0
+ MinHeight = 0
+ MaxWidth = 0
+ MaxHeight = 0
+ HasBorder = True
+ HasCaption = True
+ StayOnTop = False
+ CanResize = False
+ CenterOnScreen = True
+ Ctl3D = True
+ WindowState = wsNormal
+ minimizeIcon = False
+ maximizeIcon = False
+ closeIcon = True
+ helpContextIcon = False
+ borderStyle = fbsSingle
+ HelpContext = 0
+ Color = clBtnFace
+ Font.Color = clWindowText
+ Font.FontStyle = []
+ Font.FontHeight = 0
+ Font.FontWidth = 0
+ Font.FontWeight = 0
+ Font.FontName = 'System'
+ Font.FontOrientation = 0
+ Font.FontCharset = 1
+ Font.FontPitch = fpDefault
+ Font.FontQuality = fqDefault
+ FontDefault = True
+ Brush.Color = clBtnFace
+ Brush.BrushStyle = bsSolid
+ DoubleBuffered = False
+ PreventResizeFlicks = False
+ Transparent = False
+ AlphaBlend = 255
+ Border = 2
+ MarginLeft = 0
+ MarginRight = 0
+ MarginTop = 0
+ MarginBottom = 0
+ MinimizeNormalAnimated = False
+ RestoreNormalMaximized = False
+ zOrderChildren = False
+ statusSizeGrip = True
+ Localizy = False
+ ShowHint = True
+ KeyPreview = False
+ OnShow = kolMainFormShow
+ OnFormCreate = kolMainFormFormCreate
+ EraseBackground = False
+ supportMnemonics = False
+ FormCompact = False
+ GenerateCtlNames = False
+ Unicode = False
+ OverrideScrollbars = False
+ AssignTabOrders = False
+ Left = 64
+ Top = 8
+ end
+end
diff --git a/10.3.2/Activator/MainFrm.pas b/10.3.2/Activator/MainFrm.pas
new file mode 100644
index 0000000..6186230
--- /dev/null
+++ b/10.3.2/Activator/MainFrm.pas
@@ -0,0 +1,736 @@
+{ KOL MCK } // Do not remove this line!
+{$DEFINE KOL_MCK}
+unit MainFrm;
+
+interface
+
+{$IFDEF KOL_MCK}
+uses Windows, Messages, KOL {$IF Defined(KOL_MCK)}{$ELSE}, mirror, Classes, Controls, mckCtrls, mckObjs, Graphics {$IFEND (place your units here->)};
+{$ELSE}
+{$I uses.inc}
+ Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, mirror;
+{$ENDIF}
+
+type
+ {$IF Defined(KOL_MCK)}
+ {$I MCKfakeClasses.inc}
+ {$IFDEF KOLCLASSES} {$I TMainFormclass.inc} {$ELSE OBJECTS} PMainForm = ^TMainForm; {$ENDIF CLASSES/OBJECTS}
+ {$IFDEF KOLCLASSES}{$I TMainForm.inc}{$ELSE} TMainForm = object(TObj) {$ENDIF}
+ Form: PControl;
+ {$ELSE not_KOL_MCK}
+ TMainForm = class(TForm)
+ {$IFEND KOL_MCK}
+ btnAbout: TKOLButton;
+ btnActive: TKOLButton;
+ btnExit: TKOLButton;
+ btnReset: TKOLButton;
+ btnRunBds: TKOLButton;
+ kolActivator: TKOLProject;
+ kolMainForm: TKOLForm;
+ procedure btnAboutClick(Sender: PObj);
+ procedure btnActiveClick(Sender: PObj);
+ procedure btnExitClick(Sender: PObj);
+ procedure btnResetClick(Sender: PObj);
+ procedure btnRunBdsClick(Sender: PObj);
+ procedure kolMainFormDestroy(Sender: PObj);
+ procedure kolMainFormFormCreate(Sender: PObj);
+ function kolMainFormMessage(var Msg: TMsg; var Rslt: Integer): Boolean;
+ procedure kolMainFormShow(Sender: PObj);
+ private
+ FAppPath,
+ FBdsPath: string;
+ FCurFileBuild: Integer;
+ FSerialNumber,
+ FRegCode,
+ FInformation: string;
+ private
+ function FindBdsPath: Boolean;
+
+ function GetSystemHostsFile: string;
+
+ procedure BeginCursor;
+ procedure EndCursor;
+
+ procedure CopyFile(const ASrcFile, ADestFile: string);
+
+ procedure DeleteFile(const AFile: string);
+ procedure DeleteFiles(const AFileMask: string);
+ private
+ procedure BuildNormalCglmFile;
+ procedure BuildNormalSlipFile;
+
+ procedure GenerateRegistrationCode;
+ procedure GenerateKeyGenLicense;
+
+ procedure PatchLicenseHostsFile;
+ procedure RestoreLicenseHostsFile;
+
+ procedure PatchBdsFile;
+ procedure RestoreBdsFile;
+
+ procedure DeleteTrialFiles;
+ procedure DeleteTrialRegKeys;
+ private
+ procedure DoActive;
+ procedure DoReset;
+ procedure DoRunBds;
+
+ procedure ShowAboutMessage;
+
+ procedure Execute;
+ end;
+
+var
+ MainForm {$IFDEF KOL_MCK} : PMainForm {$ELSE} : TMainForm {$ENDIF} ;
+
+{$IFDEF KOL_MCK}
+procedure NewMainForm( var Result: PMainForm; AParent: PControl );
+{$ENDIF}
+
+implementation
+
+{.$DEFINE DEBUGMODE}
+
+uses
+ SysUtils, ShellAPI, Registry, FileUtils, PatchData, WinUtils, RadKeygen, RadVersion;
+
+{$IF Defined(KOL_MCK)}{$ELSE}{$R *.DFM}{$IFEND}
+
+{$IFDEF KOL_MCK}
+{$I MainFrm_1.inc}
+{$ENDIF}
+
+const
+ CSIDL_APPDATA = $001A; // Application Data, new for NT4, \Application Data
+ CSIDL_COMMON_APPDATA = $0023; // All Users\Application Data
+
+ UM_SHOWABOUT = 100;
+
+const
+ defAppMessage = 'Many thanks to elseif, tonzi, freecat, unis, x-force, cjack and others who worked for this keygen!';
+ defAppVersion = '15.2';
+
+ defAppHelperFileName = 'SHFolder.dll';
+
+ defBdsVersion = '20.0';
+
+ defBdsLicenseFile = 'RADStudio10_2.slip';
+ defBdsLicenseManager = '"%s" -reg -skey 8220_21 -loadKey 2026 -a';
+
+ defBdsPatchFileName = 'SHFolder.dll';
+
+ defLicenseHosts: array[0..17] of string = (
+ '127.0.0.1 appanalytics.embarcadero.com',
+ '127.0.0.1 comapi.embarcadero.com',
+ '127.0.0.1 embt.usertility.com',
+ '127.0.0.1 external.ws.sanctx.embarcadero.com',
+ '127.0.0.1 getit.embarcadero.com',
+ '127.0.0.1 installers.codegear.com',
+ '127.0.0.1 installers.embarcadero.com',
+ '127.0.0.1 license-stage.codegear.com',
+ '127.0.0.1 license.codegear.com',
+ '127.0.0.1 license.embarcadero.com',
+ '127.0.0.1 object.ws.sanctx.embarcadero.com',
+ '127.0.0.1 services.server.v8.srs.sanctuary.codegear.com',
+ '127.0.0.1 themindelectric.com',
+ '127.0.0.1 track.embarcadero.com',
+ '127.0.0.1 www.themindelectric.com',
+
+ '127.0.0.1 LicenseRenewalServicesImpl.services.server.v8.srs.sanctuary.codegear.com',
+ '127.0.0.1 LicenseUsageServicesImpl.services.server.v8.srs.sanctuary.codegear.com',
+ '127.0.0.1 RegistrationServicesImpl.services.server.v8.srs.sanctuary.codegear.com'
+ );
+
+{ TMainForm }
+
+procedure TMainForm.BeginCursor;
+begin
+ SetCursor(LoadCursor(0, IDC_WAIT));
+end;
+
+procedure TMainForm.btnAboutClick(Sender: PObj);
+begin
+{$IFDEF DEBUGMODE}
+ LogMessage('About');
+{$ENDIF}
+ ShowAboutMessage;
+end;
+
+procedure TMainForm.btnActiveClick(Sender: PObj);
+begin
+{$IFDEF DEBUGMODE}
+ LogMessage('Active');
+{$ENDIF}
+ BeginCursor;
+ try
+ DoActive;
+ finally
+ EndCursor;
+ end;
+end;
+
+procedure TMainForm.btnExitClick(Sender: PObj);
+begin
+{$IFDEF DEBUGMODE}
+ LogMessage('Exit');
+{$ENDIF}
+ Self.Form.Close;
+end;
+
+procedure TMainForm.btnResetClick(Sender: PObj);
+begin
+{$IFDEF DEBUGMODE}
+ LogMessage('Reset');
+{$ENDIF}
+ BeginCursor;
+ try
+ DoReset;
+ finally
+ EndCursor;
+ end;
+end;
+
+procedure TMainForm.btnRunBdsClick(Sender: PObj);
+begin
+{$IFDEF DEBUGMODE}
+ LogMessage('Run');
+{$ENDIF}
+ BeginCursor;
+ try
+ DoRunBds;
+ finally
+ EndCursor;
+ end;
+end;
+
+procedure TMainForm.BuildNormalCglmFile;
+var
+ S: string;
+begin
+ S := FBdsPath + 'Bin\cglm.ini';
+ SaveDataToFile(S, defCglmFileDatas, Length(defCglmFileDatas));
+ S := GetShellFolderPath(CSIDL_COMMON_APPDATA) + 'Embarcadero\Studio\' + defBdsVersion + '\cglm.ini';
+ SaveDataToFile(S, defCglmFileDatas, Length(defCglmFileDatas));
+end;
+
+procedure TMainForm.BuildNormalSlipFile;
+var
+ S: string;
+begin
+ S := FBdsPath + 'License\*.slip';
+ DeleteFiles(S);
+ S := FBdsPath + 'License\' + defBdsLicenseFile;
+ SaveDataToFile(S, defSlipFileDatas, Length(defSlipFileDatas));
+end;
+
+procedure TMainForm.CopyFile(const ASrcFile, ADestFile: string);
+{$IFDEF DEBUGMODE}
+var
+ bRet: Boolean;
+{$ENDIF}
+begin
+{$IFDEF DEBUGMODE}
+ bRet := Windows.CopyFile(PChar(ASrcFile), PChar(ADestFile), False);
+ if bRet then
+ LogMessage('CopyFile.OK: ' + ADestFile)
+ else LogMessage('CopyFile.Error: ' + ADestFile + ', ' + SysErrorMessage(GetLastError));
+{$ELSE}
+ Windows.CopyFile(PChar(ASrcFile), PChar(ADestFile), False);
+{$ENDIF}
+end;
+
+procedure TMainForm.DeleteFile(const AFile: string);
+{$IFDEF DEBUGMODE}
+var
+ bRet: Boolean;
+{$ENDIF}
+begin
+{$IFDEF DEBUGMODE}
+ LogMessage('DeleteFile: ' + AFile + ' ...');
+ bRet := Windows.DeleteFile(PChar(AFile));
+ if bRet then
+ LogMessage('DeleteFile.OK: ' + AFile)
+ else LogMessage('DeleteFile.Error: ' + AFile + ', ' + SysErrorMessage(GetLastError));
+{$ELSE}
+ Windows.DeleteFile(PChar(AFile));
+{$ENDIF}
+end;
+
+procedure TMainForm.DeleteFiles(const AFileMask: string);
+ ////////////////////////////////////////////////////////////////////////////////
+ //: Lsuper 2005.09.21
+ //: жļ
+ //
+ ////////////////////////////////////////////////////////////////////////////////
+ function IsDirNotation(const AName: string): Boolean;
+ begin
+ Result := (AName = '.') or (AName = '..');
+ end;
+var
+ cSearchRec: TSearchRec;
+ strFilePath: string;
+begin
+{$IFDEF DEBUGMODE}
+ LogMessage('DeleteFiles: ' + AFileMask + ' ...');
+{$ENDIF}
+ strFilePath := ExtractFilePath(AFileMask);
+ if FindFirst(AFileMask, faAnyFile, cSearchRec) = 0 then
+ repeat
+ if (cSearchRec.Name <> '') and not IsDirNotation(cSearchRec.Name) then
+ begin
+{$IFDEF DEBUGMODE}
+ LogMessage('DeleteFiles, File: ' + strFilePath + cSearchRec.Name);
+{$ENDIF}
+ SysUtils.DeleteFile(strFilePath + cSearchRec.Name);
+ end;
+ until FindNext(cSearchRec) <> 0;
+ SysUtils.FindClose(cSearchRec);
+end;
+
+////////////////////////////////////////////////////////////////////////////////
+//ƣLsuper 2011.01.05
+//ܣȨϢ
+//
+////////////////////////////////////////////////////////////////////////////////
+procedure TMainForm.DeleteTrialFiles;
+var
+ AllUsersPath, UserPath: string;
+begin
+{$IFDEF DEBUGMODE}
+ LogMessage('DeleteTrialFiles');
+{$ENDIF}
+ AllUsersPath := GetShellFolderPath(CSIDL_COMMON_APPDATA) + 'Embarcadero\';
+ UserPath := GetShellFolderPath(CSIDL_APPDATA) + 'Embarcadero\';
+
+{$IFDEF DEBUGMODE}
+ LogMessage('DeleteTrialFiles.AllUsersPath: ' + AllUsersPath);
+ LogMessage('DeleteTrialFiles.UserPath: ' + UserPath);
+{$ENDIF}
+
+ DeleteFile(UserPath + '.cgb_license');
+ DeleteFile(AllUsersPath + '.cgb_license');
+
+ DeleteFile(UserPath + '.licenses\.cg_license');
+ DeleteFile(AllUsersPath + '.licenses\.cg_license');
+
+ DeleteFile(AllUsersPath + 'RAD Studio Activation.slip');
+
+ DeleteFiles(AllUsersPath + '.82*.slip');
+end;
+
+procedure TMainForm.DeleteTrialRegKeys;
+begin
+{$IFDEF DEBUGMODE}
+ LogMessage('DeleteTrialRegKeys');
+{$ENDIF}
+end;
+
+procedure TMainForm.DoActive;
+var
+ S: string;
+ nBuild: Integer;
+begin
+{$IFDEF DEBUGMODE}
+ LogMessage('DoActive');
+{$ENDIF}
+ if not FindBdsPath then
+ begin
+ ShowError('No BDS find!');
+ Exit;
+ end;
+ S := FBdsPath + 'Bin\bds.exe';
+ nBuild := GetFileBuildVersion(S);
+ if nBuild <> FCurFileBuild then
+ begin
+ ShowError('BDS version not support!');
+ Exit;
+ end;
+ BuildNormalCglmFile;
+ BuildNormalSlipFile;
+ RestoreBdsFile;
+
+ GenerateRegistrationCode;
+ GenerateKeyGenLicense;
+ PatchBdsFile;
+ PatchLicenseHostsFile;
+{
+ ShowMessage('Active', 'OK!');
+}
+ ShowMessage('Active', 'OK! Code: ' + FRegCode + ', Serial: ' + FSerialNumber);
+end;
+
+procedure TMainForm.DoReset;
+begin
+{$IFDEF DEBUGMODE}
+ LogMessage('DoReset');
+{$ENDIF}
+ if not FindBdsPath then
+ begin
+ ShowError('No BDS find!');
+ Exit;
+ end;
+ DeleteTrialFiles;
+ DeleteTrialRegKeys;
+ BuildNormalCglmFile;
+ BuildNormalSlipFile;
+ RestoreBdsFile;
+ RestoreLicenseHostsFile;
+ ShowMessage('Reset', 'OK!');
+end;
+
+procedure TMainForm.DoRunBds;
+var
+ BdsExe: string;
+begin
+{$IFDEF DEBUGMODE}
+ LogMessage('DoRunBds');
+{$ENDIF}
+ if not FindBdsPath then
+ begin
+ ShowError('No BDS find!');
+ Exit;
+ end;
+ FBdsPath := FBdsPath + 'Bin';
+ BdsExe := FBdsPath + '\bds.exe';
+ ShellExecute(0, 'open', PChar(BdsExe), '-pDelphi', PChar(FBdsPath), SW_NORMAL);
+ Delay(20);
+end;
+
+procedure TMainForm.EndCursor;
+begin
+ SetCursor(LoadCursor(0, IDC_ARROW));
+end;
+
+////////////////////////////////////////////////////////////////////////////////
+//ƣLsuper 2011.09.20
+//ܣֱִ Lite İװ
+//
+////////////////////////////////////////////////////////////////////////////////
+procedure TMainForm.Execute;
+var
+ S: string;
+ nBuild: Integer;
+begin
+ if not FindBdsPath then
+ begin
+ LogMessage('No BDS find!');
+ Exit;
+ end;
+ S := FBdsPath + 'Bin\bds.exe';
+ nBuild := GetFileBuildVersion(S);
+ if nBuild <> FCurFileBuild then
+ begin
+ LogMessage('BDS version not support!');
+ Exit;
+ end;
+
+ GenerateRegistrationCode;
+ GenerateKeyGenLicense;
+ BuildNormalCglmFile;
+ BuildNormalSlipFile;
+ PatchBdsFile;
+ PatchLicenseHostsFile;
+{
+ LogMessage('Done.');
+}
+ LogMessage('Done. Code: ' + FRegCode + ', Serial: ' + FSerialNumber);
+end;
+
+////////////////////////////////////////////////////////////////////////////////
+//ƣLsuper 2013.02.15
+//ܣ Delphi
+//
+////////////////////////////////////////////////////////////////////////////////
+function TMainForm.FindBdsPath: Boolean;
+begin
+ Result := False;
+ with TRegistry.Create do
+ try
+ Access := KEY_READ;
+ RootKey := HKEY_LOCAL_MACHINE;
+ if OpenKeyReadOnly('SOFTWARE\Embarcadero\BDS\' + defBdsVersion) then
+ begin
+ FBdsPath := ReadString('RootDir');
+ CloseKey;
+ end;
+ finally
+ Free;
+ end;
+ if FBdsPath <> '' then
+ begin
+ FBdsPath := IncludeTrailingPathDelimiter(FBdsPath);
+ Result := FileExists(FBdsPath + 'Bin\bds.exe');
+ end;
+end;
+
+////////////////////////////////////////////////////////////////////////////////
+//ƣLsuper 2013.05.01
+//ܣ
+//
+//ע⣺û IPC ֪ͨͨѶ
+////////////////////////////////////////////////////////////////////////////////
+procedure TMainForm.GenerateKeyGenLicense;
+
+ function CurrentRadStudioVersion: PRadStudioVersion; inline;
+ begin
+ Assert(RadStudioVersionList.Count > 0);
+ Result := PRadStudioVersion(RadStudioVersionList.Objects[0]);
+ end;
+begin
+{$IFDEF DEBUGMODE}
+ LogMessage('GenerateKeyGenLicense');
+{$ENDIF}
+ FSerialNumber := RadKeygen.GenerateSerialNumber;
+ FRegCode := RadKeygen.GetRegistrationCode;
+ RadKeygen.GenerateLicenseFile(FSerialNumber, FRegCode, CurrentRadStudioVersion, FInformation);
+end;
+
+////////////////////////////////////////////////////////////////////////////////
+//: Lsuper 2006.09.19
+//: ע
+//
+//ע⣺û IPC ֪ͨͨѶ
+////////////////////////////////////////////////////////////////////////////////
+procedure TMainForm.GenerateRegistrationCode;
+var
+ si: TStartupInfo;
+ pi: TProcessInformation;
+ nExitCode: LongWord;
+ strHelper, strCommandLine, strWorkDir: string;
+begin
+{$IFDEF DEBUGMODE}
+ LogMessage('GenerateRegistrationCode');
+{$ENDIF}
+ strHelper := FAppPath + defAppHelperFileName;
+ if not FileExists(strHelper) then
+ SaveDataToFile(strHelper, defHelperDatas, Length(defHelperDatas));
+ strWorkDir := FBdsPath + 'Bin';
+ strCommandLine := Format('%s\LicenseManager.exe', [strWorkDir]);
+ if not FileExists(strCommandLine) then
+ raise Exception.CreateFmt('File %s not exists!', [strCommandLine]);
+ strCommandLine := Format(defBdsLicenseManager, [strCommandLine]);
+ FillChar(si, SizeOf(TStartupInfo), 0);
+ with si do
+ begin
+ cb := SizeOf(TStartupInfo);
+ dwFlags := STARTF_USESHOWWINDOW + STARTF_FORCEONFEEDBACK;
+ wShowWindow := SW_HIDE;
+ end;
+ if CreateProcessEx(nil, PChar(strCommandLine), nil, nil, False, 0, nil, PChar(strWorkDir), si, pi, AnsiString(strHelper)) then
+ try
+ WaitForSingleObject(pi.hProcess, INFINITE);
+ GetExitCodeProcess(pi.hProcess, nExitCode);
+ if nExitCode <> 0 then
+ raise Exception.Create('BdsReg error!');
+ finally
+ CloseHandle(pi.hThread);
+ CloseHandle(pi.hProcess);
+ end
+ else RaiseLastOSError;
+end;
+
+////////////////////////////////////////////////////////////////////////////////
+//ƣLsuper 2009.01.30
+//ܣȡWindowsϵͳĿ¼
+//
+////////////////////////////////////////////////////////////////////////////////
+function TMainForm.GetSystemHostsFile: string;
+const
+ defHostsFilePath = 'drivers\etc\hosts';
+var
+ nRet: LongWord;
+begin
+ SetLength(Result, MAX_PATH);
+ nRet := GetSystemDirectory(PChar(Result), MAX_PATH);
+ if nRet = 0 then
+ Result := ''
+ else begin
+ SetLength(Result, nRet);
+ Result := IncludeTrailingPathDelimiter(Result) + defHostsFilePath;
+ end;
+end;
+
+procedure TMainForm.kolMainFormDestroy(Sender: PObj);
+begin
+ LogMessage('Destroy');
+{$IFNDEF DEBUGMODE}
+ DeleteFiles(FAppPath + '*.*');
+ RemoveDirectory(PChar(FAppPath));
+{$ENDIF}
+end;
+
+procedure TMainForm.kolMainFormFormCreate(Sender: PObj);
+var
+ S: string;
+begin
+ LogMessage('Create');
+
+ FAppPath := GetShellFolderPath(CSIDL_APPDATA);
+ FAppPath := IncludeTrailingPathDelimiter(FAppPath) + 'Activator\' + defAppVersion + '\';
+ ForceDirectories(FAppPath);
+ S := GetModuleName(HInstance);
+ FCurFileBuild := GetFileBuildVersion(S);
+
+ SetEnvironmentVariable('SESSIONNAME', 'Conso1e');
+
+ if ParamStr(1) = '-process' then
+ begin
+ Execute;
+ Halt(1);
+ end;
+end;
+
+////////////////////////////////////////////////////////////////////////////////
+//ƣLsuper 2003.09.21
+//ܣϵͳ˵
+//
+////////////////////////////////////////////////////////////////////////////////
+function TMainForm.kolMainFormMessage(var Msg: TMsg;
+ var Rslt: Integer): Boolean;
+begin
+ if (Msg.message = WM_SYSCOMMAND) and (Msg.WParam = UM_SHOWABOUT) then
+ ShowAboutMessage;
+ Result := False;
+end;
+
+procedure TMainForm.kolMainFormShow(Sender: PObj);
+var
+ hMain : HMENU;
+begin
+ LogMessage('Show');
+
+ hMain := GetSystemMenu(Self.Form.Handle, False);
+ AppendMenu(hMain, MF_SEPARATOR, 0, nil);
+ AppendMenu(hMain, MF_STRING{ or MF_CHECKED}, UM_SHOWABOUT, 'About ...');
+ SetMainFormHandle(Self.Form.Handle);
+end;
+
+////////////////////////////////////////////////////////////////////////////////
+//ƣLsuper 2011.09.21
+//ܣ BDS.exe ļ
+//
+////////////////////////////////////////////////////////////////////////////////
+procedure TMainForm.PatchBdsFile;
+var
+ S: string;
+begin
+{$IFDEF DEBUGMODE}
+ LogMessage('PatchBdsFile');
+{$ENDIF}
+ S := FBdsPath + 'Bin\' + defBdsPatchFileName;
+{$IFDEF DEBUGMODE}
+ LogMessage('Patch: ' + S);
+{$ENDIF}
+ SaveDataToFile(S, defBdsPatchDllDatas, SizeOf(defBdsPatchDllDatas));
+end;
+
+procedure TMainForm.PatchLicenseHostsFile;
+var
+ F, S: string;
+ nIndex, I: Integer;
+ pList, pHosts: PStrListEx;
+begin
+{$IFDEF DEBUGMODE}
+ LogMessage('PatchLicenseHostsFile');
+{$ENDIF}
+ F := GetSystemHostsFile;
+ pHosts := NewStrListEx;
+ with pHosts^ do
+ try
+ if FileExists(F) then
+ LoadFromFile(F);
+ pList := NewStrListEx;
+ for S in defLicenseHosts do
+ pList.Add(S);
+ for I := 0 to Count - 1 do
+ begin
+ S := Trim(Items[I]);
+ nIndex := pList.IndexOf(S);
+ if nIndex >= 0 then
+ pList.Delete(nIndex);
+ end;
+ if pList.Count > 0 then
+ try
+{$IFDEF DEBUGMODE}
+ LogMessage('PatchLicenseHostsFile, SaveToFile: ' + F);
+{$ENDIF}
+ AddStrings(pList);
+ FileSetReadOnly(F, False);
+ SaveToFile(F);
+ except
+ on E: Exception do
+ LogMessage('Disable Hosts Error: ' + E.Message);
+ end;
+ pList.Free;
+ finally
+ Free;
+ end;
+end;
+
+procedure TMainForm.RestoreBdsFile;
+var
+ S: string;
+begin
+{$IFDEF DEBUGMODE}
+ LogMessage('RestoreBdsFile');
+{$ENDIF}
+ S := FBdsPath + 'Bin\' + defBdsPatchFileName;
+{$IFDEF DEBUGMODE}
+ LogMessage('Restore: ' + S);
+{$ENDIF}
+ Self.DeleteFile(S);;
+end;
+
+procedure TMainForm.RestoreLicenseHostsFile;
+var
+ F, S: string;
+ nIndex, nRet, I: Integer;
+ pList, pHosts: PStrListEx;
+begin
+{$IFDEF DEBUGMODE}
+ LogMessage('RestoreLicenseHostsFile');
+{$ENDIF}
+ F := GetSystemHostsFile;
+ if not FileExists(F) then
+ Exit;
+ pHosts := NewStrListEx;
+ with pHosts^ do
+ try
+ LoadFromFile(F);
+ pList := NewStrListEx;
+ for S in defLicenseHosts do
+ pList.Add(S);
+ nRet := 0;
+ for I := Count - 1 downto 0 do
+ begin
+ S := Trim(Items[I]);
+ nIndex := pList.IndexOf(S);
+ if nIndex < 0 then
+ Continue;
+ pHosts.Delete(I);
+ Inc(nRet);
+ end;
+ if nRet > 0 then
+ try
+{$IFDEF DEBUGMODE}
+ LogMessage('RestoreLicenseHostsFile, SaveToFile: ' + F);
+{$ENDIF}
+ FileSetReadOnly(F, False);
+ SaveToFile(F);
+ except
+ on E: Exception do
+ LogMessage('Disable Hosts Error: ' + E.Message);
+ end;
+ pList.Free;
+ finally
+ Free;
+ end;
+end;
+
+procedure TMainForm.ShowAboutMessage;
+begin
+ with Self.Form^ do
+ ShellAbout(Handle, PChar(string(Caption) + ', Lsuper'), PAnsiChar(AnsiString(defAppMessage)), Icon);
+end;
+
+end.
diff --git a/10.3.2/Activator/MainFrm_1.inc b/10.3.2/Activator/MainFrm_1.inc
new file mode 100644
index 0000000..be3df30
--- /dev/null
+++ b/10.3.2/Activator/MainFrm_1.inc
@@ -0,0 +1,49 @@
+{ KOL MCK } // Do not remove this line!
+
+procedure NewMainForm( var Result: PMainForm; AParent: PControl );
+begin
+
+ {$IFDEF KOLCLASSES}
+ Result := PMainForm.Create;
+ {$ELSE OBJECTS}
+ New( Result, Create );
+ {$ENDIF KOL CLASSES/OBJECTS}
+ Result.Form := NewForm( AParent, 'Delphi 10.3.2 Activator' ).SetPosition( 8, 8 );
+ Applet := Result.Form;
+ Result.Form.Add2AutoFree( Result );
+ Result.Form.Style := Result.Form.Style and not (WS_MINIMIZEBOX or WS_MAXIMIZEBOX);
+ Result.Form.SetClientSize( 534, 122 );
+ Result.Form.OnMessage := Result.kolMainFormMessage;
+ Result.Form.OnShow := Result.kolMainFormShow;
+ Result.Form.OnDestroy := Result.kolMainFormDestroy;
+ Result.btnAbout := NewButton( Result.Form, '&About' ).SetPosition( 325, 16 ).SetSize( 90, 90 );
+ {$IFDEF USE_MHTOOLTIP}
+ Result.btnAbout.Hint.Text := 'About';
+ {$ENDIF USE_MHTOOLTIP}
+ Result.btnReset := NewButton( Result.Form, 'Re&set' ).SetPosition( 222, 16 ).SetSize( 90, 90 );
+ {$IFDEF USE_MHTOOLTIP}
+ Result.btnReset.Hint.Text := 'Reset Delphi 10.3.2';
+ {$ENDIF USE_MHTOOLTIP}
+ Result.btnExit := NewButton( Result.Form, '&Exit' ).SetPosition( 428, 16 ).SetSize( 90, 90 );
+ {$IFDEF USE_MHTOOLTIP}
+ Result.btnExit.Hint.Text := 'Exit';
+ {$ENDIF USE_MHTOOLTIP}
+ Result.btnRunBds := NewButton( Result.Form, '&Run' ).SetPosition( 119, 16 ).SetSize( 90, 90 );
+ {$IFDEF USE_MHTOOLTIP}
+ Result.btnRunBds.Hint.Text := 'Run Delphi 10.3.2';
+ {$ENDIF USE_MHTOOLTIP}
+ Result.btnActive := NewButton( Result.Form, '&Active' ).SetPosition( 16, 16 ).SetSize( 90, 90 );
+ {$IFDEF USE_MHTOOLTIP}
+ Result.btnActive.Hint.Text := 'Active Delphi 10.3.2';
+ {$ENDIF USE_MHTOOLTIP}
+ Result.btnAbout.OnClick := Result.btnAboutClick;
+ Result.btnReset.OnClick := Result.btnResetClick;
+ Result.btnExit.OnClick := Result.btnExitClick;
+ Result.btnRunBds.OnClick := Result.btnRunBdsClick;
+ Result.btnActive.OnClick := Result.btnActiveClick;
+ Result.Form.CenterOnParent.CanResize := False;
+ Result.Form.Perform( WM_INITMENU, 0, 0 );
+ Result.kolMainFormFormCreate( Result );
+
+end;
+
diff --git a/10.3.2/Activator/PatchData.inc b/10.3.2/Activator/PatchData.inc
new file mode 100644
index 0000000..7b35617
--- /dev/null
+++ b/10.3.2/Activator/PatchData.inc
@@ -0,0 +1,3415 @@
+ defCglmFileDatas: array[0..255] of Byte = (
+ $5B, $45, $6D, $62, $61, $72, $63, $61, $64, $65, $72, $6F, $20, $4C, $69, $63,
+ $65, $6E, $73, $65, $20, $4D, $61, $6E, $61, $67, $65, $6D, $65, $6E, $74, $5D,
+ $0D, $0A, $52, $6F, $6F, $74, $44, $69, $72, $3D, $24, $7B, $4D, $4F, $44, $55,
+ $4C, $45, $5F, $44, $49, $52, $7D, $5C, $2E, $2E, $0D, $0A, $4C, $69, $63, $65,
+ $6E, $73, $65, $44, $69, $72, $3D, $24, $7B, $52, $4F, $4F, $54, $44, $49, $52,
+ $7D, $5C, $4C, $69, $63, $65, $6E, $73, $65, $0D, $0A, $49, $6E, $66, $6F, $44,
+ $69, $72, $3D, $24, $7B, $43, $4F, $4D, $4D, $4F, $4E, $5F, $41, $50, $50, $44,
+ $41, $54, $41, $7D, $5C, $45, $6D, $62, $61, $72, $63, $61, $64, $65, $72, $6F,
+ $5C, $2E, $6C, $69, $63, $65, $6E, $73, $65, $73, $0D, $0A, $53, $6C, $69, $70,
+ $44, $69, $72, $3D, $24, $7B, $43, $4F, $4D, $4D, $4F, $4E, $5F, $41, $50, $50,
+ $44, $41, $54, $41, $7D, $5C, $45, $6D, $62, $61, $72, $63, $61, $64, $65, $72,
+ $6F, $5C, $0D, $0A, $52, $65, $67, $45, $78, $65, $3D, $4C, $69, $63, $65, $6E,
+ $73, $65, $4D, $61, $6E, $61, $67, $65, $72, $2E, $65, $78, $65, $0D, $0A, $4C,
+ $6F, $63, $6B, $54, $79, $70, $65, $3D, $35, $0D, $0A, $5B, $45, $6D, $62, $61,
+ $72, $63, $61, $64, $65, $72, $6F, $20, $53, $4C, $49, $50, $20, $46, $69, $6C,
+ $65, $73, $5D, $0D, $0A, $53, $4C, $49, $50, $46, $69, $6C, $65, $3D, $0D, $0A
+ );
+
+ defSlipFileDatas: array[0..1919] of Byte = (
+ $CC, $8F, $F6, $42, $00, $00, $07, $78, $D6, $E1, $23, $6F, $D7, $83, $D2, $45,
+ $8F, $73, $42, $E9, $D6, $CF, $61, $F1, $5D, $6B, $8B, $F9, $9C, $46, $CC, $77,
+ $1E, $DF, $BB, $D4, $40, $F4, $70, $2B, $CA, $EB, $BB, $5D, $BD, $52, $59, $99,
+ $C3, $E9, $17, $E8, $3B, $49, $92, $A3, $91, $44, $8B, $34, $03, $DF, $B3, $9A,
+ $25, $A2, $09, $54, $85, $AC, $A4, $2D, $DC, $0E, $5C, $B4, $F6, $8B, $09, $C4,
+ $5B, $67, $F3, $B3, $F8, $6E, $9F, $49, $7C, $F8, $C1, $FC, $52, $DD, $7D, $51,
+ $A6, $9B, $8D, $39, $F3, $30, $64, $93, $FC, $A9, $16, $9A, $2C, $5F, $97, $D4,
+ $F1, $38, $88, $40, $05, $AC, $82, $BC, $68, $D6, $59, $20, $B1, $AF, $B1, $61,
+ $9B, $4B, $07, $A6, $AD, $EC, $28, $A2, $07, $39, $99, $EB, $A2, $5D, $CD, $08,
+ $63, $BC, $9B, $CC, $46, $E2, $14, $5C, $8B, $E2, $86, $1C, $84, $77, $46, $9B,
+ $C0, $F9, $6C, $A7, $17, $51, $A2, $A4, $B0, $1B, $88, $00, $7C, $BD, $8B, $AD,
+ $39, $CE, $74, $7F, $DA, $D1, $D3, $61, $F9, $5A, $69, $AD, $85, $83, $3F, $F5,
+ $21, $43, $E8, $DB, $AC, $5A, $EB, $78, $04, $B7, $8F, $86, $74, $C1, $15, $5C,
+ $AF, $83, $A0, $0E, $FC, $75, $11, $F0, $A7, $D5, $44, $F0, $55, $7D, $AE, $BC,
+ $95, $3E, $A6, $28, $1C, $B9, $D0, $83, $1E, $C5, $51, $71, $95, $F7, $DD, $5B,
+ $DD, $49, $4B, $C7, $FD, $A2, $5E, $8F, $35, $65, $FA, $AC, $D0, $3C, $BD, $6E,
+ $6A, $DF, $FA, $EA, $3F, $9C, $06, $37, $97, $A4, $E6, $44, $D6, $7D, $6C, $8B,
+ $E9, $F2, $09, $DD, $63, $0A, $C5, $FF, $B4, $1A, $E3, $7D, $5E, $FD, $EB, $E0,
+ $76, $F3, $7E, $62, $A7, $B9, $D3, $0C, $FB, $68, $06, $E4, $9D, $99, $36, $AB,
+ $08, $53, $B1, $88, $FD, $00, $C3, $0D, $41, $F4, $E5, $D0, $7C, $EE, $78, $53,
+ $8D, $E4, $B5, $02, $AC, $17, $77, $96, $8A, $94, $3D, $80, $34, $5E, $83, $E8,
+ $A4, $14, $83, $09, $7C, $98, $89, $F8, $35, $E8, $60, $04, $FA, $8C, $A2, $3A,
+ $9B, $28, $1A, $BA, $A0, $CB, $25, $F1, $63, $15, $D8, $9B, $9F, $2E, $B2, $0C,
+ $76, $B6, $84, $8E, $07, $DA, $19, $50, $9E, $CB, $E1, $14, $F1, $1B, $57, $FF,
+ $AD, $96, $0A, $9B, $62, $24, $D1, $C2, $B8, $5B, $E5, $6A, $02, $97, $A4, $AF,
+ $2B, $AE, $10, $7A, $F2, $C9, $91, $57, $CC, $6F, $1D, $A7, $D9, $D7, $7D, $B6,
+ $6E, $50, $F7, $D6, $E0, $3A, $C1, $0D, $1D, $DC, $FD, $E4, $05, $C5, $0A, $2D,
+ $82, $FB, $D8, $49, $D9, $3B, $4B, $9D, $EA, $89, $6F, $F8, $5F, $32, $CA, $AC,
+ $81, $39, $BC, $26, $48, $8E, $E1, $CC, $27, $FA, $56, $55, $E6, $B7, $F5, $55,
+ $8F, $33, $33, $D4, $84, $D0, $5B, $D2, $59, $72, $B2, $FB, $C6, $2A, $A9, $78,
+ $41, $8C, $DE, $DB, $7D, $B7, $33, $77, $F4, $B9, $92, $6F, $83, $0A, $2C, $C5,
+ $92, $D2, $03, $E5, $5B, $1B, $D5, $BC, $80, $29, $8D, $52, $6F, $8E, $ED, $AF,
+ $15, $A6, $7D, $1F, $90, $EF, $EA, $7C, $ED, $1C, $31, $95, $B0, $C2, $7F, $D1,
+ $6A, $74, $AB, $A3, $DD, $42, $8E, $7A, $55, $94, $F4, $D9, $38, $C0, $71, $52,
+ $F5, $B0, $DC, $04, $AF, $37, $61, $8A, $CD, $86, $6C, $C2, $3D, $16, $9B, $FB,
+ $B9, $78, $B4, $16, $40, $B0, $89, $A5, $7C, $81, $05, $0B, $8E, $CD, $CF, $6C,
+ $8E, $70, $48, $D1, $EE, $E5, $73, $E7, $5E, $3D, $EE, $9D, $D9, $61, $E9, $53,
+ $4B, $D6, $B4, $F9, $7A, $DC, $5B, $75, $AE, $E2, $96, $4B, $BE, $13, $62, $90,
+ $B6, $97, $53, $D7, $3F, $23, $C5, $FE, $EA, $11, $A1, $52, $6B, $BD, $94, $87,
+ $4C, $CD, $0A, $6A, $9D, $DC, $87, $43, $A3, $46, $5D, $B4, $81, $FE, $73, $9F,
+ $10, $70, $EC, $88, $91, $21, $9A, $15, $40, $F0, $EB, $F5, $21, $EF, $7B, $7F,
+ $A1, $96, $FB, $26, $C6, $2F, $3E, $E6, $F1, $B3, $3D, $E2, $5F, $08, $86, $D8,
+ $B0, $1E, $FF, $06, $48, $F6, $B9, $BB, $4F, $AF, $49, $6F, $E5, $FF, $DB, $75,
+ $B3, $5A, $04, $FC, $D1, $C9, $50, $96, $73, $0E, $93, $9B, $86, $10, $B7, $78,
+ $7E, $AB, $DE, $F4, $34, $9B, $41, $6D, $C9, $D7, $B6, $18, $9F, $79, $57, $90,
+ $98, $99, $63, $A2, $32, $37, $9B, $CE, $B0, $2D, $B1, $7A, $64, $81, $DC, $80,
+ $5A, $F9, $32, $41, $F7, $9E, $E1, $5E, $FD, $29, $2D, $AA, $B2, $AB, $06, $F1,
+ $1A, $41, $EE, $87, $FA, $28, $8B, $1B, $7D, $DD, $86, $9A, $4C, $BD, $25, $2A,
+ $E2, $97, $CA, $37, $E1, $68, $0E, $D4, $B0, $FC, $46, $85, $0D, $18, $AD, $8D,
+ $FB, $51, $B1, $31, $06, $A4, $BA, $F0, $1D, $A3, $15, $7C, $BB, $A7, $8D, $35,
+ $F2, $43, $01, $9E, $E7, $82, $58, $C6, $25, $7F, $F0, $E6, $B4, $6B, $E4, $43,
+ $1C, $97, $AF, $A6, $4E, $C7, $62, $31, $89, $A5, $D6, $6B, $DF, $3F, $03, $EC,
+ $A7, $D1, $2B, $F4, $2A, $58, $B1, $DB, $9C, $0D, $82, $59, $78, $F1, $9D, $87,
+ $09, $E9, $5D, $2C, $8E, $B1, $9F, $46, $D7, $30, $30, $BA, $F8, $F5, $62, $87,
+ $0D, $03, $8D, $9D, $F3, $1F, $8E, $79, $04, $FF, $AB, $D4, $44, $90, $79, $65,
+ $DF, $D2, $A1, $17, $B5, $73, $0F, $FB, $B9, $FD, $5B, $E2, $3E, $41, $B5, $D2,
+ $95, $09, $82, $41, $0C, $D4, $BA, $A3, $48, $D2, $7E, $14, $86, $AE, $9D, $13,
+ $9C, $49, $60, $E0, $95, $B1, $7F, $96, $26, $39, $C2, $A5, $F1, $03, $A2, $54,
+ $66, $87, $F2, $D8, $67, $EE, $2D, $4B, $95, $8E, $DF, $1A, $E5, $4F, $6E, $D7,
+ $A8, $C1, $38, $95, $77, $03, $C6, $FA, $F3, $63, $A8, $13, $00, $89, $C2, $F3,
+ $7C, $A8, $48, $2B, $8E, $84, $EE, $18, $A4, $01, $08, $BF, $CB, $A7, $3B, $CA,
+ $54, $59, $BA, $C2, $A4, $64, $A9, $61, $3F, $B5, $F3, $C2, $55, $F6, $36, $2B,
+ $A0, $CB, $F5, $74, $92, $37, $68, $EE, $A9, $B4, $21, $AD, $02, $6C, $C3, $F1,
+ $87, $40, $DB, $35, $3B, $90, $ED, $EA, $5C, $86, $12, $58, $C1, $8D, $FA, $71,
+ $B5, $71, $3B, $9A, $D2, $85, $68, $D6, $67, $18, $BD, $D0, $A0, $3F, $A4, $0F,
+ $58, $FD, $84, $92, $65, $E0, $2B, $4D, $91, $B3, $AC, $4A, $FF, $3D, $1D, $A4,
+ $CE, $E0, $47, $B5, $32, $59, $C2, $BC, $8C, $6F, $DF, $68, $5F, $E5, $B7, $B4,
+ $04, $FF, $60, $6E, $F1, $F7, $CC, $06, $D3, $62, $39, $EC, $CC, $FD, $26, $E6,
+ $54, $47, $FA, $8B, $89, $21, $B4, $3B, $32, $F6, $B5, $CA, $58, $DF, $45, $51,
+ $D2, $A1, $8F, $46, $E7, $52, $67, $FA, $DA, $D3, $6B, $DD, $02, $74, $AD, $FE,
+ $86, $31, $AF, $55, $47, $E4, $EB, $B9, $02, $CB, $39, $3C, $94, $84, $99, $68,
+ $EB, $34, $2E, $81, $F7, $E7, $75, $AE, $39, $64, $C4, $83, $A5, $4E, $C1, $00,
+ $49, $CB, $FB, $DD, $1C, $8B, $77, $59, $B4, $C1, $C4, $75, $9B, $7E, $0F, $D4,
+ $8E, $F5, $65, $E6, $25, $49, $98, $DC, $93, $28, $B9, $46, $52, $99, $F0, $F7,
+ $7C, $96, $56, $3D, $D0, $AB, $F3, $4A, $D1, $1F, $73, $9F, $DF, $BB, $01, $B6,
+ $56, $41, $A8, $E6, $C1, $19, $D7, $25, $7B, $90, $C9, $CA, $60, $FA, $47, $3A,
+ $8E, $BE, $9B, $58, $F9, $24, $24, $DD, $D9, $A2, $42, $C0, $29, $26, $F5, $B4,
+ $B6, $43, $AA, $01, $13, $FA, $9D, $EC, $0E, $E4, $7C, $1C, $ED, $E6, $84, $14,
+ $EE, $62, $79, $85, $DD, $A2, $57, $94, $4D, $51, $BD, $B3, $AD, $1F, $C8, $24,
+ $6A, $D7, $90, $8C, $2B, $B4, $59, $5F, $D1, $E1, $C0, $4B, $E8, $21, $31, $F8,
+ $A0, $DE, $0F, $FC, $3B, $29, $BD, $CB, $D4, $51, $AE, $1F, $3A, $A2, $D8, $EB,
+ $5B, $D8, $76, $48, $DA, $AE, $E3, $4B, $B4, $45, $4E, $E5, $EF, $9F, $74, $90,
+ $30, $2E, $BA, $C8, $B6, $2F, $E6, $16, $33, $B7, $F4, $A8, $3B, $D9, $4B, $60,
+ $F3, $9F, $CA, $7D, $F8, $07, $2E, $88, $9A, $95, $27, $F5, $09, $5A, $AC, $B4,
+ $F7, $5C, $D4, $71, $0E, $D6, $EF, $FE, $3C, $C2, $17, $20, $E9, $B4, $88, $6D,
+ $CC, $58, $4E, $F4, $F9, $FE, $2E, $A4, $6A, $26, $EC, $9E, $CD, $23, $8E, $40,
+ $08, $C1, $90, $CF, $2B, $C8, $0F, $65, $F5, $C4, $86, $76, $F7, $41, $1C, $8E,
+ $8C, $A2, $06, $C8, $22, $59, $F7, $8F, $E7, $4F, $C6, $35, $39, $8C, $E2, $E8,
+ $24, $D0, $59, $77, $CE, $B7, $91, $04, $D9, $48, $6F, $CC, $8A, $D5, $4D, $D0,
+ $1F, $3E, $CB, $F7, $E0, $4A, $83, $4A, $3B, $CC, $D8, $95, $05, $FA, $71, $77,
+ $F7, $8D, $C3, $7F, $EE, $6F, $0D, $D6, $C9, $AB, $66, $A7, $44, $22, $DA, $AF,
+ $CC, $52, $D6, $71, $5A, $C4, $FB, $89, $0F, $C5, $63, $62, $DD, $B8, $E8, $3E,
+ $DC, $09, $56, $98, $92, $FD, $5F, $F0, $7E, $46, $B8, $90, $D1, $2A, $C8, $4B,
+ $13, $D8, $83, $CC, $5C, $B3, $4D, $01, $8E, $E9, $A4, $1E, $C4, $1B, $05, $E1,
+ $D9, $EB, $10, $FC, $70, $56, $AB, $8C, $9F, $5B, $A7, $6D, $6B, $A3, $B0, $E1,
+ $3B, $E2, $44, $27, $C3, $A0, $F3, $44, $E5, $42, $27, $E2, $C0, $9A, $26, $DF,
+ $52, $3D, $B2, $F7, $81, $1F, $FA, $11, $61, $F9, $E9, $87, $4C, $FA, $7F, $33,
+ $8C, $85, $D8, $66, $F2, $48, $38, $F0, $BD, $84, $2B, $FF, $7F, $6B, $D5, $9E,
+ $BF, $69, $B6, $3E, $57, $CA, $96, $93, $09, $BB, $7D, $3C, $D9, $DC, $D1, $58,
+ $83, $12, $7C, $C7, $E8, $C9, $13, $B4, $53, $64, $FB, $8C, $C9, $63, $E6, $14,
+ $26, $C4, $C9, $F7, $56, $AE, $6B, $26, $D6, $C2, $B2, $77, $D0, $13, $1A, $E8,
+ $C4, $B5, $0E, $D8, $66, $44, $D0, $B7, $CB, $63, $94, $68, $0F, $E2, $E3, $9E,
+ $5D, $A0, $6B, $2C, $EB, $88, $BB, $33, $9F, $28, $7F, $A8, $A2, $B9, $33, $EC,
+ $54, $62, $D9, $BE, $86, $1A, $8E, $08, $55, $F5, $B6, $A8, $5C, $DD, $3E, $6E,
+ $B7, $9C, $97, $40, $FB, $31, $17, $DD, $F7, $9C, $21, $AD, $5E, $2B, $AE, $D1,
+ $8E, $6B, $8C, $60, $1B, $C7, $F0, $85, $13, $F3, $6D, $62, $BE, $C6, $B3, $76,
+ $87, $09, $7B, $A3, $ED, $AC, $2D, $D9, $7C, $18, $DE, $FC, $97, $00, $A0, $32,
+ $64, $99, $F7, $CA, $38, $A8, $58, $6E, $AA, $C9, $AC, $58, $A6, $59, $68, $9D,
+ $C5, $F2, $5F, $9C, $53, $68, $A8, $B3, $95, $64, $8B, $3F, $07, $ED, $BF, $F4,
+ $0E, $8C, $44, $12, $81, $E5, $A6, $16, $8A, $17, $11, $A7, $F6, $81, $14, $D8,
+ $14, $55, $C8, $E5, $9E, $60, $FA, $79, $24, $BD, $AA, $AB, $79, $FC, $06, $3C,
+ $FC, $DC, $98, $7B, $E5, $2F, $7D, $DA, $9B, $CA, $7B, $83, $44, $29, $E9, $BC,
+ $D3, $05, $C1, $14, $68, $87, $8B, $A5, $0B, $EC, $2E, $57, $E5, $CB, $90, $45,
+ $DE, $47, $62, $9B, $C8, $93, $3C, $C7, $3C, $08, $AE, $BC, $FE, $5D, $FC, $6A,
+ $4E, $A8, $A4, $DF, $06, $F5, $52, $29, $95, $A5, $D8, $1D, $F4, $16, $4E, $B5,
+ $A6, $C8, $10, $EF, $77, $34, $C9, $99, $A4, $7E, $A2, $3C, $22, $A2, $85, $FB,
+ $65, $D8, $68, $1E, $EC, $F6, $DD, $3E, $D7, $70, $62, $83, $E9, $E1, $27, $AF,
+ $2F, $39, $F4, $BD, $80, $3E, $F3, $3A, $0F, $C1, $F0, $F0, $16, $CE, $45, $42,
+ $B1, $BA, $C1, $57, $B1, $7C, $27, $EA, $F4, $9E, $15, $E1, $2A, $29, $9D, $FA,
+ $C0, $16, $DD, $3D, $70, $CB, $C2, $94, $7B, $FE, $4F, $0A, $9B, $DA, $9A, $0B
+ );
+
+ defBdsPatchDllDatas: array[0..13823] of Byte = (
+ $4D, $5A, $90, $00, $03, $00, $00, $00, $04, $00, $00, $00, $FF, $FF, $00, $00,
+ $B8, $00, $00, $00, $00, $00, $00, $00, $40, $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, $D8, $00, $00, $00,
+ $0E, $1F, $BA, $0E, $00, $B4, $09, $CD, $21, $B8, $01, $4C, $CD, $21, $54, $68,
+ $69, $73, $20, $70, $72, $6F, $67, $72, $61, $6D, $20, $63, $61, $6E, $6E, $6F,
+ $74, $20, $62, $65, $20, $72, $75, $6E, $20, $69, $6E, $20, $44, $4F, $53, $20,
+ $6D, $6F, $64, $65, $2E, $0D, $0D, $0A, $24, $00, $00, $00, $00, $00, $00, $00,
+ $C9, $E7, $94, $1A, $8D, $86, $FA, $49, $8D, $86, $FA, $49, $8D, $86, $FA, $49,
+ $68, $DF, $FE, $48, $88, $86, $FA, $49, $84, $FE, $69, $49, $88, $86, $FA, $49,
+ $8D, $86, $FB, $49, $A7, $86, $FA, $49, $7F, $DF, $F3, $48, $8A, $86, $FA, $49,
+ $7F, $DF, $FA, $48, $8C, $86, $FA, $49, $7F, $DF, $05, $49, $8C, $86, $FA, $49,
+ $7F, $DF, $F8, $48, $8C, $86, $FA, $49, $52, $69, $63, $68, $8D, $86, $FA, $49,
+ $00, $00, $00, $00, $00, $00, $00, $00, $50, $45, $00, $00, $4C, $01, $05, $00,
+ $E1, $70, $F1, $55, $00, $00, $00, $00, $00, $00, $00, $00, $E0, $00, $02, $21,
+ $0B, $01, $0E, $00, $00, $1C, $00, $00, $00, $18, $00, $00, $00, $00, $00, $00,
+ $80, $18, $00, $00, $00, $10, $00, $00, $00, $30, $00, $00, $00, $00, $00, $10,
+ $00, $10, $00, $00, $00, $02, $00, $00, $05, $00, $01, $00, $00, $00, $00, $00,
+ $05, $00, $01, $00, $00, $00, $00, $00, $00, $70, $00, $00, $00, $04, $00, $00,
+ $FD, $77, $00, $00, $02, $00, $40, $05, $00, $00, $10, $00, $00, $10, $00, $00,
+ $00, $00, $10, $00, $00, $10, $00, $00, $00, $00, $00, $00, $10, $00, $00, $00,
+ $B0, $36, $00, $00, $6B, $00, $00, $00, $28, $38, $00, $00, $3C, $00, $00, $00,
+ $00, $50, $00, $00, $E0, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
+ $00, $00, $00, $00, $00, $00, $00, $00, $00, $60, $00, $00, $E0, $01, $00, $00,
+ $30, $36, $00, $00, $1C, $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,
+ $50, $36, $00, $00, $40, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
+ $00, $30, $00, $00, $B0, $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,
+ $2E, $74, $65, $78, $74, $00, $00, $00, $0D, $1A, $00, $00, $00, $10, $00, $00,
+ $00, $1C, $00, $00, $00, $04, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
+ $00, $00, $00, $00, $20, $00, $00, $60, $2E, $72, $64, $61, $74, $61, $00, $00,
+ $32, $0C, $00, $00, $00, $30, $00, $00, $00, $0E, $00, $00, $00, $20, $00, $00,
+ $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $40, $00, $00, $40,
+ $2E, $64, $61, $74, $61, $00, $00, $00, $8C, $05, $00, $00, $00, $40, $00, $00,
+ $00, $04, $00, $00, $00, $2E, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
+ $00, $00, $00, $00, $40, $00, $00, $C0, $2E, $72, $73, $72, $63, $00, $00, $00,
+ $E0, $01, $00, $00, $00, $50, $00, $00, $00, $02, $00, $00, $00, $32, $00, $00,
+ $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $40, $00, $00, $40,
+ $2E, $72, $65, $6C, $6F, $63, $00, $00, $E0, $01, $00, $00, $00, $60, $00, $00,
+ $00, $02, $00, $00, $00, $34, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
+ $00, $00, $00, $00, $40, $00, $00, $42, $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, $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, $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, $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, $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, $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,
+ $51, $53, $56, $33, $F6, $56, $68, $80, $00, $00, $00, $6A, $03, $56, $6A, $01,
+ $68, $00, $00, $00, $80, $51, $FF, $15, $00, $30, $00, $10, $8B, $D8, $83, $FB,
+ $FF, $0F, $84, $81, $00, $00, $00, $57, $8D, $44, $24, $0C, $89, $74, $24, $0C,
+ $50, $53, $FF, $15, $04, $30, $00, $10, $8B, $F8, $83, $FF, $FF, $74, $61, $39,
+ $74, $24, $0C, $75, $5B, $55, $56, $56, $56, $6A, $02, $56, $53, $FF, $15, $08,
+ $30, $00, $10, $8B, $E8, $83, $FD, $FF, $74, $45, $56, $56, $56, $6A, $04, $55,
+ $FF, $15, $0C, $30, $00, $10, $8B, $D0, $85, $D2, $74, $2C, $83, $CE, $FF, $8B,
+ $CA, $85, $FF, $74, $1A, $0F, $B6, $01, $8D, $49, $01, $33, $C6, $C1, $EE, $08,
+ $0F, $B6, $C0, $33, $34, $85, $D0, $30, $00, $10, $83, $EF, $01, $75, $E6, $52,
+ $F7, $D6, $FF, $15, $10, $30, $00, $10, $55, $FF, $15, $14, $30, $00, $10, $5D,
+ $53, $FF, $15, $14, $30, $00, $10, $5F, $8B, $C6, $5E, $5B, $59, $C3, $CC, $CC,
+ $C7, $44, $24, $10, $00, $00, $00, $00, $C7, $44, $24, $0C, $00, $00, $00, $00,
+ $FF, $25, $A4, $30, $00, $10, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC,
+ $FF, $25, $A8, $30, $00, $10, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC,
+ $33, $C0, $40, $C2, $04, $00, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC,
+ $51, $81, $B9, $F0, $0F, $00, $00, $78, $56, $34, $12, $53, $8D, $99, $F0, $0F,
+ $00, $00, $74, $52, $56, $57, $8B, $3D, $18, $30, $00, $10, $8D, $44, $24, $0C,
+ $50, $6A, $40, $8D, $B1, $40, $F6, $02, $00, $6A, $02, $56, $FF, $D7, $B8, $B3,
+ $01, $00, $00, $66, $89, $06, $8D, $44, $24, $0C, $50, $FF, $74, $24, $10, $6A,
+ $02, $56, $FF, $D7, $8D, $44, $24, $0C, $50, $6A, $40, $6A, $04, $53, $FF, $D7,
+ $8D, $44, $24, $0C, $C7, $03, $78, $56, $34, $12, $50, $FF, $74, $24, $10, $6A,
+ $04, $53, $FF, $D7, $5F, $5E, $5B, $59, $C3, $CC, $CC, $CC, $CC, $CC, $CC, $CC,
+ $53, $8B, $5C, $24, $14, $56, $57, $8B, $7C, $24, $18, $53, $57, $FF, $74, $24,
+ $1C, $FF, $74, $24, $1C, $FF, $15, $44, $45, $00, $10, $8B, $F0, $85, $F6, $75,
+ $5C, $85, $DB, $74, $58, $F7, $C7, $00, $00, $FF, $FF, $74, $50, $66, $39, $07,
+ $74, $4B, $8B, $57, $04, $F7, $C2, $00, $00, $FF, $FF, $74, $40, $8B, $CA, $66,
+ $39, $02, $74, $13, $66, $8B, $01, $83, $C1, $02, $66, $83, $F8, $5C, $0F, $44,
+ $D1, $66, $83, $39, $00, $75, $ED, $0F, $B7, $02, $83, $F8, $73, $74, $05, $83,
+ $F8, $53, $75, $17, $68, $D0, $34, $00, $10, $52, $FF, $15, $1C, $30, $00, $10,
+ $85, $C0, $75, $07, $8B, $0B, $E8, $15, $FF, $FF, $FF, $8B, $C6, $5F, $5E, $5B,
+ $C2, $10, $00, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC,
+ $50, $A1, $54, $45, $00, $10, $3B, $44, $24, $04, $75, $06, $8B, $45, $2C, $C6,
+ $00, $01, $58, $FF, $25, $58, $45, $00, $10, $CC, $CC, $CC, $CC, $CC, $CC, $CC,
+ $53, $8B, $5C, $24, $08, $56, $8B, $74, $24, $10, $57, $56, $53, $FF, $15, $3C,
+ $45, $00, $10, $8B, $F8, $85, $FF, $75, $77, $3B, $1D, $5C, $45, $00, $10, $75,
+ $6F, $F7, $C6, $00, $00, $FF, $FF, $74, $67, $B9, $F4, $34, $00, $10, $8B, $C6,
+ $8A, $10, $3A, $11, $75, $1A, $84, $D2, $74, $12, $8A, $50, $01, $3A, $51, $01,
+ $75, $0E, $83, $C0, $02, $83, $C1, $02, $84, $D2, $75, $E4, $33, $C0, $EB, $05,
+ $1B, $C0, $83, $C8, $01, $85, $C0, $74, $32, $B8, $10, $35, $00, $10, $66, $90,
+ $8A, $0E, $3A, $08, $75, $1A, $84, $C9, $74, $12, $8A, $4E, $01, $3A, $48, $01,
+ $75, $0E, $83, $C6, $02, $83, $C0, $02, $84, $C9, $75, $E4, $33, $C0, $EB, $05,
+ $1B, $C0, $83, $C8, $01, $85, $C0, $8B, $C7, $75, $05, $B8, $E0, $10, $00, $10,
+ $5F, $5E, $5B, $C2, $08, $00, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC,
+ $53, $55, $8B, $6C, $24, $0C, $8B, $5C, $24, $10, $8B, $4C, $24, $14, $8B, $44,
+ $24, $18, $8B, $54, $24, $1C, $F0, $0F, $C7, $4D, $00, $5D, $5B, $C2, $14, $00,
+ $74, $67, $60, $8B, $4D, $0C, $03, $C8, $8D, $51, $02, $81, $3A, $49, $6E, $74,
+ $65, $75, $4F, $81, $7A, $04, $72, $6C, $6F, $63, $75, $46, $81, $7A, $08, $6B,
+ $65, $64, $43, $75, $3D, $81, $7A, $0C, $6F, $6D, $70, $61, $75, $34, $81, $7A,
+ $10, $72, $65, $45, $78, $75, $2B, $81, $7A, $14, $63, $68, $61, $6E, $75, $22,
+ $81, $7A, $18, $67, $65, $36, $34, $75, $19, $80, $7A, $1C, $00, $75, $13, $B8,
+ $B0, $12, $00, $10, $8B, $55, $14, $89, $02, $61, $33, $C0, $FF, $25, $4C, $45,
+ $00, $10, $61, $FF, $25, $50, $45, $00, $10, $B8, $7A, $00, $00, $C0, $FF, $25,
+ $4C, $45, $00, $10, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC,
+ $51, $56, $8B, $35, $24, $30, $00, $10, $68, $30, $35, $00, $10, $FF, $D6, $68,
+ $4C, $35, $00, $10, $A3, $60, $45, $00, $10, $FF, $D6, $8B, $35, $28, $30, $00,
+ $10, $68, $3C, $45, $00, $10, $68, $64, $35, $00, $10, $FF, $35, $60, $45, $00,
+ $10, $A3, $5C, $45, $00, $10, $FF, $D6, $BA, $10, $12, $00, $10, $8B, $C8, $E8,
+ $1A, $0B, $00, $00, $68, $74, $35, $00, $10, $FF, $35, $64, $45, $00, $10, $FF,
+ $D6, $85, $C0, $0F, $84, $6F, $01, $00, $00, $83, $3D, $60, $45, $00, $10, $00,
+ $0F, $84, $62, $01, $00, $00, $8B, $0D, $64, $45, $00, $10, $53, $55, $8D, $98,
+ $00, $FC, $FF, $FF, $8B, $51, $3C, $57, $8D, $78, $C0, $8B, $6C, $0A, $2C, $03,
+ $E9, $8B, $4C, $0A, $1C, $03, $CD, $3B, $DD, $89, $4C, $24, $10, $0F, $42, $DD,
+ $3B, $FB, $0F, $86, $2D, $01, $00, $00, $8D, $77, $03, $0F, $1F, $44, $00, $00,
+ $8B, $07, $25, $FF, $F8, $FF, $00, $3D, $C1, $E8, $1F, $00, $0F, $85, $E4, $00,
+ $00, $00, $8D, $56, $08, $8B, $CE, $3B, $F2, $0F, $83, $D7, $00, $00, $00, $90,
+ $8B, $01, $25, $FF, $F8, $FF, $00, $3D, $80, $E0, $01, $00, $74, $0A, $41, $3B,
+ $CA, $72, $ED, $E9, $BE, $00, $00, $00, $3B, $CA, $0F, $83, $B6, $00, $00, $00,
+ $83, $C1, $03, $8D, $51, $08, $3B, $CA, $0F, $83, $A8, $00, $00, $00, $66, $90,
+ $8B, $01, $25, $FF, $C7, $FF, $00, $3D, $88, $45, $13, $00, $74, $0A, $41, $3B,
+ $CA, $72, $ED, $E9, $8E, $00, $00, $00, $3B, $CA, $0F, $83, $86, $00, $00, $00,
+ $83, $C1, $03, $8D, $41, $08, $3B, $C8, $0F, $83, $78, $00, $00, $00, $BA, $0F,
+ $85, $00, $00, $66, $39, $11, $74, $07, $41, $3B, $C8, $72, $F6, $EB, $67, $3B,
+ $C8, $73, $63, $83, $C1, $06, $8D, $51, $08, $3B, $CA, $73, $59, $0F, $1F, $00,
+ $8B, $01, $25, $FF, $C7, $FF, $00, $3D, $8B, $45, $0C, $00, $74, $07, $41, $3B,
+ $CA, $72, $ED, $EB, $41, $3B, $CA, $73, $3D, $83, $C1, $03, $8D, $41, $08, $3B,
+ $C8, $73, $33, $BA, $0F, $84, $00, $00, $66, $39, $11, $74, $07, $41, $3B, $C8,
+ $72, $F6, $EB, $22, $3B, $C8, $73, $1E, $8D, $51, $06, $03, $51, $02, $3B, $D5,
+ $72, $14, $3B, $54, $24, $10, $73, $0E, $80, $3A, $B8, $75, $09, $81, $7A, $01,
+ $7A, $00, $00, $C0, $74, $10, $4F, $4E, $3B, $FB, $0F, $87, $00, $FF, $FF, $FF,
+ $5F, $5D, $5B, $5E, $59, $C3, $8D, $41, $06, $A3, $50, $45, $00, $10, $8D, $42,
+ $05, $68, $40, $45, $00, $10, $BA, $D0, $12, $00, $10, $A3, $4C, $45, $00, $10,
+ $E8, $99, $09, $00, $00, $5F, $5D, $5B, $5E, $59, $C3, $CC, $CC, $CC, $CC, $CC,
+ $81, $EC, $14, $01, $00, $00, $53, $8B, $1D, $50, $30, $00, $10, $55, $56, $57,
+ $33, $FF, $33, $ED, $57, $6A, $01, $68, $68, $45, $00, $10, $FF, $D3, $8B, $35,
+ $6C, $30, $00, $10, $85, $C0, $74, $1D, $83, $FF, $20, $73, $04, $6A, $00, $EB,
+ $02, $6A, $01, $FF, $D6, $6A, $00, $6A, $01, $68, $68, $45, $00, $10, $47, $FF,
+ $D3, $85, $C0, $75, $E3, $39, $2D, $6C, $45, $00, $10, $75, $1A, $6A, $00, $6A,
+ $00, $6A, $00, $FF, $15, $44, $30, $00, $10, $A3, $6C, $45, $00, $10, $85, $C0,
+ $75, $0A, $8D, $68, $09, $EB, $05, $BD, $01, $00, $00, $00, $6A, $00, $68, $68,
+ $45, $00, $10, $FF, $15, $40, $30, $00, $10, $85, $ED, $0F, $85, $BC, $00, $00,
+ $00, $68, $8C, $35, $00, $10, $FF, $15, $24, $30, $00, $10, $68, $44, $45, $00,
+ $10, $68, $A0, $35, $00, $10, $50, $A3, $64, $45, $00, $10, $FF, $15, $28, $30,
+ $00, $10, $BA, $60, $11, $00, $10, $8B, $C8, $E8, $E0, $08, $00, $00, $85, $C0,
+ $0F, $85, $87, $00, $00, $00, $32, $C0, $8D, $7C, $24, $10, $B9, $14, $01, $00,
+ $00, $F3, $AA, $8D, $44, $24, $10, $C7, $44, $24, $10, $14, $01, $00, $00, $50,
+ $FF, $15, $20, $30, $00, $10, $85, $C0, $74, $13, $83, $7C, $24, $20, $02, $75,
+ $07, $83, $7C, $24, $14, $05, $77, $05, $E8, $43, $FD, $FF, $FF, $33, $FF, $57,
+ $6A, $01, $68, $68, $45, $00, $10, $FF, $D3, $85, $C0, $74, $20, $0F, $1F, $00,
+ $83, $FF, $20, $73, $04, $6A, $00, $EB, $02, $6A, $01, $FF, $D6, $6A, $00, $6A,
+ $01, $68, $68, $45, $00, $10, $47, $FF, $D3, $85, $C0, $75, $E3, $83, $3D, $6C,
+ $45, $00, $10, $00, $74, $0A, $B9, $01, $00, $00, $00, $E8, $ED, $06, $00, $00,
+ $6A, $00, $68, $68, $45, $00, $10, $FF, $15, $40, $30, $00, $10, $5F, $5E, $5D,
+ $5B, $81, $C4, $14, $01, $00, $00, $C3, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC,
+ $53, $8B, $1D, $50, $30, $00, $10, $56, $33, $F6, $56, $6A, $01, $68, $68, $45,
+ $00, $10, $FF, $D3, $85, $C0, $74, $26, $57, $8B, $3D, $6C, $30, $00, $10, $90,
+ $83, $FE, $20, $73, $04, $6A, $00, $EB, $02, $6A, $01, $FF, $D7, $6A, $00, $6A,
+ $01, $68, $68, $45, $00, $10, $46, $FF, $D3, $85, $C0, $75, $E3, $5F, $83, $3D,
+ $6C, $45, $00, $10, $00, $5E, $5B, $74, $07, $33, $C9, $E8, $7D, $06, $00, $00,
+ $6A, $00, $68, $68, $45, $00, $10, $FF, $15, $40, $30, $00, $10, $E9, $51, $07,
+ $00, $00, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC,
+ $51, $57, $68, $AC, $35, $00, $10, $FF, $15, $2C, $30, $00, $10, $8B, $F8, $85,
+ $FF, $0F, $84, $80, $00, $00, $00, $53, $56, $68, $C8, $35, $00, $10, $57, $FF,
+ $15, $28, $30, $00, $10, $8B, $1D, $18, $30, $00, $10, $8B, $F0, $85, $F6, $74,
+ $24, $8D, $44, $24, $0C, $50, $6A, $40, $6A, $05, $56, $FF, $D3, $8D, $44, $24,
+ $0C, $C7, $06, $33, $C0, $C2, $0C, $50, $FF, $74, $24, $10, $C6, $46, $04, $00,
+ $6A, $FF, $56, $FF, $D3, $68, $D8, $35, $00, $10, $57, $FF, $15, $28, $30, $00,
+ $10, $8B, $F0, $85, $F6, $74, $24, $8D, $44, $24, $0C, $50, $6A, $40, $6A, $05,
+ $56, $FF, $D3, $8D, $44, $24, $0C, $C7, $06, $33, $C0, $C2, $0C, $50, $FF, $74,
+ $24, $10, $C6, $46, $04, $00, $6A, $FF, $56, $FF, $D3, $5E, $5B, $C6, $05, $48,
+ $45, $00, $10, $00, $5F, $59, $C3, $C6, $05, $48, $45, $00, $10, $01, $5F, $59,
+ $C3, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC,
+ $81, $EC, $14, $04, $00, $00, $53, $56, $57, $6A, $00, $FF, $15, $24, $30, $00,
+ $10, $8B, $D8, $8D, $44, $24, $10, $68, $08, $02, $00, $00, $50, $53, $FF, $15,
+ $30, $30, $00, $10, $66, $83, $7C, $24, $10, $00, $8D, $4C, $24, $10, $8B, $F1,
+ $74, $13, $66, $8B, $01, $83, $C1, $02, $66, $83, $F8, $5C, $0F, $44, $F1, $66,
+ $83, $39, $00, $75, $ED, $8B, $3D, $1C, $30, $00, $10, $68, $EC, $35, $00, $10,
+ $56, $FF, $D7, $85, $C0, $75, $25, $8D, $4C, $24, $10, $E8, $10, $F8, $FF, $FF,
+ $3D, $CE, $BD, $EE, $22, $74, $07, $3D, $E2, $F5, $99, $11, $75, $72, $8D, $83,
+ $48, $F7, $01, $00, $8D, $BB, $C4, $3F, $12, $00, $EB, $28, $68, $FC, $35, $00,
+ $10, $56, $FF, $D7, $85, $C0, $75, $58, $8D, $4C, $24, $10, $E8, $DF, $F7, $FF,
+ $FF, $3D, $C1, $C7, $1B, $C7, $75, $48, $8D, $83, $70, $AD, $1F, $00, $8D, $BB,
+ $00, $28, $63, $00, $8B, $35, $18, $30, $00, $10, $A3, $54, $45, $00, $10, $8B,
+ $07, $A3, $58, $45, $00, $10, $8D, $44, $24, $0C, $50, $6A, $40, $6A, $04, $57,
+ $FF, $D6, $8D, $44, $24, $0C, $C7, $07, $F0, $11, $00, $10, $50, $FF, $74, $24,
+ $10, $6A, $04, $57, $FF, $D6, $E8, $75, $FE, $FF, $FF, $E8, $B0, $FC, $FF, $FF,
+ $5F, $5E, $5B, $81, $C4, $14, $04, $00, $00, $C3, $CC, $CC, $CC, $CC, $CC, $CC,
+ $8B, $44, $24, $08, $83, $F8, $03, $77, $2F, $FF, $24, $85, $C0, $18, $00, $10,
+ $E8, $FB, $FE, $FF, $FF, $B8, $01, $00, $00, $00, $C2, $0C, $00, $80, $3D, $48,
+ $45, $00, $10, $00, $74, $12, $E8, $35, $FE, $FF, $FF, $B8, $01, $00, $00, $00,
+ $C2, $0C, $00, $E8, $B8, $FD, $FF, $FF, $B8, $01, $00, $00, $00, $C2, $0C, $00,
+ $B3, $18, $00, $10, $90, $18, $00, $10, $9D, $18, $00, $10, $9D, $18, $00, $10,
+ $56, $8B, $35, $88, $45, $00, $10, $33, $C0, $85, $F6, $74, $12, $8B, $15, $80,
+ $45, $00, $10, $3B, $0A, $74, $0B, $40, $83, $C2, $28, $3B, $C6, $72, $F4, $83,
+ $C8, $FF, $5E, $C3, $8B, $0D, $80, $45, $00, $10, $85, $C9, $75, $2B, $68, $00,
+ $05, $00, $00, $51, $FF, $35, $6C, $45, $00, $10, $C7, $05, $84, $45, $00, $10,
+ $20, $00, $00, $00, $FF, $15, $74, $30, $00, $10, $8B, $C8, $89, $0D, $80, $45,
+ $00, $10, $85, $C9, $75, $3D, $33, $C0, $C3, $8B, $15, $88, $45, $00, $10, $A1,
+ $84, $45, $00, $10, $3B, $D0, $72, $31, $6B, $C0, $50, $50, $51, $6A, $00, $FF,
+ $35, $6C, $45, $00, $10, $FF, $15, $70, $30, $00, $10, $8B, $C8, $85, $C9, $74,
+ $D5, $A1, $84, $45, $00, $10, $03, $C0, $89, $0D, $80, $45, $00, $10, $A3, $84,
+ $45, $00, $10, $8B, $15, $88, $45, $00, $10, $6B, $C2, $28, $03, $C1, $42, $89,
+ $15, $88, $45, $00, $10, $C3, $55, $8B, $EC, $81, $EC, $D8, $02, $00, $00, $A1,
+ $04, $40, $00, $10, $33, $C5, $89, $45, $FC, $8B, $C1, $C7, $85, $30, $FD, $FF,
+ $FF, $01, $00, $01, $00, $56, $8D, $8D, $30, $FD, $FF, $FF, $89, $85, $28, $FD,
+ $FF, $FF, $51, $50, $8B, $F2, $FF, $15, $7C, $30, $00, $10, $85, $C0, $0F, $84,
+ $C3, $00, $00, $00, $53, $83, $FE, $FF, $75, $0A, $8B, $1D, $88, $45, $00, $10,
+ $33, $F6, $EB, $03, $8D, $5E, $01, $3B, $F3, $0F, $83, $A7, $00, $00, $00, $6B,
+ $D6, $28, $2B, $DE, $57, $8B, $BD, $28, $FD, $FF, $FF, $89, $95, $2C, $FD, $FF,
+ $FF, $8B, $35, $80, $45, $00, $10, $8B, $45, $08, $03, $F2, $83, $E8, $00, $74,
+ $1A, $83, $E8, $01, $74, $10, $83, $E8, $01, $75, $12, $8B, $7E, $14, $C1, $E7,
+ $1D, $C1, $FF, $1F, $EB, $07, $33, $FF, $47, $EB, $02, $33, $FF, $8B, $56, $14,
+ $8B, $C2, $C1, $E0, $1E, $C1, $F8, $1F, $3B, $C7, $74, $41, $85, $FF, $74, $70,
+ $C1, $EA, $03, $33, $C9, $83, $E2, $0F, $76, $14, $0F, $B6, $44, $0E, $18, $03,
+ $06, $39, $85, $E8, $FD, $FF, $FF, $74, $4D, $41, $3B, $CA, $72, $EC, $33, $C9,
+ $85, $C9, $74, $19, $8D, $85, $30, $FD, $FF, $FF, $89, $8D, $E8, $FD, $FF, $FF,
+ $50, $FF, $B5, $28, $FD, $FF, $FF, $FF, $15, $88, $30, $00, $10, $8B, $95, $2C,
+ $FD, $FF, $FF, $83, $C2, $28, $89, $95, $2C, $FD, $FF, $FF, $83, $EB, $01, $0F,
+ $85, $6C, $FF, $FF, $FF, $5F, $5B, $8B, $4D, $FC, $33, $CD, $5E, $E8, $50, $0E,
+ $00, $00, $8B, $E5, $5D, $C3, $0F, $B6, $4C, $31, $20, $03, $4E, $08, $EB, $B0,
+ $F6, $C2, $01, $74, $0D, $8B, $0E, $8D, $41, $FB, $39, $85, $E8, $FD, $FF, $FF,
+ $74, $9E, $C1, $EA, $03, $33, $C9, $83, $E2, $0F, $76, $92, $0F, $B6, $44, $0E,
+ $20, $03, $46, $08, $39, $85, $E8, $FD, $FF, $FF, $74, $0A, $41, $3B, $CA, $72,
+ $EB, $E9, $78, $FF, $FF, $FF, $0F, $B6, $4C, $31, $18, $03, $0E, $E9, $6E, $FF,
+ $FF, $FF, $55, $8B, $EC, $83, $EC, $20, $A1, $04, $40, $00, $10, $33, $C5, $89,
+ $45, $FC, $56, $57, $6A, $00, $6A, $04, $8B, $F1, $FF, $15, $68, $30, $00, $10,
+ $8B, $F8, $83, $FF, $FF, $0F, $84, $AE, $00, $00, $00, $8D, $45, $E0, $C7, $45,
+ $E0, $1C, $00, $00, $00, $50, $57, $FF, $15, $58, $30, $00, $10, $E9, $88, $00,
+ $00, $00, $83, $7D, $E0, $10, $72, $70, $FF, $15, $80, $30, $00, $10, $39, $45,
+ $EC, $75, $65, $FF, $15, $5C, $30, $00, $10, $39, $45, $E8, $74, $5A, $83, $3E,
+ $00, $75, $22, $68, $00, $02, $00, $00, $6A, $00, $FF, $35, $6C, $45, $00, $10,
+ $C7, $46, $04, $80, $00, $00, $00, $FF, $15, $74, $30, $00, $10, $89, $06, $85,
+ $C0, $74, $4F, $EB, $25, $8B, $46, $04, $39, $46, $08, $72, $1D, $C1, $E0, $03,
+ $50, $FF, $36, $6A, $00, $FF, $35, $6C, $45, $00, $10, $FF, $15, $70, $30, $00,
+ $10, $85, $C0, $74, $2D, $D1, $66, $04, $89, $06, $8B, $56, $08, $8B, $0E, $8B,
+ $45, $E8, $89, $04, $91, $FF, $46, $08, $8D, $45, $E0, $C7, $45, $E0, $1C, $00,
+ $00, $00, $50, $57, $FF, $15, $54, $30, $00, $10, $85, $C0, $0F, $85, $70, $FF,
+ $FF, $FF, $57, $FF, $15, $14, $30, $00, $10, $8B, $4D, $FC, $5F, $33, $CD, $5E,
+ $E8, $1D, $0D, $00, $00, $8B, $E5, $5D, $C3, $55, $8B, $EC, $51, $53, $56, $8B,
+ $F1, $89, $55, $FC, $33, $DB, $89, $1E, $89, $5E, $04, $89, $5E, $08, $E8, $FF,
+ $FE, $FF, $FF, $39, $1E, $74, $42, $57, $8B, $FB, $39, $5E, $08, $76, $39, $8B,
+ $06, $FF, $34, $B8, $53, $6A, $5A, $FF, $15, $8C, $30, $00, $10, $8B, $D8, $85,
+ $DB, $74, $1C, $53, $FF, $15, $60, $30, $00, $10, $FF, $75, $08, $8B, $55, $FC,
+ $8B, $CB, $E8, $6F, $FD, $FF, $FF, $59, $53, $FF, $15, $14, $30, $00, $10, $47,
+ $6A, $00, $5B, $3B, $7E, $08, $72, $C7, $5F, $5E, $5B, $8B, $E5, $5D, $C3, $56,
+ $8B, $F1, $83, $3E, $00, $74, $44, $57, $33, $FF, $39, $7E, $08, $76, $2B, $53,
+ $8B, $06, $FF, $34, $B8, $6A, $00, $6A, $5A, $FF, $15, $8C, $30, $00, $10, $8B,
+ $D8, $85, $DB, $74, $0E, $53, $FF, $15, $64, $30, $00, $10, $53, $FF, $15, $14,
+ $30, $00, $10, $47, $3B, $7E, $08, $72, $D7, $5B, $FF, $36, $6A, $00, $FF, $35,
+ $6C, $45, $00, $10, $FF, $15, $48, $30, $00, $10, $5F, $5E, $C3, $55, $8B, $EC,
+ $83, $EC, $10, $53, $6B, $D9, $28, $56, $57, $6A, $05, $8B, $F2, $03, $1D, $80,
+ $45, $00, $10, $58, $89, $75, $F0, $89, $45, $FC, $F6, $43, $14, $01, $8B, $3B,
+ $89, $7D, $F8, $74, $0B, $2B, $F8, $6A, $07, $58, $89, $7D, $F8, $89, $45, $FC,
+ $8D, $4D, $F4, $51, $6A, $40, $50, $57, $FF, $15, $18, $30, $00, $10, $85, $C0,
+ $75, $05, $6A, $0A, $58, $EB, $7F, $85, $F6, $74, $1D, $C6, $07, $E9, $8B, $43,
+ $04, $2B, $C7, $83, $E8, $05, $89, $47, $01, $F6, $43, $14, $01, $74, $29, $8B,
+ $03, $66, $C7, $00, $EB, $F9, $EB, $20, $F6, $43, $14, $01, $74, $0F, $8D, $73,
+ $0C, $A5, $66, $A5, $A4, $8B, $7D, $F8, $8B, $75, $F0, $EB, $0B, $8B, $43, $0C,
+ $89, $07, $8A, $43, $10, $88, $47, $04, $8D, $45, $F4, $50, $FF, $75, $F4, $FF,
+ $75, $FC, $57, $FF, $15, $18, $30, $00, $10, $FF, $75, $FC, $57, $FF, $15, $4C,
+ $30, $00, $10, $50, $FF, $15, $84, $30, $00, $10, $83, $E6, $01, $8B, $CE, $83,
+ $E1, $FD, $8D, $04, $36, $0B, $C8, $8B, $43, $14, $03, $C9, $83, $E0, $F9, $0B,
+ $C8, $33, $C0, $89, $4B, $14, $5F, $5E, $5B, $8B, $E5, $5D, $C3, $55, $8B, $EC,
+ $83, $EC, $10, $53, $8B, $1D, $88, $45, $00, $10, $8B, $D1, $56, $57, $33, $FF,
+ $89, $55, $FC, $8B, $F7, $85, $DB, $0F, $84, $83, $00, $00, $00, $8B, $0D, $80,
+ $45, $00, $10, $83, $C1, $14, $8B, $01, $C1, $E0, $1E, $C1, $F8, $1F, $3B, $C2,
+ $75, $0A, $46, $83, $C1, $28, $3B, $F3, $72, $EC, $EB, $64, $83, $FE, $FF, $74,
+ $5F, $33, $C0, $8D, $4D, $F0, $85, $D2, $0F, $95, $C0, $83, $CA, $FF, $50, $E8,
+ $25, $FE, $FF, $FF, $8B, $15, $88, $45, $00, $10, $59, $3B, $F2, $73, $39, $8B,
+ $4D, $FC, $6B, $DE, $28, $A1, $80, $45, $00, $10, $8B, $44, $03, $14, $C1, $E0,
+ $1E, $C1, $F8, $1F, $3B, $C1, $74, $18, $8B, $D1, $8B, $CE, $E8, $AC, $FE, $FF,
+ $FF, $8B, $F8, $85, $FF, $75, $11, $8B, $15, $88, $45, $00, $10, $8B, $4D, $FC,
+ $46, $83, $C3, $28, $3B, $F2, $72, $CD, $8D, $4D, $F0, $E8, $3F, $FE, $FF, $FF,
+ $8B, $C7, $5F, $5E, $5B, $8B, $E5, $5D, $C3, $56, $33, $F6, $EB, $12, $83, $FE,
+ $20, $73, $04, $6A, $00, $EB, $02, $6A, $01, $FF, $15, $6C, $30, $00, $10, $46,
+ $6A, $00, $6A, $01, $68, $68, $45, $00, $10, $FF, $15, $50, $30, $00, $10, $85,
+ $C0, $75, $DB, $5E, $C3, $6A, $00, $68, $68, $45, $00, $10, $FF, $15, $40, $30,
+ $00, $10, $C3, $57, $E8, $C0, $FF, $FF, $FF, $83, $3D, $6C, $45, $00, $10, $00,
+ $74, $70, $33, $C9, $E8, $04, $FF, $FF, $FF, $8B, $F8, $85, $FF, $75, $66, $A1,
+ $74, $45, $00, $10, $53, $33, $DB, $89, $1D, $74, $45, $00, $10, $85, $C0, $74,
+ $17, $56, $8B, $30, $68, $00, $80, $00, $00, $53, $50, $FF, $15, $90, $30, $00,
+ $10, $8B, $C6, $85, $F6, $75, $EB, $5E, $FF, $35, $80, $45, $00, $10, $53, $FF,
+ $35, $6C, $45, $00, $10, $FF, $15, $48, $30, $00, $10, $FF, $35, $6C, $45, $00,
+ $10, $FF, $15, $78, $30, $00, $10, $89, $1D, $6C, $45, $00, $10, $89, $1D, $80,
+ $45, $00, $10, $89, $1D, $84, $45, $00, $10, $89, $1D, $88, $45, $00, $10, $5B,
+ $EB, $03, $6A, $02, $5F, $E8, $6B, $FF, $FF, $FF, $8B, $C7, $5F, $C3, $55, $8B,
+ $EC, $83, $EC, $30, $A1, $04, $40, $00, $10, $33, $C5, $89, $45, $FC, $8B, $45,
+ $08, $53, $56, $57, $8B, $FA, $89, $45, $D0, $89, $7D, $D4, $8B, $F1, $33, $DB,
+ $E8, $14, $FF, $FF, $FF, $39, $1D, $6C, $45, $00, $10, $0F, $84, $EB, $00, $00,
+ $00, $8B, $CE, $E8, $8A, $04, $00, $00, $85, $C0, $0F, $84, $D8, $00, $00, $00,
+ $8B, $CF, $E8, $7B, $04, $00, $00, $85, $C0, $0F, $84, $C9, $00, $00, $00, $8B,
+ $CE, $E8, $CA, $F9, $FF, $FF, $83, $F8, $FF, $0F, $85, $B5, $00, $00, $00, $E8,
+ $9D, $03, $00, $00, $8B, $F8, $85, $FF, $0F, $84, $A2, $00, $00, $00, $8B, $45,
+ $D4, $8D, $4D, $D8, $89, $75, $D8, $89, $45, $DC, $89, $7D, $E0, $E8, $E2, $00,
+ $00, $00, $85, $C0, $74, $7E, $E8, $B9, $F9, $FF, $FF, $8B, $D0, $85, $D2, $74,
+ $6F, $8B, $45, $D8, $8B, $4D, $E8, $8B, $7D, $E0, $83, $E1, $0F, $89, $02, $8B,
+ $45, $DC, $89, $42, $04, $8B, $45, $E4, $83, $E0, $01, $C1, $E1, $03, $0B, $C8,
+ $89, $7A, $08, $8B, $42, $14, $83, $E0, $80, $0B, $C8, $8B, $45, $EC, $89, $42,
+ $18, $8B, $45, $F0, $89, $42, $1C, $8B, $45, $F4, $89, $42, $20, $8B, $45, $F8,
+ $89, $4A, $14, $89, $42, $24, $39, $5D, $E4, $74, $0F, $83, $C6, $FB, $8D, $7A,
+ $0C, $A5, $66, $A5, $A4, $8B, $7D, $E0, $EB, $0B, $8B, $06, $89, $42, $0C, $8A,
+ $46, $04, $88, $42, $10, $8B, $45, $D0, $85, $C0, $74, $23, $89, $38, $EB, $1F,
+ $6A, $09, $EB, $02, $6A, $08, $5B, $8B, $CF, $E8, $67, $03, $00, $00, $EB, $0F,
+ $6A, $09, $EB, $0A, $6A, $03, $EB, $06, $6A, $07, $EB, $02, $6A, $02, $5B, $E8,
+ $41, $FE, $FF, $FF, $8B, $4D, $FC, $8B, $C3, $5F, $5E, $33, $CD, $5B, $E8, $EF,
+ $08, $00, $00, $8B, $E5, $5D, $C2, $04, $00, $56, $8B, $F1, $8A, $06, $84, $C0,
+ $74, $0C, $3C, $90, $74, $08, $3C, $CC, $74, $04, $33, $C0, $5E, $C3, $33, $C9,
+ $41, $3B, $D1, $76, $0A, $38, $04, $31, $75, $F0, $41, $3B, $CA, $72, $F6, $33,
+ $C0, $40, $5E, $C3, $55, $8B, $EC, $83, $EC, $58, $A1, $04, $40, $00, $10, $33,
+ $C5, $89, $45, $FC, $53, $33, $DB, $C6, $45, $AC, $E8, $56, $8B, $F1, $89, $5D,
+ $AD, $8A, $C3, $89, $75, $C4, $57, $C6, $45, $BC, $E9, $89, $5D, $BD, $66, $C7,
+ $45, $B4, $0F, $80, $89, $5D, $B6, $88, $45, $DF, $89, $5D, $D8, $89, $5D, $D4,
+ $89, $5E, $0C, $89, $5E, $10, $0F, $B6, $C8, $8D, $55, $E0, $8B, $46, $08, $0F,
+ $B6, $FB, $03, $C1, $03, $3E, $89, $4D, $A8, $8B, $CF, $89, $45, $C8, $E8, $2C,
+ $03, $00, $00, $F7, $45, $F8, $00, $10, $00, $00, $8B, $C8, $89, $4D, $D0, $0F,
+ $85, $19, $02, $00, $00, $89, $7D, $CC, $80, $FB, $05, $0F, $82, $84, $00, $00,
+ $00, $8B, $C7, $33, $D2, $2B, $45, $C8, $83, $E8, $05, $42, $6A, $05, $89, $45,
+ $BD, $8D, $45, $BC, $59, $89, $45, $CC, $89, $4D, $D0, $89, $55, $D4, $8B, $45,
+ $D8, $3B, $F8, $73, $0C, $0F, $B6, $45, $E0, $3B, $C8, $0F, $85, $DD, $01, $00,
+ $00, $8B, $45, $A8, $03, $C1, $83, $F8, $20, $0F, $87, $CF, $01, $00, $00, $8B,
+ $46, $10, $83, $F8, $08, $0F, $83, $C3, $01, $00, $00, $8A, $55, $DF, $88, $5C,
+ $30, $14, $8B, $46, $10, $02, $5D, $E0, $88, $54, $30, $1C, $8A, $C2, $8B, $7E,
+ $08, $FF, $46, $10, $03, $7D, $A8, $02, $45, $D0, $8B, $75, $CC, $8B, $55, $D4,
+ $88, $45, $DF, $F3, $A4, $85, $D2, $0F, $85, $2E, $01, $00, $00, $8B, $75, $C4,
+ $E9, $41, $FF, $FF, $FF, $8A, $55, $E6, $80, $FA, $E8, $75, $23, $0F, $B6, $45,
+ $E0, $2B, $45, $C8, $83, $C0, $FB, $03, $45, $F0, $03, $C7, $89, $45, $AD, $8D,
+ $45, $AC, $6A, $05, $59, $89, $45, $CC, $89, $4D, $D0, $E9, $6E, $FF, $FF, $FF,
+ $8A, $C2, $24, $FD, $3C, $E9, $75, $50, $0F, $B6, $4D, $E0, $03, $CF, $80, $FA,
+ $EB, $75, $08, $0F, $BE, $45, $F0, $03, $C8, $EB, $03, $03, $4D, $F0, $8B, $06,
+ $3B, $C1, $77, $1D, $83, $C0, $05, $3B, $C8, $73, $16, $8B, $45, $D8, $3B, $C1,
+ $0F, $83, $BD, $00, $00, $00, $89, $4D, $D8, $8B, $4D, $D0, $E9, $2D, $FF, $FF,
+ $FF, $2B, $4D, $C8, $8D, $45, $BC, $83, $E9, $05, $89, $45, $CC, $6A, $05, $89,
+ $4D, $BD, $59, $89, $4D, $D0, $EB, $29, $8A, $75, $E7, $8A, $E2, $80, $E4, $F0,
+ $80, $FC, $70, $74, $2C, $8A, $C2, $24, $FC, $3C, $E0, $74, $24, $8A, $C6, $24,
+ $F0, $3C, $80, $74, $1C, $80, $E2, $FE, $80, $FA, $C2, $0F, $85, $ED, $FE, $FF,
+ $FF, $8B, $45, $D8, $3B, $F8, $1B, $D2, $42, $89, $55, $D4, $E9, $E0, $FE, $FF,
+ $FF, $8A, $45, $E0, $0F, $B6, $C8, $03, $CF, $80, $FC, $70, $74, $0D, $8A, $C2,
+ $24, $FC, $3C, $E0, $74, $05, $03, $4D, $F0, $EB, $06, $0F, $BE, $45, $F0, $03,
+ $C8, $8B, $06, $3B, $C1, $77, $0B, $83, $C0, $05, $3B, $C8, $0F, $82, $69, $FF,
+ $FF, $FF, $8A, $C2, $24, $FC, $3C, $E0, $0F, $84, $90, $00, $00, $00, $0F, $B6,
+ $C2, $80, $FA, $0F, $75, $03, $0F, $B6, $C6, $2B, $4D, $C8, $24, $0F, $0C, $80,
+ $83, $E9, $06, $88, $45, $B5, $8D, $45, $B4, $89, $4D, $B6, $6A, $06, $E9, $01,
+ $FF, $FF, $FF, $8B, $4D, $D0, $E9, $76, $FE, $FF, $FF, $80, $FB, $05, $73, $59,
+ $8B, $7D, $C4, $0F, $B6, $F3, $6A, $05, $5A, $8B, $07, $2B, $D6, $03, $C6, $8B,
+ $C8, $89, $45, $C4, $E8, $90, $FD, $FF, $FF, $85, $C0, $75, $3C, $80, $FB, $02,
+ $73, $11, $8B, $4D, $C4, $6A, $02, $5A, $2B, $D6, $E8, $7A, $FD, $FF, $FF, $85,
+ $C0, $74, $2B, $8B, $0F, $83, $C1, $FB, $E8, $F5, $00, $00, $00, $85, $C0, $74,
+ $1D, $8B, $0F, $6A, $05, $83, $E9, $05, $5A, $E8, $5B, $FD, $FF, $FF, $85, $C0,
+ $74, $0C, $C7, $47, $0C, $01, $00, $00, $00, $33, $C0, $40, $EB, $02, $33, $C0,
+ $8B, $4D, $FC, $5F, $5E, $33, $CD, $5B, $E8, $25, $06, $00, $00, $8B, $E5, $5D,
+ $C3, $8B, $15, $74, $45, $00, $10, $56, $33, $F6, $EB, $07, $39, $72, $04, $75,
+ $4F, $8B, $12, $85, $D2, $75, $F5, $6A, $40, $68, $00, $30, $00, $00, $68, $00,
+ $10, $00, $00, $56, $FF, $15, $94, $30, $00, $10, $8B, $D0, $85, $D2, $74, $41,
+ $8D, $4A, $20, $89, $72, $04, $89, $72, $08, $8B, $F1, $2B, $F2, $8B, $42, $04,
+ $83, $C6, $20, $89, $01, $89, $4A, $04, $83, $C1, $20, $81, $FE, $E0, $0F, $00,
+ $00, $76, $EA, $A1, $74, $45, $00, $10, $89, $02, $89, $15, $74, $45, $00, $10,
+ $85, $D2, $74, $0D, $8B, $42, $04, $5E, $8B, $08, $FF, $42, $08, $89, $4A, $04,
+ $C3, $33, $C0, $5E, $C3, $8B, $15, $74, $45, $00, $10, $8B, $C1, $56, $33, $F6,
+ $25, $00, $F0, $FF, $FF, $EB, $08, $3B, $D0, $74, $0A, $8B, $F2, $8B, $12, $85,
+ $D2, $75, $F4, $5E, $C3, $8B, $42, $04, $89, $01, $83, $6A, $08, $01, $89, $4A,
+ $04, $75, $1D, $8B, $02, $85, $F6, $74, $04, $89, $06, $EB, $05, $A3, $74, $45,
+ $00, $10, $68, $00, $80, $00, $00, $6A, $00, $52, $FF, $15, $90, $30, $00, $10,
+ $5E, $C3, $55, $8B, $EC, $83, $EC, $1C, $6A, $1C, $8D, $45, $E4, $50, $51, $FF,
+ $15, $98, $30, $00, $10, $81, $7D, $F4, $00, $10, $00, $00, $75, $0B, $F6, $45,
+ $F8, $F0, $74, $05, $33, $C0, $40, $EB, $02, $33, $C0, $8B, $E5, $5D, $C3, $55,
+ $8B, $EC, $83, $EC, $24, $8B, $C1, $89, $55, $E8, $53, $57, $89, $45, $DC, $8B,
+ $D8, $33, $C0, $C7, $45, $EC, $10, $40, $00, $10, $6A, $1C, $89, $45, $F0, $8B,
+ $FA, $88, $45, $FF, $32, $C0, $59, $F3, $AA, $B5, $10, $8A, $0B, $43, $0F, $B6,
+ $C1, $88, $4D, $FE, $83, $F8, $66, $7F, $30, $74, $25, $83, $F8, $26, $74, $17,
+ $83, $F8, $2E, $74, $12, $83, $F8, $36, $74, $0D, $83, $F8, $3E, $74, $08, $83,
+ $C0, $9C, $83, $F8, $01, $77, $50, $80, $4D, $FF, $40, $88, $4A, $03, $EB, $42,
+ $80, $4D, $FF, $08, $88, $4A, $04, $EB, $39, $83, $E8, $67, $74, $2D, $2D, $89,
+ $00, $00, $00, $74, $1D, $48, $83, $E8, $01, $74, $0E, $83, $E8, $01, $75, $27,
+ $80, $4D, $FF, $04, $88, $4A, $01, $EB, $19, $80, $4D, $FF, $02, $88, $4A, $01,
+ $EB, $10, $80, $4D, $FF, $20, $88, $4A, $02, $EB, $07, $80, $4D, $FF, $10, $88,
+ $4A, $05, $80, $ED, $01, $75, $84, $8A, $6D, $FF, $0F, $B6, $C5, $C1, $E0, $17,
+ $89, $42, $18, $84, $ED, $75, $05, $FE, $C5, $88, $6D, $FF, $88, $4A, $06, $80,
+ $F9, $0F, $75, $12, $8A, $0B, $43, $88, $4D, $FE, $88, $4A, $07, $C7, $45, $EC,
+ $5A, $40, $00, $10, $EB, $18, $8A, $C1, $04, $60, $3C, $03, $77, $10, $F6, $C5,
+ $10, $74, $05, $80, $CD, $08, $EB, $03, $80, $E5, $F7, $88, $6D, $FF, $0F, $B6,
+ $F9, $56, $8B, $F7, $8B, $C7, $C1, $EE, $02, $25, $03, $00, $00, $80, $79, $05,
+ $48, $83, $C8, $FC, $40, $8B, $55, $EC, $89, $45, $E4, $8B, $45, $EC, $0F, $B6,
+ $04, $06, $03, $45, $E4, $8A, $04, $10, $8B, $55, $E8, $89, $45, $F4, $3C, $FF,
+ $75, $1F, $81, $4A, $18, $00, $30, $00, $00, $8B, $C7, $83, $E0, $FD, $C6, $45,
+ $F4, $00, $83, $F8, $24, $75, $07, $B0, $01, $89, $45, $F4, $EB, $03, $8B, $45,
+ $F4, $C6, $45, $E0, $00, $84, $C0, $79, $19, $8B, $55, $EC, $0F, $B6, $C0, $83,
+ $E0, $7F, $0F, $B7, $04, $10, $8B, $55, $E8, $89, $45, $F4, $C1, $E8, $08, $89,
+ $45, $E0, $8A, $42, $07, $84, $C0, $74, $1A, $0F, $B6, $86, $40, $41, $00, $10,
+ $8B, $75, $E4, $84, $AC, $30, $40, $41, $00, $10, $74, $07, $81, $4A, $18, $00,
+ $30, $00, $00, $8B, $45, $F4, $A8, $01, $0F, $84, $C2, $02, $00, $00, $83, $4A,
+ $18, $01, $8A, $03, $8A, $E0, $88, $42, $08, $C0, $EC, $06, $88, $65, $FB, $88,
+ $62, $09, $8A, $E0, $C0, $E8, $03, $80, $E4, $07, $24, $07, $88, $65, $FC, $88,
+ $62, $0B, $88, $45, $FD, $88, $42, $0A, $8B, $45, $E0, $84, $C0, $74, $16, $8A,
+ $4D, $FD, $0F, $B6, $C0, $D3, $E0, $8A, $4D, $FE, $84, $C0, $79, $07, $81, $4A,
+ $18, $00, $30, $00, $00, $8A, $62, $07, $84, $E4, $75, $43, $8A, $C1, $04, $27,
+ $3C, $06, $77, $3B, $80, $C1, $27, $80, $7D, $FB, $03, $75, $13, $0F, $B6, $45,
+ $FD, $0F, $B6, $C9, $8A, $84, $C8, $08, $41, $00, $10, $8A, $4D, $FC, $EB, $0C,
+ $0F, $B6, $C1, $8A, $4D, $FD, $8A, $80, $01, $41, $00, $10, $8A, $6D, $FF, $8A,
+ $62, $07, $D2, $E0, $84, $C0, $79, $07, $81, $4A, $18, $00, $30, $00, $00, $BE,
+ $DB, $41, $00, $10, $F6, $C5, $20, $74, $5E, $80, $7D, $FB, $03, $75, $09, $81,
+ $4A, $18, $00, $90, $00, $00, $EB, $4F, $8A, $45, $FE, $8A, $C8, $84, $E4, $74,
+ $0E, $BE, $C9, $41, $00, $10, $C7, $45, $E0, $DB, $41, $00, $10, $EB, $11, $8A,
+ $C8, $C7, $45, $E0, $C9, $41, $00, $10, $BE, $B1, $41, $00, $10, $80, $E1, $FE,
+ $38, $0E, $74, $0A, $83, $C6, $02, $3B, $75, $E0, $75, $F4, $EB, $0D, $0F, $B6,
+ $46, $01, $8A, $4D, $FD, $D3, $E0, $84, $C0, $79, $07, $81, $4A, $18, $00, $90,
+ $00, $00, $BE, $DB, $41, $00, $10, $8A, $4A, $07, $8B, $C7, $84, $C9, $74, $43,
+ $83, $E8, $20, $74, $22, $83, $E8, $01, $74, $0A, $83, $E8, $01, $74, $18, $83,
+ $E8, $01, $75, $3C, $8A, $45, $FD, $C6, $45, $FB, $03, $3C, $04, $0F, $84, $A6,
+ $00, $00, $00, $3C, $05, $EB, $11, $8A, $45, $FD, $C6, $45, $FB, $03, $3C, $04,
+ $0F, $87, $93, $00, $00, $00, $3C, $01, $0F, $85, $92, $00, $00, $00, $E9, $86,
+ $00, $00, $00, $2D, $8C, $00, $00, $00, $74, $79, $48, $83, $E8, $01, $74, $68,
+ $80, $7D, $FB, $03, $75, $39, $84, $C9, $74, $0C, $BE, $EA, $41, $00, $10, $BF,
+ $14, $42, $00, $10, $EB, $05, $BF, $EA, $41, $00, $10, $8A, $4D, $FE, $38, $0E,
+ $74, $09, $83, $C6, $03, $3B, $F7, $75, $F5, $EB, $58, $84, $6E, $01, $74, $53,
+ $0F, $B6, $46, $02, $8A, $4D, $FD, $D3, $E0, $84, $C0, $79, $3C, $EB, $41, $84,
+ $C9, $74, $3D, $83, $EF, $50, $74, $14, $83, $EF, $75, $74, $2C, $83, $EF, $11,
+ $74, $0F, $83, $EF, $01, $74, $05, $83, $EF, $20, $75, $24, $F6, $C5, $09, $EB,
+ $03, $F6, $C5, $06, $75, $13, $EB, $18, $8A, $45, $FD, $3C, $01, $74, $0A, $3C,
+ $05, $EB, $04, $80, $7D, $FD, $05, $76, $07, $81, $4A, $18, $00, $10, $01, $00,
+ $8A, $4D, $FE, $8A, $43, $01, $83, $C3, $02, $80, $7D, $FD, $01, $88, $45, $FA,
+ $77, $14, $80, $F9, $F6, $75, $06, $80, $4D, $F4, $02, $EB, $09, $80, $F9, $F7,
+ $75, $04, $80, $4D, $F4, $10, $8A, $4D, $FB, $0F, $B6, $C1, $83, $E8, $00, $74,
+ $65, $83, $E8, $01, $74, $57, $83, $E8, $01, $8A, $45, $FC, $75, $0D, $C6, $45,
+ $F0, $02, $F6, $C5, $10, $75, $04, $C6, $45, $F0, $04, $80, $F9, $03, $74, $5C,
+ $3C, $04, $75, $58, $F6, $C5, $10, $75, $53, $8A, $4D, $FA, $83, $4A, $18, $02,
+ $8A, $C1, $C0, $E8, $06, $43, $88, $42, $0D, $8A, $C1, $C0, $E8, $03, $24, $07,
+ $88, $4A, $0C, $88, $42, $0E, $0F, $B6, $C1, $83, $E0, $07, $88, $42, $0F, $3C,
+ $05, $75, $29, $F6, $45, $FB, $01, $75, $23, $FE, $C8, $EB, $22, $8A, $45, $FC,
+ $C6, $45, $F0, $01, $EB, $B5, $8A, $45, $FC, $F6, $C5, $10, $74, $0A, $3C, $06,
+ $75, $A9, $C6, $45, $F0, $02, $EB, $A3, $3C, $05, $EB, $99, $8B, $45, $F0, $0F,
+ $B6, $F0, $4B, $8B, $C6, $83, $E8, $01, $74, $26, $83, $E8, $01, $74, $14, $48,
+ $83, $E8, $01, $75, $24, $81, $4A, $18, $80, $00, $00, $00, $8B, $03, $89, $42,
+ $14, $EB, $16, $83, $4A, $18, $40, $66, $8B, $03, $66, $89, $42, $14, $EB, $09,
+ $83, $4A, $18, $20, $8A, $03, $88, $42, $14, $8B, $45, $F4, $03, $DE, $EB, $0C,
+ $F6, $C5, $20, $74, $07, $81, $4A, $18, $00, $90, $00, $00, $5E, $A8, $10, $74,
+ $44, $A8, $40, $74, $1F, $F6, $C5, $08, $0F, $84, $84, $00, $00, $00, $81, $4A,
+ $18, $08, $01, $00, $00, $66, $8B, $03, $83, $C3, $02, $66, $89, $42, $10, $E9,
+ $91, $00, $00, $00, $F6, $C5, $08, $74, $10, $83, $4A, $18, $08, $66, $8B, $03,
+ $83, $C3, $02, $66, $89, $42, $10, $EB, $0C, $83, $4A, $18, $10, $8B, $03, $83,
+ $C3, $04, $89, $42, $10, $8B, $4D, $F4, $F6, $C1, $04, $74, $31, $8B, $42, $18,
+ $A8, $10, $74, $05, $83, $C8, $08, $EB, $09, $A8, $08, $74, $11, $0D, $00, $08,
+ $00, $00, $89, $42, $18, $66, $8B, $03, $66, $89, $42, $14, $EB, $0D, $83, $C8,
+ $08, $89, $42, $18, $66, $8B, $03, $66, $89, $42, $10, $83, $C3, $02, $F6, $C1,
+ $02, $74, $0A, $83, $4A, $18, $04, $8A, $03, $43, $88, $42, $10, $F6, $C1, $40,
+ $74, $11, $81, $4A, $18, $10, $01, $00, $00, $8B, $03, $83, $C3, $04, $89, $42,
+ $10, $EB, $12, $F6, $C1, $20, $74, $0D, $81, $4A, $18, $04, $01, $00, $00, $8A,
+ $03, $43, $88, $42, $10, $2B, $5D, $DC, $5F, $88, $1A, $80, $FB, $0F, $5B, $76,
+ $0A, $81, $4A, $18, $00, $50, $00, $00, $C6, $02, $0F, $0F, $B6, $02, $8B, $E5,
+ $5D, $C3, $3B, $0D, $04, $40, $00, $10, $F2, $75, $02, $F2, $C3, $F2, $E9, $28,
+ $00, $00, $00, $55, $8B, $EC, $6A, $00, $FF, $15, $38, $30, $00, $10, $FF, $75,
+ $08, $FF, $15, $3C, $30, $00, $10, $68, $09, $04, $00, $C0, $FF, $15, $4C, $30,
+ $00, $10, $50, $FF, $15, $34, $30, $00, $10, $5D, $C3, $55, $8B, $EC, $81, $EC,
+ $24, $03, $00, $00, $6A, $17, $E8, $EB, $00, $00, $00, $85, $C0, $74, $05, $6A,
+ $02, $59, $CD, $29, $A3, $20, $43, $00, $10, $89, $0D, $1C, $43, $00, $10, $89,
+ $15, $18, $43, $00, $10, $89, $1D, $14, $43, $00, $10, $89, $35, $10, $43, $00,
+ $10, $89, $3D, $0C, $43, $00, $10, $66, $8C, $15, $38, $43, $00, $10, $66, $8C,
+ $0D, $2C, $43, $00, $10, $66, $8C, $1D, $08, $43, $00, $10, $66, $8C, $05, $04,
+ $43, $00, $10, $66, $8C, $25, $00, $43, $00, $10, $66, $8C, $2D, $FC, $42, $00,
+ $10, $9C, $8F, $05, $30, $43, $00, $10, $8B, $45, $00, $A3, $24, $43, $00, $10,
+ $8B, $45, $04, $A3, $28, $43, $00, $10, $8D, $45, $08, $A3, $34, $43, $00, $10,
+ $8B, $85, $DC, $FC, $FF, $FF, $C7, $05, $70, $42, $00, $10, $01, $00, $01, $00,
+ $A1, $28, $43, $00, $10, $A3, $2C, $42, $00, $10, $C7, $05, $20, $42, $00, $10,
+ $09, $04, $00, $C0, $C7, $05, $24, $42, $00, $10, $01, $00, $00, $00, $C7, $05,
+ $30, $42, $00, $10, $01, $00, $00, $00, $6A, $04, $58, $6B, $C0, $00, $C7, $80,
+ $34, $42, $00, $10, $02, $00, $00, $00, $6A, $04, $58, $6B, $C0, $00, $8B, $0D,
+ $04, $40, $00, $10, $89, $4C, $05, $F8, $6A, $04, $58, $C1, $E0, $00, $8B, $0D,
+ $00, $40, $00, $10, $89, $4C, $05, $F8, $68, $C0, $30, $00, $10, $E8, $E1, $FE,
+ $FF, $FF, $8B, $E5, $5D, $C3, $FF, $25, $9C, $30, $00, $10, $C3, $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, $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, $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, $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, $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, $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, $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, $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,
+ $14, $39, $00, $00, $22, $39, $00, $00, $30, $39, $00, $00, $46, $39, $00, $00,
+ $56, $39, $00, $00, $68, $39, $00, $00, $76, $39, $00, $00, $88, $39, $00, $00,
+ $94, $39, $00, $00, $A4, $39, $00, $00, $B8, $39, $00, $00, $CA, $39, $00, $00,
+ $DA, $39, $00, $00, $02, $3C, $00, $00, $E4, $3B, $00, $00, $C8, $3B, $00, $00,
+ $32, $3A, $00, $00, $48, $3A, $00, $00, $56, $3A, $00, $00, $62, $3A, $00, $00,
+ $76, $3A, $00, $00, $94, $3A, $00, $00, $A4, $3A, $00, $00, $B4, $3A, $00, $00,
+ $CA, $3A, $00, $00, $DA, $3A, $00, $00, $EA, $3A, $00, $00, $06, $3B, $00, $00,
+ $0E, $3B, $00, $00, $1C, $3B, $00, $00, $28, $3B, $00, $00, $36, $3B, $00, $00,
+ $4A, $3B, $00, $00, $60, $3B, $00, $00, $78, $3B, $00, $00, $8C, $3B, $00, $00,
+ $9A, $3B, $00, $00, $A8, $3B, $00, $00, $B8, $3B, $00, $00, $16, $3C, $00, $00,
+ $00, $00, $00, $00, $FE, $39, $00, $00, $12, $3A, $00, $00, $00, $00, $00, $00,
+ $0C, $2A, $00, $10, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
+ $20, $42, $00, $10, $70, $42, $00, $10, $00, $00, $00, $00, $00, $00, $00, $00,
+ $00, $00, $00, $00, $96, $30, $07, $77, $2C, $61, $0E, $EE, $BA, $51, $09, $99,
+ $19, $C4, $6D, $07, $8F, $F4, $6A, $70, $35, $A5, $63, $E9, $A3, $95, $64, $9E,
+ $32, $88, $DB, $0E, $A4, $B8, $DC, $79, $1E, $E9, $D5, $E0, $88, $D9, $D2, $97,
+ $2B, $4C, $B6, $09, $BD, $7C, $B1, $7E, $07, $2D, $B8, $E7, $91, $1D, $BF, $90,
+ $64, $10, $B7, $1D, $F2, $20, $B0, $6A, $48, $71, $B9, $F3, $DE, $41, $BE, $84,
+ $7D, $D4, $DA, $1A, $EB, $E4, $DD, $6D, $51, $B5, $D4, $F4, $C7, $85, $D3, $83,
+ $56, $98, $6C, $13, $C0, $A8, $6B, $64, $7A, $F9, $62, $FD, $EC, $C9, $65, $8A,
+ $4F, $5C, $01, $14, $D9, $6C, $06, $63, $63, $3D, $0F, $FA, $F5, $0D, $08, $8D,
+ $C8, $20, $6E, $3B, $5E, $10, $69, $4C, $E4, $41, $60, $D5, $72, $71, $67, $A2,
+ $D1, $E4, $03, $3C, $47, $D4, $04, $4B, $FD, $85, $0D, $D2, $6B, $B5, $0A, $A5,
+ $FA, $A8, $B5, $35, $6C, $98, $B2, $42, $D6, $C9, $BB, $DB, $40, $F9, $BC, $AC,
+ $E3, $6C, $D8, $32, $75, $5C, $DF, $45, $CF, $0D, $D6, $DC, $59, $3D, $D1, $AB,
+ $AC, $30, $D9, $26, $3A, $00, $DE, $51, $80, $51, $D7, $C8, $16, $61, $D0, $BF,
+ $B5, $F4, $B4, $21, $23, $C4, $B3, $56, $99, $95, $BA, $CF, $0F, $A5, $BD, $B8,
+ $9E, $B8, $02, $28, $08, $88, $05, $5F, $B2, $D9, $0C, $C6, $24, $E9, $0B, $B1,
+ $87, $7C, $6F, $2F, $11, $4C, $68, $58, $AB, $1D, $61, $C1, $3D, $2D, $66, $B6,
+ $90, $41, $DC, $76, $06, $71, $DB, $01, $BC, $20, $D2, $98, $2A, $10, $D5, $EF,
+ $89, $85, $B1, $71, $1F, $B5, $B6, $06, $A5, $E4, $BF, $9F, $33, $D4, $B8, $E8,
+ $A2, $C9, $07, $78, $34, $F9, $00, $0F, $8E, $A8, $09, $96, $18, $98, $0E, $E1,
+ $BB, $0D, $6A, $7F, $2D, $3D, $6D, $08, $97, $6C, $64, $91, $01, $5C, $63, $E6,
+ $F4, $51, $6B, $6B, $62, $61, $6C, $1C, $D8, $30, $65, $85, $4E, $00, $62, $F2,
+ $ED, $95, $06, $6C, $7B, $A5, $01, $1B, $C1, $F4, $08, $82, $57, $C4, $0F, $F5,
+ $C6, $D9, $B0, $65, $50, $E9, $B7, $12, $EA, $B8, $BE, $8B, $7C, $88, $B9, $FC,
+ $DF, $1D, $DD, $62, $49, $2D, $DA, $15, $F3, $7C, $D3, $8C, $65, $4C, $D4, $FB,
+ $58, $61, $B2, $4D, $CE, $51, $B5, $3A, $74, $00, $BC, $A3, $E2, $30, $BB, $D4,
+ $41, $A5, $DF, $4A, $D7, $95, $D8, $3D, $6D, $C4, $D1, $A4, $FB, $F4, $D6, $D3,
+ $6A, $E9, $69, $43, $FC, $D9, $6E, $34, $46, $88, $67, $AD, $D0, $B8, $60, $DA,
+ $73, $2D, $04, $44, $E5, $1D, $03, $33, $5F, $4C, $0A, $AA, $C9, $7C, $0D, $DD,
+ $3C, $71, $05, $50, $AA, $41, $02, $27, $10, $10, $0B, $BE, $86, $20, $0C, $C9,
+ $25, $B5, $68, $57, $B3, $85, $6F, $20, $09, $D4, $66, $B9, $9F, $E4, $61, $CE,
+ $0E, $F9, $DE, $5E, $98, $C9, $D9, $29, $22, $98, $D0, $B0, $B4, $A8, $D7, $C7,
+ $17, $3D, $B3, $59, $81, $0D, $B4, $2E, $3B, $5C, $BD, $B7, $AD, $6C, $BA, $C0,
+ $20, $83, $B8, $ED, $B6, $B3, $BF, $9A, $0C, $E2, $B6, $03, $9A, $D2, $B1, $74,
+ $39, $47, $D5, $EA, $AF, $77, $D2, $9D, $15, $26, $DB, $04, $83, $16, $DC, $73,
+ $12, $0B, $63, $E3, $84, $3B, $64, $94, $3E, $6A, $6D, $0D, $A8, $5A, $6A, $7A,
+ $0B, $CF, $0E, $E4, $9D, $FF, $09, $93, $27, $AE, $00, $0A, $B1, $9E, $07, $7D,
+ $44, $93, $0F, $F0, $D2, $A3, $08, $87, $68, $F2, $01, $1E, $FE, $C2, $06, $69,
+ $5D, $57, $62, $F7, $CB, $67, $65, $80, $71, $36, $6C, $19, $E7, $06, $6B, $6E,
+ $76, $1B, $D4, $FE, $E0, $2B, $D3, $89, $5A, $7A, $DA, $10, $CC, $4A, $DD, $67,
+ $6F, $DF, $B9, $F9, $F9, $EF, $BE, $8E, $43, $BE, $B7, $17, $D5, $8E, $B0, $60,
+ $E8, $A3, $D6, $D6, $7E, $93, $D1, $A1, $C4, $C2, $D8, $38, $52, $F2, $DF, $4F,
+ $F1, $67, $BB, $D1, $67, $57, $BC, $A6, $DD, $06, $B5, $3F, $4B, $36, $B2, $48,
+ $DA, $2B, $0D, $D8, $4C, $1B, $0A, $AF, $F6, $4A, $03, $36, $60, $7A, $04, $41,
+ $C3, $EF, $60, $DF, $55, $DF, $67, $A8, $EF, $8E, $6E, $31, $79, $BE, $69, $46,
+ $8C, $B3, $61, $CB, $1A, $83, $66, $BC, $A0, $D2, $6F, $25, $36, $E2, $68, $52,
+ $95, $77, $0C, $CC, $03, $47, $0B, $BB, $B9, $16, $02, $22, $2F, $26, $05, $55,
+ $BE, $3B, $BA, $C5, $28, $0B, $BD, $B2, $92, $5A, $B4, $2B, $04, $6A, $B3, $5C,
+ $A7, $FF, $D7, $C2, $31, $CF, $D0, $B5, $8B, $9E, $D9, $2C, $1D, $AE, $DE, $5B,
+ $B0, $C2, $64, $9B, $26, $F2, $63, $EC, $9C, $A3, $6A, $75, $0A, $93, $6D, $02,
+ $A9, $06, $09, $9C, $3F, $36, $0E, $EB, $85, $67, $07, $72, $13, $57, $00, $05,
+ $82, $4A, $BF, $95, $14, $7A, $B8, $E2, $AE, $2B, $B1, $7B, $38, $1B, $B6, $0C,
+ $9B, $8E, $D2, $92, $0D, $BE, $D5, $E5, $B7, $EF, $DC, $7C, $21, $DF, $DB, $0B,
+ $D4, $D2, $D3, $86, $42, $E2, $D4, $F1, $F8, $B3, $DD, $68, $6E, $83, $DA, $1F,
+ $CD, $16, $BE, $81, $5B, $26, $B9, $F6, $E1, $77, $B0, $6F, $77, $47, $B7, $18,
+ $E6, $5A, $08, $88, $70, $6A, $0F, $FF, $CA, $3B, $06, $66, $5C, $0B, $01, $11,
+ $FF, $9E, $65, $8F, $69, $AE, $62, $F8, $D3, $FF, $6B, $61, $45, $CF, $6C, $16,
+ $78, $E2, $0A, $A0, $EE, $D2, $0D, $D7, $54, $83, $04, $4E, $C2, $B3, $03, $39,
+ $61, $26, $67, $A7, $F7, $16, $60, $D0, $4D, $47, $69, $49, $DB, $77, $6E, $3E,
+ $4A, $6A, $D1, $AE, $DC, $5A, $D6, $D9, $66, $0B, $DF, $40, $F0, $3B, $D8, $37,
+ $53, $AE, $BC, $A9, $C5, $9E, $BB, $DE, $7F, $CF, $B2, $47, $E9, $FF, $B5, $30,
+ $1C, $F2, $BD, $BD, $8A, $C2, $BA, $CA, $30, $93, $B3, $53, $A6, $A3, $B4, $24,
+ $05, $36, $D0, $BA, $93, $06, $D7, $CD, $29, $57, $DE, $54, $BF, $67, $D9, $23,
+ $2E, $7A, $66, $B3, $B8, $4A, $61, $C4, $02, $1B, $68, $5D, $94, $2B, $6F, $2A,
+ $37, $BE, $0B, $B4, $A1, $8E, $0C, $C3, $1B, $DF, $05, $5A, $8D, $EF, $02, $2D,
+ $73, $00, $61, $00, $6E, $00, $63, $00, $74, $00, $75, $00, $61, $00, $72, $00,
+ $79, $00, $6C, $00, $69, $00, $62, $00, $2E, $00, $64, $00, $6C, $00, $6C, $00,
+ $00, $00, $00, $00, $41, $64, $64, $43, $6C, $69, $70, $62, $6F, $61, $72, $64,
+ $46, $6F, $72, $6D, $61, $74, $4C, $69, $73, $74, $65, $6E, $65, $72, $00, $00,
+ $52, $65, $6D, $6F, $76, $65, $43, $6C, $69, $70, $62, $6F, $61, $72, $64, $46,
+ $6F, $72, $6D, $61, $74, $4C, $69, $73, $74, $65, $6E, $65, $72, $00, $00, $00,
+ $6B, $00, $65, $00, $72, $00, $6E, $00, $65, $00, $6C, $00, $33, $00, $32, $00,
+ $2E, $00, $64, $00, $6C, $00, $6C, $00, $00, $00, $00, $00, $75, $00, $73, $00,
+ $65, $00, $72, $00, $33, $00, $32, $00, $2E, $00, $64, $00, $6C, $00, $6C, $00,
+ $00, $00, $00, $00, $47, $65, $74, $50, $72, $6F, $63, $41, $64, $64, $72, $65,
+ $73, $73, $00, $00, $4C, $64, $72, $47, $65, $74, $50, $72, $6F, $63, $65, $64,
+ $75, $72, $65, $41, $64, $64, $72, $65, $73, $73, $00, $00, $6E, $00, $74, $00,
+ $64, $00, $6C, $00, $6C, $00, $2E, $00, $64, $00, $6C, $00, $6C, $00, $00, $00,
+ $4C, $64, $72, $4C, $6F, $61, $64, $44, $6C, $6C, $00, $00, $77, $00, $69, $00,
+ $6E, $00, $74, $00, $72, $00, $75, $00, $73, $00, $74, $00, $2E, $00, $64, $00,
+ $6C, $00, $6C, $00, $00, $00, $00, $00, $57, $69, $6E, $56, $65, $72, $69, $66,
+ $79, $54, $72, $75, $73, $74, $00, $00, $57, $69, $6E, $56, $65, $72, $69, $66,
+ $79, $54, $72, $75, $73, $74, $45, $78, $00, $00, $00, $00, $62, $00, $64, $00,
+ $73, $00, $2E, $00, $65, $00, $78, $00, $65, $00, $00, $00, $4C, $00, $69, $00,
+ $63, $00, $65, $00, $6E, $00, $73, $00, $65, $00, $4D, $00, $61, $00, $6E, $00,
+ $61, $00, $67, $00, $65, $00, $72, $00, $2E, $00, $65, $00, $78, $00, $65, $00,
+ $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
+ $00, $00, $00, $00, $E1, $70, $F1, $55, $00, $00, $00, $00, $0D, $00, $00, $00,
+ $0C, $01, $00, $00, $1C, $37, $00, $00, $1C, $27, $00, $00, $00, $00, $00, $00,
+ $5C, $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, $04, $40, $00, $10,
+ $00, $00, $00, $00, $00, $00, $00, $00, $B0, $30, $00, $10, $00, $00, $00, $00,
+ $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00,
+ $00, $00, $00, $00, $E1, $70, $F1, $55, $00, $00, $00, $00, $EC, $36, $00, $00,
+ $01, $00, $00, $00, $02, $00, $00, $00, $02, $00, $00, $00, $D8, $36, $00, $00,
+ $E0, $36, $00, $00, $E8, $36, $00, $00, $B0, $10, $00, $00, $D0, $10, $00, $00,
+ $F9, $36, $00, $00, $0A, $37, $00, $00, $00, $00, $01, $00, $73, $68, $66, $6F,
+ $6C, $64, $65, $72, $2E, $64, $6C, $6C, $00, $53, $48, $47, $65, $74, $46, $6F,
+ $6C, $64, $65, $72, $50, $61, $74, $68, $41, $00, $53, $48, $47, $65, $74, $46,
+ $6F, $6C, $64, $65, $72, $50, $61, $74, $68, $57, $00, $00, $47, $43, $54, $4C,
+ $00, $10, $00, $00, $0D, $1A, $00, $00, $2E, $74, $65, $78, $74, $24, $6D, $6E,
+ $00, $00, $00, $00, $00, $30, $00, $00, $B0, $00, $00, $00, $2E, $69, $64, $61,
+ $74, $61, $24, $35, $00, $00, $00, $00, $B0, $30, $00, $00, $04, $00, $00, $00,
+ $2E, $30, $30, $63, $66, $67, $00, $00, $C0, $30, $00, $00, $EC, $05, $00, $00,
+ $2E, $72, $64, $61, $74, $61, $00, $00, $B0, $36, $00, $00, $6B, $00, $00, $00,
+ $2E, $65, $64, $61, $74, $61, $00, $00, $1C, $37, $00, $00, $0C, $01, $00, $00,
+ $2E, $72, $64, $61, $74, $61, $24, $7A, $7A, $7A, $64, $62, $67, $00, $00, $00,
+ $28, $38, $00, $00, $28, $00, $00, $00, $2E, $69, $64, $61, $74, $61, $24, $32,
+ $00, $00, $00, $00, $50, $38, $00, $00, $14, $00, $00, $00, $2E, $69, $64, $61,
+ $74, $61, $24, $33, $00, $00, $00, $00, $64, $38, $00, $00, $B0, $00, $00, $00,
+ $2E, $69, $64, $61, $74, $61, $24, $34, $00, $00, $00, $00, $14, $39, $00, $00,
+ $1E, $03, $00, $00, $2E, $69, $64, $61, $74, $61, $24, $36, $00, $00, $00, $00,
+ $00, $40, $00, $00, $14, $02, $00, $00, $2E, $64, $61, $74, $61, $00, $00, $00,
+ $20, $42, $00, $00, $6C, $03, $00, $00, $2E, $62, $73, $73, $00, $00, $00, $00,
+ $00, $50, $00, $00, $58, $00, $00, $00, $2E, $72, $73, $72, $63, $24, $30, $31,
+ $00, $00, $00, $00, $60, $50, $00, $00, $80, $01, $00, $00, $2E, $72, $73, $72,
+ $63, $24, $30, $32, $00, $00, $00, $00, $64, $38, $00, $00, $00, $00, $00, $00,
+ $00, $00, $00, $00, $F0, $39, $00, $00, $00, $30, $00, $00, $08, $39, $00, $00,
+ $00, $00, $00, $00, $00, $00, $00, $00, $26, $3A, $00, $00, $A4, $30, $00, $00,
+ $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
+ $00, $00, $00, $00, $14, $39, $00, $00, $22, $39, $00, $00, $30, $39, $00, $00,
+ $46, $39, $00, $00, $56, $39, $00, $00, $68, $39, $00, $00, $76, $39, $00, $00,
+ $88, $39, $00, $00, $94, $39, $00, $00, $A4, $39, $00, $00, $B8, $39, $00, $00,
+ $CA, $39, $00, $00, $DA, $39, $00, $00, $02, $3C, $00, $00, $E4, $3B, $00, $00,
+ $C8, $3B, $00, $00, $32, $3A, $00, $00, $48, $3A, $00, $00, $56, $3A, $00, $00,
+ $62, $3A, $00, $00, $76, $3A, $00, $00, $94, $3A, $00, $00, $A4, $3A, $00, $00,
+ $B4, $3A, $00, $00, $CA, $3A, $00, $00, $DA, $3A, $00, $00, $EA, $3A, $00, $00,
+ $06, $3B, $00, $00, $0E, $3B, $00, $00, $1C, $3B, $00, $00, $28, $3B, $00, $00,
+ $36, $3B, $00, $00, $4A, $3B, $00, $00, $60, $3B, $00, $00, $78, $3B, $00, $00,
+ $8C, $3B, $00, $00, $9A, $3B, $00, $00, $A8, $3B, $00, $00, $B8, $3B, $00, $00,
+ $16, $3C, $00, $00, $00, $00, $00, $00, $FE, $39, $00, $00, $12, $3A, $00, $00,
+ $00, $00, $00, $00, $8F, $00, $43, $72, $65, $61, $74, $65, $46, $69, $6C, $65,
+ $57, $00, $F0, $01, $47, $65, $74, $46, $69, $6C, $65, $53, $69, $7A, $65, $00,
+ $8C, $00, $43, $72, $65, $61, $74, $65, $46, $69, $6C, $65, $4D, $61, $70, $70,
+ $69, $6E, $67, $57, $00, $00, $57, $03, $4D, $61, $70, $56, $69, $65, $77, $4F,
+ $66, $46, $69, $6C, $65, $00, $D6, $04, $55, $6E, $6D, $61, $70, $56, $69, $65,
+ $77, $4F, $66, $46, $69, $6C, $65, $00, $52, $00, $43, $6C, $6F, $73, $65, $48,
+ $61, $6E, $64, $6C, $65, $00, $EF, $04, $56, $69, $72, $74, $75, $61, $6C, $50,
+ $72, $6F, $74, $65, $63, $74, $00, $00, $45, $05, $6C, $73, $74, $72, $63, $6D,
+ $70, $69, $57, $00, $A4, $02, $47, $65, $74, $56, $65, $72, $73, $69, $6F, $6E,
+ $45, $78, $57, $00, $18, $02, $47, $65, $74, $4D, $6F, $64, $75, $6C, $65, $48,
+ $61, $6E, $64, $6C, $65, $57, $00, $00, $45, $02, $47, $65, $74, $50, $72, $6F,
+ $63, $41, $64, $64, $72, $65, $73, $73, $00, $00, $3F, $03, $4C, $6F, $61, $64,
+ $4C, $69, $62, $72, $61, $72, $79, $57, $00, $00, $14, $02, $47, $65, $74, $4D,
+ $6F, $64, $75, $6C, $65, $46, $69, $6C, $65, $4E, $61, $6D, $65, $57, $00, $00,
+ $4B, $45, $52, $4E, $45, $4C, $33, $32, $2E, $64, $6C, $6C, $00, $00, $BF, $00,
+ $53, $48, $47, $65, $74, $46, $6F, $6C, $64, $65, $72, $50, $61, $74, $68, $41,
+ $00, $00, $C3, $00, $53, $48, $47, $65, $74, $46, $6F, $6C, $64, $65, $72, $50,
+ $61, $74, $68, $57, $00, $00, $53, $48, $45, $4C, $4C, $33, $32, $2E, $64, $6C,
+ $6C, $00, $EC, $02, $49, $6E, $74, $65, $72, $6C, $6F, $63, $6B, $65, $64, $45,
+ $78, $63, $68, $61, $6E, $67, $65, $00, $CD, $02, $48, $65, $61, $70, $43, $72,
+ $65, $61, $74, $65, $00, $00, $CF, $02, $48, $65, $61, $70, $46, $72, $65, $65,
+ $00, $00, $C0, $01, $47, $65, $74, $43, $75, $72, $72, $65, $6E, $74, $50, $72,
+ $6F, $63, $65, $73, $73, $00, $E9, $02, $49, $6E, $74, $65, $72, $6C, $6F, $63,
+ $6B, $65, $64, $43, $6F, $6D, $70, $61, $72, $65, $45, $78, $63, $68, $61, $6E,
+ $67, $65, $00, $00, $C4, $04, $54, $68, $72, $65, $61, $64, $33, $32, $4E, $65,
+ $78, $74, $00, $00, $C3, $04, $54, $68, $72, $65, $61, $64, $33, $32, $46, $69,
+ $72, $73, $74, $00, $C5, $01, $47, $65, $74, $43, $75, $72, $72, $65, $6E, $74,
+ $54, $68, $72, $65, $61, $64, $49, $64, $00, $00, $BA, $04, $53, $75, $73, $70,
+ $65, $6E, $64, $54, $68, $72, $65, $61, $64, $00, $13, $04, $52, $65, $73, $75,
+ $6D, $65, $54, $68, $72, $65, $61, $64, $00, $00, $BE, $00, $43, $72, $65, $61,
+ $74, $65, $54, $6F, $6F, $6C, $68, $65, $6C, $70, $33, $32, $53, $6E, $61, $70,
+ $73, $68, $6F, $74, $00, $00, $B2, $04, $53, $6C, $65, $65, $70, $00, $D2, $02,
+ $48, $65, $61, $70, $52, $65, $41, $6C, $6C, $6F, $63, $00, $CB, $02, $48, $65,
+ $61, $70, $41, $6C, $6C, $6F, $63, $00, $CE, $02, $48, $65, $61, $70, $44, $65,
+ $73, $74, $72, $6F, $79, $00, $86, $02, $47, $65, $74, $54, $68, $72, $65, $61,
+ $64, $43, $6F, $6E, $74, $65, $78, $74, $00, $00, $C1, $01, $47, $65, $74, $43,
+ $75, $72, $72, $65, $6E, $74, $50, $72, $6F, $63, $65, $73, $73, $49, $64, $00,
+ $58, $01, $46, $6C, $75, $73, $68, $49, $6E, $73, $74, $72, $75, $63, $74, $69,
+ $6F, $6E, $43, $61, $63, $68, $65, $00, $91, $04, $53, $65, $74, $54, $68, $72,
+ $65, $61, $64, $43, $6F, $6E, $74, $65, $78, $74, $00, $00, $85, $03, $4F, $70,
+ $65, $6E, $54, $68, $72, $65, $61, $64, $00, $00, $EC, $04, $56, $69, $72, $74,
+ $75, $61, $6C, $46, $72, $65, $65, $00, $E9, $04, $56, $69, $72, $74, $75, $61,
+ $6C, $41, $6C, $6C, $6F, $63, $00, $00, $F1, $04, $56, $69, $72, $74, $75, $61,
+ $6C, $51, $75, $65, $72, $79, $00, $00, $D3, $04, $55, $6E, $68, $61, $6E, $64,
+ $6C, $65, $64, $45, $78, $63, $65, $70, $74, $69, $6F, $6E, $46, $69, $6C, $74,
+ $65, $72, $00, $00, $A5, $04, $53, $65, $74, $55, $6E, $68, $61, $6E, $64, $6C,
+ $65, $64, $45, $78, $63, $65, $70, $74, $69, $6F, $6E, $46, $69, $6C, $74, $65,
+ $72, $00, $C0, $04, $54, $65, $72, $6D, $69, $6E, $61, $74, $65, $50, $72, $6F,
+ $63, $65, $73, $73, $00, $00, $04, $03, $49, $73, $50, $72, $6F, $63, $65, $73,
+ $73, $6F, $72, $46, $65, $61, $74, $75, $72, $65, $50, $72, $65, $73, $65, $6E,
+ $74, $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,
+ $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, $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, $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, $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, $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, $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, $00, $00, $00, $00, $00, $00,
+ $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
+ $B1, $19, $BF, $44, $4E, $E6, $40, $BB, $00, $00, $00, $00, $00, $00, $00, $00,
+ $A3, $A8, $A3, $A8, $A3, $A8, $A3, $A8, $A3, $A8, $A3, $A8, $A3, $A8, $A3, $A8,
+ $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AC, $AA, $B2, $AA, $9F, $9F, $9F, $9F,
+ $B5, $A3, $A3, $A4, $AA, $AA, $BA, $AA, $96, $AA, $A8, $AA, $C3, $C3, $96, $96,
+ $B7, $AE, $D6, $BD, $A3, $C5, $A3, $A3, $9F, $C3, $9C, $AA, $AA, $AC, $AA, $BF,
+ $03, $7F, $11, $7F, $01, $7F, $01, $3F, $01, $01, $90, $82, $7D, $97, $59, $59,
+ $59, $59, $59, $7F, $59, $59, $60, $7D, $7F, $7F, $59, $59, $59, $59, $59, $59,
+ $59, $59, $59, $59, $59, $59, $9A, $88, $7D, $59, $50, $50, $50, $50, $59, $59,
+ $59, $59, $61, $94, $61, $9E, $59, $59, $85, $59, $92, $A3, $60, $60, $59, $59,
+ $59, $59, $59, $59, $59, $59, $59, $59, $59, $9F, $01, $03, $01, $04, $03, $D5,
+ $03, $CC, $01, $BC, $03, $F0, $10, $10, $10, $10, $50, $50, $50, $50, $14, $20,
+ $20, $20, $20, $01, $01, $01, $01, $C4, $02, $10, $00, $00, $00, $00, $01, $01,
+ $C0, $C2, $10, $11, $02, $03, $11, $03, $03, $04, $00, $00, $14, $00, $02, $00,
+ $00, $C6, $C8, $02, $02, $02, $02, $00, $00, $FF, $FF, $FF, $FF, $00, $00, $00,
+ $FF, $CA, $01, $01, $01, $00, $06, $00, $04, $00, $C0, $C2, $01, $01, $03, $01,
+ $FF, $FF, $01, $00, $03, $C4, $C4, $C6, $03, $01, $01, $01, $FF, $03, $03, $03,
+ $C8, $40, $00, $0A, $00, $04, $00, $00, $00, $00, $7F, $00, $33, $01, $00, $00,
+ $00, $00, $00, $00, $FF, $BF, $FF, $FF, $00, $00, $00, $00, $07, $00, $00, $FF,
+ $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $FF, $FF,
+ $00, $00, $00, $BF, $00, $00, $00, $00, $00, $00, $00, $00, $7F, $00, $00, $FF,
+ $4A, $4A, $4A, $4A, $4B, $52, $4A, $4A, $4A, $4A, $4F, $4C, $4A, $4A, $4A, $4A,
+ $4A, $4A, $4A, $4A, $55, $45, $40, $4A, $4A, $4A, $45, $59, $4D, $46, $4A, $5D,
+ $4A, $4A, $4A, $4A, $4A, $4A, $4A, $4A, $4A, $4A, $4A, $4A, $4A, $4A, $61, $63,
+ $67, $4E, $4A, $4A, $6B, $6D, $4A, $4A, $45, $6D, $4A, $4A, $44, $45, $4A, $4A,
+ $00, $00, $00, $02, $0D, $06, $06, $06, $06, $0E, $00, $00, $00, $00, $06, $06,
+ $06, $00, $06, $06, $02, $06, $00, $0A, $0A, $07, $07, $06, $02, $05, $05, $02,
+ $02, $00, $00, $04, $04, $04, $04, $00, $00, $00, $0E, $05, $06, $06, $06, $01,
+ $06, $00, $00, $08, $00, $10, $00, $18, $00, $20, $00, $28, $00, $30, $00, $80,
+ $01, $82, $01, $86, $00, $F6, $CF, $FE, $3F, $AB, $00, $B0, $00, $B1, $00, $B3,
+ $00, $BA, $F8, $BB, $00, $C0, $00, $C1, $00, $C7, $BF, $62, $FF, $00, $8D, $FF,
+ $00, $C4, $FF, $00, $C5, $FF, $00, $FF, $FF, $EB, $01, $FF, $0E, $12, $08, $00,
+ $13, $09, $00, $16, $08, $00, $17, $09, $00, $2B, $09, $00, $AE, $FF, $07, $B2,
+ $FF, $00, $B4, $FF, $00, $B5, $FF, $00, $C3, $01, $00, $C7, $FF, $BF, $E7, $08,
+ $00, $F0, $02, $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, $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, $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,
+ $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, $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, $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, $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, $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, $00, $00, $00, $01, $00,
+ $18, $00, $00, $00, $18, $00, $00, $80, $00, $00, $00, $00, $00, $00, $00, $00,
+ $00, $00, $00, $00, $00, $00, $01, $00, $02, $00, $00, $00, $30, $00, $00, $80,
+ $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00,
+ $09, $04, $00, $00, $48, $00, $00, $00, $60, $50, $00, $00, $7D, $01, $00, $00,
+ $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
+ $3C, $3F, $78, $6D, $6C, $20, $76, $65, $72, $73, $69, $6F, $6E, $3D, $27, $31,
+ $2E, $30, $27, $20, $65, $6E, $63, $6F, $64, $69, $6E, $67, $3D, $27, $55, $54,
+ $46, $2D, $38, $27, $20, $73, $74, $61, $6E, $64, $61, $6C, $6F, $6E, $65, $3D,
+ $27, $79, $65, $73, $27, $3F, $3E, $0D, $0A, $3C, $61, $73, $73, $65, $6D, $62,
+ $6C, $79, $20, $78, $6D, $6C, $6E, $73, $3D, $27, $75, $72, $6E, $3A, $73, $63,
+ $68, $65, $6D, $61, $73, $2D, $6D, $69, $63, $72, $6F, $73, $6F, $66, $74, $2D,
+ $63, $6F, $6D, $3A, $61, $73, $6D, $2E, $76, $31, $27, $20, $6D, $61, $6E, $69,
+ $66, $65, $73, $74, $56, $65, $72, $73, $69, $6F, $6E, $3D, $27, $31, $2E, $30,
+ $27, $3E, $0D, $0A, $20, $20, $3C, $74, $72, $75, $73, $74, $49, $6E, $66, $6F,
+ $20, $78, $6D, $6C, $6E, $73, $3D, $22, $75, $72, $6E, $3A, $73, $63, $68, $65,
+ $6D, $61, $73, $2D, $6D, $69, $63, $72, $6F, $73, $6F, $66, $74, $2D, $63, $6F,
+ $6D, $3A, $61, $73, $6D, $2E, $76, $33, $22, $3E, $0D, $0A, $20, $20, $20, $20,
+ $3C, $73, $65, $63, $75, $72, $69, $74, $79, $3E, $0D, $0A, $20, $20, $20, $20,
+ $20, $20, $3C, $72, $65, $71, $75, $65, $73, $74, $65, $64, $50, $72, $69, $76,
+ $69, $6C, $65, $67, $65, $73, $3E, $0D, $0A, $20, $20, $20, $20, $20, $20, $20,
+ $20, $3C, $72, $65, $71, $75, $65, $73, $74, $65, $64, $45, $78, $65, $63, $75,
+ $74, $69, $6F, $6E, $4C, $65, $76, $65, $6C, $20, $6C, $65, $76, $65, $6C, $3D,
+ $27, $61, $73, $49, $6E, $76, $6F, $6B, $65, $72, $27, $20, $75, $69, $41, $63,
+ $63, $65, $73, $73, $3D, $27, $66, $61, $6C, $73, $65, $27, $20, $2F, $3E, $0D,
+ $0A, $20, $20, $20, $20, $20, $20, $3C, $2F, $72, $65, $71, $75, $65, $73, $74,
+ $65, $64, $50, $72, $69, $76, $69, $6C, $65, $67, $65, $73, $3E, $0D, $0A, $20,
+ $20, $20, $20, $3C, $2F, $73, $65, $63, $75, $72, $69, $74, $79, $3E, $0D, $0A,
+ $20, $20, $3C, $2F, $74, $72, $75, $73, $74, $49, $6E, $66, $6F, $3E, $0D, $0A,
+ $3C, $2F, $61, $73, $73, $65, $6D, $62, $6C, $79, $3E, $0D, $0A, $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, $10, $00, $00, $54, $01, $00, $00, $18, $30, $34, $30, $4F, $30, $62, $30,
+ $86, $30, $94, $30, $9B, $30, $A3, $30, $C2, $30, $D2, $30, $08, $31, $77, $31,
+ $C5, $31, $CC, $31, $F2, $31, $05, $32, $1F, $32, $2B, $32, $3A, $32, $6A, $32,
+ $9C, $32, $20, $33, $2E, $33, $35, $33, $40, $33, $54, $33, $59, $33, $60, $33,
+ $65, $33, $6D, $33, $72, $33, $77, $33, $7D, $33, $82, $33, $89, $33, $95, $33,
+ $9B, $33, $AB, $33, $B8, $33, $FA, $34, $02, $35, $07, $35, $0C, $35, $29, $35,
+ $38, $35, $40, $35, $5A, $35, $67, $35, $75, $35, $7A, $35, $8F, $35, $95, $35,
+ $A2, $35, $A8, $35, $AD, $35, $B2, $35, $B8, $35, $BE, $35, $C3, $35, $F2, $35,
+ $13, $36, $32, $36, $3F, $36, $53, $36, $59, $36, $73, $36, $7E, $36, $8B, $36,
+ $A2, $36, $B0, $36, $C3, $36, $C9, $36, $E3, $36, $E9, $36, $FA, $36, $01, $37,
+ $07, $37, $36, $37, $3D, $37, $6F, $37, $79, $37, $9D, $37, $B0, $37, $D7, $37,
+ $DC, $37, $0D, $38, $36, $38, $3B, $38, $42, $38, $58, $38, $8C, $38, $9F, $38,
+ $C0, $38, $C4, $38, $C8, $38, $CC, $38, $D3, $38, $DF, $38, $F6, $38, $06, $39,
+ $0C, $39, $16, $39, $1E, $39, $2B, $39, $30, $39, $41, $39, $47, $39, $52, $39,
+ $5A, $39, $5F, $39, $65, $39, $71, $39, $80, $39, $A8, $39, $BC, $39, $E3, $39,
+ $59, $3A, $D9, $3A, $EC, $3A, $09, $3B, $1A, $3B, $25, $3B, $3C, $3B, $49, $3B,
+ $67, $3B, $6D, $3B, $96, $3B, $A5, $3B, $E9, $3B, $F6, $3B, $0B, $3C, $3B, $3C,
+ $48, $3C, $4F, $3C, $60, $3C, $66, $3C, $7F, $3C, $AA, $3C, $05, $3D, $0F, $3D,
+ $16, $3D, $46, $3D, $5F, $3D, $96, $3D, $A6, $3D, $C9, $3D, $FB, $3D, $05, $3E,
+ $0B, $3E, $18, $3E, $1E, $3E, $2B, $3E, $40, $3E, $49, $3E, $5D, $3E, $6A, $3E,
+ $71, $3E, $77, $3E, $7D, $3E, $83, $3E, $89, $3E, $8F, $3E, $95, $3E, $9B, $3E,
+ $B5, $3E, $D7, $3E, $00, $20, $00, $00, $78, $00, $00, $00, $1B, $30, $B3, $32,
+ $D6, $32, $04, $33, $0C, $33, $27, $33, $5E, $33, $6C, $33, $81, $33, $B6, $33,
+ $70, $34, $0C, $35, $16, $35, $97, $35, $A8, $35, $C0, $35, $E2, $35, $E9, $35,
+ $F4, $35, $F9, $35, $23, $36, $8B, $36, $90, $36, $97, $36, $D4, $38, $EA, $38,
+ $F3, $38, $FE, $38, $05, $39, $25, $39, $2B, $39, $31, $39, $37, $39, $3D, $39,
+ $43, $39, $4A, $39, $51, $39, $58, $39, $5F, $39, $66, $39, $6D, $39, $74, $39,
+ $7C, $39, $84, $39, $8C, $39, $98, $39, $A1, $39, $A6, $39, $AC, $39, $B6, $39,
+ $C0, $39, $D0, $39, $E0, $39, $F0, $39, $F9, $39, $08, $3A, $00, $30, $00, $00,
+ $14, $00, $00, $00, $B0, $30, $C0, $30, $C4, $30, $8C, $36, $98, $36, $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
+ );
+
+ defHelperDatas: array[0..38439] of Byte = (
+ $4D, $5A, $50, $00, $02, $00, $00, $00, $04, $00, $0F, $00, $FF, $FF, $00, $00,
+ $B8, $00, $00, $00, $00, $00, $00, $00, $40, $00, $1A, $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, $01, $00, $00,
+ $BA, $10, $00, $0E, $1F, $B4, $09, $CD, $21, $B8, $01, $4C, $CD, $21, $90, $90,
+ $54, $68, $69, $73, $20, $70, $72, $6F, $67, $72, $61, $6D, $20, $6D, $75, $73,
+ $74, $20, $62, $65, $20, $72, $75, $6E, $20, $75, $6E, $64, $65, $72, $20, $57,
+ $69, $6E, $33, $32, $0D, $0A, $24, $37, $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, $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, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
+ $50, $45, $00, $00, $4C, $01, $08, $00, $07, $54, $33, $5D, $00, $00, $00, $00,
+ $00, $00, $00, $00, $E0, $00, $8E, $A1, $0B, $01, $02, $19, $00, $46, $00, $00,
+ $00, $24, $00, $00, $00, $00, $00, $00, $D4, $60, $00, $00, $00, $10, $00, $00,
+ $00, $70, $00, $00, $00, $00, $40, $00, $00, $10, $00, $00, $00, $02, $00, $00,
+ $04, $00, $00, $00, $00, $00, $00, $00, $04, $00, $00, $00, $00, $00, $00, $00,
+ $00, $F0, $00, $00, $00, $04, $00, $00, $8E, $F5, $00, $00, $02, $00, $00, $00,
+ $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $10, $00, $00, $10, $00, $00,
+ $00, $00, $00, $00, $10, $00, $00, $00, $00, $C0, $00, $00, $6B, $00, $00, $00,
+ $00, $B0, $00, $00, $12, $06, $00, $00, $00, $E0, $00, $00, $00, $06, $00, $00,
+ $00, $00, $00, $00, $00, $00, $00, $00, $00, $6E, $00, $00, $28, $28, $00, $00,
+ $00, $D0, $00, $00, $38, $04, $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, $74, $B1, $00, $00, $E8, $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, $2E, $74, $65, $78, $74, $00, $00, $00,
+ $48, $42, $00, $00, $00, $10, $00, $00, $00, $44, $00, $00, $00, $04, $00, $00,
+ $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $20, $00, $00, $60,
+ $2E, $69, $74, $65, $78, $74, $00, $00, $EC, $00, $00, $00, $00, $60, $00, $00,
+ $00, $02, $00, $00, $00, $48, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
+ $00, $00, $00, $00, $20, $00, $00, $60, $2E, $64, $61, $74, $61, $00, $00, $00,
+ $04, $0D, $00, $00, $00, $70, $00, $00, $00, $0E, $00, $00, $00, $4A, $00, $00,
+ $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $40, $00, $00, $C0,
+ $2E, $62, $73, $73, $00, $00, $00, $00, $1C, $28, $00, $00, $00, $80, $00, $00,
+ $00, $00, $00, $00, $00, $58, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
+ $00, $00, $00, $00, $00, $00, $00, $C0, $2E, $69, $64, $61, $74, $61, $00, $00,
+ $12, $06, $00, $00, $00, $B0, $00, $00, $00, $08, $00, $00, $00, $58, $00, $00,
+ $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $40, $00, $00, $C0,
+ $2E, $65, $64, $61, $74, $61, $00, $00, $6B, $00, $00, $00, $00, $C0, $00, $00,
+ $00, $02, $00, $00, $00, $60, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
+ $00, $00, $00, $00, $40, $00, $00, $40, $2E, $72, $65, $6C, $6F, $63, $00, $00,
+ $38, $04, $00, $00, $00, $D0, $00, $00, $00, $06, $00, $00, $00, $62, $00, $00,
+ $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $40, $00, $00, $42,
+ $2E, $72, $73, $72, $63, $00, $00, $00, $00, $06, $00, $00, $00, $E0, $00, $00,
+ $00, $06, $00, $00, $00, $68, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
+ $00, $00, $00, $00, $40, $00, $00, $40, $00, $00, $00, $00, $00, $00, $00, $00,
+ $00, $00, $00, $00, $00, $F0, $00, $00, $00, $00, $00, $00, $00, $6E, $00, $00,
+ $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $40, $00, $00, $40,
+ $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, $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, $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,
+ $FF, $25, $CC, $B1, $40, $00, $8B, $C0, $FF, $25, $C8, $B1, $40, $00, $8B, $C0,
+ $FF, $25, $C4, $B1, $40, $00, $8B, $C0, $FF, $25, $C0, $B1, $40, $00, $8B, $C0,
+ $FF, $25, $BC, $B1, $40, $00, $8B, $C0, $FF, $25, $B8, $B1, $40, $00, $8B, $C0,
+ $FF, $25, $8C, $B1, $40, $00, $8B, $C0, $FF, $25, $B4, $B1, $40, $00, $8B, $C0,
+ $FF, $25, $B0, $B1, $40, $00, $8B, $C0, $FF, $25, $AC, $B1, $40, $00, $8B, $C0,
+ $FF, $25, $7C, $B1, $40, $00, $8B, $C0, $FF, $25, $78, $B1, $40, $00, $8B, $C0,
+ $FF, $25, $74, $B1, $40, $00, $8B, $C0, $FF, $25, $A8, $B1, $40, $00, $8B, $C0,
+ $FF, $25, $A4, $B1, $40, $00, $8B, $C0, $53, $83, $C4, $BC, $BB, $0A, $00, $00,
+ $00, $54, $E8, $C1, $FF, $FF, $FF, $F6, $44, $24, $2C, $01, $74, $05, $0F, $B7,
+ $5C, $24, $30, $8B, $C3, $83, $C4, $44, $5B, $C3, $8B, $C0, $FF, $25, $A0, $B1,
+ $40, $00, $8B, $C0, $FF, $25, $9C, $B1, $40, $00, $8B, $C0, $FF, $25, $98, $B1,
+ $40, $00, $8B, $C0, $FF, $25, $88, $B1, $40, $00, $8B, $C0, $FF, $FF, $FF, $FF,
+ $57, $00, $00, $00, $46, $61, $73, $74, $4D, $4D, $20, $42, $6F, $72, $6C, $61,
+ $6E, $64, $20, $45, $64, $69, $74, $69, $6F, $6E, $20, $A9, $20, $32, $30, $30,
+ $34, $2C, $20, $32, $30, $30, $35, $20, $50, $69, $65, $72, $72, $65, $20, $6C,
+ $65, $20, $52, $69, $63, $68, $65, $20, $2F, $20, $50, $72, $6F, $66, $65, $73,
+ $73, $69, $6F, $6E, $61, $6C, $20, $53, $6F, $66, $74, $77, $61, $72, $65, $20,
+ $44, $65, $76, $65, $6C, $6F, $70, $6D, $65, $6E, $74, $00, $F0, $0F, $B0, $11,
+ $C3, $8D, $40, $00, $8B, $08, $89, $0A, $8B, $48, $04, $8B, $40, $08, $89, $4A,
+ $04, $89, $42, $08, $C3, $8D, $40, $00, $8B, $08, $89, $0A, $8B, $48, $04, $89,
+ $4A, $04, $8B, $48, $08, $89, $4A, $08, $8B, $48, $0C, $8B, $40, $10, $89, $4A,
+ $0C, $89, $42, $10, $C3, $8D, $40, $00, $8B, $08, $89, $0A, $8B, $48, $04, $89,
+ $4A, $04, $8B, $48, $08, $89, $4A, $08, $8B, $48, $0C, $89, $4A, $0C, $8B, $48,
+ $10, $89, $4A, $10, $8B, $48, $14, $8B, $40, $18, $89, $4A, $14, $89, $42, $18,
+ $C3, $8D, $40, $00, $DF, $28, $DF, $68, $08, $DF, $68, $10, $DF, $68, $18, $8B,
+ $48, $20, $89, $4A, $20, $DF, $7A, $18, $DF, $7A, $10, $DF, $7A, $08, $DF, $3A,
+ $C3, $8D, $40, $00, $DF, $28, $DF, $68, $08, $DF, $68, $10, $DF, $68, $18, $DF,
+ $68, $20, $8B, $48, $28, $89, $4A, $28, $DF, $7A, $20, $DF, $7A, $18, $DF, $7A,
+ $10, $DF, $7A, $08, $DF, $3A, $C3, $90, $DF, $28, $DF, $68, $08, $DF, $68, $10,
+ $DF, $68, $18, $DF, $68, $20, $DF, $68, $28, $8B, $48, $30, $89, $4A, $30, $DF,
+ $7A, $28, $DF, $7A, $20, $DF, $7A, $18, $DF, $7A, $10, $DF, $7A, $08, $DF, $3A,
+ $C3, $8D, $40, $00, $DF, $28, $DF, $68, $08, $DF, $68, $10, $DF, $68, $18, $DF,
+ $68, $20, $DF, $68, $28, $DF, $68, $30, $8B, $48, $38, $89, $4A, $38, $DF, $7A,
+ $30, $DF, $7A, $28, $DF, $7A, $20, $DF, $7A, $18, $DF, $7A, $10, $DF, $7A, $08,
+ $DF, $3A, $C3, $90, $DF, $28, $DF, $68, $08, $DF, $68, $10, $DF, $68, $18, $DF,
+ $68, $20, $DF, $68, $28, $DF, $68, $30, $DF, $68, $38, $8B, $48, $40, $89, $4A,
+ $40, $DF, $7A, $38, $DF, $7A, $30, $DF, $7A, $28, $DF, $7A, $20, $DF, $7A, $18,
+ $DF, $7A, $10, $DF, $7A, $08, $DF, $3A, $C3, $8D, $40, $00, $83, $E9, $0C, $01,
+ $C8, $01, $CA, $F7, $D9, $79, $13, $DF, $2C, $01, $DF, $6C, $01, $08, $DF, $7C,
+ $11, $08, $DF, $3C, $11, $83, $C1, $10, $78, $ED, $DF, $2C, $01, $DF, $3C, $11,
+ $8B, $44, $01, $08, $89, $44, $11, $08, $C3, $8D, $40, $00, $83, $E9, $04, $01,
+ $C8, $01, $CA, $F7, $D9, $DF, $2C, $01, $DF, $3C, $11, $83, $C1, $08, $78, $F5,
+ $8B, $04, $01, $89, $04, $11, $C3, $90, $8B, $48, $04, $8B, $10, $39, $D1, $89,
+ $11, $89, $4A, $04, $74, $02, $C3, $90, $81, $E9, $90, $87, $40, $00, $89, $CA,
+ $C1, $E9, $03, $0F, $B6, $D6, $B8, $FE, $FF, $FF, $FF, $D3, $C0, $21, $04, $95,
+ $10, $87, $40, $00, $75, $E0, $B8, $FE, $FF, $FF, $FF, $89, $D1, $D3, $C0, $21,
+ $05, $0C, $87, $40, $00, $C3, $8B, $C0, $81, $EA, $30, $0B, $00, $00, $C1, $EA,
+ $08, $81, $EA, $FF, $03, $00, $00, $19, $C9, $21, $CA, $81, $C2, $FF, $03, $00,
+ $00, $8D, $0C, $D5, $90, $87, $40, $00, $8B, $51, $04, $39, $CA, $89, $08, $89,
+ $50, $04, $89, $02, $89, $41, $04, $74, $03, $C3, $90, $90, $81, $E9, $90, $87,
+ $40, $00, $89, $CA, $C1, $E9, $03, $0F, $B6, $D6, $B8, $01, $00, $00, $00, $D3,
+ $E0, $09, $04, $95, $10, $87, $40, $00, $B8, $01, $00, $00, $00, $89, $D1, $D3,
+ $E0, $09, $05, $0C, $87, $40, $00, $C3, $83, $3D, $08, $87, $40, $00, $00, $75,
+ $03, $C3, $90, $90, $A1, $04, $87, $40, $00, $F6, $40, $FC, $01, $75, $25, $83,
+ $48, $FC, $08, $8B, $15, $08, $87, $40, $00, $29, $D0, $8D, $4A, $03, $89, $48,
+ $FC, $89, $54, $02, $F8, $81, $FA, $30, $0B, $00, $00, $0F, $83, $67, $FF, $FF,
+ $FF, $C3, $90, $90, $BA, $F0, $FF, $FF, $FF, $23, $50, $FC, $81, $FA, $30, $0B,
+ $00, $00, $72, $12, $E8, $0F, $FF, $FF, $FF, $A1, $04, $87, $40, $00, $BA, $F0,
+ $FF, $FF, $FF, $23, $50, $FC, $8B, $0D, $08, $87, $40, $00, $29, $C8, $01, $CA,
+ $EB, $B9, $C3, $90, $53, $8B, $D8, $E8, $8C, $FF, $FF, $FF, $6A, $04, $68, $00,
+ $10, $00, $00, $68, $F0, $FF, $13, $00, $6A, $00, $E8, $CD, $FC, $FF, $FF, $85,
+ $C0, $74, $4D, $8B, $15, $F4, $86, $40, $00, $8B, $C8, $C7, $01, $F0, $86, $40,
+ $00, $A3, $F4, $86, $40, $00, $89, $51, $04, $89, $02, $8B, $D0, $81, $C2, $F0,
+ $FF, $13, $00, $8B, $CA, $83, $E9, $04, $C7, $01, $02, $00, $00, $00, $B9, $E0,
+ $FF, $13, $00, $2B, $CB, $89, $0D, $08, $87, $40, $00, $2B, $D3, $8B, $C2, $A3,
+ $04, $87, $40, $00, $83, $CB, $02, $8B, $D0, $83, $EA, $04, $89, $1A, $5B, $C3,
+ $33, $C0, $A3, $08, $87, $40, $00, $33, $C0, $5B, $C3, $90, $80, $3D, $35, $80,
+ $40, $00, $00, $74, $3D, $EB, $29, $80, $3D, $9D, $85, $40, $00, $00, $75, $20,
+ $6A, $00, $E8, $65, $FC, $FF, $FF, $B9, $90, $A7, $40, $00, $B2, $01, $33, $C0,
+ $E8, $C7, $FC, $FF, $FF, $84, $C0, $74, $19, $6A, $0A, $E8, $4C, $FC, $FF, $FF,
+ $B9, $90, $A7, $40, $00, $B2, $01, $33, $C0, $E8, $AE, $FC, $FF, $FF, $84, $C0,
+ $75, $C5, $C3, $90, $53, $56, $57, $55, $8B, $E8, $8D, $B5, $10, $00, $01, $00,
+ $4E, $83, $C6, $04, $81, $E6, $00, $00, $FF, $FF, $6A, $04, $68, $00, $10, $10,
+ $00, $56, $6A, $00, $E8, $03, $FC, $FF, $FF, $8B, $D8, $85, $DB, $74, $30, $8B,
+ $FB, $89, $6F, $08, $83, $CE, $04, $89, $77, $0C, $E8, $7D, $FF, $FF, $FF, $A1,
+ $98, $A7, $40, $00, $C7, $07, $94, $A7, $40, $00, $89, $1D, $98, $A7, $40, $00,
+ $89, $47, $04, $89, $18, $C6, $05, $90, $A7, $40, $00, $00, $83, $C3, $10, $8B,
+ $C3, $5D, $5F, $5E, $5B, $C3, $8B, $C0, $53, $56, $57, $55, $83, $C4, $DC, $8B,
+ $F0, $83, $EE, $10, $E8, $43, $FF, $FF, $FF, $8B, $C6, $8B, $10, $89, $14, $24,
+ $8B, $50, $04, $89, $54, $24, $04, $8B, $50, $0C, $F6, $C2, $08, $75, $1A, $68,
+ $00, $80, $00, $00, $6A, $00, $56, $E8, $98, $FB, $FF, $FF, $85, $C0, $74, $04,
+ $33, $FF, $EB, $3F, $83, $CF, $FF, $EB, $3A, $8B, $DE, $8B, $EA, $83, $E5, $F0,
+ $33, $FF, $6A, $1C, $8D, $44, $24, $0C, $50, $53, $E8, $39, $FB, $FF, $FF, $68,
+ $00, $80, $00, $00, $6A, $00, $53, $E8, $68, $FB, $FF, $FF, $85, $C0, $75, $05,
+ $83, $CF, $FF, $EB, $0E, $8B, $74, $24, $14, $3B, $EE, $76, $06, $2B, $EE, $01,
+ $F3, $EB, $CF, $85, $FF, $75, $13, $8B, $44, $24, $04, $8B, $14, $24, $89, $10,
+ $8B, $04, $24, $8B, $54, $24, $04, $89, $50, $04, $C6, $05, $90, $A7, $40, $00,
+ $00, $8B, $C7, $83, $C4, $24, $5D, $5F, $5E, $5B, $C3, $90, $53, $56, $57, $55,
+ $83, $C4, $E0, $8B, $F2, $8B, $F8, $8B, $C7, $83, $E8, $04, $8B, $00, $8B, $D8,
+ $83, $E3, $F0, $83, $EB, $14, $3B, $DE, $0F, $83, $E1, $00, $00, $00, $8B, $D3,
+ $C1, $EA, $02, $03, $D3, $3B, $D6, $76, $04, $8B, $EA, $EB, $02, $8B, $EE, $8B,
+ $D7, $83, $EA, $10, $83, $E0, $F0, $03, $D0, $89, $14, $24, $6A, $1C, $8D, $44,
+ $24, $08, $50, $8B, $44, $24, $08, $50, $E8, $9B, $FA, $FF, $FF, $81, $7C, $24,
+ $14, $00, $00, $01, $00, $75, $70, $81, $64, $24, $10, $00, $00, $FF, $FF, $8B,
+ $D6, $2B, $D3, $8B, $44, $24, $10, $3B, $D0, $73, $5C, $8B, $D5, $2B, $D3, $81,
+ $C2, $00, $00, $01, $00, $4A, $81, $E2, $00, $00, $FF, $FF, $8B, $DA, $3B, $C3,
+ $73, $02, $8B, $D8, $6A, $04, $68, $00, $20, $00, $00, $53, $8B, $44, $24, $0C,
+ $50, $E8, $86, $FA, $FF, $FF, $85, $C0, $74, $2D, $6A, $04, $68, $00, $10, $00,
+ $00, $53, $8B, $44, $24, $0C, $50, $E8, $70, $FA, $FF, $FF, $85, $C0, $74, $17,
+ $8B, $C7, $83, $E8, $10, $89, $70, $08, $8B, $D0, $03, $5A, $0C, $83, $CB, $08,
+ $89, $5A, $0C, $8B, $DF, $EB, $77, $8B, $C5, $E8, $7A, $00, $00, $00, $8B, $D8,
+ $85, $DB, $74, $6A, $81, $FD, $2C, $0A, $04, $00, $76, $08, $8B, $C3, $83, $E8,
+ $10, $89, $70, $08, $8B, $C7, $83, $E8, $10, $8B, $40, $08, $8B, $D3, $8B, $CF,
+ $91, $E8, $E6, $FB, $FF, $FF, $8B, $C7, $E8, $CF, $03, $00, $00, $EB, $3F, $D1,
+ $EB, $3B, $F3, $72, $0A, $8B, $DF, $83, $EF, $10, $89, $77, $08, $EB, $2F, $8B,
+ $C6, $E8, $32, $00, $00, $00, $8B, $D8, $85, $DB, $74, $22, $81, $FE, $2C, $0A,
+ $04, $00, $76, $08, $8B, $C7, $83, $E8, $10, $89, $70, $08, $8B, $D3, $8B, $C7,
+ $8B, $CE, $E8, $D5, $FB, $FF, $FF, $8B, $C7, $E8, $8E, $03, $00, $00, $8B, $C3,
+ $83, $C4, $20, $5D, $5F, $5E, $5B, $C3, $8D, $50, $03, $C1, $EA, $03, $3D, $2C,
+ $0A, $00, $00, $53, $8A, $0D, $35, $80, $40, $00, $0F, $87, $48, $02, $00, $00,
+ $84, $C9, $0F, $B6, $82, $A8, $85, $40, $00, $8D, $1C, $C5, $28, $70, $40, $00,
+ $75, $56, $8B, $53, $04, $8B, $42, $08, $B9, $F8, $FF, $FF, $FF, $39, $DA, $74,
+ $17, $83, $42, $0C, $01, $23, $48, $FC, $89, $4A, $08, $89, $50, $FC, $74, $28,
+ $C6, $03, $00, $5B, $C3, $90, $90, $90, $8B, $53, $10, $0F, $B7, $4B, $02, $01,
+ $C1, $3B, $43, $0C, $77, $76, $83, $42, $0C, $01, $89, $4B, $08, $C6, $03, $00,
+ $89, $50, $FC, $5B, $C3, $90, $90, $90, $8B, $4A, $04, $89, $59, $14, $89, $4B,
+ $04, $C6, $03, $00, $5B, $C3, $90, $90, $B8, $00, $01, $00, $00, $F0, $0F, $B0,
+ $23, $74, $9F, $83, $C3, $20, $B8, $00, $01, $00, $00, $F0, $0F, $B0, $23, $74,
+ $91, $83, $C3, $20, $B8, $00, $01, $00, $00, $F0, $0F, $B0, $23, $74, $83, $83,
+ $EB, $40, $F3, $90, $80, $3D, $9D, $85, $40, $00, $00, $75, $CB, $6A, $00, $E8,
+ $28, $F9, $FF, $FF, $B8, $00, $01, $00, $00, $F0, $0F, $B0, $23, $0F, $84, $5F,
+ $FF, $FF, $FF, $6A, $0A, $E8, $12, $F9, $FF, $FF, $EB, $AC, $56, $57, $80, $3D,
+ $35, $80, $40, $00, $00, $74, $39, $B8, $00, $01, $00, $00, $F0, $0F, $B0, $25,
+ $00, $87, $40, $00, $74, $2A, $F3, $90, $80, $3D, $9D, $85, $40, $00, $00, $75,
+ $E6, $6A, $00, $E8, $E4, $F8, $FF, $FF, $B8, $00, $01, $00, $00, $F0, $0F, $B0,
+ $25, $00, $87, $40, $00, $74, $09, $6A, $0A, $E8, $CE, $F8, $FF, $FF, $EB, $C7,
+ $0F, $BE, $73, $01, $23, $35, $0C, $87, $40, $00, $74, $70, $0F, $BC, $C6, $8D,
+ $34, $C5, $00, $00, $00, $00, $8B, $0C, $85, $10, $87, $40, $00, $0F, $BC, $C9,
+ $8D, $0C, $B1, $8D, $3C, $CD, $90, $87, $40, $00, $8B, $77, $04, $8B, $56, $04,
+ $89, $57, $04, $89, $3A, $39, $D7, $75, $17, $BA, $FE, $FF, $FF, $FF, $D3, $C2,
+ $21, $14, $85, $10, $87, $40, $00, $75, $07, $0F, $B3, $05, $0C, $87, $40, $00,
+ $BF, $F0, $FF, $FF, $FF, $23, $7E, $FC, $81, $FF, $60, $0A, $01, $00, $72, $6C,
+ $89, $FA, $0F, $B7, $7B, $1A, $29, $FA, $8D, $04, $37, $8D, $4A, $03, $89, $48,
+ $FC, $89, $54, $02, $F8, $E8, $8E, $FA, $FF, $FF, $EB, $55, $0F, $B7, $4B, $18,
+ $8B, $3D, $08, $87, $40, $00, $39, $CF, $72, $26, $8B, $35, $04, $87, $40, $00,
+ $0F, $B7, $4B, $1A, $8D, $91, $30, $0B, $00, $00, $39, $D7, $72, $02, $89, $CF,
+ $29, $FE, $29, $3D, $08, $87, $40, $00, $89, $35, $04, $87, $40, $00, $EB, $21,
+ $0F, $B7, $43, $1A, $89, $C7, $E8, $19, $FB, $FF, $FF, $89, $C6, $85, $C0, $75,
+ $10, $A2, $00, $87, $40, $00, $88, $03, $5F, $5E, $5B, $C3, $80, $64, $37, $FC,
+ $F7, $8D, $4F, $06, $89, $4E, $FC, $31, $C0, $A2, $00, $87, $40, $00, $89, $1E,
+ $89, $46, $08, $C7, $46, $0C, $01, $00, $00, $00, $89, $73, $10, $8D, $46, $20,
+ $0F, $B7, $4B, $02, $8D, $14, $01, $89, $53, $08, $01, $F7, $29, $CF, $89, $7B,
+ $0C, $C6, $03, $00, $89, $70, $FC, $5F, $5E, $5B, $C3, $90, $B8, $00, $01, $00,
+ $00, $F0, $0F, $B0, $25, $00, $87, $40, $00, $74, $4B, $F3, $90, $80, $3D, $9D,
+ $85, $40, $00, $00, $75, $E6, $6A, $00, $E8, $9F, $F7, $FF, $FF, $B8, $00, $01,
+ $00, $00, $F0, $0F, $B0, $25, $00, $87, $40, $00, $74, $2A, $6A, $0A, $E8, $89,
+ $F7, $FF, $FF, $EB, $C7, $90, $90, $90, $3D, $2C, $0A, $04, $00, $0F, $87, $0D,
+ $01, $00, $00, $8D, $98, $D3, $00, $00, $00, $81, $E3, $00, $FF, $FF, $FF, $83,
+ $C3, $30, $84, $C9, $75, $A6, $8D, $93, $D0, $F4, $FF, $FF, $89, $D1, $C1, $EA,
+ $0D, $C1, $E9, $08, $B8, $FF, $FF, $FF, $FF, $D3, $E0, $23, $04, $95, $10, $87,
+ $40, $00, $74, $0C, $83, $E1, $E0, $0F, $BC, $C0, $09, $C1, $EB, $5E, $90, $90,
+ $B8, $FE, $FF, $FF, $FF, $89, $D1, $D3, $E0, $23, $05, $0C, $87, $40, $00, $74,
+ $17, $0F, $BC, $D0, $8B, $04, $95, $10, $87, $40, $00, $0F, $BC, $C8, $89, $D0,
+ $C1, $E0, $05, $09, $C1, $EB, $35, $90, $8B, $0D, $08, $87, $40, $00, $29, $D9,
+ $72, $1A, $A1, $04, $87, $40, $00, $29, $D8, $A3, $04, $87, $40, $00, $89, $0D,
+ $08, $87, $40, $00, $83, $CB, $02, $89, $58, $FC, $EB, $07, $89, $D8, $E8, $F1,
+ $F9, $FF, $FF, $C6, $05, $00, $87, $40, $00, $00, $5B, $C3, $56, $57, $8D, $3C,
+ $CD, $90, $87, $40, $00, $8B, $77, $04, $8B, $46, $04, $89, $47, $04, $89, $38,
+ $39, $C7, $75, $17, $B8, $FE, $FF, $FF, $FF, $D3, $C0, $21, $04, $95, $10, $87,
+ $40, $00, $75, $07, $0F, $B3, $15, $0C, $87, $40, $00, $BF, $F0, $FF, $FF, $FF,
+ $23, $7E, $FC, $89, $FA, $29, $DA, $74, $1F, $8D, $04, $33, $8D, $4A, $03, $89,
+ $48, $FC, $89, $54, $02, $F8, $81, $FA, $30, $0B, $00, $00, $72, $0F, $E8, $C5,
+ $F8, $FF, $FF, $EB, $08, $90, $90, $90, $80, $64, $37, $FC, $F7, $8D, $4B, $02,
+ $89, $4E, $FC, $C6, $05, $00, $87, $40, $00, $00, $89, $F0, $5F, $5E, $5B, $C3,
+ $5B, $85, $C0, $0F, $89, $2B, $FA, $FF, $FF, $31, $C0, $C3, $8B, $50, $FC, $F6,
+ $C2, $07, $89, $C1, $53, $8A, $1D, $35, $80, $40, $00, $0F, $85, $E3, $00, $00,
+ $00, $84, $DB, $8B, $1A, $75, $61, $83, $6A, $0C, $01, $8B, $42, $08, $74, $2C,
+ $85, $C0, $89, $4A, $08, $8D, $40, $01, $89, $41, $FC, $74, $07, $31, $C0, $88,
+ $03, $5B, $C3, $90, $8B, $4B, $04, $89, $5A, $14, $89, $4A, $04, $89, $51, $14,
+ $89, $53, $04, $C6, $03, $00, $31, $C0, $5B, $C3, $90, $90, $85, $C0, $74, $13,
+ $8B, $42, $14, $8B, $4A, $04, $89, $48, $04, $89, $41, $14, $31, $C0, $39, $53,
+ $10, $75, $03, $89, $43, $0C, $88, $03, $89, $D0, $8B, $52, $FC, $8A, $1D, $35,
+ $80, $40, $00, $E9, $85, $00, $00, $00, $B8, $00, $01, $00, $00, $F0, $0F, $B0,
+ $23, $74, $94, $F3, $90, $80, $3D, $9D, $85, $40, $00, $00, $75, $EA, $51, $52,
+ $6A, $00, $E8, $C5, $F5, $FF, $FF, $5A, $59, $B8, $00, $01, $00, $00, $F0, $0F,
+ $B0, $23, $0F, $84, $6F, $FF, $FF, $FF, $51, $52, $6A, $0A, $E8, $AB, $F5, $FF,
+ $FF, $5A, $59, $EB, $C3, $90, $90, $90, $B8, $00, $01, $00, $00, $F0, $0F, $B0,
+ $25, $00, $87, $40, $00, $74, $42, $F3, $90, $80, $3D, $9D, $85, $40, $00, $00,
+ $75, $E6, $6A, $00, $E8, $83, $F5, $FF, $FF, $B8, $00, $01, $00, $00, $F0, $0F,
+ $B0, $25, $00, $87, $40, $00, $74, $21, $6A, $0A, $E8, $6D, $F5, $FF, $FF, $EB,
+ $C7, $90, $90, $90, $F6, $C2, $05, $0F, $85, $E7, $00, $00, $00, $83, $E2, $F0,
+ $84, $DB, $89, $D3, $56, $89, $C6, $75, $AF, $F7, $44, $33, $FC, $01, $00, $00,
+ $00, $8B, $4C, $33, $FC, $75, $35, $83, $C9, $08, $89, $4C, $33, $FC, $F6, $46,
+ $FC, $08, $75, $40, $81, $FB, $E0, $FF, $13, $00, $74, $50, $8D, $43, $03, $89,
+ $46, $FC, $89, $5C, $33, $F8, $89, $F0, $89, $DA, $E8, $59, $F7, $FF, $FF, $C6,
+ $05, $00, $87, $40, $00, $00, $31, $C0, $5E, $5B, $C3, $90, $8D, $04, $33, $83,
+ $E1, $F0, $01, $CB, $81, $F9, $30, $0B, $00, $00, $72, $C2, $E8, $F7, $F6, $FF,
+ $FF, $EB, $BB, $90, $8B, $4E, $F8, $29, $CE, $01, $CB, $81, $F9, $30, $0B, $00,
+ $00, $72, $B1, $89, $F0, $E8, $DE, $F6, $FF, $FF, $EB, $A8, $81, $3D, $08, $87,
+ $40, $00, $E0, $FF, $13, $00, $75, $2C, $83, $EE, $10, $8B, $06, $8B, $56, $04,
+ $89, $50, $04, $89, $02, $C6, $05, $00, $87, $40, $00, $00, $68, $00, $80, $00,
+ $00, $6A, $00, $56, $E8, $AB, $F4, $FF, $FF, $83, $F8, $01, $19, $C0, $5E, $5B,
+ $C3, $90, $90, $90, $8D, $9E, $E0, $FF, $13, $00, $E8, $39, $F7, $FF, $FF, $C7,
+ $43, $FC, $02, $00, $00, $00, $C7, $05, $08, $87, $40, $00, $E0, $FF, $13, $00,
+ $89, $1D, $04, $87, $40, $00, $C6, $05, $00, $87, $40, $00, $00, $31, $C0, $5E,
+ $5B, $C3, $90, $90, $5B, $F6, $C2, $03, $0F, $84, $9A, $F8, $FF, $FF, $B8, $FF,
+ $FF, $FF, $FF, $C3, $8B, $48, $FC, $F6, $C1, $07, $53, $56, $89, $C6, $0F, $85,
+ $88, $00, $00, $00, $8B, $19, $0F, $B7, $4B, $02, $83, $E9, $04, $39, $D1, $72,
+ $37, $8D, $1C, $95, $40, $00, $00, $00, $39, $CB, $72, $04, $5E, $5B, $C3, $90,
+ $89, $D3, $89, $D0, $E8, $4F, $FA, $FF, $FF, $85, $C0, $74, $16, $89, $D9, $89,
+ $C2, $89, $C3, $89, $F0, $E8, $02, $F6, $FF, $FF, $89, $F0, $E8, $BB, $FD, $FF,
+ $FF, $89, $D8, $5E, $5B, $C3, $90, $90, $8D, $4C, $09, $20, $57, $89, $D7, $31,
+ $C0, $29, $D1, $83, $D0, $FF, $21, $C8, $01, $D0, $E8, $19, $FA, $FF, $FF, $85,
+ $C0, $74, $24, $81, $FF, $2C, $0A, $04, $00, $76, $03, $89, $78, $F8, $0F, $B7,
+ $4B, $02, $83, $E9, $04, $89, $C2, $89, $C7, $89, $F0, $FF, $53, $1C, $89, $F0,
+ $E8, $77, $FD, $FF, $FF, $89, $F8, $5F, $5E, $5B, $C3, $90, $F6, $C1, $05, $0F,
+ $85, $67, $02, $00, $00, $89, $CB, $83, $E1, $F0, $57, $8D, $3C, $01, $83, $E9,
+ $04, $83, $E3, $0F, $39, $CA, $55, $0F, $87, $0F, $01, $00, $00, $8D, $2C, $12,
+ $39, $CD, $72, $08, $5D, $5F, $5E, $5B, $C3, $90, $90, $90, $81, $FA, $2C, $0B,
+ $00, $00, $73, $15, $81, $FA, $CC, $02, $00, $00, $0F, $82, $C4, $00, $00, $00,
+ $BA, $2C, $0B, $00, $00, $39, $D1, $76, $DB, $8D, $AA, $D3, $00, $00, $00, $81,
+ $E5, $00, $FF, $FF, $FF, $83, $C5, $30, $83, $C1, $04, $29, $E9, $80, $3D, $35,
+ $80, $40, $00, $00, $74, $46, $B8, $00, $01, $00, $00, $F0, $0F, $B0, $25, $00,
+ $87, $40, $00, $74, $2F, $F3, $90, $80, $3D, $9D, $85, $40, $00, $00, $75, $E6,
+ $51, $6A, $00, $E8, $44, $F3, $FF, $FF, $59, $B8, $00, $01, $00, $00, $F0, $0F,
+ $B0, $25, $00, $87, $40, $00, $74, $0C, $51, $6A, $0A, $E8, $2C, $F3, $FF, $FF,
+ $59, $EB, $C3, $90, $BB, $0F, $00, $00, $00, $23, $5E, $FC, $09, $EB, $89, $5E,
+ $FC, $89, $CB, $8B, $57, $FC, $F6, $C2, $01, $75, $09, $83, $CA, $08, $89, $57,
+ $FC, $EB, $17, $90, $89, $F8, $83, $E2, $F0, $01, $D3, $01, $D7, $81, $FA, $30,
+ $0B, $00, $00, $72, $05, $E8, $EE, $F4, $FF, $FF, $89, $5F, $F8, $8D, $43, $03,
+ $89, $44, $2E, $FC, $81, $FB, $30, $0B, $00, $00, $72, $0A, $8D, $04, $2E, $89,
+ $DA, $E8, $12, $F5, $FF, $FF, $C6, $05, $00, $87, $40, $00, $00, $89, $F0, $5D,
+ $5F, $5E, $5B, $C3, $89, $D7, $89, $D0, $E8, $DB, $F8, $FF, $FF, $85, $C0, $74,
+ $16, $89, $C5, $89, $C2, $89, $F0, $89, $F9, $E8, $8E, $F4, $FF, $FF, $89, $F0,
+ $E8, $47, $FC, $FF, $FF, $89, $E8, $5D, $5F, $5E, $5B, $C3, $8B, $47, $FC, $A8,
+ $01, $0F, $84, $ED, $00, $00, $00, $83, $E0, $F0, $8D, $2C, $01, $39, $EA, $0F,
+ $87, $DF, $00, $00, $00, $80, $3D, $35, $80, $40, $00, $00, $74, $5B, $B8, $00,
+ $01, $00, $00, $F0, $0F, $B0, $25, $00, $87, $40, $00, $74, $33, $F3, $90, $80,
+ $3D, $9D, $85, $40, $00, $00, $75, $E6, $51, $52, $6A, $00, $E8, $5B, $F2, $FF,
+ $FF, $5A, $59, $B8, $00, $01, $00, $00, $F0, $0F, $B0, $25, $00, $87, $40, $00,
+ $74, $0E, $51, $52, $6A, $0A, $E8, $41, $F2, $FF, $FF, $5A, $59, $EB, $BF, $90,
+ $BB, $0F, $00, $00, $00, $23, $5E, $FC, $8B, $47, $FC, $A8, $01, $74, $7E, $83,
+ $E0, $F0, $8D, $2C, $01, $39, $EA, $77, $74, $3D, $30, $0B, $00, $00, $72, $0B,
+ $89, $F8, $51, $52, $E8, $0F, $F4, $FF, $FF, $5A, $59, $89, $C8, $C1, $E8, $02,
+ $01, $C8, $31, $FF, $29, $D0, $83, $D7, $FF, $21, $F8, $8D, $84, $02, $D3, $00,
+ $00, $00, $25, $00, $FF, $FF, $FF, $83, $C0, $30, $8D, $55, $04, $29, $C2, $77,
+ $0B, $83, $24, $2E, $F7, $83, $C5, $04, $EB, $1E, $90, $90, $89, $54, $2E, $FC,
+ $8D, $7A, $03, $89, $7C, $30, $FC, $89, $C5, $81, $FA, $30, $0B, $00, $00, $72,
+ $07, $01, $F0, $E8, $00, $F4, $FF, $FF, $09, $DD, $89, $6E, $FC, $C6, $05, $00,
+ $87, $40, $00, $00, $89, $F0, $5D, $5F, $5E, $5B, $C3, $90, $90, $C6, $05, $00,
+ $87, $40, $00, $00, $89, $C8, $C1, $E8, $02, $01, $C8, $31, $FF, $29, $D0, $83,
+ $D7, $FF, $21, $F8, $01, $D0, $89, $C5, $89, $CF, $52, $E8, $A8, $F7, $FF, $FF,
+ $5A, $85, $C0, $74, $D1, $81, $FD, $2C, $0A, $04, $00, $76, $03, $89, $50, $F8,
+ $89, $C5, $89, $C2, $89, $F0, $89, $F9, $E8, $1F, $F3, $FF, $FF, $89, $F0, $E8,
+ $08, $FB, $FF, $FF, $89, $E8, $5D, $5F, $5E, $5B, $C3, $90, $5E, $5B, $F6, $C1,
+ $03, $0F, $84, $25, $F6, $FF, $FF, $31, $C0, $C3, $8B, $C0, $53, $8D, $58, $FF,
+ $83, $E3, $FC, $E8, $60, $F7, $FF, $FF, $83, $F8, $01, $19, $C9, $8D, $14, $03,
+ $09, $CB, $81, $FB, $2C, $0A, $04, $00, $73, $10, $F7, $DB, $D9, $EE, $DD, $14,
+ $13, $83, $C3, $08, $78, $F8, $89, $0A, $DD, $C0, $5B, $C3, $8B, $C8, $8B, $D1,
+ $83, $EA, $04, $8B, $12, $83, $E2, $F0, $03, $D1, $8B, $C2, $8B, $D0, $83, $EA,
+ $04, $8B, $12, $83, $E2, $F0, $85, $D2, $75, $02, $33, $C0, $C3, $8D, $40, $00,
+ $83, $3D, $08, $87, $40, $00, $00, $74, $1A, $8B, $15, $04, $87, $40, $00, $3B,
+ $D0, $72, $10, $8B, $D0, $81, $C2, $F0, $FF, $13, $00, $3B, $15, $04, $87, $40,
+ $00, $73, $04, $83, $C0, $10, $C3, $81, $3D, $08, $87, $40, $00, $E0, $FF, $13,
+ $00, $74, $07, $A1, $04, $87, $40, $00, $EB, $02, $33, $C0, $C3, $8D, $40, $00,
+ $53, $56, $8B, $D8, $83, $C3, $20, $89, $1A, $8B, $10, $3B, $42, $10, $75, $08,
+ $8B, $5A, $08, $3B, $5A, $0C, $76, $19, $8B, $F0, $8B, $DE, $83, $EB, $04, $8B,
+ $1B, $83, $E3, $F0, $03, $DE, $0F, $B7, $42, $02, $2B, $D8, $89, $19, $5E, $5B,
+ $C3, $8B, $42, $08, $48, $89, $01, $5E, $5B, $C3, $8B, $C0, $57, $89, $D7, $83,
+ $C0, $01, $BA, $41, $5F, $70, $89, $F7, $E2, $C1, $E8, $1E, $89, $D1, $81, $E2,
+ $FF, $FF, $FF, $1F, $C1, $E9, $1D, $8D, $14, $92, $01, $C2, $89, $C8, $83, $C8,
+ $30, $88, $07, $89, $D0, $83, $F9, $01, $83, $DF, $FF, $C1, $E8, $1C, $81, $E2,
+ $FF, $FF, $FF, $0F, $09, $C1, $83, $C8, $30, $88, $07, $8D, $04, $92, $8D, $14,
+ $92, $83, $F9, $01, $83, $DF, $FF, $C1, $E8, $1B, $81, $E2, $FF, $FF, $FF, $07,
+ $09, $C1, $83, $C8, $30, $88, $07, $8D, $04, $92, $8D, $14, $92, $83, $F9, $01,
+ $83, $DF, $FF, $C1, $E8, $1A, $81, $E2, $FF, $FF, $FF, $03, $09, $C1, $83, $C8,
+ $30, $88, $07, $8D, $04, $92, $8D, $14, $92, $83, $F9, $01, $83, $DF, $FF, $C1,
+ $E8, $19, $81, $E2, $FF, $FF, $FF, $01, $09, $C1, $83, $C8, $30, $88, $07, $8D,
+ $04, $92, $8D, $14, $92, $83, $F9, $01, $83, $DF, $FF, $C1, $E8, $18, $81, $E2,
+ $FF, $FF, $FF, $00, $09, $C1, $83, $C8, $30, $88, $07, $8D, $04, $92, $8D, $14,
+ $92, $83, $F9, $01, $83, $DF, $FF, $C1, $E8, $17, $81, $E2, $FF, $FF, $7F, $00,
+ $09, $C1, $83, $C8, $30, $88, $07, $8D, $04, $92, $8D, $14, $92, $83, $F9, $01,
+ $83, $DF, $FF, $C1, $E8, $16, $81, $E2, $FF, $FF, $3F, $00, $09, $C1, $83, $C8,
+ $30, $88, $07, $8D, $04, $92, $8D, $14, $92, $83, $F9, $01, $83, $DF, $FF, $C1,
+ $E8, $15, $81, $E2, $FF, $FF, $1F, $00, $09, $C1, $83, $C8, $30, $88, $07, $8D,
+ $04, $92, $83, $F9, $01, $83, $DF, $FF, $C1, $E8, $14, $83, $C8, $30, $88, $07,
+ $8D, $47, $01, $5F, $C3, $8D, $40, $00, $53, $56, $8B, $F1, $8B, $DA, $8B, $D3,
+ $8B, $CE, $E8, $45, $0B, $00, $00, $8B, $C3, $03, $C6, $5E, $5B, $C3, $8B, $C0,
+ $55, $8B, $EC, $53, $8B, $D0, $81, $FA, $FF, $FF, $00, $00, $76, $68, $F6, $C2,
+ $03, $75, $63, $8B, $55, $08, $8B, $52, $E4, $8B, $C8, $3B, $D1, $77, $10, $8B,
+ $5D, $08, $8B, $5D, $08, $03, $53, $F0, $83, $C1, $04, $3B, $D1, $73, $17, $8B,
+ $55, $08, $33, $C9, $89, $4A, $F0, $6A, $1C, $8B, $55, $08, $83, $C2, $E4, $52,
+ $50, $E8, $C2, $EE, $FF, $FF, $8B, $45, $08, $83, $78, $F0, $04, $72, $1E, $8B,
+ $45, $08, $81, $78, $F4, $00, $10, $00, $00, $75, $12, $8B, $45, $08, $F6, $40,
+ $F8, $F6, $74, $09, $8B, $45, $08, $F6, $40, $F9, $01, $74, $04, $33, $C0, $EB,
+ $07, $B0, $01, $5B, $5D, $C3, $33, $C0, $5B, $5D, $C3, $90, $55, $8B, $EC, $53,
+ $56, $57, $8B, $FA, $8B, $D8, $81, $FF, $E8, $03, $00, $00, $7D, $65, $8B, $45,
+ $08, $50, $8B, $C3, $83, $C0, $B4, $E8, $64, $FF, $FF, $FF, $59, $84, $C0, $74,
+ $52, $8B, $45, $08, $50, $8B, $C3, $83, $C0, $DC, $E8, $51, $FF, $FF, $FF, $59,
+ $84, $C0, $74, $3F, $8B, $C3, $83, $C0, $DC, $8B, $30, $8B, $C3, $83, $C0, $B4,
+ $3B, $18, $75, $27, $85, $F6, $74, $27, $8B, $45, $08, $50, $8B, $C6, $E8, $2D,
+ $FF, $FF, $FF, $59, $84, $C0, $74, $13, $8B, $45, $08, $50, $8D, $57, $01, $8B,
+ $06, $E8, $96, $FF, $FF, $FF, $59, $84, $C0, $75, $04, $33, $C0, $EB, $06, $B0,
+ $01, $EB, $02, $33, $C0, $5F, $5E, $5B, $5D, $C3, $8B, $C0, $55, $8B, $EC, $83,
+ $C4, $E4, $53, $8B, $18, $33, $C0, $89, $45, $F0, $55, $33, $D2, $8B, $C3, $E8,
+ $68, $FF, $FF, $FF, $59, $84, $C0, $75, $02, $33, $DB, $8B, $C3, $5B, $8B, $E5,
+ $5D, $C3, $8B, $C0, $80, $3D, $35, $80, $40, $00, $00, $74, $3D, $EB, $29, $80,
+ $3D, $9D, $85, $40, $00, $00, $75, $20, $6A, $00, $E8, $0D, $EE, $FF, $FF, $B9,
+ $A8, $A7, $40, $00, $B2, $01, $33, $C0, $E8, $6F, $EE, $FF, $FF, $84, $C0, $74,
+ $19, $6A, $0A, $E8, $F4, $ED, $FF, $FF, $B9, $A8, $A7, $40, $00, $B2, $01, $33,
+ $C0, $E8, $56, $EE, $FF, $FF, $84, $C0, $75, $C5, $83, $3D, $A4, $A7, $40, $00,
+ $00, $75, $18, $6A, $04, $68, $00, $10, $00, $00, $68, $00, $00, $01, $00, $6A,
+ $00, $E8, $B6, $ED, $FF, $FF, $A3, $A4, $A7, $40, $00, $83, $3D, $A4, $A7, $40,
+ $00, $00, $0F, $95, $C0, $C3, $8B, $C0, $53, $8B, $D8, $E8, $84, $FF, $FF, $FF,
+ $84, $C0, $74, $29, $A1, $A4, $A7, $40, $00, $81, $38, $FE, $3F, $00, $00, $7D,
+ $1C, $A1, $A4, $A7, $40, $00, $8B, $00, $8B, $15, $A4, $A7, $40, $00, $89, $5C,
+ $82, $04, $A1, $A4, $A7, $40, $00, $FF, $00, $B0, $01, $EB, $02, $33, $C0, $C6,
+ $05, $A8, $A7, $40, $00, $00, $5B, $C3, $53, $56, $57, $8B, $F0, $BF, $A4, $A7,
+ $40, $00, $33, $DB, $83, $3F, $00, $74, $3F, $E8, $36, $FF, $FF, $FF, $84, $C0,
+ $74, $36, $8B, $07, $8B, $10, $4A, $85, $D2, $7C, $26, $42, $33, $C0, $8B, $0F,
+ $3B, $74, $81, $04, $75, $17, $8B, $17, $8B, $12, $8B, $0F, $8B, $14, $91, $8B,
+ $0F, $89, $54, $81, $04, $8B, $17, $FF, $0A, $B3, $01, $EB, $04, $40, $4A, $75,
+ $DD, $C6, $05, $A8, $A7, $40, $00, $00, $8B, $C3, $5F, $5E, $5B, $C3, $8B, $C0,
+ $55, $8B, $EC, $83, $C4, $E0, $53, $56, $57, $89, $45, $FC, $8B, $45, $FC, $8B,
+ $00, $81, $E8, $28, $70, $40, $00, $C1, $E8, $05, $C1, $E0, $08, $8B, $55, $08,
+ $8D, $B4, $C2, $00, $48, $FE, $FF, $8D, $4D, $E4, $8D, $55, $E8, $8B, $45, $FC,
+ $E8, $2B, $FC, $FF, $FF, $E9, $FD, $00, $00, $00, $8B, $45, $E8, $83, $E8, $04,
+ $F6, $00, $01, $0F, $85, $E2, $00, $00, $00, $8B, $45, $E8, $E8, $57, $FF, $FF,
+ $FF, $84, $C0, $0F, $85, $D2, $00, $00, $00, $8B, $45, $08, $C6, $80, $FF, $47,
+ $FE, $FF, $00, $33, $DB, $8B, $45, $E8, $E8, $5F, $FE, $FF, $FF, $8B, $F8, $85,
+ $FF, $0F, $85, $88, $00, $00, $00, $8B, $45, $E8, $81, $38, $00, $01, $00, $00,
+ $0F, $83, $A1, $00, $00, $00, $8B, $45, $E8, $83, $C0, $04, $8B, $00, $89, $45,
+ $F4, $83, $7D, $F4, $00, $0F, $8E, $8C, $00, $00, $00, $8B, $45, $FC, $8B, $00,
+ $0F, $B7, $40, $02, $83, $E8, $0D, $3B, $45, $F4, $7C, $7B, $8B, $45, $E8, $83,
+ $C0, $08, $89, $45, $F0, $C6, $45, $EF, $01, $8B, $45, $F4, $85, $C0, $7E, $2A,
+ $89, $45, $E0, $80, $7D, $EF, $00, $74, $10, $8B, $45, $F0, $80, $38, $20, $72,
+ $08, $8B, $45, $F0, $80, $38, $80, $72, $04, $33, $C0, $EB, $02, $B0, $01, $88,
+ $45, $EF, $FF, $45, $F0, $FF, $4D, $E0, $75, $D9, $80, $7D, $EF, $00, $74, $37,
+ $8B, $45, $F0, $80, $38, $00, $75, $2F, $BB, $01, $00, $00, $00, $EB, $28, $BB,
+ $02, $00, $00, $00, $3B, $3C, $DE, $74, $0F, $83, $3C, $DE, $00, $74, $09, $43,
+ $81, $FB, $FF, $00, $00, $00, $7E, $EC, $81, $FB, $FF, $00, $00, $00, $7F, $05,
+ $89, $3C, $DE, $EB, $02, $33, $DB, $FF, $44, $DE, $04, $8B, $45, $FC, $8B, $00,
+ $0F, $B7, $40, $02, $01, $45, $E8, $8B, $45, $E8, $3B, $45, $E4, $0F, $86, $F7,
+ $FE, $FF, $FF, $5F, $5E, $5B, $8B, $E5, $5D, $C3, $8B, $C0, $55, $8B, $EC, $50,
+ $B8, $27, $00, $00, $00, $81, $C4, $04, $F0, $FF, $FF, $50, $48, $75, $F6, $8B,
+ $45, $FC, $81, $C4, $DC, $F6, $FF, $FF, $53, $56, $57, $8D, $85, $00, $48, $FE,
+ $FF, $33, $C9, $BA, $00, $B8, $01, $00, $E8, $E7, $08, $00, $00, $8D, $85, $D8,
+ $07, $FE, $FF, $33, $C9, $BA, $00, $40, $00, $00, $E8, $D5, $08, $00, $00, $33,
+ $C0, $89, $85, $F8, $47, $FE, $FF, $C6, $85, $FF, $47, $FE, $FF, $01, $8B, $3D,
+ $F4, $86, $40, $00, $E9, $82, $00, $00, $00, $8B, $C7, $E8, $70, $FA, $FF, $FF,
+ $8B, $D8, $85, $DB, $74, $72, $8B, $C3, $83, $E8, $04, $8B, $30, $F7, $C6, $01,
+ $00, $00, $00, $75, $56, $F7, $C6, $04, $00, $00, $00, $74, $0B, $55, $8B, $C3,
+ $E8, $2B, $FE, $FF, $FF, $59, $EB, $43, $81, $BD, $F8, $47, $FE, $FF, $00, $10,
+ $00, $00, $7D, $37, $83, $E6, $F0, $83, $EE, $04, $89, $B5, $EC, $47, $FE, $FF,
+ $8B, $C3, $E8, $B1, $FD, $FF, $FF, $84, $C0, $75, $20, $C6, $85, $FF, $47, $FE,
+ $FF, $00, $8B, $85, $F8, $47, $FE, $FF, $8B, $95, $EC, $47, $FE, $FF, $89, $94,
+ $85, $D8, $07, $FE, $FF, $FF, $85, $F8, $47, $FE, $FF, $8B, $C3, $E8, $DA, $F9,
+ $FF, $FF, $8B, $D8, $85, $DB, $75, $8E, $8B, $7F, $04, $81, $FF, $F0, $86, $40,
+ $00, $0F, $85, $72, $FF, $FF, $FF, $8B, $1D, $98, $A7, $40, $00, $EB, $37, $8B,
+ $C3, $83, $C0, $10, $E8, $5F, $FD, $FF, $FF, $84, $C0, $75, $26, $C6, $85, $FF,
+ $47, $FE, $FF, $00, $8B, $73, $0C, $83, $E6, $F0, $83, $EE, $04, $83, $EE, $10,
+ $8B, $85, $F8, $47, $FE, $FF, $89, $B4, $85, $D8, $07, $FE, $FF, $FF, $85, $F8,
+ $47, $FE, $FF, $8B, $5B, $04, $81, $FB, $94, $A7, $40, $00, $74, $0C, $81, $BD,
+ $F8, $47, $FE, $FF, $00, $10, $00, $00, $7C, $B5, $80, $BD, $FF, $47, $FE, $FF,
+ $00, $0F, $85, $58, $02, $00, $00, $C6, $85, $F7, $47, $FE, $FF, $00, $33, $C0,
+ $89, $85, $E8, $47, $FE, $FF, $8D, $95, $D8, $87, $FD, $FF, $B8, $88, $28, $40,
+ $00, $B9, $28, $00, $00, $00, $E8, $FD, $FA, $FF, $FF, $8B, $D8, $C7, $85, $F0,
+ $47, $FE, $FF, $37, $00, $00, $00, $C7, $85, $DC, $47, $FE, $FF, $2A, $70, $40,
+ $00, $8D, $85, $FC, $4F, $FE, $FF, $89, $85, $D8, $47, $FE, $FF, $8B, $85, $DC,
+ $47, $FE, $FF, $0F, $B7, $00, $83, $E8, $04, $89, $85, $E4, $47, $FE, $FF, $C6,
+ $85, $F6, $47, $FE, $FF, $00, $BF, $FF, $00, $00, $00, $8B, $85, $D8, $47, $FE,
+ $FF, $8B, $F0, $8D, $85, $D7, $FF, $FD, $FF, $3B, $D8, $0F, $87, $09, $01, $00,
+ $00, $83, $3E, $00, $0F, $86, $F3, $00, $00, $00, $80, $BD, $F7, $47, $FE, $FF,
+ $00, $75, $1A, $B8, $B4, $28, $40, $00, $B9, $27, $00, $00, $00, $8B, $D3, $E8,
+ $84, $FA, $FF, $FF, $8B, $D8, $C6, $85, $F7, $47, $FE, $FF, $01, $80, $BD, $F6,
+ $47, $FE, $FF, $00, $75, $4F, $C6, $03, $0D, $43, $C6, $03, $0A, $43, $8B, $85,
+ $E8, $47, $FE, $FF, $40, $8B, $D3, $E8, $40, $F9, $FF, $FF, $8B, $D8, $C6, $03,
+ $20, $43, $C6, $03, $2D, $43, $C6, $03, $20, $43, $8B, $D3, $8B, $85, $E4, $47,
+ $FE, $FF, $E8, $25, $F9, $FF, $FF, $8B, $D8, $B8, $DC, $28, $40, $00, $B9, $08,
+ $00, $00, $00, $8B, $D3, $E8, $2E, $FA, $FF, $FF, $8B, $D8, $C6, $85, $F6, $47,
+ $FE, $FF, $01, $EB, $08, $C6, $03, $2C, $43, $C6, $03, $20, $43, $8B, $C7, $83,
+ $E8, $01, $72, $04, $74, $17, $EB, $2A, $B8, $E8, $28, $40, $00, $B9, $07, $00,
+ $00, $00, $8B, $D3, $E8, $FF, $F9, $FF, $FF, $8B, $D8, $EB, $39, $B8, $F0, $28,
+ $40, $00, $B9, $06, $00, $00, $00, $8B, $D3, $E8, $EA, $F9, $FF, $FF, $8B, $D8,
+ $EB, $24, $8D, $95, $D8, $86, $FD, $FF, $8B, $46, $FC, $E8, $38, $08, $00, $00,
+ $0F, $B6, $8D, $D8, $86, $FD, $FF, $8D, $85, $D9, $86, $FD, $FF, $8B, $D3, $E8,
+ $C4, $F9, $FF, $FF, $8B, $D8, $C6, $03, $20, $43, $C6, $03, $78, $43, $C6, $03,
+ $20, $43, $8B, $06, $8B, $D3, $E8, $91, $F8, $FF, $FF, $8B, $D8, $4F, $83, $EE,
+ $08, $83, $FF, $FF, $0F, $85, $E9, $FE, $FF, $FF, $8B, $85, $E4, $47, $FE, $FF,
+ $89, $85, $E8, $47, $FE, $FF, $81, $85, $D8, $47, $FE, $FF, $00, $08, $00, $00,
+ $83, $85, $DC, $47, $FE, $FF, $20, $FF, $8D, $F0, $47, $FE, $FF, $0F, $85, $9A,
+ $FE, $FF, $FF, $83, $BD, $F8, $47, $FE, $FF, $00, $7E, $7A, $80, $BD, $F7, $47,
+ $FE, $FF, $00, $74, $10, $C6, $03, $0D, $43, $C6, $03, $0A, $43, $C6, $03, $0D,
+ $43, $C6, $03, $0A, $43, $B8, $F8, $28, $40, $00, $B9, $3C, $00, $00, $00, $8B,
+ $D3, $E8, $42, $F9, $FF, $FF, $8B, $D8, $8B, $BD, $F8, $47, $FE, $FF, $4F, $85,
+ $FF, $72, $43, $47, $C7, $85, $E0, $47, $FE, $FF, $00, $00, $00, $00, $8D, $B5,
+ $D8, $07, $FE, $FF, $83, $BD, $E0, $47, $FE, $FF, $00, $74, $08, $C6, $03, $2C,
+ $43, $C6, $03, $20, $43, $8B, $06, $8B, $D3, $E8, $EE, $F7, $FF, $FF, $8B, $D8,
+ $8D, $85, $D7, $FF, $FD, $FF, $3B, $D8, $77, $0C, $FF, $85, $E0, $47, $FE, $FF,
+ $83, $C6, $04, $4F, $75, $CE, $B8, $38, $29, $40, $00, $B9, $03, $00, $00, $00,
+ $8B, $D3, $E8, $E1, $F8, $FF, $FF, $68, $10, $20, $00, $00, $68, $3C, $29, $40,
+ $00, $8D, $85, $D8, $87, $FD, $FF, $50, $6A, $00, $E8, $B1, $E7, $FF, $FF, $5F,
+ $5E, $5B, $8B, $E5, $5D, $C3, $00, $00, $41, $6E, $20, $75, $6E, $65, $78, $70,
+ $65, $63, $74, $65, $64, $20, $6D, $65, $6D, $6F, $72, $79, $20, $6C, $65, $61,
+ $6B, $20, $68, $61, $73, $20, $6F, $63, $63, $75, $72, $72, $65, $64, $2E, $20,
+ $00, $00, $00, $00, $54, $68, $65, $20, $75, $6E, $65, $78, $70, $65, $63, $74,
+ $65, $64, $20, $73, $6D, $61, $6C, $6C, $20, $62, $6C, $6F, $63, $6B, $20, $6C,
+ $65, $61, $6B, $73, $20, $61, $72, $65, $3A, $0D, $0A, $00, $20, $62, $79, $74,
+ $65, $73, $3A, $20, $00, $00, $00, $00, $55, $6E, $6B, $6E, $6F, $77, $6E, $00,
+ $53, $74, $72, $69, $6E, $67, $00, $00, $54, $68, $65, $20, $73, $69, $7A, $65,
+ $73, $20, $6F, $66, $20, $75, $6E, $65, $78, $70, $65, $63, $74, $65, $64, $20,
+ $6C, $65, $61, $6B, $65, $64, $20, $6D, $65, $64, $69, $75, $6D, $20, $61, $6E,
+ $64, $20, $6C, $61, $72, $67, $65, $20, $62, $6C, $6F, $63, $6B, $73, $20, $61,
+ $72, $65, $3A, $20, $00, $00, $00, $00, $0D, $0A, $00, $00, $55, $6E, $65, $78,
+ $70, $65, $63, $74, $65, $64, $20, $4D, $65, $6D, $6F, $72, $79, $20, $4C, $65,
+ $61, $6B, $00, $00, $56, $57, $33, $C0, $33, $F6, $BA, $2A, $70, $40, $00, $80,
+ $3D, $EE, $86, $40, $00, $00, $74, $05, $F6, $02, $0F, $75, $1D, $0F, $B7, $3A,
+ $C1, $EF, $03, $8B, $CE, $03, $C9, $03, $C9, $3B, $F8, $76, $0B, $88, $88, $A8,
+ $85, $40, $00, $40, $3B, $F8, $77, $F5, $8B, $C7, $46, $83, $C2, $20, $83, $FE,
+ $37, $75, $CC, $5F, $5E, $C3, $8B, $C0, $53, $56, $57, $BE, $37, $00, $00, $00,
+ $BB, $44, $70, $40, $00, $83, $3B, $00, $75, $06, $C7, $03, $5C, $12, $40, $00,
+ $8D, $43, $E4, $89, $43, $F8, $8D, $43, $E4, $89, $43, $E8, $33, $C0, $89, $43,
+ $F0, $C7, $43, $EC, $01, $00, $00, $00, $0F, $B7, $43, $E6, $03, $C0, $03, $C0,
+ $8D, $04, $40, $05, $EF, $00, $00, $00, $25, $00, $FF, $FF, $FF, $83, $C0, $30,
+ $3D, $30, $0B, $00, $00, $73, $05, $B8, $30, $0B, $00, $00, $05, $D0, $04, $00,
+ $00, $C1, $E8, $0D, $83, $F8, $07, $76, $05, $B8, $07, $00, $00, $00, $8B, $C8,
+ $B2, $FF, $D2, $E2, $88, $53, $E5, $C1, $E0, $0D, $66, $05, $30, $0B, $66, $89,
+ $43, $FC, $0F, $B7, $7B, $E6, $0F, $B7, $C7, $8B, $C8, $C1, $E1, $04, $8D, $0C,
+ $49, $81, $C1, $EF, $00, $00, $00, $81, $E1, $00, $FF, $FF, $FF, $83, $C1, $30,
+ $81, $F9, $30, $73, $00, $00, $73, $05, $B9, $30, $73, $00, $00, $81, $F9, $30,
+ $FF, $00, $00, $76, $05, $B9, $30, $FF, $00, $00, $8B, $C1, $83, $E8, $20, $0F,
+ $B7, $D7, $8B, $CA, $33, $D2, $F7, $F1, $66, $F7, $EF, $66, $05, $EF, $00, $66,
+ $25, $00, $FF, $66, $83, $C0, $30, $66, $89, $43, $FE, $83, $C3, $20, $4E, $0F,
+ $85, $30, $FF, $FF, $FF, $E8, $DA, $FE, $FF, $FF, $C7, $05, $F0, $86, $40, $00,
+ $F0, $86, $40, $00, $C7, $05, $F4, $86, $40, $00, $F0, $86, $40, $00, $BE, $00,
+ $04, $00, $00, $BA, $90, $87, $40, $00, $8B, $C2, $89, $00, $89, $40, $04, $83,
+ $C2, $08, $4E, $75, $F3, $C7, $05, $94, $A7, $40, $00, $94, $A7, $40, $00, $C7,
+ $05, $98, $A7, $40, $00, $94, $A7, $40, $00, $5F, $5E, $5B, $C3, $8D, $40, $00,
+ $53, $56, $57, $55, $BB, $F0, $86, $40, $00, $BE, $94, $A7, $40, $00, $8B, $7B,
+ $04, $EB, $12, $8B, $6F, $04, $68, $00, $80, $00, $00, $6A, $00, $57, $E8, $C1,
+ $E5, $FF, $FF, $8B, $FD, $3B, $FB, $75, $EA, $BA, $37, $00, $00, $00, $B8, $28,
+ $70, $40, $00, $8B, $C8, $89, $48, $14, $8B, $C8, $89, $48, $04, $C7, $40, $08,
+ $01, $00, $00, $00, $33, $C9, $89, $48, $0C, $83, $C0, $20, $4A, $75, $E4, $89,
+ $1B, $89, $5B, $04, $BA, $00, $04, $00, $00, $B9, $90, $87, $40, $00, $8B, $C1,
+ $89, $00, $89, $40, $04, $83, $C1, $08, $4A, $75, $F3, $8B, $5E, $04, $EB, $12,
+ $8B, $7B, $04, $68, $00, $80, $00, $00, $6A, $00, $53, $E8, $64, $E5, $FF, $FF,
+ $8B, $DF, $3B, $DE, $75, $EA, $89, $36, $89, $76, $04, $5D, $5F, $5E, $5B, $C3,
+ $83, $3D, $AC, $A7, $40, $00, $00, $74, $12, $A1, $AC, $A7, $40, $00, $50, $E8,
+ $50, $E5, $FF, $FF, $33, $C0, $A3, $AC, $A7, $40, $00, $80, $3D, $9C, $85, $40,
+ $00, $00, $74, $05, $E8, $63, $F9, $FF, $FF, $83, $3D, $A4, $A7, $40, $00, $00,
+ $74, $19, $68, $00, $80, $00, $00, $6A, $00, $A1, $A4, $A7, $40, $00, $50, $E8,
+ $10, $E5, $FF, $FF, $33, $C0, $A3, $A4, $A7, $40, $00, $E8, $20, $FF, $FF, $FF,
+ $C3, $8D, $40, $00, $85, $C0, $7E, $13, $FF, $15, $08, $77, $40, $00, $85, $C0,
+ $74, $02, $F3, $C3, $B0, $01, $E9, $C5, $00, $00, $00, $31, $C0, $F3, $C3, $90,
+ $85, $C0, $74, $0A, $FF, $15, $0C, $77, $40, $00, $85, $C0, $75, $02, $F3, $C3,
+ $B0, $02, $E9, $A9, $00, $00, $00, $C3, $8B, $08, $85, $C9, $74, $32, $85, $D2,
+ $74, $18, $50, $89, $C8, $FF, $15, $10, $77, $40, $00, $59, $09, $C0, $74, $19,
+ $89, $01, $C3, $B0, $02, $E9, $86, $00, $00, $00, $89, $10, $89, $C8, $FF, $15,
+ $0C, $77, $40, $00, $09, $C0, $75, $EB, $C3, $B0, $01, $E9, $70, $00, $00, $00,
+ $85, $D2, $74, $10, $50, $89, $D0, $FF, $15, $08, $77, $40, $00, $59, $09, $C0,
+ $74, $E7, $89, $01, $C3, $8D, $40, $00, $89, $15, $04, $70, $40, $00, $E8, $95,
+ $0C, $00, $00, $C3, $53, $56, $8B, $F2, $8B, $D8, $80, $E3, $7F, $83, $3D, $08,
+ $80, $40, $00, $00, $74, $0A, $8B, $D6, $8B, $C3, $FF, $15, $08, $80, $40, $00,
+ $84, $DB, $75, $0D, $E8, $33, $13, $00, $00, $8B, $98, $04, $00, $00, $00, $EB,
+ $0F, $80, $FB, $18, $77, $0A, $0F, $B6, $C3, $0F, $B6, $98, $20, $77, $40, $00,
+ $0F, $B6, $C3, $8B, $D6, $E8, $AE, $FF, $FF, $FF, $5E, $5B, $C3, $8D, $40, $00,
+ $83, $E0, $7F, $8B, $14, $24, $E9, $A9, $FF, $FF, $FF, $C3, $53, $8B, $D8, $E8,
+ $F8, $12, $00, $00, $89, $98, $04, $00, $00, $00, $5B, $C3, $39, $D0, $74, $31,
+ $83, $F9, $20, $77, $7C, $83, $E9, $08, $7F, $07, $FF, $24, $8D, $F4, $2C, $40,
+ $00, $DF, $2C, $01, $DF, $28, $83, $F9, $08, $7E, $11, $DF, $68, $08, $83, $F9,
+ $10, $7E, $06, $DF, $68, $10, $DF, $7A, $10, $DF, $7A, $08, $DF, $3A, $DF, $3C,
+ $11, $C3, $90, $90, $D1, $2C, $40, $00, $52, $2D, $40, $00, $58, $2D, $40, $00,
+ $5F, $2D, $40, $00, $6C, $2D, $40, $00, $71, $2D, $40, $00, $7C, $2D, $40, $00,
+ $89, $2D, $40, $00, $94, $2D, $40, $00, $52, $DF, $28, $8D, $44, $01, $F8, $8D,
+ $4C, $0A, $F8, $DF, $28, $51, $F7, $D9, $83, $E2, $F8, $8D, $4C, $0A, $08, $5A,
+ $DF, $2C, $01, $DF, $3C, $11, $83, $C1, $08, $7C, $F5, $DF, $3A, $5A, $DF, $3A,
+ $C3, $7E, $2E, $39, $D0, $77, $D1, $29, $CA, $39, $D0, $8D, $14, $11, $76, $C8,
+ $83, $E9, $08, $51, $DF, $2C, $01, $DF, $28, $01, $D1, $83, $E1, $F8, $29, $D1,
+ $DF, $2C, $01, $DF, $3C, $11, $83, $E9, $08, $7F, $F5, $59, $DF, $3A, $DF, $3C,
+ $11, $C3, $0F, $B6, $08, $88, $0A, $C3, $0F, $B7, $08, $66, $89, $0A, $C3, $66,
+ $8B, $08, $8A, $40, $02, $66, $89, $0A, $88, $42, $02, $C3, $8B, $08, $89, $0A,
+ $C3, $8B, $08, $8A, $40, $04, $89, $0A, $88, $42, $04, $C3, $8B, $08, $66, $8B,
+ $40, $04, $89, $0A, $66, $89, $42, $04, $C3, $8B, $08, $8B, $40, $03, $89, $0A,
+ $89, $42, $03, $C3, $DF, $28, $DF, $3A, $C3, $8D, $40, $00, $53, $56, $8B, $D8,
+ $33, $F6, $0F, $B7, $43, $04, $66, $3D, $B1, $D7, $72, $2F, $66, $3D, $B3, $D7,
+ $77, $29, $66, $25, $B2, $D7, $66, $3D, $B2, $D7, $75, $07, $8B, $C3, $FF, $53,
+ $1C, $8B, $F0, $85, $F6, $75, $07, $8B, $C3, $FF, $53, $24, $8B, $F0, $85, $F6,
+ $74, $1B, $8B, $C6, $E8, $B3, $FE, $FF, $FF, $EB, $12, $81, $FB, $38, $80, $40,
+ $00, $74, $0A, $B8, $67, $00, $00, $00, $E8, $9F, $FE, $FF, $FF, $8B, $C6, $5E,
+ $5B, $C3, $8B, $C0, $83, $FA, $20, $88, $CD, $7C, $3D, $66, $89, $08, $66, $89,
+ $48, $02, $66, $89, $48, $04, $66, $89, $48, $06, $83, $EA, $10, $DD, $00, $DD,
+ $14, $02, $DD, $54, $02, $08, $89, $C1, $83, $E1, $07, $83, $E9, $08, $29, $C8,
+ $01, $CA, $01, $D0, $F7, $DA, $DD, $14, $02, $DD, $54, $02, $08, $83, $C2, $10,
+ $7C, $F4, $DD, $C0, $C3, $90, $90, $90, $85, $D2, $7E, $50, $88, $4C, $02, $FF,
+ $83, $E2, $FE, $F7, $DA, $8D, $14, $55, $8C, $2E, $40, $00, $FF, $E2, $90, $90,
+ $66, $89, $48, $1C, $66, $89, $48, $1A, $66, $89, $48, $18, $66, $89, $48, $16,
+ $66, $89, $48, $14, $66, $89, $48, $12, $66, $89, $48, $10, $66, $89, $48, $0E,
+ $66, $89, $48, $0C, $66, $89, $48, $0A, $66, $89, $48, $08, $66, $89, $48, $06,
+ $66, $89, $48, $04, $66, $89, $48, $02, $66, $89, $08, $C3, $C3, $8D, $40, $00,
+ $FF, $25, $84, $B1, $40, $00, $8B, $C0, $53, $33, $DB, $6A, $00, $E8, $EE, $FF,
+ $FF, $FF, $83, $F8, $07, $75, $1C, $6A, $01, $E8, $E2, $FF, $FF, $FF, $25, $00,
+ $FF, $00, $00, $3D, $00, $0D, $00, $00, $74, $07, $3D, $00, $04, $00, $00, $75,
+ $02, $B3, $01, $8B, $C3, $5B, $C3, $90, $55, $8B, $EC, $83, $C4, $F4, $0F, $B7,
+ $05, $0C, $70, $40, $00, $89, $45, $F8, $8D, $45, $FC, $50, $6A, $01, $6A, $00,
+ $68, $60, $2F, $40, $00, $68, $02, $00, $00, $80, $E8, $69, $E1, $FF, $FF, $85,
+ $C0, $75, $4D, $33, $C0, $55, $68, $39, $2F, $40, $00, $64, $FF, $30, $64, $89,
+ $20, $C7, $45, $F4, $04, $00, $00, $00, $8D, $45, $F4, $50, $8D, $45, $F8, $50,
+ $6A, $00, $6A, $00, $68, $7C, $2F, $40, $00, $8B, $45, $FC, $50, $E8, $3E, $E1,
+ $FF, $FF, $33, $C0, $5A, $59, $59, $64, $89, $10, $68, $40, $2F, $40, $00, $8B,
+ $45, $FC, $50, $E8, $18, $E1, $FF, $FF, $C3, $E9, $F6, $02, $00, $00, $EB, $EF,
+ $0F, $B7, $05, $0C, $70, $40, $00, $66, $25, $C0, $FF, $0F, $B7, $55, $F8, $66,
+ $83, $E2, $3F, $66, $0B, $C2, $66, $A3, $0C, $70, $40, $00, $8B, $E5, $5D, $C3,
+ $53, $4F, $46, $54, $57, $41, $52, $45, $5C, $42, $6F, $72, $6C, $61, $6E, $64,
+ $5C, $44, $65, $6C, $70, $68, $69, $5C, $52, $54, $4C, $00, $46, $50, $55, $4D,
+ $61, $73, $6B, $56, $61, $6C, $75, $65, $00, $00, $00, $00, $DB, $E3, $9B, $D9,
+ $2D, $0C, $70, $40, $00, $C3, $8B, $C0, $B0, $05, $E9, $E1, $FC, $FF, $FF, $C3,
+ $8B, $00, $89, $C2, $8B, $C2, $C3, $90, $56, $57, $89, $D7, $8B, $70, $D4, $31,
+ $C9, $8A, $0E, $41, $F3, $A4, $5F, $5E, $C3, $8D, $40, $00, $85, $C0, $74, $07,
+ $B2, $01, $8B, $08, $FF, $51, $FC, $C3, $53, $56, $57, $31, $C9, $31, $FF, $8A,
+ $1A, $EB, $02, $8B, $00, $8B, $70, $CC, $85, $F6, $74, $15, $66, $8B, $3E, $83,
+ $C6, $02, $8A, $4E, $06, $38, $D9, $74, $15, $66, $8B, $0E, $01, $CE, $4F, $75,
+ $F1, $8B, $40, $DC, $85, $C0, $75, $DB, $EB, $18, $8A, $1A, $EB, $EB, $B5, $00,
+ $8A, $5C, $31, $06, $32, $1C, $11, $80, $E3, $DF, $75, $EE, $49, $75, $F1, $8B,
+ $46, $02, $5F, $5E, $5B, $C3, $8B, $C0, $80, $3D, $10, $70, $40, $00, $01, $76,
+ $11, $6A, $00, $6A, $00, $6A, $00, $68, $DF, $FA, $ED, $0E, $FF, $15, $10, $80,
+ $40, $00, $C3, $90, $80, $3D, $10, $70, $40, $00, $00, $74, $17, $50, $50, $52,
+ $54, $6A, $02, $6A, $00, $68, $E4, $FA, $ED, $0E, $FF, $15, $10, $80, $40, $00,
+ $83, $C4, $08, $58, $C3, $8D, $40, $00, $54, $6A, $01, $6A, $00, $68, $E0, $FA,
+ $ED, $0E, $FF, $15, $10, $80, $40, $00, $83, $C4, $04, $58, $C3, $8D, $40, $00,
+ $80, $3D, $10, $70, $40, $00, $01, $76, $07, $50, $53, $E9, $D8, $FF, $FF, $FF,
+ $C3, $8D, $40, $00, $85, $C9, $74, $19, $8B, $41, $01, $80, $39, $E9, $74, $0C,
+ $80, $39, $EB, $75, $0C, $0F, $BE, $C0, $41, $41, $EB, $03, $83, $C1, $05, $01,
+ $C1, $C3, $8B, $C0, $80, $3D, $10, $70, $40, $00, $01, $76, $1D, $50, $52, $51,
+ $E8, $CF, $FF, $FF, $FF, $51, $54, $6A, $01, $6A, $00, $68, $E1, $FA, $ED, $0E,
+ $FF, $15, $10, $80, $40, $00, $59, $59, $5A, $58, $C3, $90, $80, $3D, $10, $70,
+ $40, $00, $01, $76, $12, $52, $54, $6A, $01, $6A, $00, $68, $E2, $FA, $ED, $0E,
+ $FF, $15, $10, $80, $40, $00, $5A, $C3, $50, $52, $80, $3D, $10, $70, $40, $00,
+ $01, $76, $10, $54, $6A, $02, $6A, $00, $68, $E3, $FA, $ED, $0E, $FF, $15, $10,
+ $80, $40, $00, $5A, $58, $C3, $8B, $C0, $8B, $44, $24, $04, $F7, $40, $04, $06,
+ $00, $00, $00, $0F, $85, $13, $01, $00, $00, $81, $38, $DE, $FA, $ED, $0E, $8B,
+ $50, $18, $8B, $48, $14, $74, $6E, $FC, $E8, $5F, $FE, $FF, $FF, $8B, $15, $0C,
+ $80, $40, $00, $85, $D2, $0F, $84, $F1, $00, $00, $00, $FF, $D2, $85, $C0, $0F,
+ $84, $E7, $00, $00, $00, $8B, $54, $24, $0C, $8B, $4C, $24, $04, $81, $39, $CE,
+ $FA, $EF, $0E, $74, $37, $E8, $DA, $FE, $FF, $FF, $80, $3D, $14, $70, $40, $00,
+ $00, $76, $29, $80, $3D, $10, $70, $40, $00, $00, $77, $20, $8D, $4C, $24, $04,
+ $50, $51, $E8, $A1, $DE, $FF, $FF, $83, $F8, $00, $58, $0F, $84, $AB, $00, $00,
+ $00, $89, $C2, $8B, $44, $24, $04, $8B, $48, $0C, $EB, $30, $89, $C2, $8B, $44,
+ $24, $04, $8B, $48, $0C, $80, $3D, $14, $70, $40, $00, $01, $76, $1E, $80, $3D,
+ $10, $70, $40, $00, $00, $77, $15, $50, $8D, $44, $24, $08, $52, $51, $50, $E8,
+ $64, $DE, $FF, $FF, $83, $F8, $00, $59, $5A, $58, $74, $70, $83, $48, $04, $02,
+ $53, $31, $DB, $56, $57, $55, $64, $8B, $1B, $53, $50, $52, $51, $8B, $54, $24,
+ $28, $6A, $00, $50, $68, $E0, $31, $40, $00, $52, $FF, $15, $14, $80, $40, $00,
+ $8B, $7C, $24, $28, $E8, $A3, $0D, $00, $00, $FF, $B0, $00, $00, $00, $00, $89,
+ $A0, $00, $00, $00, $00, $8B, $6F, $08, $8B, $5F, $04, $C7, $47, $04, $0C, $32,
+ $40, $00, $83, $C3, $05, $E8, $66, $FE, $FF, $FF, $FF, $E3, $E9, $CB, $00, $00,
+ $00, $E8, $76, $0D, $00, $00, $8B, $88, $00, $00, $00, $00, $8B, $11, $89, $90,
+ $00, $00, $00, $00, $8B, $41, $08, $E9, $90, $FD, $FF, $FF, $B8, $01, $00, $00,
+ $00, $C3, $8B, $C0, $8B, $44, $24, $04, $F7, $40, $04, $06, $00, $00, $00, $0F,
+ $84, $8F, $00, $00, $00, $53, $31, $DB, $56, $57, $55, $55, $68, $B4, $32, $40,
+ $00, $64, $FF, $33, $64, $89, $23, $64, $8B, $1B, $8B, $50, $18, $8B, $48, $14,
+ $53, $50, $52, $51, $8B, $7C, $24, $34, $E8, $1F, $0D, $00, $00, $FF, $B0, $00,
+ $00, $00, $00, $89, $A0, $00, $00, $00, $00, $8B, $4F, $04, $8B, $6F, $08, $C7,
+ $47, $04, $B4, $32, $40, $00, $83, $C1, $05, $E8, $16, $FE, $FF, $FF, $FF, $D1,
+ $E8, $F7, $0C, $00, $00, $8B, $88, $00, $00, $00, $00, $8B, $11, $89, $90, $00,
+ $00, $00, $00, $83, $C4, $14, $31, $C0, $5A, $59, $59, $64, $89, $10, $5D, $5F,
+ $5E, $5B, $EB, $20, $E9, $23, $00, $00, $00, $E8, $CE, $0C, $00, $00, $8B, $88,
+ $00, $00, $00, $00, $8B, $11, $89, $90, $00, $00, $00, $00, $8B, $41, $08, $E9,
+ $E8, $FC, $FF, $FF, $B8, $01, $00, $00, $00, $C3, $8B, $C0, $8B, $44, $24, $04,
+ $8B, $54, $24, $08, $F7, $40, $04, $06, $00, $00, $00, $74, $1F, $8B, $4A, $04,
+ $C7, $42, $04, $0C, $33, $40, $00, $53, $56, $57, $55, $8B, $6A, $08, $83, $C1,
+ $05, $E8, $9E, $FD, $FF, $FF, $FF, $D1, $5D, $5F, $5E, $5B, $B8, $01, $00, $00,
+ $00, $C3, $8B, $C0, $8B, $44, $24, $30, $C7, $40, $04, $5F, $33, $40, $00, $E8,
+ $68, $0C, $00, $00, $8B, $90, $00, $00, $00, $00, $8B, $0A, $89, $88, $00, $00,
+ $00, $00, $8B, $42, $0C, $83, $60, $04, $FD, $81, $38, $DE, $FA, $ED, $0E, $74,
+ $0D, $8B, $42, $08, $E8, $73, $FC, $FF, $FF, $E8, $CA, $FC, $FF, $FF, $31, $C0,
+ $83, $C4, $14, $64, $8B, $10, $59, $8B, $12, $89, $11, $5D, $5F, $5E, $5B, $B8,
+ $01, $00, $00, $00, $C3, $8D, $40, $00, $E8, $1F, $0C, $00, $00, $8B, $90, $00,
+ $00, $00, $00, $8B, $0A, $89, $88, $00, $00, $00, $00, $8B, $42, $08, $E8, $39,
+ $FC, $FF, $FF, $5A, $8B, $64, $24, $2C, $31, $C0, $59, $64, $89, $08, $58, $5D,
+ $E8, $37, $FD, $FF, $FF, $FF, $E2, $C3, $31, $D2, $8B, $4C, $24, $08, $8B, $44,
+ $24, $04, $83, $C1, $05, $64, $89, $02, $FF, $D1, $C2, $0C, $00, $C3, $8B, $C0,
+ $55, $8B, $EC, $8B, $55, $08, $8B, $02, $3D, $92, $00, $00, $C0, $7F, $2C, $74,
+ $5C, $3D, $8E, $00, $00, $C0, $7F, $15, $74, $57, $2D, $05, $00, $00, $C0, $74,
+ $5C, $2D, $87, $00, $00, $00, $74, $3D, $48, $74, $4E, $EB, $60, $05, $71, $FF,
+ $FF, $3F, $83, $E8, $02, $72, $36, $74, $30, $EB, $52, $3D, $96, $00, $00, $C0,
+ $7F, $11, $74, $3D, $2D, $93, $00, $00, $C0, $74, $2E, $48, $74, $13, $48, $74,
+ $24, $EB, $3A, $2D, $FD, $00, $00, $C0, $74, $2F, $83, $E8, $3D, $74, $26, $EB,
+ $2C, $B0, $C8, $EB, $2A, $B0, $C9, $EB, $26, $B0, $CD, $EB, $22, $B0, $CF, $EB,
+ $1E, $B0, $C8, $EB, $1A, $B0, $D7, $EB, $16, $B0, $CE, $EB, $12, $B0, $D8, $EB,
+ $0E, $B0, $DA, $EB, $0A, $B0, $D9, $EB, $06, $B0, $CA, $EB, $02, $B0, $FF, $0F,
+ $B6, $C0, $8B, $52, $0C, $E8, $DE, $F7, $FF, $FF, $5D, $C2, $04, $00, $8B, $C0,
+ $8B, $44, $24, $04, $F7, $40, $04, $06, $00, $00, $00, $0F, $85, $89, $00, $00,
+ $00, $80, $3D, $10, $70, $40, $00, $00, $77, $0F, $8D, $44, $24, $04, $50, $E8,
+ $A4, $DB, $FF, $FF, $83, $F8, $00, $74, $71, $8B, $44, $24, $04, $FC, $E8, $09,
+ $FB, $FF, $FF, $8B, $54, $24, $08, $6A, $00, $50, $68, $96, $34, $40, $00, $52,
+ $FF, $15, $14, $80, $40, $00, $8B, $5C, $24, $04, $81, $3B, $DE, $FA, $ED, $0E,
+ $8B, $53, $14, $8B, $43, $18, $74, $1D, $8B, $15, $0C, $80, $40, $00, $85, $D2,
+ $0F, $84, $FA, $FE, $FF, $FF, $89, $D8, $FF, $D2, $85, $C0, $0F, $84, $EE, $FE,
+ $FF, $FF, $8B, $53, $0C, $E8, $1E, $FC, $FF, $FF, $8B, $0D, $04, $80, $40, $00,
+ $85, $C9, $74, $02, $FF, $D1, $8B, $4C, $24, $04, $B8, $D9, $00, $00, $00, $8B,
+ $51, $14, $89, $14, $24, $E9, $EA, $03, $00, $00, $31, $C0, $C3, $8D, $40, $00,
+ $31, $D2, $8D, $45, $F4, $64, $8B, $0A, $64, $89, $02, $89, $08, $C7, $40, $04,
+ $50, $34, $40, $00, $89, $68, $08, $A3, $B4, $A7, $40, $00, $C3, $8D, $40, $00,
+ $31, $D2, $A1, $B4, $A7, $40, $00, $85, $C0, $74, $1C, $64, $8B, $0A, $39, $C8,
+ $75, $08, $8B, $00, $64, $89, $02, $C3, $8B, $09, $83, $F9, $FF, $74, $08, $39,
+ $01, $75, $F5, $8B, $00, $89, $01, $C3, $55, $8B, $EC, $53, $56, $57, $A1, $B8,
+ $A7, $40, $00, $85, $C0, $74, $4E, $8B, $1D, $BC, $A7, $40, $00, $8B, $78, $04,
+ $33, $C0, $55, $68, $81, $35, $40, $00, $64, $FF, $30, $64, $89, $20, $85, $DB,
+ $7E, $15, $4B, $89, $1D, $BC, $A7, $40, $00, $8B, $74, $DF, $04, $85, $F6, $74,
+ $02, $FF, $D6, $85, $DB, $7F, $EB, $33, $C0, $5A, $59, $59, $64, $89, $10, $EB,
+ $14, $E9, $82, $FB, $FF, $FF, $E8, $AD, $FF, $FF, $FF, $E8, $84, $FD, $FF, $FF,
+ $E8, $D3, $FD, $FF, $FF, $5F, $5E, $5B, $5D, $C3, $8B, $C0, $55, $8B, $EC, $51,
+ $53, $56, $57, $A1, $B8, $A7, $40, $00, $85, $C0, $74, $51, $8B, $38, $33, $DB,
+ $8B, $40, $04, $89, $45, $FC, $33, $C0, $55, $68, $E9, $35, $40, $00, $64, $FF,
+ $30, $64, $89, $20, $3B, $FB, $7E, $17, $8B, $45, $FC, $8B, $34, $D8, $43, $89,
+ $1D, $BC, $A7, $40, $00, $85, $F6, $74, $02, $FF, $D6, $3B, $FB, $7F, $E9, $33,
+ $C0, $5A, $59, $59, $64, $89, $10, $EB, $14, $E9, $1A, $FB, $FF, $FF, $E8, $45,
+ $FF, $FF, $FF, $E8, $1C, $FD, $FF, $FF, $E8, $6B, $FD, $FF, $FF, $5F, $5E, $5B,
+ $59, $5D, $C3, $90, $51, $56, $57, $BE, $B0, $A7, $40, $00, $8D, $7D, $C4, $B9,
+ $0B, $00, $00, $00, $F3, $A5, $8F, $05, $D0, $A7, $40, $00, $8F, $05, $CC, $A7,
+ $40, $00, $89, $2D, $C4, $A7, $40, $00, $89, $1D, $C8, $A7, $40, $00, $A3, $B8,
+ $A7, $40, $00, $89, $15, $C0, $A7, $40, $00, $8D, $4D, $C4, $89, $0D, $B0, $A7,
+ $40, $00, $31, $C9, $83, $7D, $0C, $00, $75, $02, $8B, $08, $89, $0D, $BC, $A7,
+ $40, $00, $B8, $08, $10, $40, $00, $A3, $10, $80, $40, $00, $B8, $10, $10, $40,
+ $00, $A3, $14, $80, $40, $00, $E8, $85, $FE, $FF, $FF, $8B, $45, $0C, $40, $A2,
+ $D8, $A7, $40, $00, $48, $59, $8B, $11, $89, $15, $D4, $A7, $40, $00, $74, $07,
+ $3C, $03, $7D, $03, $FF, $14, $81, $51, $8B, $4C, $24, $08, $85, $C9, $74, $08,
+ $8B, $45, $0C, $8B, $55, $10, $FF, $D1, $59, $8B, $45, $0C, $3C, $03, $7C, $03,
+ $FF, $14, $81, $83, $3D, $1C, $80, $40, $00, $00, $75, $0D, $C6, $05, $24, $80,
+ $40, $00, $01, $D9, $3D, $0C, $70, $40, $00, $8B, $45, $0C, $48, $0F, $85, $29,
+ $01, $00, $00, $E8, $D4, $FE, $FF, $FF, $C2, $04, $00, $C3, $53, $56, $57, $BF,
+ $44, $77, $40, $00, $B3, $10, $8B, $35, $00, $70, $40, $00, $8B, $C6, $B9, $0A,
+ $00, $00, $00, $99, $F7, $F9, $80, $C2, $30, $0F, $B6, $C3, $88, $14, $07, $B9,
+ $0A, $00, $00, $00, $8B, $C6, $99, $F7, $F9, $89, $C6, $4B, $85, $F6, $75, $DC,
+ $B3, $1C, $8B, $35, $04, $70, $40, $00, $8B, $C6, $83, $E0, $0F, $0F, $B6, $80,
+ $64, $77, $40, $00, $0F, $B6, $D3, $88, $04, $17, $B9, $10, $00, $00, $00, $8B,
+ $C6, $33, $D2, $F7, $F1, $89, $C6, $4B, $85, $F6, $75, $DC, $5F, $5E, $5B, $C3,
+ $31, $C0, $87, $05, $00, $70, $40, $00, $F7, $D8, $19, $C0, $40, $BF, $B0, $A7,
+ $40, $00, $8B, $5F, $18, $8B, $6F, $14, $FF, $77, $1C, $FF, $77, $20, $8B, $37,
+ $B9, $0B, $00, $00, $00, $F3, $A5, $5F, $5E, $C9, $C2, $0C, $00, $C3, $8B, $C0,
+ $51, $80, $3D, $34, $80, $40, $00, $00, $74, $57, $66, $81, $3D, $08, $82, $40,
+ $00, $B2, $D7, $75, $14, $83, $3D, $10, $82, $40, $00, $00, $76, $0B, $B8, $04,
+ $82, $40, $00, $FF, $15, $20, $82, $40, $00, $6A, $00, $8D, $44, $24, $04, $50,
+ $6A, $1E, $68, $44, $77, $40, $00, $6A, $F5, $E8, $62, $D8, $FF, $FF, $50, $E8,
+ $7C, $D8, $FF, $FF, $6A, $00, $8D, $44, $24, $04, $50, $6A, $02, $68, $E8, $37,
+ $40, $00, $6A, $F5, $E8, $47, $D8, $FF, $FF, $50, $E8, $61, $D8, $FF, $FF, $5A,
+ $C3, $80, $3D, $18, $70, $40, $00, $00, $75, $13, $6A, $00, $68, $3C, $77, $40,
+ $00, $68, $44, $77, $40, $00, $6A, $00, $E8, $53, $D8, $FF, $FF, $5A, $C3, $00,
+ $FF, $FF, $FF, $FF, $02, $00, $00, $00, $0D, $0A, $00, $00, $53, $56, $57, $55,
+ $BB, $B0, $A7, $40, $00, $BF, $30, $80, $40, $00, $80, $7B, $28, $00, $75, $14,
+ $83, $3F, $00, $74, $0F, $8B, $07, $89, $C6, $33, $C0, $89, $07, $FF, $D6, $83,
+ $3F, $00, $75, $F1, $83, $3D, $04, $70, $40, $00, $00, $74, $11, $E8, $AA, $FE,
+ $FF, $FF, $E8, $39, $FF, $FF, $FF, $33, $C0, $A3, $04, $70, $40, $00, $80, $7B,
+ $28, $02, $75, $0E, $83, $3D, $00, $70, $40, $00, $00, $75, $05, $33, $C0, $89,
+ $43, $0C, $E8, $F1, $FC, $FF, $FF, $80, $7B, $28, $01, $76, $09, $83, $3D, $00,
+ $70, $40, $00, $00, $74, $23, $8B, $7B, $10, $85, $FF, $74, $1C, $8B, $C7, $E8,
+ $40, $05, $00, $00, $8B, $6B, $10, $8B, $75, $10, $3B, $75, $04, $74, $0A, $85,
+ $F6, $74, $06, $56, $E8, $BF, $D7, $FF, $FF, $E8, $92, $FC, $FF, $FF, $80, $7B,
+ $28, $01, $75, $03, $FF, $53, $24, $80, $7B, $28, $00, $74, $05, $E8, $9E, $FE,
+ $FF, $FF, $83, $3B, $00, $75, $1A, $83, $3D, $18, $80, $40, $00, $00, $74, $06,
+ $FF, $15, $18, $80, $40, $00, $A1, $00, $70, $40, $00, $50, $E8, $77, $D7, $FF,
+ $FF, $8B, $03, $8B, $F0, $8B, $FB, $B9, $0B, $00, $00, $00, $F3, $A5, $E9, $6B,
+ $FF, $FF, $FF, $5D, $5F, $5E, $5B, $C3, $A3, $00, $70, $40, $00, $E8, $1A, $FF,
+ $FF, $FF, $C3, $90, $8F, $05, $04, $70, $40, $00, $E9, $E9, $FF, $FF, $FF, $C3,
+ $8B, $10, $85, $D2, $74, $1C, $C7, $00, $00, $00, $00, $00, $8B, $4A, $F8, $49,
+ $7C, $10, $F0, $FF, $4A, $F8, $75, $0A, $50, $8D, $42, $F8, $E8, $BF, $F2, $FF,
+ $FF, $58, $C3, $90, $53, $56, $89, $C3, $89, $D6, $8B, $13, $85, $D2, $74, $1A,
+ $C7, $03, $00, $00, $00, $00, $8B, $4A, $F8, $49, $7C, $0E, $F0, $FF, $4A, $F8,
+ $75, $08, $8D, $42, $F8, $E8, $96, $F2, $FF, $FF, $83, $C3, $04, $4E, $75, $DA,
+ $5E, $5B, $C3, $90, $85, $D2, $74, $24, $8B, $4A, $F8, $41, $7F, $1A, $50, $52,
+ $8B, $42, $FC, $E8, $30, $00, $00, $00, $89, $C2, $58, $52, $8B, $48, $FC, $E8,
+ $48, $F3, $FF, $FF, $5A, $58, $EB, $04, $F0, $FF, $42, $F8, $87, $10, $85, $D2,
+ $74, $14, $8B, $4A, $F8, $49, $7C, $0E, $F0, $FF, $4A, $F8, $75, $08, $8D, $42,
+ $F8, $E8, $4A, $F2, $FF, $FF, $C3, $90, $85, $C0, $7E, $24, $50, $83, $C0, $0A,
+ $83, $E0, $FE, $50, $E8, $1B, $F2, $FF, $FF, $5A, $66, $C7, $44, $02, $FE, $00,
+ $00, $83, $C0, $08, $5A, $89, $50, $FC, $C7, $40, $F8, $01, $00, $00, $00, $C3,
+ $31, $C0, $C3, $90, $53, $56, $57, $89, $C3, $89, $D6, $89, $CF, $89, $F8, $E8,
+ $C4, $FF, $FF, $FF, $89, $F9, $89, $C7, $85, $F6, $74, $09, $89, $C2, $89, $F0,
+ $E8, $D7, $F2, $FF, $FF, $89, $D8, $E8, $14, $FF, $FF, $FF, $89, $3B, $5F, $5E,
+ $5B, $C3, $8B, $C0, $52, $89, $E2, $B9, $01, $00, $00, $00, $E8, $C3, $FF, $FF,
+ $FF, $5A, $C3, $90, $57, $50, $51, $89, $D7, $31, $C0, $F2, $AE, $75, $02, $F7,
+ $D1, $58, $01, $C1, $58, $5F, $E9, $A9, $FF, $FF, $FF, $C3, $85, $D2, $74, $46,
+ $8B, $08, $85, $C9, $0F, $84, $2A, $FF, $FF, $FF, $53, $56, $57, $89, $C3, $89,
+ $D6, $8B, $79, $FC, $8B, $56, $FC, $01, $FA, $70, $26, $39, $CE, $74, $17, $E8,
+ $A8, $02, $00, $00, $89, $F0, $8B, $4E, $FC, $8B, $13, $01, $FA, $E8, $6A, $F2,
+ $FF, $FF, $5F, $5E, $5B, $C3, $E8, $91, $02, $00, $00, $8B, $03, $89, $F9, $EB,
+ $E8, $E9, $52, $F5, $FF, $FF, $C3, $90, $53, $56, $57, $52, $50, $89, $D3, $31,
+ $FF, $8B, $4C, $94, $14, $85, $C9, $74, $0C, $39, $08, $75, $08, $89, $CF, $8B,
+ $41, $FC, $4A, $EB, $02, $31, $C0, $8B, $4C, $94, $14, $85, $C9, $74, $0B, $03,
+ $41, $FC, $70, $5F, $39, $CF, $75, $02, $31, $FF, $4A, $75, $EA, $85, $FF, $74,
+ $17, $89, $C2, $8B, $04, $24, $8B, $77, $FC, $E8, $3E, $02, $00, $00, $8B, $3C,
+ $24, $FF, $37, $03, $37, $4B, $EB, $08, $E8, $DB, $FE, $FF, $FF, $50, $89, $C6,
+ $8B, $44, $9C, $18, $89, $F2, $85, $C0, $74, $0A, $8B, $48, $FC, $01, $CE, $E8,
+ $E8, $F1, $FF, $FF, $4B, $75, $E9, $5A, $58, $85, $FF, $75, $0C, $85, $D2, $74,
+ $03, $FF, $4A, $F8, $E8, $6B, $FE, $FF, $FF, $5A, $5F, $5E, $5B, $58, $8D, $24,
+ $94, $FF, $E0, $E9, $C0, $F4, $FF, $FF, $C3, $8D, $40, $00, $39, $D0, $74, $30,
+ $85, $D0, $74, $40, $0F, $B6, $08, $2A, $0A, $75, $25, $53, $8B, $58, $FC, $2B,
+ $5A, $FC, $53, $83, $D1, $FF, $21, $D9, $2B, $48, $FC, $29, $C8, $29, $CA, $8B,
+ $1C, $01, $33, $1C, $11, $75, $0A, $83, $C1, $04, $78, $F3, $58, $01, $C0, $5B,
+ $C3, $0F, $BC, $DB, $C1, $EB, $03, $01, $D9, $79, $F1, $8A, $04, $01, $3A, $04,
+ $11, $5B, $5B, $C3, $85, $C0, $74, $08, $85, $D2, $75, $B8, $39, $50, $FC, $C3,
+ $3B, $42, $FC, $C3, $85, $C0, $74, $0A, $C3, $FF, $FF, $FF, $FF, $00, $00, $00,
+ $00, $00, $B8, $41, $3B, $40, $00, $C3, $53, $85, $C0, $74, $2D, $8B, $58, $FC,
+ $85, $DB, $74, $26, $4A, $7C, $1B, $39, $DA, $7D, $1F, $29, $D3, $85, $C9, $7C,
+ $19, $39, $D9, $7F, $11, $01, $C2, $8B, $44, $24, $08, $E8, $34, $FE, $FF, $FF,
+ $EB, $11, $31, $D2, $EB, $E5, $89, $D9, $EB, $EB, $8B, $44, $24, $08, $E8, $5D,
+ $FD, $FF, $FF, $5B, $C2, $04, $00, $C3, $53, $56, $83, $C4, $F0, $85, $D2, $74,
+ $4E, $85, $C0, $74, $4A, $8B, $72, $FC, $8B, $58, $FC, $39, $DE, $7C, $40, $85,
+ $DB, $7E, $3C, $4B, $01, $D6, $01, $DA, $89, $74, $24, $08, $01, $D8, $89, $54,
+ $24, $04, $F7, $DB, $0F, $B6, $08, $89, $1C, $24, $0F, $85, $99, $00, $00, $00,
+ $83, $EE, $02, $89, $74, $24, $0C, $3A, $0A, $74, $41, $3A, $4A, $01, $74, $4C,
+ $83, $C2, $02, $3B, $54, $24, $0C, $72, $0A, $3B, $54, $24, $08, $72, $E8, $31,
+ $C0, $EB, $30, $3A, $0A, $74, $25, $3A, $4A, $01, $74, $30, $3A, $4A, $02, $74,
+ $18, $3A, $4A, $03, $74, $23, $83, $C2, $04, $3B, $54, $24, $0C, $72, $E4, $3B,
+ $54, $24, $08, $72, $C2, $31, $C0, $EB, $0A, $83, $C2, $02, $42, $89, $D0, $2B,
+ $44, $24, $04, $83, $C4, $10, $5E, $5B, $C3, $83, $C2, $02, $83, $C2, $02, $31,
+ $C0, $3B, $54, $24, $08, $77, $06, $89, $D0, $2B, $44, $24, $04, $83, $C4, $10,
+ $5E, $5B, $C3, $3A, $0A, $74, $75, $3A, $4A, $01, $74, $43, $3A, $4A, $02, $74,
+ $68, $3A, $4A, $03, $74, $36, $83, $C2, $04, $3B, $54, $24, $0C, $72, $E4, $3B,
+ $54, $24, $08, $72, $0B, $31, $C0, $EB, $4A, $83, $EE, $02, $89, $74, $24, $0C,
+ $3A, $0A, $74, $48, $3A, $4A, $01, $74, $16, $83, $C2, $02, $3B, $54, $24, $0C,
+ $72, $C1, $3B, $54, $24, $08, $72, $E8, $31, $C0, $EB, $27, $83, $C2, $02, $8B,
+ $34, $24, $0F, $B7, $1C, $30, $66, $3B, $5C, $32, $01, $75, $DC, $83, $C6, $02,
+ $7C, $F0, $83, $C2, $02, $31, $C0, $3B, $54, $24, $08, $77, $06, $89, $D0, $2B,
+ $44, $24, $04, $83, $C4, $10, $5E, $5B, $C3, $83, $C2, $02, $8B, $34, $24, $0F,
+ $B7, $1C, $30, $66, $3B, $1C, $32, $75, $AB, $83, $C6, $02, $7C, $F1, $42, $89,
+ $D0, $2B, $44, $24, $04, $83, $C4, $10, $5E, $5B, $C3, $90, $53, $56, $57, $89,
+ $C3, $89, $D6, $31, $FF, $85, $D2, $7E, $48, $8B, $03, $85, $C0, $74, $23, $83,
+ $78, $F8, $01, $75, $1D, $83, $E8, $08, $83, $C2, $09, $50, $89, $E0, $E8, $E5,
+ $EE, $FF, $FF, $58, $83, $C0, $08, $89, $03, $89, $70, $FC, $C6, $04, $06, $00,
+ $EB, $28, $89, $D0, $E8, $6F, $FC, $FF, $FF, $89, $C7, $8B, $03, $85, $C0, $74,
+ $10, $89, $FA, $8B, $48, $FC, $39, $F1, $7C, $02, $89, $F1, $E8, $7B, $EF, $FF,
+ $FF, $89, $D8, $E8, $B8, $FB, $FF, $FF, $89, $3B, $5F, $5E, $5B, $C3, $8B, $C0,
+ $B0, $11, $E9, $49, $EF, $FF, $FF, $C3, $55, $8B, $EC, $83, $C4, $F8, $53, $56,
+ $57, $89, $45, $FC, $A1, $20, $70, $40, $00, $89, $45, $F8, $83, $7D, $F8, $00,
+ $74, $39, $33, $C0, $55, $68, $73, $3D, $40, $00, $64, $FF, $30, $64, $89, $20,
+ $8B, $5D, $F8, $8B, $45, $FC, $FF, $53, $04, $33, $C0, $5A, $59, $59, $64, $89,
+ $10, $EB, $0A, $E9, $90, $F3, $FF, $FF, $E8, $EB, $F5, $FF, $FF, $8B, $45, $F8,
+ $8B, $00, $89, $45, $F8, $83, $7D, $F8, $00, $75, $C7, $5F, $5E, $5B, $59, $59,
+ $5D, $C3, $8B, $C0, $8B, $15, $1C, $70, $40, $00, $89, $10, $A3, $1C, $70, $40,
+ $00, $C3, $8B, $C0, $55, $8B, $EC, $51, $89, $45, $FC, $33, $D2, $55, $68, $08,
+ $3E, $40, $00, $64, $FF, $32, $64, $89, $22, $8B, $45, $FC, $8B, $40, $04, $E8,
+ $74, $FF, $FF, $FF, $33, $C0, $5A, $59, $59, $64, $89, $10, $68, $0F, $3E, $40,
+ $00, $8B, $45, $FC, $3B, $05, $1C, $70, $40, $00, $75, $0C, $8B, $45, $FC, $8B,
+ $00, $A3, $1C, $70, $40, $00, $EB, $1F, $A1, $1C, $70, $40, $00, $85, $C0, $74,
+ $16, $8B, $10, $3B, $55, $FC, $75, $09, $8B, $55, $FC, $8B, $12, $89, $10, $EB,
+ $06, $8B, $00, $85, $C0, $75, $EA, $C3, $E9, $27, $F4, $FF, $FF, $EB, $C2, $59,
+ $5D, $C3, $8B, $C0, $FF, $25, $94, $B1, $40, $00, $8B, $C0, $55, $8B, $EC, $33,
+ $C0, $55, $68, $70, $3E, $40, $00, $64, $FF, $30, $64, $89, $20, $FF, $05, $A0,
+ $85, $40, $00, $75, $2D, $B8, $38, $80, $40, $00, $E8, $5D, $EF, $FF, $FF, $B8,
+ $04, $82, $40, $00, $E8, $53, $EF, $FF, $FF, $B8, $D0, $83, $40, $00, $E8, $49,
+ $EF, $FF, $FF, $E8, $F8, $EC, $FF, $FF, $B8, $24, $70, $40, $00, $E8, $7E, $FA,
+ $FF, $FF, $33, $C0, $5A, $59, $59, $64, $89, $10, $68, $77, $3E, $40, $00, $C3,
+ $E9, $BF, $F3, $FF, $FF, $EB, $F8, $5D, $C3, $8D, $40, $00, $FF, $25, $E8, $B1,
+ $40, $00, $8B, $C0, $FF, $25, $E4, $B1, $40, $00, $8B, $C0, $FF, $25, $E0, $B1,
+ $40, $00, $8B, $C0, $FF, $25, $DC, $B1, $40, $00, $8B, $C0, $FF, $25, $D8, $B1,
+ $40, $00, $8B, $C0, $FF, $25, $D4, $B1, $40, $00, $8B, $C0, $50, $6A, $40, $E8,
+ $C8, $FF, $FF, $FF, $C3, $8D, $40, $00, $B8, $08, $00, $00, $00, $C3, $8B, $C0,
+ $53, $E8, $F2, $FF, $FF, $FF, $8B, $D8, $85, $DB, $74, $36, $83, $3D, $74, $77,
+ $40, $00, $FF, $75, $0A, $B8, $E2, $00, $00, $00, $E8, $F5, $F9, $FF, $FF, $8B,
+ $C3, $E8, $C6, $FF, $FF, $FF, $85, $C0, $75, $0C, $B8, $E2, $00, $00, $00, $E8,
+ $E0, $F9, $FF, $FF, $EB, $0C, $50, $A1, $74, $77, $40, $00, $50, $E8, $A2, $FF,
+ $FF, $FF, $5B, $C3, $B8, $08, $00, $00, $00, $85, $C0, $74, $1F, $E8, $7A, $FF,
+ $FF, $FF, $A3, $74, $77, $40, $00, $E8, $A4, $FF, $FF, $FF, $A1, $74, $77, $40,
+ $00, $50, $E8, $75, $FF, $FF, $FF, $A3, $E8, $A7, $40, $00, $C3, $8D, $40, $00,
+ $B8, $08, $00, $00, $00, $85, $C0, $74, $2B, $83, $3D, $74, $77, $40, $00, $FF,
+ $74, $22, $A1, $74, $77, $40, $00, $50, $E8, $4F, $FF, $FF, $FF, $85, $C0, $74,
+ $13, $50, $E8, $2D, $FF, $FF, $FF, $6A, $00, $A1, $74, $77, $40, $00, $50, $E8,
+ $40, $FF, $FF, $FF, $C3, $8D, $40, $00, $B8, $08, $00, $00, $00, $85, $C0, $74,
+ $19, $E8, $BA, $FF, $FF, $FF, $83, $3D, $74, $77, $40, $00, $FF, $74, $0B, $A1,
+ $74, $77, $40, $00, $50, $E8, $0A, $FF, $FF, $FF, $C3, $90, $8A, $0D, $DC, $A7,
+ $40, $00, $A1, $74, $77, $40, $00, $84, $C9, $75, $26, $64, $8B, $15, $2C, $00,
+ $00, $00, $8B, $04, $82, $C3, $E8, $15, $FF, $FF, $FF, $A1, $74, $77, $40, $00,
+ $50, $E8, $E6, $FE, $FF, $FF, $85, $C0, $74, $01, $C3, $A1, $E8, $A7, $40, $00,
+ $C3, $50, $E8, $D5, $FE, $FF, $FF, $85, $C0, $74, $DB, $C3, $B8, $78, $77, $40,
+ $00, $E8, $BE, $FD, $FF, $FF, $C3, $90, $BA, $78, $77, $40, $00, $83, $7D, $0C,
+ $01, $75, $2A, $50, $52, $C6, $05, $DC, $A7, $40, $00, $01, $8B, $4D, $08, $89,
+ $0D, $E0, $A7, $40, $00, $89, $4A, $04, $C7, $42, $08, $00, $00, $00, $00, $C7,
+ $42, $0C, $00, $00, $00, $00, $E8, $C1, $FF, $FF, $FF, $5A, $58, $FF, $35, $E4,
+ $A7, $40, $00, $B9, $90, $77, $40, $00, $E8, $E7, $F5, $FF, $FF, $C3, $8B, $C0,
+ $FF, $25, $54, $B2, $40, $00, $8B, $C0, $FF, $25, $50, $B2, $40, $00, $8B, $C0,
+ $FF, $25, $4C, $B2, $40, $00, $8B, $C0, $FF, $25, $48, $B2, $40, $00, $8B, $C0,
+ $FF, $25, $44, $B2, $40, $00, $8B, $C0, $FF, $25, $40, $B2, $40, $00, $8B, $C0,
+ $FF, $25, $3C, $B2, $40, $00, $8B, $C0, $FF, $25, $38, $B2, $40, $00, $8B, $C0,
+ $FF, $25, $34, $B2, $40, $00, $8B, $C0, $FF, $25, $30, $B2, $40, $00, $8B, $C0,
+ $FF, $25, $2C, $B2, $40, $00, $8B, $C0, $FF, $25, $28, $B2, $40, $00, $8B, $C0,
+ $FF, $25, $24, $B2, $40, $00, $8B, $C0, $FF, $25, $20, $B2, $40, $00, $8B, $C0,
+ $FF, $25, $1C, $B2, $40, $00, $8B, $C0, $FF, $25, $18, $B2, $40, $00, $8B, $C0,
+ $FF, $25, $14, $B2, $40, $00, $8B, $C0, $FF, $25, $10, $B2, $40, $00, $8B, $C0,
+ $FF, $25, $08, $B2, $40, $00, $8B, $C0, $FF, $25, $04, $B2, $40, $00, $8B, $C0,
+ $FF, $25, $00, $B2, $40, $00, $8B, $C0, $FF, $25, $FC, $B1, $40, $00, $8B, $C0,
+ $FF, $25, $F8, $B1, $40, $00, $8B, $C0, $FF, $25, $F4, $B1, $40, $00, $8B, $C0,
+ $FF, $25, $F0, $B1, $40, $00, $8B, $C0, $92, $E8, $AE, $EB, $FF, $FF, $C3, $90,
+ $55, $8B, $EC, $33, $C0, $55, $68, $2B, $41, $40, $00, $64, $FF, $30, $64, $89,
+ $20, $FF, $05, $EC, $A7, $40, $00, $75, $14, $83, $3D, $F0, $A7, $40, $00, $00,
+ $74, $0B, $A1, $F0, $A7, $40, $00, $50, $E8, $0B, $FF, $FF, $FF, $33, $C0, $5A,
+ $59, $59, $64, $89, $10, $68, $32, $41, $40, $00, $C3, $E9, $04, $F1, $FF, $FF,
+ $EB, $F8, $5D, $C3, $55, $8B, $EC, $83, $C4, $EC, $53, $56, $57, $55, $68, $E6,
+ $43, $40, $00, $64, $FF, $35, $00, $00, $00, $00, $64, $89, $25, $00, $00, $00,
+ $00, $8B, $F8, $85, $C0, $0F, $84, $7D, $02, $00, $00, $C6, $45, $FF, $00, $33,
+ $D2, $C7, $45, $F8, $04, $00, $00, $00, $33, $C9, $89, $4D, $EC, $0F, $B6, $30,
+ $40, $66, $83, $FE, $66, $75, $09, $C7, $45, $F8, $02, $00, $00, $00, $EB, $26,
+ $66, $83, $FE, $67, $75, $06, $C6, $45, $FF, $01, $EB, $1A, $8B, $CE, $66, $81,
+ $E1, $E7, $00, $66, $83, $F9, $26, $74, $0D, $8B, $CE, $83, $C1, $9C, $66, $83,
+ $E9, $02, $72, $02, $B2, $01, $84, $D2, $74, $C3, $66, $83, $FE, $0F, $75, $16,
+ $0F, $B6, $30, $0F, $B7, $D6, $0F, $B7, $0C, $55, $A0, $79, $40, $00, $66, $81,
+ $C6, $00, $0F, $40, $EB, $0B, $0F, $B7, $D6, $0F, $B7, $0C, $55, $A0, $77, $40,
+ $00, $F6, $C1, $38, $0F, $84, $9A, $01, $00, $00, $0F, $B6, $10, $8B, $DA, $80,
+ $E3, $07, $0F, $B6, $DB, $89, $5D, $F4, $40, $8B, $DA, $80, $E3, $C0, $80, $EB,
+ $40, $74, $07, $80, $EB, $40, $74, $0B, $EB, $21, $C7, $45, $F0, $01, $00, $00,
+ $00, $EB, $1D, $80, $7D, $FF, $00, $74, $09, $C7, $45, $F0, $02, $00, $00, $00,
+ $EB, $0E, $C7, $45, $F0, $04, $00, $00, $00, $EB, $05, $33, $DB, $89, $5D, $F0,
+ $8B, $DA, $80, $E3, $C0, $80, $FB, $C0, $0F, $95, $C3, $22, $5D, $FF, $75, $31,
+ $83, $7D, $F4, $04, $75, $16, $8B, $DA, $80, $E3, $C0, $80, $FB, $C0, $74, $0C,
+ $0F, $B6, $18, $80, $E3, $07, $0F, $B6, $DB, $89, $5D, $F4, $F6, $C2, $C0, $75,
+ $0D, $83, $7D, $F4, $05, $75, $07, $C7, $45, $F0, $04, $00, $00, $00, $03, $45,
+ $F0, $8B, $D9, $83, $E3, $38, $83, $FB, $08, $0F, $85, $05, $01, $00, $00, $0F,
+ $B7, $CE, $81, $C1, $28, $FF, $FF, $FF, $83, $F9, $1F, $0F, $87, $B0, $00, $00,
+ $00, $0F, $B6, $89, $8F, $42, $40, $00, $FF, $24, $8D, $AF, $42, $40, $00, $03,
+ $04, $05, $06, $07, $08, $09, $0A, $00, $00, $00, $00, $00, $00, $00, $00, $00,
+ $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $02, $31,
+ $43, $40, $00, $DB, $42, $40, $00, $E2, $42, $40, $00, $EB, $42, $40, $00, $F4,
+ $42, $40, $00, $FD, $42, $40, $00, $06, $43, $40, $00, $0F, $43, $40, $00, $18,
+ $43, $40, $00, $21, $43, $40, $00, $2A, $43, $40, $00, $33, $C9, $89, $4D, $EC,
+ $EB, $4F, $C7, $45, $EC, $01, $00, $00, $00, $EB, $46, $C7, $45, $EC, $02, $00,
+ $00, $00, $EB, $3D, $C7, $45, $EC, $03, $00, $00, $00, $EB, $34, $C7, $45, $EC,
+ $04, $00, $00, $00, $EB, $2B, $C7, $45, $EC, $05, $00, $00, $00, $EB, $22, $C7,
+ $45, $EC, $06, $00, $00, $00, $EB, $19, $C7, $45, $EC, $07, $00, $00, $00, $EB,
+ $10, $C7, $45, $EC, $08, $00, $00, $00, $EB, $07, $C7, $45, $EC, $09, $00, $00,
+ $00, $8B, $CA, $80, $E1, $C0, $80, $F9, $C0, $74, $1D, $0F, $B6, $D2, $C1, $EA,
+ $03, $83, $E2, $07, $8B, $4D, $EC, $03, $C9, $03, $C9, $8D, $0C, $CD, $A0, $7B,
+ $40, $00, $0F, $B7, $0C, $51, $EB, $1C, $0F, $B6, $D2, $C1, $EA, $03, $83, $E2,
+ $07, $8B, $4D, $EC, $03, $C9, $03, $C9, $8D, $0C, $CD, $A0, $7B, $40, $00, $0F,
+ $B7, $4C, $51, $10, $81, $E1, $00, $0C, $00, $00, $81, $E9, $00, $04, $00, $00,
+ $74, $12, $81, $E9, $00, $04, $00, $00, $74, $0D, $81, $E9, $00, $04, $00, $00,
+ $74, $0A, $EB, $0D, $40, $EB, $41, $83, $C0, $02, $EB, $3C, $03, $45, $F8, $EB,
+ $37, $66, $81, $EE, $9A, $00, $74, $15, $83, $C6, $FA, $66, $83, $EE, $04, $72,
+ $19, $66, $83, $EE, $24, $74, $0E, $66, $83, $EE, $22, $75, $1B, $03, $45, $F8,
+ $83, $C0, $02, $EB, $13, $83, $C0, $03, $EB, $0E, $80, $7D, $FF, $00, $74, $05,
+ $83, $C0, $02, $EB, $03, $83, $C0, $04, $8B, $D8, $2B, $DF, $33, $C0, $5A, $59,
+ $59, $64, $89, $10, $EB, $0C, $E9, $1D, $ED, $FF, $FF, $33, $DB, $E8, $76, $EF,
+ $FF, $FF, $8B, $C3, $5F, $5E, $5B, $8B, $E5, $5D, $C3, $90, $53, $56, $57, $55,
+ $51, $8B, $EA, $89, $04, $24, $33, $DB, $8B, $34, $24, $8B, $C6, $E8, $22, $FD,
+ $FF, $FF, $8B, $F8, $03, $F7, $03, $DF, $83, $FB, $05, $72, $EE, $8B, $CB, $8B,
+ $14, $24, $8B, $C5, $E8, $BF, $FC, $FF, $FF, $8B, $C5, $8B, $D0, $03, $D3, $C6,
+ $02, $E9, $2B, $F0, $2B, $F3, $83, $EE, $05, $42, $89, $32, $8B, $C3, $5A, $5D,
+ $5F, $5E, $5B, $C3, $55, $8B, $EC, $83, $C4, $F0, $53, $56, $57, $89, $4D, $F8,
+ $89, $55, $FC, $C6, $45, $F7, $00, $8B, $D0, $66, $81, $3A, $FF, $25, $75, $07,
+ $8B, $42, $02, $8B, $18, $EB, $02, $8B, $D8, $8D, $45, $F0, $50, $6A, $40, $6A,
+ $05, $53, $E8, $31, $FC, $FF, $FF, $85, $C0, $74, $7C, $33, $D2, $55, $68, $E9,
+ $44, $40, $00, $64, $FF, $32, $64, $89, $22, $6A, $40, $68, $00, $10, $00, $00,
+ $68, $00, $10, $00, $00, $6A, $00, $E8, $FC, $FB, $FF, $FF, $8B, $F0, $8B, $FB,
+ $89, $3E, $8B, $D6, $83, $C2, $05, $8B, $C3, $E8, $4E, $FF, $FF, $FF, $8B, $D6,
+ $83, $C2, $04, $88, $02, $C6, $03, $E9, $8B, $45, $FC, $2B, $C7, $83, $E8, $05,
+ $47, $89, $07, $8D, $45, $F0, $50, $8B, $45, $F0, $50, $6A, $05, $53, $E8, $D5,
+ $FB, $FF, $FF, $83, $C6, $05, $8B, $45, $F8, $89, $30, $C6, $45, $F7, $01, $33,
+ $C0, $5A, $59, $59, $64, $89, $10, $EB, $0E, $E9, $1A, $EC, $FF, $FF, $C6, $45,
+ $F7, $00, $E8, $71, $EE, $FF, $FF, $0F, $B6, $45, $F7, $5F, $5E, $5B, $8B, $E5,
+ $5D, $C3, $8B, $C0, $55, $8B, $EC, $83, $C4, $F8, $53, $56, $57, $8B, $F8, $B3,
+ $01, $33, $D2, $55, $68, $75, $45, $40, $00, $64, $FF, $32, $64, $89, $22, $8B,
+ $C7, $8B, $D0, $83, $EA, $05, $8B, $32, $48, $0F, $B6, $00, $89, $45, $F8, $8D,
+ $45, $FC, $50, $6A, $40, $6A, $05, $56, $E8, $6B, $FB, $FF, $FF, $8B, $4D, $F8,
+ $8B, $D7, $8B, $C6, $E8, $9F, $FB, $FF, $FF, $8D, $45, $FC, $50, $8B, $45, $FC,
+ $50, $6A, $05, $56, $E8, $4F, $FB, $FF, $FF, $8B, $C7, $83, $E8, $05, $68, $00,
+ $80, $00, $00, $6A, $00, $50, $E8, $35, $FB, $FF, $FF, $33, $C0, $5A, $59, $59,
+ $64, $89, $10, $EB, $0C, $E9, $8E, $EB, $FF, $FF, $33, $DB, $E8, $E7, $ED, $FF,
+ $FF, $8B, $C3, $5F, $5E, $5B, $59, $59, $5D, $C3, $8B, $C0, $85, $C0, $74, $75,
+ $85, $D2, $74, $6D, $57, $53, $31, $FF, $8B, $58, $FC, $89, $D9, $2B, $5A, $FC,
+ $83, $D7, $FF, $53, $21, $FB, $89, $C7, $29, $CB, $7D, $13, $29, $DF, $29, $DA,
+ $8B, $04, $1F, $8B, $0C, $1A, $31, $C8, $75, $13, $83, $C3, $04, $7C, $F1, $58,
+ $5B, $5F, $C3, $8B, $04, $1F, $8B, $0C, $1A, $31, $C8, $74, $ED, $A9, $DF, $DF,
+ $DF, $DF, $75, $3E, $01, $C0, $01, $C0, $85, $C8, $75, $36, $81, $E1, $5F, $5F,
+ $5F, $5F, $81, $C1, $3F, $3F, $3F, $3F, $81, $E1, $7F, $7F, $7F, $7F, $81, $C1,
+ $66, $66, $66, $66, $85, $C1, $75, $1A, $83, $C3, $04, $7C, $C6, $58, $5B, $5F,
+ $C3, $8B, $40, $FC, $C3, $85, $D2, $74, $03, $2B, $42, $FC, $C3, $83, $C3, $01,
+ $7D, $EB, $0F, $B6, $04, $1F, $0F, $B6, $0C, $1A, $83, $E8, $61, $83, $E9, $61,
+ $3C, $19, $77, $03, $83, $E8, $20, $80, $F9, $19, $77, $03, $83, $E9, $20, $29,
+ $C8, $74, $DA, $59, $5B, $5F, $C3, $90, $39, $D0, $74, $19, $09, $C0, $74, $17,
+ $09, $D2, $74, $14, $8B, $48, $FC, $3B, $4A, $FC, $75, $0C, $E8, $3B, $FF, $FF,
+ $FF, $85, $C0, $75, $03, $B0, $01, $C3, $31, $C0, $C3, $90, $55, $8B, $EC, $83,
+ $C4, $F8, $53, $56, $57, $33, $C9, $89, $4D, $F8, $8B, $F2, $89, $45, $FC, $33,
+ $C0, $55, $68, $CB, $46, $40, $00, $64, $FF, $30, $64, $89, $20, $8B, $C6, $85,
+ $C0, $74, $05, $83, $E8, $04, $8B, $00, $8B, $F8, $85, $FF, $7E, $27, $0F, $B6,
+ $5C, $3E, $FF, $84, $DB, $74, $1E, $8D, $45, $F8, $8B, $D3, $E8, $33, $F3, $FF,
+ $FF, $8B, $45, $F8, $8B, $55, $FC, $E8, $DC, $F4, $FF, $FF, $85, $C0, $75, $05,
+ $4F, $85, $FF, $7F, $D9, $33, $C0, $5A, $59, $59, $64, $89, $10, $68, $D2, $46,
+ $40, $00, $8D, $45, $F8, $E8, $16, $F2, $FF, $FF, $C3, $E9, $64, $EB, $FF, $FF,
+ $EB, $F0, $8B, $C7, $5F, $5E, $5B, $59, $59, $5D, $C3, $90, $53, $56, $57, $8B,
+ $FA, $8B, $D8, $8B, $D3, $B8, $10, $47, $40, $00, $E8, $6D, $FF, $FF, $FF, $8B,
+ $F0, $57, $8D, $56, $01, $B9, $FF, $FF, $FF, $7F, $8B, $C3, $E8, $47, $F4, $FF,
+ $FF, $5F, $5E, $5B, $C3, $00, $00, $00, $FF, $FF, $FF, $FF, $01, $00, $00, $00,
+ $5C, $00, $00, $00, $53, $56, $57, $55, $81, $C4, $00, $FC, $FF, $FF, $8B, $F2,
+ $8B, $F8, $8B, $C6, $E8, $B7, $F1, $FF, $FF, $68, $00, $04, $00, $00, $8D, $44,
+ $24, $04, $50, $8B, $C7, $E8, $FA, $F3, $FF, $FF, $8B, $E8, $55, $E8, $FE, $F8,
+ $FF, $FF, $8B, $D8, $81, $FB, $00, $04, $00, $00, $7D, $0D, $8B, $D4, $8B, $C6,
+ $8B, $CB, $E8, $4D, $F2, $FF, $FF, $EB, $19, $8B, $D3, $4A, $8B, $C6, $E8, $69,
+ $F5, $FF, $FF, $53, $8B, $06, $E8, $C9, $F3, $FF, $FF, $50, $55, $E8, $CE, $F8,
+ $FF, $FF, $81, $C4, $00, $04, $00, $00, $5D, $5F, $5E, $5B, $C3, $8D, $40, $00,
+ $53, $56, $81, $C4, $F8, $FE, $FF, $FF, $8B, $F2, $8B, $D8, $68, $05, $01, $00,
+ $00, $8D, $44, $24, $04, $50, $53, $E8, $AC, $F8, $FF, $FF, $8B, $C8, $8B, $D4,
+ $8B, $C6, $E8, $FD, $F1, $FF, $FF, $81, $C4, $08, $01, $00, $00, $5E, $5B, $C3,
+ $FF, $FF, $FF, $FF, $02, $00, $00, $00, $00, $00, $00, $00, $55, $8B, $EC, $83,
+ $C4, $F8, $53, $56, $57, $8B, $F1, $8B, $FA, $8B, $D8, $C6, $45, $FF, $00, $8B,
+ $C3, $E8, $5E, $F3, $FF, $FF, $50, $6A, $00, $6A, $02, $E8, $A0, $F8, $FF, $FF,
+ $89, $45, $F8, $83, $7D, $F8, $00, $74, $64, $83, $7D, $F8, $FF, $74, $5E, $33,
+ $C0, $55, $68, $46, $48, $40, $00, $64, $FF, $30, $64, $89, $20, $56, $6A, $00,
+ $6A, $00, $6A, $02, $8B, $45, $F8, $50, $E8, $6B, $F8, $FF, $FF, $8B, $D8, $85,
+ $DB, $75, $07, $E8, $80, $EB, $FF, $FF, $EB, $33, $8B, $D3, $8B, $C7, $8B, $CE,
+ $E8, $77, $E4, $FF, $FF, $53, $E8, $65, $F8, $FF, $FF, $C6, $45, $FF, $01, $33,
+ $C0, $5A, $59, $59, $64, $89, $10, $68, $4D, $48, $40, $00, $8B, $45, $F8, $50,
+ $E8, $DB, $F7, $FF, $FF, $C3, $E9, $E9, $E9, $FF, $FF, $EB, $EF, $0F, $B6, $45,
+ $FF, $5F, $5E, $5B, $59, $59, $5D, $C3, $55, $8B, $EC, $83, $C4, $F8, $53, $56,
+ $8B, $F2, $8B, $D8, $C6, $45, $FF, $00, $8B, $C3, $E8, $C5, $F2, $FF, $FF, $50,
+ $6A, $00, $6A, $02, $E8, $07, $F8, $FF, $FF, $89, $45, $F8, $83, $7D, $F8, $00,
+ $74, $64, $83, $7D, $F8, $FF, $74, $5E, $33, $C0, $55, $68, $DF, $48, $40, $00,
+ $64, $FF, $30, $64, $89, $20, $56, $6A, $00, $6A, $00, $6A, $02, $8B, $45, $F8,
+ $50, $E8, $D2, $F7, $FF, $FF, $8B, $D8, $85, $DB, $75, $07, $E8, $E7, $EA, $FF,
+ $FF, $EB, $33, $8B, $C3, $33, $C9, $8B, $D6, $E8, $36, $E5, $FF, $FF, $53, $E8,
+ $CC, $F7, $FF, $FF, $C6, $45, $FF, $01, $33, $C0, $5A, $59, $59, $64, $89, $10,
+ $68, $E6, $48, $40, $00, $8B, $45, $F8, $50, $E8, $42, $F7, $FF, $FF, $C3, $E9,
+ $50, $E9, $FF, $FF, $EB, $EF, $0F, $B6, $45, $FF, $5E, $5B, $59, $59, $5D, $C3,
+ $55, $8B, $EC, $33, $C0, $55, $68, $21, $49, $40, $00, $64, $FF, $30, $64, $89,
+ $20, $FF, $05, $F4, $A7, $40, $00, $75, $0A, $B8, $E0, $7C, $40, $00, $E8, $CD,
+ $EF, $FF, $FF, $33, $C0, $5A, $59, $59, $64, $89, $10, $68, $28, $49, $40, $00,
+ $C3, $E9, $0E, $E9, $FF, $FF, $EB, $F8, $5D, $C3, $8B, $C0, $FF, $25, $00, $A8,
+ $40, $00, $C3, $90, $FF, $25, $04, $A8, $40, $00, $C3, $90, $55, $8B, $EC, $6A,
+ $00, $53, $33, $C0, $55, $68, $FC, $49, $40, $00, $64, $FF, $30, $64, $89, $20,
+ $8D, $45, $FC, $BA, $04, $01, $00, $00, $E8, $6F, $F3, $FF, $FF, $68, $04, $01,
+ $00, $00, $8B, $45, $FC, $E8, $CA, $F1, $FF, $FF, $50, $E8, $F0, $F6, $FF, $FF,
+ $8B, $D8, $8D, $45, $FC, $8B, $D3, $E8, $50, $F3, $FF, $FF, $8B, $45, $FC, $80,
+ $7C, $18, $FF, $5C, $74, $0D, $8D, $45, $FC, $BA, $10, $4A, $40, $00, $E8, $69,
+ $F0, $FF, $FF, $8D, $45, $FC, $BA, $1C, $4A, $40, $00, $E8, $5C, $F0, $FF, $FF,
+ $8B, $45, $FC, $E8, $8C, $F1, $FF, $FF, $50, $E8, $C2, $F6, $FF, $FF, $A3, $FC,
+ $A7, $40, $00, $83, $3D, $FC, $A7, $40, $00, $00, $76, $2A, $68, $2C, $4A, $40,
+ $00, $A1, $FC, $A7, $40, $00, $50, $E8, $8C, $F6, $FF, $FF, $A3, $00, $A8, $40,
+ $00, $68, $40, $4A, $40, $00, $A1, $FC, $A7, $40, $00, $50, $E8, $77, $F6, $FF,
+ $FF, $A3, $04, $A8, $40, $00, $33, $C0, $5A, $59, $59, $64, $89, $10, $68, $03,
+ $4A, $40, $00, $8D, $45, $FC, $E8, $E5, $EE, $FF, $FF, $C3, $E9, $33, $E8, $FF,
+ $FF, $EB, $F0, $5B, $59, $5D, $C3, $00, $FF, $FF, $FF, $FF, $01, $00, $00, $00,
+ $5C, $00, $00, $00, $FF, $FF, $FF, $FF, $0C, $00, $00, $00, $73, $68, $66, $6F,
+ $6C, $64, $65, $72, $2E, $64, $6C, $6C, $00, $00, $00, $00, $53, $48, $47, $65,
+ $74, $46, $6F, $6C, $64, $65, $72, $50, $61, $74, $68, $41, $00, $00, $00, $00,
+ $53, $48, $47, $65, $74, $46, $6F, $6C, $64, $65, $72, $50, $61, $74, $68, $57,
+ $00, $00, $00, $00, $A1, $FC, $A7, $40, $00, $50, $E8, $C9, $F5, $FF, $FF, $C3,
+ $55, $8B, $EC, $33, $C0, $55, $68, $8C, $4A, $40, $00, $64, $FF, $30, $64, $89,
+ $20, $FF, $05, $F8, $A7, $40, $00, $75, $05, $E8, $D6, $FF, $FF, $FF, $33, $C0,
+ $5A, $59, $59, $64, $89, $10, $68, $93, $4A, $40, $00, $C3, $E9, $A3, $E7, $FF,
+ $FF, $EB, $F8, $5D, $C3, $8D, $40, $00, $55, $8B, $EC, $83, $C4, $EC, $53, $56,
+ $89, $45, $FC, $E8, $90, $F5, $FF, $FF, $8B, $F0, $B8, $0E, $00, $00, $00, $BA,
+ $F4, $7C, $40, $00, $8D, $4D, $EE, $0F, $B6, $1A, $88, $19, $41, $42, $48, $75,
+ $F6, $33, $C0, $8B, $C8, $03, $C9, $03, $C9, $8B, $D6, $D3, $EA, $83, $E2, $0F,
+ $0F, $B6, $92, $E4, $7C, $40, $00, $B9, $0D, $00, $00, $00, $2B, $C8, $88, $54,
+ $0D, $EE, $40, $83, $F8, $08, $75, $DB, $8B, $45, $FC, $8D, $55, $EE, $B9, $0E,
+ $00, $00, $00, $E8, $EC, $EE, $FF, $FF, $5E, $5B, $8B, $E5, $5D, $C3, $8B, $C0,
+ $55, $8B, $EC, $83, $C4, $F8, $53, $56, $33, $D2, $89, $55, $FC, $8B, $D8, $33,
+ $C0, $55, $68, $75, $4B, $40, $00, $64, $FF, $30, $64, $89, $20, $33, $F6, $85,
+ $DB, $74, $3C, $8D, $45, $F8, $50, $53, $E8, $AB, $F5, $FF, $FF, $85, $C0, $74,
+ $2E, $E8, $02, $F5, $FF, $FF, $3B, $45, $F8, $75, $24, $8D, $45, $FC, $E8, $55,
+ $FF, $FF, $FF, $8B, $45, $FC, $E8, $E9, $EF, $FF, $FF, $50, $E8, $17, $F5, $FF,
+ $FF, $8B, $F0, $0F, $B7, $C6, $50, $53, $E8, $63, $F5, $FF, $FF, $8B, $F0, $33,
+ $C0, $5A, $59, $59, $64, $89, $10, $68, $7C, $4B, $40, $00, $8D, $45, $FC, $E8,
+ $6C, $ED, $FF, $FF, $C3, $E9, $BA, $E6, $FF, $FF, $EB, $F0, $8B, $C6, $5E, $5B,
+ $59, $59, $5D, $C3, $53, $56, $81, $C4, $F8, $FE, $FF, $FF, $8B, $F2, $8B, $D8,
+ $68, $05, $01, $00, $00, $8D, $44, $24, $04, $50, $53, $E8, $18, $F5, $FF, $FF,
+ $8B, $C8, $8B, $D4, $8B, $C6, $E8, $F9, $ED, $FF, $FF, $81, $C4, $08, $01, $00,
+ $00, $5E, $5B, $C3, $53, $56, $81, $C4, $F8, $FE, $FF, $FF, $8B, $F2, $8B, $D8,
+ $68, $05, $01, $00, $00, $8D, $44, $24, $04, $50, $53, $E8, $00, $F5, $FF, $FF,
+ $8B, $C8, $8B, $D4, $8B, $C6, $E8, $C9, $ED, $FF, $FF, $81, $C4, $08, $01, $00,
+ $00, $5E, $5B, $C3, $55, $8B, $EC, $6A, $00, $53, $56, $8B, $5D, $08, $33, $C0,
+ $55, $68, $69, $4C, $40, $00, $64, $FF, $30, $64, $89, $20, $83, $CE, $FF, $8D,
+ $55, $FC, $8B, $C3, $E8, $7B, $FF, $FF, $FF, $BA, $84, $4C, $40, $00, $8B, $45,
+ $FC, $E8, $22, $FA, $FF, $FF, $84, $C0, $74, $22, $83, $3D, $10, $A8, $40, $00,
+ $00, $75, $08, $89, $1D, $10, $A8, $40, $00, $EB, $28, $83, $3D, $14, $A8, $40,
+ $00, $00, $75, $1F, $89, $1D, $14, $A8, $40, $00, $EB, $17, $BA, $94, $4C, $40,
+ $00, $8B, $45, $FC, $E8, $EF, $F9, $FF, $FF, $84, $C0, $74, $06, $89, $1D, $18,
+ $A8, $40, $00, $33, $C0, $5A, $59, $59, $64, $89, $10, $68, $70, $4C, $40, $00,
+ $8D, $45, $FC, $E8, $78, $EC, $FF, $FF, $C3, $E9, $C6, $E5, $FF, $FF, $EB, $F0,
+ $8B, $C6, $5E, $5B, $59, $5D, $C2, $08, $00, $00, $00, $00, $FF, $FF, $FF, $FF,
+ $05, $00, $00, $00, $54, $45, $64, $69, $74, $00, $00, $00, $FF, $FF, $FF, $FF,
+ $05, $00, $00, $00, $54, $4D, $65, $6D, $6F, $00, $00, $00, $55, $8B, $EC, $83,
+ $C4, $E0, $6A, $00, $68, $E4, $4B, $40, $00, $8B, $45, $08, $8B, $40, $08, $50,
+ $E8, $FB, $F3, $FF, $FF, $83, $3D, $10, $A8, $40, $00, $00, $74, $09, $83, $3D,
+ $14, $A8, $40, $00, $00, $75, $04, $33, $C0, $EB, $02, $B0, $01, $84, $C0, $74,
+ $5D, $8D, $45, $F0, $50, $A1, $10, $A8, $40, $00, $50, $E8, $E8, $F3, $FF, $FF,
+ $8D, $45, $E0, $50, $A1, $14, $A8, $40, $00, $50, $E8, $D9, $F3, $FF, $FF, $8B,
+ $45, $E4, $3B, $45, $F4, $7D, $16, $A1, $14, $A8, $40, $00, $8B, $15, $10, $A8,
+ $40, $00, $89, $15, $14, $A8, $40, $00, $A3, $10, $A8, $40, $00, $83, $3D, $10,
+ $A8, $40, $00, $00, $74, $12, $83, $3D, $14, $A8, $40, $00, $00, $74, $09, $83,
+ $3D, $18, $A8, $40, $00, $00, $75, $04, $33, $C0, $EB, $02, $B0, $01, $8B, $E5,
+ $5D, $C3, $8B, $C0, $55, $8B, $EC, $6A, $00, $53, $56, $8B, $F0, $33, $C0, $55,
+ $68, $9F, $4D, $40, $00, $64, $FF, $30, $64, $89, $20, $8D, $55, $FC, $B8, $B4,
+ $4D, $40, $00, $E8, $BC, $F9, $FF, $FF, $83, $7D, $FC, $00, $74, $2B, $BA, $00,
+ $04, $00, $00, $8B, $45, $FC, $E8, $ED, $FA, $FF, $FF, $8B, $DE, $85, $DB, $74,
+ $05, $83, $EB, $04, $8B, $1B, $8B, $C6, $E8, $B7, $ED, $FF, $FF, $8B, $D0, $8B,
+ $CB, $8B, $45, $FC, $E8, $33, $FA, $FF, $FF, $33, $C0, $5A, $59, $59, $64, $89,
+ $10, $68, $A6, $4D, $40, $00, $8D, $45, $FC, $E8, $42, $EB, $FF, $FF, $C3, $E9,
+ $90, $E4, $FF, $FF, $EB, $F0, $5E, $5B, $59, $5D, $C3, $00, $FF, $FF, $FF, $FF,
+ $07, $00, $00, $00, $4D, $65, $6D, $46, $69, $6C, $65, $00, $55, $8B, $EC, $53,
+ $8B, $D8, $53, $8B, $45, $08, $8B, $40, $08, $50, $FF, $15, $0C, $A8, $40, $00,
+ $8B, $55, $08, $89, $42, $FC, $5B, $5D, $C3, $8D, $40, $00, $55, $8B, $EC, $33,
+ $C9, $51, $51, $51, $51, $51, $53, $56, $57, $33, $C0, $55, $68, $83, $4F, $40,
+ $00, $64, $FF, $30, $64, $89, $20, $8D, $55, $F8, $8B, $45, $08, $E8, $82, $FD,
+ $FF, $FF, $BA, $A0, $4F, $40, $00, $8B, $45, $F8, $E8, $29, $F8, $FF, $FF, $84,
+ $C0, $75, $22, $BA, $BC, $4F, $40, $00, $8B, $45, $F8, $E8, $18, $F8, $FF, $FF,
+ $84, $C0, $75, $11, $BA, $D8, $4F, $40, $00, $8B, $45, $F8, $E8, $07, $F8, $FF,
+ $FF, $84, $C0, $74, $1E, $55, $33, $C0, $E8, $7F, $FF, $FF, $FF, $59, $68, $BB,
+ $07, $00, $00, $E8, $E8, $F1, $FF, $FF, $50, $E8, $3A, $F2, $FF, $FF, $E9, $15,
+ $01, $00, $00, $BA, $F4, $4F, $40, $00, $8B, $45, $F8, $E8, $D8, $F7, $FF, $FF,
+ $84, $C0, $74, $49, $8D, $55, $F8, $8B, $45, $08, $E8, $45, $FD, $FF, $FF, $8B,
+ $45, $F8, $BA, $04, $50, $40, $00, $E8, $60, $EC, $FF, $FF, $75, $20, $55, $33,
+ $C0, $E8, $36, $FF, $FF, $FF, $59, $6A, $00, $6A, $06, $68, $11, $01, $00, $00,
+ $8B, $45, $08, $50, $E8, $47, $F2, $FF, $FF, $E9, $CA, $00, $00, $00, $55, $8B,
+ $45, $0C, $E8, $15, $FF, $FF, $FF, $59, $E9, $BB, $00, $00, $00, $BA, $20, $50,
+ $40, $00, $8B, $45, $F8, $E8, $7E, $F7, $FF, $FF, $84, $C0, $0F, $84, $9C, $00,
+ $00, $00, $55, $33, $C0, $E8, $F2, $FE, $FF, $FF, $59, $8B, $45, $08, $E8, $2D,
+ $FC, $FF, $FF, $8B, $D8, $8B, $C3, $E8, $C4, $E0, $FF, $FF, $8B, $F0, $BA, $2C,
+ $50, $40, $00, $8B, $C6, $E8, $DE, $E0, $FF, $FF, $89, $C7, $33, $D2, $8B, $C3,
+ $FF, $D7, $55, $E8, $A4, $FD, $FF, $FF, $59, $84, $C0, $74, $6B, $8D, $55, $F4,
+ $A1, $10, $A8, $40, $00, $E8, $AA, $FC, $FF, $FF, $8D, $55, $F0, $A1, $14, $A8,
+ $40, $00, $E8, $9D, $FC, $FF, $FF, $8D, $55, $EC, $A1, $18, $A8, $40, $00, $E8,
+ $90, $FC, $FF, $FF, $FF, $75, $F4, $68, $44, $50, $40, $00, $FF, $75, $F0, $68,
+ $44, $50, $40, $00, $FF, $75, $EC, $8D, $45, $F8, $BA, $05, $00, $00, $00, $E8,
+ $04, $EB, $FF, $FF, $8B, $45, $F8, $E8, $E8, $FD, $FF, $FF, $68, $BB, $07, $00,
+ $00, $E8, $DA, $F0, $FF, $FF, $50, $E8, $2C, $F1, $FF, $FF, $EB, $0A, $55, $8B,
+ $45, $0C, $E8, $55, $FE, $FF, $FF, $59, $33, $C0, $5A, $59, $59, $64, $89, $10,
+ $68, $8A, $4F, $40, $00, $8D, $45, $EC, $BA, $04, $00, $00, $00, $E8, $82, $E9,
+ $FF, $FF, $C3, $E9, $AC, $E2, $FF, $FF, $EB, $EB, $8B, $45, $FC, $5F, $5E, $5B,
+ $8B, $E5, $5D, $C2, $08, $00, $00, $00, $FF, $FF, $FF, $FF, $10, $00, $00, $00,
+ $54, $54, $72, $69, $61, $6C, $57, $69, $7A, $61, $72, $64, $46, $6F, $72, $6D,
+ $00, $00, $00, $00, $FF, $FF, $FF, $FF, $12, $00, $00, $00, $54, $41, $64, $76,
+ $61, $6E, $63, $65, $64, $4C, $69, $63, $65, $6E, $73, $65, $55, $49, $00, $00,
+ $FF, $FF, $FF, $FF, $10, $00, $00, $00, $54, $53, $69, $6D, $70, $6C, $65, $4C,
+ $69, $63, $65, $6E, $73, $65, $55, $49, $00, $00, $00, $00, $FF, $FF, $FF, $FF,
+ $06, $00, $00, $00, $23, $33, $32, $37, $37, $30, $00, $00, $FF, $FF, $FF, $FF,
+ $11, $00, $00, $00, $52, $61, $64, $20, $53, $74, $75, $64, $69, $6F, $20, $4B,
+ $65, $79, $67, $65, $6E, $00, $00, $00, $FF, $FF, $FF, $FF, $08, $00, $00, $00,
+ $54, $46, $72, $6D, $4D, $61, $69, $6E, $00, $00, $00, $00, $0C, $42, $75, $74,
+ $74, $6F, $6E, $31, $43, $6C, $69, $63, $6B, $00, $00, $00, $FF, $FF, $FF, $FF,
+ $01, $00, $00, $00, $2C, $00, $00, $00, $55, $8B, $EC, $6A, $00, $6A, $00, $33,
+ $C0, $55, $68, $EF, $50, $40, $00, $64, $FF, $30, $64, $89, $20, $8D, $55, $F8,
+ $33, $C0, $E8, $19, $F7, $FF, $FF, $8B, $45, $F8, $8D, $55, $FC, $E8, $6A, $F6,
+ $FF, $FF, $BA, $04, $51, $40, $00, $8B, $45, $FC, $E8, $B9, $F5, $FF, $FF, $84,
+ $C0, $75, $11, $BA, $20, $51, $40, $00, $8B, $45, $FC, $E8, $A8, $F5, $FF, $FF,
+ $84, $C0, $74, $40, $8D, $55, $FC, $B8, $3C, $51, $40, $00, $E8, $73, $F6, $FF,
+ $FF, $8B, $45, $FC, $BA, $50, $51, $40, $00, $E8, $2E, $EA, $FF, $FF, $75, $24,
+ $68, $58, $51, $40, $00, $E8, $96, $EF, $FF, $FF, $68, $64, $51, $40, $00, $50,
+ $E8, $93, $EF, $FF, $FF, $B9, $0C, $A8, $40, $00, $BA, $DC, $4D, $40, $00, $E8,
+ $70, $F3, $FF, $FF, $33, $C0, $5A, $59, $59, $64, $89, $10, $68, $F6, $50, $40,
+ $00, $8D, $45, $F8, $BA, $02, $00, $00, $00, $E8, $16, $E8, $FF, $FF, $C3, $E9,
+ $40, $E1, $FF, $FF, $EB, $EB, $59, $59, $5D, $C3, $00, $00, $FF, $FF, $FF, $FF,
+ $12, $00, $00, $00, $4C, $69, $63, $65, $6E, $73, $65, $4D, $61, $6E, $61, $67,
+ $65, $72, $2E, $65, $78, $65, $00, $00, $FF, $FF, $FF, $FF, $13, $00, $00, $00,
+ $52, $61, $64, $53, $74, $75, $64, $69, $6F, $4B, $65, $79, $67, $65, $6E, $2E,
+ $65, $78, $65, $00, $FF, $FF, $FF, $FF, $0B, $00, $00, $00, $53, $45, $53, $53,
+ $49, $4F, $4E, $4E, $41, $4D, $45, $00, $FF, $FF, $FF, $FF, $07, $00, $00, $00,
+ $43, $6F, $6E, $73, $6F, $31, $65, $00, $75, $73, $65, $72, $33, $32, $2E, $64,
+ $6C, $6C, $00, $00, $53, $68, $6F, $77, $57, $69, $6E, $64, $6F, $77, $00, $00,
+ $A1, $0C, $A8, $40, $00, $85, $C0, $74, $05, $E8, $86, $F3, $FF, $FF, $C3, $90,
+ $55, $8B, $EC, $33, $C0, $55, $68, $AC, $51, $40, $00, $64, $FF, $30, $64, $89,
+ $20, $FF, $05, $08, $A8, $40, $00, $75, $05, $E8, $D2, $FF, $FF, $FF, $33, $C0,
+ $5A, $59, $59, $64, $89, $10, $68, $B3, $51, $40, $00, $C3, $E9, $83, $E0, $FF,
+ $FF, $EB, $F8, $5D, $C3, $8D, $40, $00, $55, $8B, $EC, $33, $C0, $55, $68, $D7,
+ $51, $40, $00, $64, $FF, $30, $64, $89, $20, $33, $C0, $5A, $59, $59, $64, $89,
+ $10, $68, $DE, $51, $40, $00, $C3, $E9, $58, $E0, $FF, $FF, $EB, $F8, $5D, $C3,
+ $0C, $00, $00, $00, $E8, $51, $40, $00, $00, $00, $00, $00, $00, $00, $00, $00,
+ $00, $60, $40, $00, $1C, $3E, $40, $00, $00, $00, $00, $00, $00, $00, $00, $00,
+ $98, $60, $40, $00, $F0, $40, $40, $00, $00, $00, $00, $00, $00, $00, $00, $00,
+ $00, $00, $00, $00, $00, $00, $00, $00, $AC, $60, $40, $00, $F0, $48, $40, $00,
+ $B4, $60, $40, $00, $60, $4A, $40, $00, $00, $00, $00, $00, $00, $00, $00, $00,
+ $00, $00, $00, $00, $00, $00, $00, $00, $C4, $60, $40, $00, $80, $51, $40, $00,
+ $00, $00, $00, $00, $B8, $51, $40, $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, $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, $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, $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, $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, $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, $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,
+ $83, $2D, $A0, $85, $40, $00, $01, $0F, $83, $87, $00, $00, $00, $E8, $86, $C9,
+ $FF, $FF, $C6, $05, $08, $70, $40, $00, $02, $C7, $05, $10, $80, $40, $00, $08,
+ $10, $40, $00, $C7, $05, $14, $80, $40, $00, $10, $10, $40, $00, $C6, $05, $36,
+ $80, $40, $00, $02, $C7, $05, $00, $80, $40, $00, $30, $3D, $40, $00, $E8, $55,
+ $CE, $FF, $FF, $84, $C0, $74, $05, $E8, $7C, $CE, $FF, $FF, $E8, $3B, $CF, $FF,
+ $FF, $66, $C7, $05, $3C, $80, $40, $00, $B0, $D7, $66, $C7, $05, $08, $82, $40,
+ $00, $B0, $D7, $66, $C7, $05, $D4, $83, $40, $00, $B0, $D7, $E8, $CF, $AF, $FF,
+ $FF, $A3, $2C, $80, $40, $00, $E8, $FD, $AF, $FF, $FF, $A3, $28, $80, $40, $00,
+ $E8, $8F, $DD, $FF, $FF, $A3, $A4, $85, $40, $00, $E8, $E1, $AF, $FF, $FF, $A3,
+ $20, $80, $40, $00, $C3, $8D, $40, $00, $83, $2D, $EC, $A7, $40, $00, $01, $73,
+ $07, $33, $C0, $A3, $F0, $A7, $40, $00, $C3, $8D, $40, $00, $83, $2D, $F4, $A7,
+ $40, $00, $01, $C3, $83, $2D, $F8, $A7, $40, $00, $01, $73, $05, $E8, $7A, $E8,
+ $FF, $FF, $C3, $90, $83, $2D, $08, $A8, $40, $00, $01, $73, $05, $E8, $76, $EF,
+ $FF, $FF, $C3, $90, $55, $8B, $EC, $83, $C4, $C4, $B8, $E0, $51, $40, $00, $E8,
+ $F4, $DE, $FF, $FF, $E8, $03, $D7, $FF, $FF, $8D, $40, $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, $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, $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, $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, $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, $02, $8D, $40, $00, $32, $13, $8B, $C0,
+ $00, $8D, $40, $00, $00, $8D, $40, $00, $00, $8D, $40, $00, $00, $00, $00, $00,
+ $00, $00, $00, $00, $C4, $10, $40, $00, $00, $00, $10, $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, $24, $11, $40, $00, $00, $00, $18, $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, $38, $11, $40, $00, $00, $00, $20, $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, $58, $11, $40, $00, $00, $00, $28, $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, $84, $11, $40, $00, $00, $00, $30, $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, $A4, $11, $40, $00, $00, $00, $38, $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, $C8, $11, $40, $00, $00, $00, $40, $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, $F4, $11, $40, $00, $00, $00, $48, $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, $24, $12, $40, $00, $00, $00, $50, $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, $58, $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, $60, $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, $68, $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, $70, $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, $78, $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, $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, $88, $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, $90, $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, $98, $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, $A0, $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, $B0, $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, $C0, $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, $D0, $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, $E0, $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, $F0, $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, $01, $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, $10, $01, $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, $20, $01, $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, $30, $01, $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, $40, $01, $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, $60, $01, $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, $80, $01, $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, $A0, $01, $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, $C0, $01, $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, $E0, $01, $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, $10, $02, $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, $40, $02, $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, $70, $02, $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, $A0, $02, $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, $E0, $02, $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, $20, $03, $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, $70, $03, $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, $C0, $03, $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, $20, $04, $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, $80, $04, $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, $F0, $04, $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, $60, $05, $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, $E0, $05, $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, $70, $06, $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, $10, $07, $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, $C0, $07, $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, $80, $08, $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, $50, $09, $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, $30, $0A, $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, $30, $0A, $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, $30, $0A, $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, $C8, $16, $40, $00, $4C, $1A, $40, $00,
+ $44, $1C, $40, $00, $5C, $1F, $40, $00, $F8, $22, $40, $00, $38, $23, $40, $00,
+ $00, $CB, $CC, $C8, $C9, $D7, $CF, $C8, $CD, $CE, $DB, $D8, $DA, $D9, $CA, $DC,
+ $DD, $DE, $DF, $E0, $E1, $E3, $00, $E4, $E5, $8D, $40, $00, $45, $72, $72, $6F,
+ $72, $00, $8B, $C0, $52, $75, $6E, $74, $69, $6D, $65, $20, $65, $72, $72, $6F,
+ $72, $20, $20, $20, $20, $20, $61, $74, $20, $30, $30, $30, $30, $30, $30, $30,
+ $30, $00, $8B, $C0, $30, $31, $32, $33, $34, $35, $36, $37, $38, $39, $41, $42,
+ $43, $44, $45, $46, $FF, $FF, $FF, $FF, $00, $00, $00, $00, $00, $00, $00, $00,
+ $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
+ $68, $3F, $40, $00, $04, $3F, $40, $00, $C0, $3E, $40, $00, $30, $3F, $40, $00,
+ $11, $42, $E4, $42, $11, $20, $E4, $20, $01, $84, $42, $8C, $00, $00, $00, $00,
+ $11, $42, $E4, $42, $11, $20, $E4, $20, $01, $84, $42, $8C, $00, $00, $00, $00,
+ $11, $42, $E4, $42, $11, $20, $E4, $20, $01, $84, $42, $8C, $00, $00, $00, $00,
+ $11, $42, $E4, $42, $11, $20, $E4, $20, $01, $84, $42, $8C, $00, $00, $00, $00,
+ $11, $42, $E4, $42, $11, $20, $E4, $20, $01, $84, $42, $8C, $00, $00, $00, $80,
+ $11, $42, $E4, $42, $11, $20, $E4, $20, $01, $84, $42, $8C, $00, $00, $00, $80,
+ $11, $42, $E4, $42, $11, $20, $E4, $20, $01, $84, $42, $8C, $00, $00, $00, $80,
+ $11, $02, $E4, $02, $11, $00, $E4, $00, $01, $04, $42, $0C, $00, $00, $00, $80,
+ $45, $60, $45, $60, $45, $60, $45, $60, $45, $60, $45, $60, $45, $60, $45, $60,
+ $45, $60, $45, $60, $45, $60, $45, $60, $45, $60, $45, $60, $45, $60, $45, $60,
+ $45, $00, $45, $00, $45, $00, $45, $00, $45, $00, $45, $00, $45, $00, $45, $00,
+ $45, $60, $45, $60, $45, $60, $45, $60, $45, $60, $45, $60, $45, $60, $45, $60,
+ $00, $00, $00, $80, $E4, $00, $1A, $42, $00, $00, $00, $00, $00, $00, $00, $00,
+ $00, $0C, $E4, $2C, $00, $04, $E4, $24, $00, $00, $00, $00, $00, $00, $00, $00,
+ $00, $14, $00, $14, $00, $14, $00, $14, $00, $14, $00, $14, $00, $14, $00, $14,
+ $00, $14, $00, $14, $00, $14, $00, $14, $00, $14, $00, $14, $00, $14, $00, $14,
+ $10, $05, $A0, $0D, $10, $05, $A0, $05, $11, $02, $E4, $02, $11, $A2, $E4, $A2,
+ $11, $42, $E4, $42, $11, $20, $E4, $20, $E3, $42, $E4, $20, $E3, $00, $A0, $01,
+ $00, $00, $46, $E0, $46, $E0, $46, $E0, $46, $E0, $46, $E0, $46, $E0, $46, $E0,
+ $00, $80, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $80,
+ $01, $81, $42, $81, $01, $03, $42, $03, $00, $00, $00, $00, $00, $00, $00, $00,
+ $01, $04, $42, $0C, $00, $00, $00, $00, $00, $80, $00, $80, $00, $00, $00, $00,
+ $04, $64, $04, $64, $04, $64, $04, $64, $04, $64, $04, $64, $04, $64, $04, $64,
+ $45, $6C, $45, $6C, $45, $6C, $45, $6C, $45, $6C, $45, $6C, $45, $6C, $45, $6C,
+ $10, $45, $A0, $45, $00, $08, $00, $00, $E4, $20, $E4, $20, $10, $45, $A0, $4D,
+ $00, $00, $00, $00, $00, $08, $00, $00, $00, $00, $00, $04, $00, $00, $00, $00,
+ $10, $41, $A0, $41, $10, $41, $A0, $41, $00, $84, $00, $84, $00, $00, $00, $80,
+ $08, $00, $08, $00, $08, $00, $08, $00, $08, $00, $08, $00, $08, $00, $08, $00,
+ $00, $14, $00, $14, $00, $14, $00, $14, $01, $84, $42, $84, $01, $06, $42, $06,
+ $00, $1C, $00, $1C, $00, $00, $00, $14, $07, $80, $47, $80, $07, $02, $47, $02,
+ $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $08, $00, $08, $00,
+ $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $10, $41, $A0, $01,
+ $18, $01, $20, $01, $E4, $20, $E4, $20, $FF, $FF, $00, $00, $00, $00, $00, $00,
+ $00, $00, $00, $00, $FF, $FF, $FF, $FF, $FF, $FF, $10, $01, $00, $00, $2D, $05,
+ $3F, $00, $3F, $02, $3F, $00, $3F, $02, $3F, $00, $3F, $00, $3F, $00, $3F, $02,
+ $10, $01, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF,
+ $23, $40, $23, $40, $23, $02, $23, $02, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF,
+ $3F, $00, $3F, $02, $2F, $00, $3F, $02, $3D, $00, $3D, $00, $3F, $00, $3F, $00,
+ $00, $00, $00, $80, $00, $80, $00, $80, $00, $00, $00, $00, $FF, $FF, $FF, $FF,
+ $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF,
+ $E4, $20, $E4, $20, $E4, $20, $E4, $20, $E4, $20, $E4, $20, $E4, $20, $E4, $20,
+ $E4, $20, $E4, $20, $E4, $20, $E4, $20, $E4, $20, $E4, $20, $E4, $20, $E4, $20,
+ $27, $42, $3F, $00, $3F, $00, $3F, $00, $3F, $00, $3F, $00, $3F, $00, $3F, $00,
+ $3F, $00, $3F, $00, $3F, $00, $3F, $00, $3F, $00, $3F, $00, $3F, $00, $3F, $00,
+ $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00,
+ $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $65, $00, $ED, $00,
+ $ED, $04, $A8, $04, $A8, $04, $A8, $04, $ED, $00, $ED, $00, $ED, $00, $00, $00,
+ $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $65, $02, $ED, $02,
+ $00, $1C, $00, $1C, $00, $1C, $00, $1C, $00, $1C, $00, $1C, $00, $1C, $00, $1C,
+ $00, $1C, $00, $1C, $00, $1C, $00, $1C, $00, $1C, $00, $1C, $00, $1C, $00, $1C,
+ $10, $41, $10, $41, $10, $41, $10, $41, $10, $41, $10, $41, $10, $41, $10, $41,
+ $10, $41, $10, $41, $10, $41, $10, $41, $10, $41, $10, $41, $10, $41, $10, $41,
+ $00, $00, $00, $00, $00, $80, $E4, $02, $E4, $47, $E4, $43, $11, $C2, $E4, $C2,
+ $00, $00, $00, $00, $00, $00, $E4, $42, $E4, $47, $E4, $43, $20, $00, $E4, $20,
+ $11, $C2, $E4, $C2, $E4, $20, $E4, $42, $E4, $20, $E4, $22, $54, $21, $1C, $21,
+ $FF, $FF, $FF, $FF, $A0, $05, $E4, $42, $E4, $20, $E4, $20, $54, $21, $1C, $21,
+ $11, $A2, $E4, $A2, $3F, $04, $24, $02, $65, $04, $AC, $24, $3F, $04, $28, $81,
+ $05, $60, $05, $60, $05, $60, $05, $60, $05, $60, $05, $60, $05, $60, $05, $60,
+ $FF, $FF, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $02, $AC, $20,
+ $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00,
+ $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $3F, $00, $ED, $02,
+ $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00,
+ $FF, $FF, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00,
+ $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $00, $00,
+ $10, $05, $FF, $FF, $10, $41, $10, $41, $10, $81, $10, $81, $10, $81, $10, $81,
+ $10, $05, $FF, $FF, $10, $41, $10, $41, $10, $81, $10, $81, $10, $81, $10, $81,
+ $A0, $0D, $FF, $FF, $A0, $41, $A0, $41, $A0, $81, $A0, $81, $A0, $81, $A0, $81,
+ $A0, $0D, $FF, $FF, $A0, $41, $A0, $41, $A0, $81, $A0, $81, $A0, $81, $A0, $81,
+ $20, $01, $20, $01, $20, $01, $20, $01, $20, $01, $20, $01, $20, $01, $20, $01,
+ $36, $00, $36, $00, $30, $00, $30, $00, $36, $00, $36, $00, $36, $00, $36, $00,
+ $20, $01, $FF, $FF, $20, $01, $20, $01, $10, $01, $18, $01, $10, $01, $18, $01,
+ $30, $00, $30, $00, $00, $00, $30, $00, $00, $00, $00, $00, $00, $00, $00, $00,
+ $20, $01, $20, $01, $20, $01, $20, $01, $20, $01, $20, $01, $20, $01, $20, $01,
+ $36, $00, $36, $00, $36, $00, $36, $00, $FF, $FF, $00, $00, $FF, $FF, $FF, $FF,
+ $20, $01, $FF, $FF, $20, $01, $20, $01, $FF, $FF, $30, $01, $FF, $FF, $30, $01,
+ $36, $00, $36, $00, $36, $00, $36, $00, $00, $00, $36, $00, $36, $00, $00, $00,
+ $28, $01, $28, $01, $28, $01, $28, $01, $28, $01, $28, $01, $28, $01, $28, $01,
+ $36, $02, $36, $02, $30, $00, $30, $00, $36, $02, $36, $02, $36, $02, $36, $02,
+ $28, $01, $FF, $FF, $28, $01, $28, $01, $10, $01, $FF, $FF, $10, $01, $18, $01,
+ $30, $00, $30, $00, $30, $00, $30, $00, $30, $00, $30, $00, $FF, $FF, $FF, $FF,
+ $18, $01, $18, $01, $18, $01, $18, $01, $18, $01, $18, $01, $18, $01, $18, $01,
+ $36, $02, $36, $02, $30, $00, $36, $02, $36, $02, $36, $02, $36, $02, $36, $02,
+ $18, $01, $FF, $FF, $18, $01, $18, $01, $30, $01, $28, $01, $30, $01, $28, $01,
+ $30, $00, $30, $00, $30, $00, $30, $00, $00, $00, $36, $00, $36, $00, $FF, $FF,
+ $B8, $47, $40, $00, $30, $31, $32, $33, $34, $35, $36, $37, $38, $39, $41, $42,
+ $43, $44, $45, $46, $44, $65, $6C, $70, $68, $69, $30, $30, $30, $30, $30, $30,
+ $30, $30, $8B, $C0, $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, $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, $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, $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,
+ $8C, $B0, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $5C, $B2, $00, $00,
+ $74, $B1, $00, $00, $9C, $B0, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
+ $9C, $B2, $00, $00, $84, $B1, $00, $00, $AC, $B0, $00, $00, $00, $00, $00, $00,
+ $00, $00, $00, $00, $D8, $B2, $00, $00, $94, $B1, $00, $00, $EC, $B0, $00, $00,
+ $00, $00, $00, $00, $00, $00, $00, $00, $D2, $B3, $00, $00, $D4, $B1, $00, $00,
+ $08, $B1, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $2C, $B4, $00, $00,
+ $F0, $B1, $00, $00, $28, $B1, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
+ $B6, $B4, $00, $00, $10, $B2, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
+ $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $6A, $B2, $00, $00,
+ $7E, $B2, $00, $00, $8E, $B2, $00, $00, $00, $00, $00, $00, $A8, $B2, $00, $00,
+ $BA, $B2, $00, $00, $CA, $B2, $00, $00, $00, $00, $00, $00, $E6, $B2, $00, $00,
+ $F0, $B2, $00, $00, $F8, $B2, $00, $00, $06, $B3, $00, $00, $16, $B3, $00, $00,
+ $2C, $B3, $00, $00, $3C, $B3, $00, $00, $4E, $B3, $00, $00, $60, $B3, $00, $00,
+ $6E, $B3, $00, $00, $7C, $B3, $00, $00, $88, $B3, $00, $00, $A4, $B3, $00, $00,
+ $B0, $B3, $00, $00, $C2, $B3, $00, $00, $00, $00, $00, $00, $E0, $B3, $00, $00,
+ $EE, $B3, $00, $00, $FC, $B3, $00, $00, $06, $B4, $00, $00, $12, $B4, $00, $00,
+ $1E, $B4, $00, $00, $00, $00, $00, $00, $38, $B4, $00, $00, $48, $B4, $00, $00,
+ $64, $B4, $00, $00, $76, $B4, $00, $00, $86, $B4, $00, $00, $92, $B4, $00, $00,
+ $A2, $B4, $00, $00, $00, $00, $00, $00, $C4, $B4, $00, $00, $D6, $B4, $00, $00,
+ $E4, $B4, $00, $00, $F4, $B4, $00, $00, $06, $B5, $00, $00, $1A, $B5, $00, $00,
+ $2E, $B5, $00, $00, $3E, $B5, $00, $00, $4E, $B5, $00, $00, $60, $B5, $00, $00,
+ $76, $B5, $00, $00, $88, $B5, $00, $00, $9C, $B5, $00, $00, $B2, $B5, $00, $00,
+ $CC, $B5, $00, $00, $E2, $B5, $00, $00, $F6, $B5, $00, $00, $04, $B6, $00, $00,
+ $00, $00, $00, $00, $6A, $B2, $00, $00, $7E, $B2, $00, $00, $8E, $B2, $00, $00,
+ $00, $00, $00, $00, $A8, $B2, $00, $00, $BA, $B2, $00, $00, $CA, $B2, $00, $00,
+ $00, $00, $00, $00, $E6, $B2, $00, $00, $F0, $B2, $00, $00, $F8, $B2, $00, $00,
+ $06, $B3, $00, $00, $16, $B3, $00, $00, $2C, $B3, $00, $00, $3C, $B3, $00, $00,
+ $4E, $B3, $00, $00, $60, $B3, $00, $00, $6E, $B3, $00, $00, $7C, $B3, $00, $00,
+ $88, $B3, $00, $00, $A4, $B3, $00, $00, $B0, $B3, $00, $00, $C2, $B3, $00, $00,
+ $00, $00, $00, $00, $E0, $B3, $00, $00, $EE, $B3, $00, $00, $FC, $B3, $00, $00,
+ $06, $B4, $00, $00, $12, $B4, $00, $00, $1E, $B4, $00, $00, $00, $00, $00, $00,
+ $38, $B4, $00, $00, $48, $B4, $00, $00, $64, $B4, $00, $00, $76, $B4, $00, $00,
+ $86, $B4, $00, $00, $92, $B4, $00, $00, $A2, $B4, $00, $00, $00, $00, $00, $00,
+ $C4, $B4, $00, $00, $D6, $B4, $00, $00, $E4, $B4, $00, $00, $F4, $B4, $00, $00,
+ $06, $B5, $00, $00, $1A, $B5, $00, $00, $2E, $B5, $00, $00, $3E, $B5, $00, $00,
+ $4E, $B5, $00, $00, $60, $B5, $00, $00, $76, $B5, $00, $00, $88, $B5, $00, $00,
+ $9C, $B5, $00, $00, $B2, $B5, $00, $00, $CC, $B5, $00, $00, $E2, $B5, $00, $00,
+ $F6, $B5, $00, $00, $04, $B6, $00, $00, $00, $00, $00, $00, $61, $64, $76, $61,
+ $70, $69, $33, $32, $2E, $64, $6C, $6C, $00, $00, $00, $00, $52, $65, $67, $51,
+ $75, $65, $72, $79, $56, $61, $6C, $75, $65, $45, $78, $41, $00, $00, $00, $00,
+ $52, $65, $67, $4F, $70, $65, $6E, $4B, $65, $79, $45, $78, $41, $00, $00, $00,
+ $52, $65, $67, $43, $6C, $6F, $73, $65, $4B, $65, $79, $00, $75, $73, $65, $72,
+ $33, $32, $2E, $64, $6C, $6C, $00, $00, $00, $00, $47, $65, $74, $4B, $65, $79,
+ $62, $6F, $61, $72, $64, $54, $79, $70, $65, $00, $00, $00, $44, $65, $73, $74,
+ $72, $6F, $79, $57, $69, $6E, $64, $6F, $77, $00, $00, $00, $4D, $65, $73, $73,
+ $61, $67, $65, $42, $6F, $78, $41, $00, $6B, $65, $72, $6E, $65, $6C, $33, $32,
+ $2E, $64, $6C, $6C, $00, $00, $00, $00, $47, $65, $74, $41, $43, $50, $00, $00,
+ $00, $00, $53, $6C, $65, $65, $70, $00, $00, $00, $56, $69, $72, $74, $75, $61,
+ $6C, $46, $72, $65, $65, $00, $00, $00, $56, $69, $72, $74, $75, $61, $6C, $41,
+ $6C, $6C, $6F, $63, $00, $00, $00, $00, $47, $65, $74, $43, $75, $72, $72, $65,
+ $6E, $74, $54, $68, $72, $65, $61, $64, $49, $64, $00, $00, $00, $00, $56, $69,
+ $72, $74, $75, $61, $6C, $51, $75, $65, $72, $79, $00, $00, $00, $00, $47, $65,
+ $74, $53, $74, $61, $72, $74, $75, $70, $49, $6E, $66, $6F, $41, $00, $00, $00,
+ $47, $65, $74, $43, $6F, $6D, $6D, $61, $6E, $64, $4C, $69, $6E, $65, $41, $00,
+ $00, $00, $46, $72, $65, $65, $4C, $69, $62, $72, $61, $72, $79, $00, $00, $00,
+ $45, $78, $69, $74, $50, $72, $6F, $63, $65, $73, $73, $00, $00, $00, $57, $72,
+ $69, $74, $65, $46, $69, $6C, $65, $00, $00, $00, $55, $6E, $68, $61, $6E, $64,
+ $6C, $65, $64, $45, $78, $63, $65, $70, $74, $69, $6F, $6E, $46, $69, $6C, $74,
+ $65, $72, $00, $00, $00, $00, $52, $74, $6C, $55, $6E, $77, $69, $6E, $64, $00,
+ $00, $00, $52, $61, $69, $73, $65, $45, $78, $63, $65, $70, $74, $69, $6F, $6E,
+ $00, $00, $00, $00, $47, $65, $74, $53, $74, $64, $48, $61, $6E, $64, $6C, $65,
+ $00, $00, $6B, $65, $72, $6E, $65, $6C, $33, $32, $2E, $64, $6C, $6C, $00, $00,
+ $00, $00, $54, $6C, $73, $53, $65, $74, $56, $61, $6C, $75, $65, $00, $00, $00,
+ $54, $6C, $73, $47, $65, $74, $56, $61, $6C, $75, $65, $00, $00, $00, $54, $6C,
+ $73, $46, $72, $65, $65, $00, $00, $00, $54, $6C, $73, $41, $6C, $6C, $6F, $63,
+ $00, $00, $00, $00, $4C, $6F, $63, $61, $6C, $46, $72, $65, $65, $00, $00, $00,
+ $4C, $6F, $63, $61, $6C, $41, $6C, $6C, $6F, $63, $00, $00, $75, $73, $65, $72,
+ $33, $32, $2E, $64, $6C, $6C, $00, $00, $00, $00, $53, $65, $6E, $64, $4D, $65,
+ $73, $73, $61, $67, $65, $41, $00, $00, $00, $00, $47, $65, $74, $57, $69, $6E,
+ $64, $6F, $77, $54, $68, $72, $65, $61, $64, $50, $72, $6F, $63, $65, $73, $73,
+ $49, $64, $00, $00, $00, $00, $47, $65, $74, $57, $69, $6E, $64, $6F, $77, $54,
+ $65, $78, $74, $41, $00, $00, $00, $00, $47, $65, $74, $57, $69, $6E, $64, $6F,
+ $77, $52, $65, $63, $74, $00, $00, $00, $47, $65, $74, $50, $72, $6F, $70, $41,
+ $00, $00, $00, $00, $47, $65, $74, $43, $6C, $61, $73, $73, $4E, $61, $6D, $65,
+ $41, $00, $00, $00, $45, $6E, $75, $6D, $43, $68, $69, $6C, $64, $57, $69, $6E,
+ $64, $6F, $77, $73, $00, $00, $6B, $65, $72, $6E, $65, $6C, $33, $32, $2E, $64,
+ $6C, $6C, $00, $00, $00, $00, $56, $69, $72, $74, $75, $61, $6C, $50, $72, $6F,
+ $74, $65, $63, $74, $00, $00, $00, $00, $56, $69, $72, $74, $75, $61, $6C, $46,
+ $72, $65, $65, $00, $00, $00, $56, $69, $72, $74, $75, $61, $6C, $41, $6C, $6C,
+ $6F, $63, $00, $00, $00, $00, $55, $6E, $6D, $61, $70, $56, $69, $65, $77, $4F,
+ $66, $46, $69, $6C, $65, $00, $00, $00, $54, $65, $72, $6D, $69, $6E, $61, $74,
+ $65, $50, $72, $6F, $63, $65, $73, $73, $00, $00, $00, $00, $4F, $70, $65, $6E,
+ $46, $69, $6C, $65, $4D, $61, $70, $70, $69, $6E, $67, $41, $00, $00, $00, $00,
+ $4D, $61, $70, $56, $69, $65, $77, $4F, $66, $46, $69, $6C, $65, $00, $00, $00,
+ $4C, $6F, $61, $64, $4C, $69, $62, $72, $61, $72, $79, $41, $00, $00, $00, $00,
+ $47, $6C, $6F, $62, $61, $6C, $46, $69, $6E, $64, $41, $74, $6F, $6D, $41, $00,
+ $00, $00, $47, $65, $74, $53, $79, $73, $74, $65, $6D, $44, $69, $72, $65, $63,
+ $74, $6F, $72, $79, $41, $00, $00, $00, $47, $65, $74, $50, $72, $6F, $63, $41,
+ $64, $64, $72, $65, $73, $73, $00, $00, $00, $00, $47, $65, $74, $4D, $6F, $64,
+ $75, $6C, $65, $48, $61, $6E, $64, $6C, $65, $41, $00, $00, $00, $00, $47, $65,
+ $74, $4D, $6F, $64, $75, $6C, $65, $46, $69, $6C, $65, $4E, $61, $6D, $65, $41,
+ $00, $00, $00, $00, $47, $65, $74, $45, $6E, $76, $69, $72, $6F, $6E, $6D, $65,
+ $6E, $74, $56, $61, $72, $69, $61, $62, $6C, $65, $41, $00, $00, $00, $47, $65,
+ $74, $43, $75, $72, $72, $65, $6E, $74, $50, $72, $6F, $63, $65, $73, $73, $49,
+ $64, $00, $00, $00, $47, $65, $74, $43, $75, $72, $72, $65, $6E, $74, $50, $72,
+ $6F, $63, $65, $73, $73, $00, $00, $00, $46, $72, $65, $65, $4C, $69, $62, $72,
+ $61, $72, $79, $00, $00, $00, $43, $6C, $6F, $73, $65, $48, $61, $6E, $64, $6C,
+ $65, $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,
+ $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, $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, $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, $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, $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, $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, $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, $00, $00, $00, $3C, $C0, $00, $00,
+ $01, $00, $00, $00, $02, $00, $00, $00, $02, $00, $00, $00, $28, $C0, $00, $00,
+ $30, $C0, $00, $00, $38, $C0, $00, $00, $34, $49, $00, $00, $2C, $49, $00, $00,
+ $49, $C0, $00, $00, $5A, $C0, $00, $00, $01, $00, $00, $00, $53, $48, $46, $6F,
+ $6C, $64, $65, $72, $2E, $64, $6C, $6C, $00, $53, $48, $47, $65, $74, $46, $6F,
+ $6C, $64, $65, $72, $50, $61, $74, $68, $41, $00, $53, $48, $47, $65, $74, $46,
+ $6F, $6C, $64, $65, $72, $50, $61, $74, $68, $57, $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, $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, $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, $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, $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, $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, $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, $10, $00, $00, $E0, $00, $00, $00, $02, $30, $0A, $30, $12, $30, $1A, $30,
+ $22, $30, $2A, $30, $32, $30, $3A, $30, $42, $30, $4A, $30, $52, $30, $5A, $30,
+ $62, $30, $6A, $30, $72, $30, $9E, $30, $A6, $30, $AE, $30, $B6, $30, $BA, $32,
+ $D0, $32, $E1, $32, $04, $33, $1E, $33, $34, $33, $43, $33, $4A, $33, $55, $33,
+ $65, $33, $9A, $33, $A8, $33, $D5, $33, $DD, $33, $E2, $33, $07, $34, $10, $34,
+ $23, $34, $2E, $34, $39, $34, $48, $34, $61, $34, $B0, $34, $B6, $34, $BC, $34,
+ $C7, $34, $6C, $35, $D6, $36, $E5, $36, $EC, $36, $76, $37, $A0, $37, $B0, $37,
+ $BA, $37, $D1, $37, $E6, $37, $F9, $37, $06, $38, $23, $38, $2C, $38, $62, $38,
+ $6C, $38, $84, $38, $8A, $38, $A2, $38, $BA, $38, $F5, $38, $FF, $38, $16, $39,
+ $5E, $39, $7B, $39, $87, $39, $9A, $39, $A3, $39, $AA, $39, $B0, $39, $C5, $39,
+ $D1, $39, $EE, $39, $F7, $39, $35, $3A, $57, $3A, $BF, $3A, $D7, $3A, $11, $3B,
+ $1B, $3B, $32, $3B, $91, $3B, $CE, $3B, $E7, $3B, $18, $3C, $22, $3C, $28, $3C,
+ $3F, $3D, $4F, $3D, $59, $3D, $72, $3D, $D8, $3D, $27, $3E, $37, $3E, $41, $3E,
+ $5C, $3E, $EF, $3E, $FF, $3E, $B2, $3F, $BB, $3F, $CD, $3F, $D9, $3F, $E4, $3F,
+ $00, $20, $00, $00, $B0, $00, $00, $00, $86, $32, $91, $32, $A0, $32, $B9, $32,
+ $CC, $32, $E7, $32, $ED, $32, $05, $33, $12, $33, $1A, $33, $23, $33, $31, $33,
+ $3E, $33, $83, $33, $A3, $33, $30, $35, $BD, $35, $C9, $35, $08, $36, $3D, $36,
+ $5D, $36, $B4, $36, $0A, $37, $39, $37, $4E, $37, $F6, $37, $57, $38, $6D, $38,
+ $5B, $39, $61, $39, $7F, $39, $A1, $39, $AC, $39, $7C, $3A, $80, $3A, $86, $3A,
+ $8A, $3A, $94, $3A, $A7, $3A, $AB, $3A, $B1, $3A, $B5, $3A, $C5, $3A, $CA, $3A,
+ $EF, $3A, $1A, $3B, $52, $3B, $5A, $3B, $67, $3B, $6D, $3B, $7B, $3B, $8A, $3B,
+ $97, $3B, $AA, $3B, $C6, $3B, $E7, $3B, $00, $3C, $19, $3C, $2A, $3C, $3F, $3C,
+ $4C, $3C, $6C, $3C, $AD, $3C, $D4, $3C, $D8, $3C, $DC, $3C, $E0, $3C, $E4, $3C,
+ $E8, $3C, $EC, $3C, $F0, $3C, $F4, $3C, $DD, $3D, $48, $3E, $92, $3E, $D1, $3E,
+ $E1, $3E, $F7, $3E, $15, $3F, $2B, $3F, $43, $3F, $58, $3F, $91, $3F, $00, $00,
+ $00, $30, $00, $00, $04, $01, $00, $00, $1A, $30, $2E, $30, $36, $30, $4C, $30,
+ $64, $30, $72, $30, $A6, $30, $C2, $30, $CE, $30, $E2, $30, $EC, $30, $FF, $30,
+ $2F, $31, $5C, $31, $65, $31, $97, $31, $A0, $31, $D5, $31, $DC, $31, $FE, $31,
+ $4D, $32, $82, $32, $F3, $32, $1B, $33, $63, $34, $8B, $34, $92, $34, $AA, $34,
+ $CC, $34, $00, $35, $08, $35, $13, $35, $3F, $35, $49, $35, $54, $35, $65, $35,
+ $A4, $35, $BA, $35, $D1, $35, $08, $36, $18, $36, $1E, $36, $24, $36, $2A, $36,
+ $2F, $36, $35, $36, $3E, $36, $4E, $36, $53, $36, $58, $36, $5D, $36, $62, $36,
+ $70, $36, $7A, $36, $A5, $36, $AE, $36, $B5, $36, $D0, $36, $D8, $36, $04, $37,
+ $10, $37, $34, $37, $3E, $37, $63, $37, $6D, $37, $77, $37, $7F, $37, $85, $37,
+ $93, $37, $AE, $37, $C3, $37, $CD, $37, $D2, $37, $F1, $37, $F6, $37, $16, $38,
+ $2A, $38, $36, $38, $4F, $38, $99, $38, $A2, $38, $A7, $38, $C9, $38, $D6, $38,
+ $43, $3B, $45, $3D, $56, $3D, $96, $3D, $9D, $3D, $AF, $3D, $CD, $3D, $D6, $3D,
+ $E2, $3D, $E9, $3D, $16, $3E, $23, $3E, $2F, $3E, $36, $3E, $40, $3E, $4A, $3E,
+ $59, $3E, $6B, $3E, $7E, $3E, $86, $3E, $8E, $3E, $96, $3E, $9E, $3E, $A6, $3E,
+ $CE, $3E, $F8, $3E, $13, $3F, $1D, $3F, $28, $3F, $3B, $3F, $43, $3F, $5A, $3F,
+ $78, $3F, $80, $3F, $8E, $3F, $93, $3F, $AC, $3F, $BC, $3F, $CD, $3F, $D9, $3F,
+ $E7, $3F, $F1, $3F, $00, $40, $00, $00, $00, $01, $00, $00, $0F, $30, $14, $30,
+ $22, $30, $2A, $30, $32, $30, $3A, $30, $42, $30, $4A, $30, $52, $30, $5A, $30,
+ $62, $30, $6A, $30, $72, $30, $7A, $30, $82, $30, $8A, $30, $92, $30, $9A, $30,
+ $A2, $30, $AA, $30, $B2, $30, $BA, $30, $C2, $30, $CA, $30, $D2, $30, $DA, $30,
+ $E2, $30, $F7, $30, $03, $31, $0B, $31, $13, $31, $26, $31, $3F, $31, $BA, $31,
+ $CD, $31, $84, $32, $8B, $32, $AF, $32, $B3, $32, $B7, $32, $BB, $32, $BF, $32,
+ $C3, $32, $C7, $32, $CB, $32, $CF, $32, $D3, $32, $D7, $32, $4E, $33, $6B, $33,
+ $7F, $34, $15, $35, $73, $36, $BE, $36, $E6, $36, $F3, $37, $38, $38, $8C, $38,
+ $D1, $38, $F7, $38, $03, $39, $0A, $39, $1C, $39, $2E, $39, $36, $39, $46, $39,
+ $8A, $39, $97, $39, $AF, $39, $B5, $39, $BD, $39, $C2, $39, $CD, $39, $D2, $39,
+ $D7, $39, $E2, $39, $EF, $39, $55, $3A, $67, $3A, $73, $3A, $87, $3A, $B0, $3A,
+ $D3, $3A, $13, $3B, $68, $3B, $F2, $3B, $0A, $3C, $1C, $3C, $25, $3C, $2D, $3C,
+ $36, $3C, $3D, $3C, $4F, $3C, $5C, $3C, $A5, $3C, $B7, $3C, $C0, $3C, $D6, $3C,
+ $E5, $3C, $F8, $3C, $FE, $3C, $04, $3D, $09, $3D, $0F, $3D, $18, $3D, $21, $3D,
+ $41, $3D, $4F, $3D, $92, $3D, $CC, $3D, $ED, $3D, $03, $3E, $14, $3E, $25, $3E,
+ $54, $3E, $73, $3E, $AE, $3E, $DF, $3E, $01, $3F, $0E, $3F, $1B, $3F, $28, $3F,
+ $30, $3F, $71, $3F, $00, $50, $00, $00, $40, $00, $00, $00, $53, $30, $73, $30,
+ $84, $30, $98, $30, $A5, $30, $B1, $30, $BB, $30, $C6, $30, $CB, $30, $DD, $30,
+ $71, $31, $87, $31, $93, $31, $A7, $31, $BF, $31, $D2, $31, $E4, $31, $F0, $31,
+ $F4, $31, $00, $32, $04, $32, $18, $32, $1C, $32, $20, $32, $24, $32, $38, $32,
+ $3C, $32, $44, $32, $00, $60, $00, $00, $34, $00, $00, $00, $02, $30, $14, $30,
+ $1B, $30, $1F, $30, $25, $30, $29, $30, $2F, $30, $36, $30, $3A, $30, $54, $30,
+ $5D, $30, $66, $30, $72, $30, $7C, $30, $86, $30, $90, $30, $9A, $30, $A4, $30,
+ $AE, $30, $B6, $30, $C6, $30, $DB, $30, $00, $70, $00, $00, $30, $00, $00, $00,
+ $24, $30, $44, $30, $64, $30, $84, $30, $A4, $30, $C4, $30, $E4, $30, $04, $31,
+ $24, $31, $08, $37, $0C, $37, $10, $37, $14, $37, $18, $37, $1C, $37, $90, $37,
+ $94, $37, $98, $37, $9C, $37, $E0, $3C, $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, $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, $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, $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, $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, $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, $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, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
+ $00, $00, $00, $00, $1B, $0E, $F5, $4E, $00, $00, $00, $00, $00, $00, $04, $00,
+ $03, $00, $00, $00, $30, $00, $00, $80, $0A, $00, $00, $00, $48, $00, $00, $80,
+ $0E, $00, $00, $00, $68, $00, $00, $80, $10, $00, $00, $00, $80, $00, $00, $80,
+ $00, $00, $00, $00, $1B, $0E, $F5, $4E, $00, $00, $00, $00, $00, $00, $01, $00,
+ $01, $00, $00, $00, $98, $00, $00, $80, $00, $00, $00, $00, $1B, $0E, $F5, $4E,
+ $00, $00, $00, $00, $02, $00, $00, $00, $60, $01, $00, $80, $B0, $00, $00, $80,
+ $6E, $01, $00, $80, $C8, $00, $00, $80, $00, $00, $00, $00, $1B, $0E, $F5, $4E,
+ $00, $00, $00, $00, $01, $00, $00, $00, $86, $01, $00, $80, $E0, $00, $00, $80,
+ $00, $00, $00, $00, $1B, $0E, $F5, $4E, $00, $00, $00, $00, $00, $00, $01, $00,
+ $01, $00, $00, $00, $F8, $00, $00, $80, $00, $00, $00, $00, $1B, $0E, $F5, $4E,
+ $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $10, $01, $00, $00,
+ $00, $00, $00, $00, $1B, $0E, $F5, $4E, $00, $00, $00, $00, $00, $00, $01, $00,
+ $00, $00, $00, $00, $20, $01, $00, $00, $00, $00, $00, $00, $1B, $0E, $F5, $4E,
+ $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $30, $01, $00, $00,
+ $00, $00, $00, $00, $1B, $0E, $F5, $4E, $00, $00, $00, $00, $00, $00, $01, $00,
+ $00, $00, $00, $00, $40, $01, $00, $00, $00, $00, $00, $00, $1B, $0E, $F5, $4E,
+ $00, $00, $00, $00, $00, $00, $01, $00, $09, $04, $00, $00, $50, $01, $00, $00,
+ $98, $E1, $00, $00, $28, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
+ $C0, $E2, $00, $00, $10, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
+ $D0, $E2, $00, $00, $90, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
+ $60, $E3, $00, $00, $14, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
+ $74, $E3, $00, $00, $C0, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
+ $06, $00, $44, $00, $56, $00, $43, $00, $4C, $00, $41, $00, $4C, $00, $0B, $00,
+ $50, $00, $41, $00, $43, $00, $4B, $00, $41, $00, $47, $00, $45, $00, $49, $00,
+ $4E, $00, $46, $00, $4F, $00, $08, $00, $4D, $00, $41, $00, $49, $00, $4E, $00,
+ $49, $00, $43, $00, $4F, $00, $4E, $00, $28, $00, $00, $00, $10, $00, $00, $00,
+ $20, $00, $00, $00, $01, $00, $04, $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, $80, $00, $00, $80, $00, $00, $00, $80, $80, $00,
+ $80, $00, $00, $00, $80, $00, $80, $00, $80, $80, $00, $00, $C0, $C0, $C0, $00,
+ $80, $80, $80, $00, $00, $00, $FF, $00, $00, $FF, $00, $00, $00, $FF, $FF, $00,
+ $FF, $00, $00, $00, $FF, $00, $FF, $00, $FF, $FF, $00, $00, $FF, $FF, $FF, $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, $FF, $FF, $FF, $FF, $F0, $00,
+ $00, $00, $FF, $FF, $FF, $FF, $F0, $00, $00, $00, $FF, $FF, $FF, $FF, $F0, $00,
+ $00, $00, $FF, $FF, $FF, $FF, $F0, $00, $00, $00, $FF, $FF, $FF, $FF, $F0, $00,
+ $00, $00, $FF, $FF, $FF, $FF, $F0, $00, $00, $00, $FF, $FF, $FF, $FF, $F0, $00,
+ $00, $00, $FF, $FF, $FF, $FF, $F0, $00, $00, $00, $FF, $FF, $FF, $00, $00, $00,
+ $00, $00, $FF, $FF, $FF, $0F, $00, $00, $00, $00, $FF, $FF, $FF, $00, $00, $00,
+ $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
+ $FF, $FF, $00, $00, $FF, $FF, $00, $00, $E0, $03, $00, $00, $E0, $03, $00, $00,
+ $E0, $03, $00, $00, $E0, $03, $00, $00, $E0, $03, $00, $00, $E0, $03, $00, $00,
+ $E0, $03, $00, $00, $E0, $03, $00, $00, $E0, $03, $00, $00, $E0, $03, $00, $00,
+ $E0, $07, $00, $00, $E0, $0F, $00, $00, $E0, $1F, $00, $00, $FF, $FF, $00, $00,
+ $26, $3D, $4F, $38, $C2, $82, $37, $B8, $F3, $24, $42, $03, $17, $9B, $3A, $83,
+ $00, $00, $10, $8C, $00, $00, $00, $00, $0C, $00, $00, $00, $01, $54, $53, $48,
+ $46, $6F, $6C, $64, $65, $72, $00, $1C, $4B, $57, $69, $6E, $64, $6F, $77, $73,
+ $00, $10, $55, $54, $79, $70, $65, $73, $00, $00, $81, $53, $79, $73, $49, $6E,
+ $69, $74, $00, $00, $C7, $53, $79, $73, $74, $65, $6D, $00, $00, $4E, $48, $65,
+ $6C, $70, $65, $72, $55, $74, $69, $6C, $73, $00, $00, $43, $57, $69, $6E, $64,
+ $6F, $77, $55, $74, $69, $6C, $73, $00, $00, $3F, $49, $70, $63, $55, $69, $6C,
+ $73, $00, $00, $15, $44, $65, $6C, $55, $74, $69, $6C, $73, $00, $00, $82, $41,
+ $70, $69, $55, $74, $69, $6C, $73, $00, $1C, $33, $4D, $65, $73, $73, $61, $67,
+ $65, $73, $00, $00, $CC, $53, $68, $65, $6C, $6C, $55, $74, $69, $6C, $73, $00,
+ $00, $00, $01, $00, $01, $00, $10, $10, $10, $00, $01, $00, $04, $00, $28, $01,
+ $00, $00, $01, $00, $C0, $01, $34, $00, $00, $00, $56, $00, $53, $00, $5F, $00,
+ $56, $00, $45, $00, $52, $00, $53, $00, $49, $00, $4F, $00, $4E, $00, $5F, $00,
+ $49, $00, $4E, $00, $46, $00, $4F, $00, $00, $00, $00, $00, $BD, $04, $EF, $FE,
+ $00, $00, $01, $00, $00, $00, $1A, $00, $C1, $19, $FF, $7F, $00, $00, $1A, $00,
+ $C1, $19, $FF, $7F, $3F, $00, $00, $00, $00, $00, $00, $00, $04, $00, $00, $00,
+ $01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
+ $1E, $01, $00, $00, $00, $00, $53, $00, $74, $00, $72, $00, $69, $00, $6E, $00,
+ $67, $00, $46, $00, $69, $00, $6C, $00, $65, $00, $49, $00, $6E, $00, $66, $00,
+ $6F, $00, $00, $00, $FA, $00, $00, $00, $00, $00, $30, $00, $34, $00, $30, $00,
+ $39, $00, $30, $00, $34, $00, $45, $00, $34, $00, $00, $00, $2E, $00, $07, $00,
+ $01, $00, $43, $00, $6F, $00, $6D, $00, $70, $00, $61, $00, $6E, $00, $79, $00,
+ $4E, $00, $61, $00, $6D, $00, $65, $00, $00, $00, $00, $00, $4C, $00, $73, $00,
+ $75, $00, $70, $00, $65, $00, $72, $00, $00, $00, $00, $00, $40, $00, $10, $00,
+ $01, $00, $46, $00, $69, $00, $6C, $00, $65, $00, $56, $00, $65, $00, $72, $00,
+ $73, $00, $69, $00, $6F, $00, $6E, $00, $00, $00, $00, $00, $32, $00, $36, $00,
+ $2E, $00, $30, $00, $2E, $00, $33, $00, $32, $00, $37, $00, $36, $00, $37, $00,
+ $2E, $00, $36, $00, $35, $00, $39, $00, $33, $00, $00, $00, $42, $00, $0D, $00,
+ $01, $00, $4F, $00, $72, $00, $69, $00, $67, $00, $69, $00, $6E, $00, $61, $00,
+ $6C, $00, $46, $00, $69, $00, $6C, $00, $65, $00, $6E, $00, $61, $00, $6D, $00,
+ $65, $00, $00, $00, $53, $00, $48, $00, $46, $00, $6F, $00, $6C, $00, $64, $00,
+ $65, $00, $72, $00, $2E, $00, $64, $00, $6C, $00, $6C, $00, $00, $00, $00, $00,
+ $2E, $00, $05, $00, $01, $00, $50, $00, $72, $00, $6F, $00, $64, $00, $75, $00,
+ $63, $00, $74, $00, $56, $00, $65, $00, $72, $00, $73, $00, $69, $00, $6F, $00,
+ $6E, $00, $00, $00, $32, $00, $36, $00, $2E, $00, $30, $00, $00, $00, $00, $00,
+ $44, $00, $00, $00, $00, $00, $56, $00, $61, $00, $72, $00, $46, $00, $69, $00,
+ $6C, $00, $65, $00, $49, $00, $6E, $00, $66, $00, $6F, $00, $00, $00, $00, $00,
+ $24, $00, $04, $00, $00, $00, $54, $00, $72, $00, $61, $00, $6E, $00, $73, $00,
+ $6C, $00, $61, $00, $74, $00, $69, $00, $6F, $00, $6E, $00, $00, $00, $00, $00,
+ $09, $04, $E4, $04, $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, $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, $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, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
+ $28, $28, $00, $00, $00, $02, $02, $00, $30, $82, $28, $18, $06, $09, $2A, $86,
+ $48, $86, $F7, $0D, $01, $07, $02, $A0, $82, $28, $09, $30, $82, $28, $05, $02,
+ $01, $01, $31, $0B, $30, $09, $06, $05, $2B, $0E, $03, $02, $1A, $05, $00, $30,
+ $4C, $06, $0A, $2B, $06, $01, $04, $01, $82, $37, $02, $01, $04, $A0, $3E, $30,
+ $3C, $30, $17, $06, $0A, $2B, $06, $01, $04, $01, $82, $37, $02, $01, $0F, $30,
+ $09, $03, $01, $00, $A0, $04, $A2, $02, $80, $00, $30, $21, $30, $09, $06, $05,
+ $2B, $0E, $03, $02, $1A, $05, $00, $04, $14, $1F, $B9, $D5, $98, $BD, $F2, $03,
+ $D4, $FB, $09, $C7, $BD, $9B, $13, $53, $FF, $83, $E9, $5B, $81, $A0, $82, $03,
+ $C6, $30, $82, $03, $C2, $30, $82, $02, $AE, $A0, $03, $02, $01, $02, $02, $10,
+ $79, $8B, $C8, $C7, $16, $0A, $2E, $8B, $4D, $CD, $3D, $3F, $BF, $8F, $57, $7D,
+ $30, $09, $06, $05, $2B, $0E, $03, $02, $1D, $05, $00, $30, $54, $31, $0B, $30,
+ $09, $06, $03, $55, $04, $06, $13, $02, $43, $4E, $31, $15, $30, $13, $06, $03,
+ $55, $04, $0A, $13, $0C, $53, $75, $70, $65, $72, $20, $53, $74, $75, $64, $69,
+ $6F, $31, $2E, $30, $2C, $06, $03, $55, $04, $03, $13, $25, $53, $75, $70, $65,
+ $72, $20, $52, $6F, $6F, $74, $20, $43, $65, $72, $74, $69, $66, $69, $63, $61,
+ $74, $65, $20, $41, $75, $74, $68, $6F, $72, $69, $74, $79, $20, $2D, $20, $47,
+ $31, $30, $1E, $17, $0D, $31, $35, $30, $35, $30, $34, $31, $36, $30, $30, $30,
+ $30, $5A, $17, $0D, $33, $35, $30, $35, $30, $34, $31, $36, $30, $30, $30, $30,
+ $5A, $30, $60, $31, $0B, $30, $09, $06, $03, $55, $04, $06, $13, $02, $43, $4E,
+ $31, $15, $30, $13, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, $09, $01, $16,
+ $06, $4C, $73, $75, $70, $65, $72, $31, $15, $30, $13, $06, $03, $55, $04, $0A,
+ $13, $0C, $53, $75, $70, $65, $72, $20, $53, $74, $75, $64, $69, $6F, $31, $23,
+ $30, $21, $06, $03, $55, $04, $03, $13, $1A, $53, $75, $70, $65, $72, $20, $43,
+ $6F, $64, $65, $20, $53, $69, $67, $6E, $69, $6E, $67, $20, $43, $41, $20, $2D,
+ $20, $47, $31, $30, $82, $01, $22, $30, $0D, $06, $09, $2A, $86, $48, $86, $F7,
+ $0D, $01, $01, $01, $05, $00, $03, $82, $01, $0F, $00, $30, $82, $01, $0A, $02,
+ $82, $01, $01, $00, $BF, $43, $F2, $EE, $5F, $CD, $DE, $AE, $E7, $5A, $59, $B8,
+ $44, $03, $0A, $D0, $27, $19, $FD, $43, $2C, $A8, $55, $76, $E4, $17, $2B, $E4,
+ $B9, $52, $DF, $E4, $23, $89, $56, $62, $CE, $1B, $F3, $31, $AE, $12, $EC, $EF,
+ $F3, $28, $EA, $CA, $CA, $66, $53, $20, $9D, $84, $BC, $65, $27, $89, $48, $9F,
+ $65, $9A, $2C, $83, $11, $6D, $F2, $50, $46, $B8, $65, $19, $9B, $18, $AA, $74,
+ $90, $1B, $FE, $ED, $B8, $17, $7C, $9F, $BE, $79, $80, $BE, $FF, $38, $78, $BF,
+ $B9, $B8, $91, $2A, $74, $05, $E1, $FE, $7B, $69, $2F, $3C, $A4, $FB, $34, $7B,
+ $A2, $1F, $B3, $81, $5B, $37, $97, $16, $8A, $2F, $F1, $24, $64, $B8, $94, $0E,
+ $B7, $B2, $39, $EE, $BE, $0D, $16, $7D, $35, $B1, $42, $A6, $A0, $87, $22, $55,
+ $75, $BF, $FC, $06, $31, $81, $1F, $C1, $27, $CE, $B8, $AD, $7E, $F5, $C2, $3A,
+ $0C, $67, $3E, $E3, $AB, $96, $8C, $F0, $04, $80, $ED, $2E, $78, $25, $0E, $08,
+ $E2, $6A, $1D, $83, $DE, $12, $C8, $D3, $91, $B9, $F7, $CE, $13, $0B, $9C, $4A,
+ $72, $86, $6A, $C3, $47, $8C, $5B, $75, $E7, $91, $02, $E1, $12, $46, $DB, $A5,
+ $78, $19, $09, $C6, $B6, $0E, $AB, $37, $46, $3A, $DD, $E4, $7A, $F2, $2F, $6A,
+ $A5, $0A, $2A, $59, $57, $5E, $78, $6A, $26, $1C, $FC, $6A, $02, $1D, $10, $43,
+ $AE, $18, $C2, $61, $DC, $AE, $56, $7E, $8C, $5F, $BA, $CD, $C4, $12, $AC, $2B,
+ $11, $9E, $E3, $85, $02, $03, $01, $00, $01, $A3, $81, $8B, $30, $81, $88, $30,
+ $81, $85, $06, $03, $55, $1D, $01, $04, $7E, $30, $7C, $80, $10, $61, $1A, $C5,
+ $8D, $DA, $A6, $48, $41, $C6, $90, $F2, $6E, $42, $9B, $11, $44, $A1, $56, $30,
+ $54, $31, $0B, $30, $09, $06, $03, $55, $04, $06, $13, $02, $43, $4E, $31, $15,
+ $30, $13, $06, $03, $55, $04, $0A, $13, $0C, $53, $75, $70, $65, $72, $20, $53,
+ $74, $75, $64, $69, $6F, $31, $2E, $30, $2C, $06, $03, $55, $04, $03, $13, $25,
+ $53, $75, $70, $65, $72, $20, $52, $6F, $6F, $74, $20, $43, $65, $72, $74, $69,
+ $66, $69, $63, $61, $74, $65, $20, $41, $75, $74, $68, $6F, $72, $69, $74, $79,
+ $20, $2D, $20, $47, $31, $82, $10, $61, $BD, $CF, $00, $4B, $64, $D3, $AC, $49,
+ $E3, $71, $A3, $37, $CE, $15, $65, $30, $09, $06, $05, $2B, $0E, $03, $02, $1D,
+ $05, $00, $03, $82, $01, $01, $00, $14, $1F, $B4, $72, $73, $27, $8A, $64, $32,
+ $30, $5A, $78, $A2, $F9, $B5, $0F, $33, $1F, $5C, $8E, $9F, $3C, $BE, $48, $35,
+ $04, $C5, $A0, $50, $D8, $91, $23, $B9, $42, $49, $FA, $64, $CF, $47, $F5, $FF,
+ $61, $9D, $78, $DF, $99, $FC, $8E, $B1, $DB, $AF, $B8, $0D, $F3, $64, $1A, $B6,
+ $82, $B7, $E6, $F5, $DB, $F5, $D7, $F0, $DD, $A2, $3B, $5F, $78, $EE, $2F, $EE,
+ $10, $55, $99, $1B, $5B, $DC, $ED, $A3, $EE, $72, $7F, $C5, $3C, $6C, $09, $30,
+ $87, $CE, $B6, $AB, $29, $1C, $80, $B9, $8F, $0E, $53, $3E, $E8, $A2, $C9, $34,
+ $DB, $6C, $C6, $3D, $D6, $A2, $1D, $6B, $6E, $FB, $DE, $7A, $D6, $F7, $5C, $DB,
+ $49, $6B, $DA, $B8, $FC, $5B, $9A, $52, $0A, $4F, $AB, $01, $65, $F4, $DE, $85,
+ $58, $7E, $8B, $61, $4C, $A7, $80, $1B, $4C, $E5, $AF, $B8, $C8, $6A, $6A, $D7,
+ $7B, $F6, $58, $C5, $4E, $2D, $0B, $D1, $BA, $DA, $D0, $33, $6B, $C0, $10, $F2,
+ $85, $51, $16, $05, $25, $61, $B2, $66, $64, $33, $6C, $B8, $85, $02, $7B, $E8,
+ $6B, $A6, $6A, $EA, $34, $8C, $3F, $0C, $95, $AF, $93, $6A, $AD, $1D, $8C, $A2,
+ $77, $0E, $DA, $12, $C7, $ED, $02, $39, $BE, $7C, $8D, $93, $A8, $6A, $82, $90,
+ $2E, $AC, $8B, $0E, $3B, $DB, $46, $76, $0E, $3C, $37, $19, $98, $7D, $A0, $D3,
+ $59, $67, $D9, $03, $5E, $FE, $85, $BE, $26, $7B, $78, $72, $69, $2B, $87, $13,
+ $04, $1B, $A6, $28, $66, $AF, $71, $31, $82, $23, $D9, $30, $82, $23, $D5, $02,
+ $01, $01, $30, $68, $30, $54, $31, $0B, $30, $09, $06, $03, $55, $04, $06, $13,
+ $02, $43, $4E, $31, $15, $30, $13, $06, $03, $55, $04, $0A, $13, $0C, $53, $75,
+ $70, $65, $72, $20, $53, $74, $75, $64, $69, $6F, $31, $2E, $30, $2C, $06, $03,
+ $55, $04, $03, $13, $25, $53, $75, $70, $65, $72, $20, $52, $6F, $6F, $74, $20,
+ $43, $65, $72, $74, $69, $66, $69, $63, $61, $74, $65, $20, $41, $75, $74, $68,
+ $6F, $72, $69, $74, $79, $20, $2D, $20, $47, $31, $02, $10, $79, $8B, $C8, $C7,
+ $16, $0A, $2E, $8B, $4D, $CD, $3D, $3F, $BF, $8F, $57, $7D, $30, $09, $06, $05,
+ $2B, $0E, $03, $02, $1A, $05, $00, $A0, $81, $84, $30, $19, $06, $09, $2A, $86,
+ $48, $86, $F7, $0D, $01, $09, $03, $31, $0C, $06, $0A, $2B, $06, $01, $04, $01,
+ $82, $37, $02, $01, $04, $30, $23, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01,
+ $09, $04, $31, $16, $04, $14, $E4, $D8, $E1, $8D, $1D, $41, $03, $38, $AA, $28,
+ $EB, $E9, $9A, $F1, $A3, $03, $1B, $9D, $C1, $1D, $30, $42, $06, $0A, $2B, $06,
+ $01, $04, $01, $82, $37, $02, $01, $0C, $31, $34, $30, $32, $A0, $18, $80, $16,
+ $00, $44, $00, $65, $00, $6C, $00, $70, $00, $68, $00, $69, $00, $20, $00, $4C,
+ $00, $69, $00, $74, $00, $65, $A1, $16, $80, $14, $77, $77, $77, $2E, $65, $6D,
+ $62, $61, $72, $63, $61, $64, $65, $72, $6F, $2E, $63, $6F, $6D, $20, $30, $0D,
+ $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, $01, $01, $05, $00, $04, $82, $01,
+ $00, $B5, $9A, $90, $86, $7D, $DD, $BC, $7E, $3B, $CF, $72, $D9, $3F, $AC, $38,
+ $1B, $57, $78, $F9, $66, $9B, $C9, $0E, $0C, $C7, $9A, $D9, $59, $B1, $6E, $B7,
+ $21, $93, $F4, $3E, $1E, $E5, $DA, $53, $92, $20, $66, $2C, $E7, $52, $09, $E8,
+ $B5, $2F, $AC, $C5, $85, $54, $74, $90, $87, $FF, $72, $18, $02, $B1, $87, $36,
+ $72, $75, $50, $C7, $91, $D4, $2A, $50, $CB, $D3, $F6, $81, $1A, $E8, $6B, $21,
+ $10, $92, $52, $11, $D4, $66, $CB, $0A, $17, $B8, $28, $18, $5C, $E9, $DD, $DE,
+ $AA, $D0, $E1, $5E, $D6, $59, $28, $CF, $52, $3E, $F7, $F4, $CB, $68, $99, $15,
+ $A8, $C0, $8A, $A2, $AF, $F3, $AE, $C7, $FA, $69, $0A, $E8, $6E, $17, $B5, $5A,
+ $DC, $84, $02, $AC, $7C, $1A, $41, $EA, $B4, $BF, $4C, $16, $1D, $5C, $01, $4F,
+ $FE, $FF, $45, $BA, $B4, $B4, $5D, $02, $1B, $08, $50, $F9, $16, $95, $58, $BC,
+ $DE, $15, $7C, $EF, $4B, $54, $FE, $7F, $B3, $53, $2F, $C7, $47, $1C, $6A, $DD,
+ $7D, $73, $B1, $BC, $23, $0D, $3C, $D5, $96, $52, $12, $D2, $83, $57, $5E, $BD,
+ $97, $C7, $5F, $10, $57, $18, $B4, $4C, $1B, $7E, $00, $A5, $CF, $4B, $D4, $82,
+ $8F, $7C, $29, $6C, $B8, $73, $02, $90, $82, $C6, $8A, $EA, $41, $C6, $9D, $67,
+ $56, $DD, $8B, $34, $5C, $61, $F3, $67, $EE, $E4, $41, $A0, $C0, $EC, $74, $95,
+ $A0, $10, $F7, $BF, $A9, $FB, $10, $B7, $1A, $FE, $1A, $8D, $84, $A0, $BA, $22,
+ $F3, $A1, $82, $21, $BF, $30, $82, $0B, $E0, $06, $0A, $2B, $06, $01, $04, $01,
+ $82, $37, $03, $03, $01, $31, $82, $0B, $D0, $30, $82, $0B, $CC, $06, $09, $2A,
+ $86, $48, $86, $F7, $0D, $01, $07, $02, $A0, $82, $0B, $BD, $30, $82, $0B, $B9,
+ $02, $01, $03, $31, $0B, $30, $09, $06, $05, $2B, $0E, $03, $02, $1A, $05, $00,
+ $30, $81, $DD, $06, $0B, $2A, $86, $48, $86, $F7, $0D, $01, $09, $10, $01, $04,
+ $A0, $81, $CD, $04, $81, $CA, $30, $81, $C7, $02, $01, $01, $06, $0B, $60, $86,
+ $48, $01, $86, $F8, $45, $01, $07, $17, $03, $30, $21, $30, $09, $06, $05, $2B,
+ $0E, $03, $02, $1A, $05, $00, $04, $14, $85, $15, $37, $07, $63, $DD, $C9, $B9,
+ $C1, $32, $8A, $B6, $2B, $1D, $F8, $93, $FE, $2E, $67, $E0, $02, $14, $2D, $F8,
+ $D9, $62, $F8, $4E, $DF, $D6, $19, $8D, $E8, $4D, $5F, $F4, $C7, $B5, $11, $45,
+ $F7, $D9, $18, $0F, $32, $30, $31, $39, $30, $37, $32, $30, $31, $37, $34, $38,
+ $31, $39, $5A, $30, $03, $02, $01, $1E, $A0, $66, $A4, $64, $30, $62, $31, $0B,
+ $30, $09, $06, $03, $55, $04, $06, $13, $02, $55, $53, $31, $1D, $30, $1B, $06,
+ $03, $55, $04, $0A, $13, $14, $53, $79, $6D, $61, $6E, $74, $65, $63, $20, $43,
+ $6F, $72, $70, $6F, $72, $61, $74, $69, $6F, $6E, $31, $34, $30, $32, $06, $03,
+ $55, $04, $03, $13, $2B, $53, $79, $6D, $61, $6E, $74, $65, $63, $20, $54, $69,
+ $6D, $65, $20, $53, $74, $61, $6D, $70, $69, $6E, $67, $20, $53, $65, $72, $76,
+ $69, $63, $65, $73, $20, $53, $69, $67, $6E, $65, $72, $20, $2D, $20, $47, $34,
+ $A0, $82, $08, $99, $30, $82, $03, $EE, $30, $82, $03, $57, $A0, $03, $02, $01,
+ $02, $02, $10, $7E, $93, $EB, $FB, $7C, $C6, $4E, $59, $EA, $4B, $9A, $77, $D4,
+ $06, $FC, $3B, $30, $0D, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, $01, $05,
+ $05, $00, $30, $81, $8B, $31, $0B, $30, $09, $06, $03, $55, $04, $06, $13, $02,
+ $5A, $41, $31, $15, $30, $13, $06, $03, $55, $04, $08, $13, $0C, $57, $65, $73,
+ $74, $65, $72, $6E, $20, $43, $61, $70, $65, $31, $14, $30, $12, $06, $03, $55,
+ $04, $07, $13, $0B, $44, $75, $72, $62, $61, $6E, $76, $69, $6C, $6C, $65, $31,
+ $0F, $30, $0D, $06, $03, $55, $04, $0A, $13, $06, $54, $68, $61, $77, $74, $65,
+ $31, $1D, $30, $1B, $06, $03, $55, $04, $0B, $13, $14, $54, $68, $61, $77, $74,
+ $65, $20, $43, $65, $72, $74, $69, $66, $69, $63, $61, $74, $69, $6F, $6E, $31,
+ $1F, $30, $1D, $06, $03, $55, $04, $03, $13, $16, $54, $68, $61, $77, $74, $65,
+ $20, $54, $69, $6D, $65, $73, $74, $61, $6D, $70, $69, $6E, $67, $20, $43, $41,
+ $30, $1E, $17, $0D, $31, $32, $31, $32, $32, $31, $30, $30, $30, $30, $30, $30,
+ $5A, $17, $0D, $32, $30, $31, $32, $33, $30, $32, $33, $35, $39, $35, $39, $5A,
+ $30, $5E, $31, $0B, $30, $09, $06, $03, $55, $04, $06, $13, $02, $55, $53, $31,
+ $1D, $30, $1B, $06, $03, $55, $04, $0A, $13, $14, $53, $79, $6D, $61, $6E, $74,
+ $65, $63, $20, $43, $6F, $72, $70, $6F, $72, $61, $74, $69, $6F, $6E, $31, $30,
+ $30, $2E, $06, $03, $55, $04, $03, $13, $27, $53, $79, $6D, $61, $6E, $74, $65,
+ $63, $20, $54, $69, $6D, $65, $20, $53, $74, $61, $6D, $70, $69, $6E, $67, $20,
+ $53, $65, $72, $76, $69, $63, $65, $73, $20, $43, $41, $20, $2D, $20, $47, $32,
+ $30, $82, $01, $22, $30, $0D, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, $01,
+ $01, $05, $00, $03, $82, $01, $0F, $00, $30, $82, $01, $0A, $02, $82, $01, $01,
+ $00, $B1, $AC, $B3, $49, $54, $4B, $97, $1C, $12, $0A, $D8, $25, $79, $91, $22,
+ $57, $2A, $6F, $DC, $B8, $26, $C4, $43, $73, $6B, $C2, $BF, $2E, $50, $5A, $FB,
+ $14, $C2, $76, $8E, $43, $01, $25, $43, $B4, $A1, $E2, $45, $F4, $E8, $B7, $7B,
+ $C3, $74, $CC, $22, $D7, $B4, $94, $00, $02, $F7, $4D, $ED, $BF, $B4, $B7, $44,
+ $24, $6B, $CD, $5F, $45, $3B, $D1, $44, $CE, $43, $12, $73, $17, $82, $8B, $69,
+ $B4, $2B, $CB, $99, $1E, $AC, $72, $1B, $26, $4D, $71, $1F, $B1, $31, $DD, $FB,
+ $51, $61, $02, $53, $A6, $AA, $F5, $49, $2C, $05, $78, $45, $A5, $2F, $89, $CE,
+ $E7, $99, $E7, $FE, $8C, $E2, $57, $3F, $3D, $C6, $92, $DC, $4A, $F8, $7B, $33,
+ $E4, $79, $0A, $FB, $F0, $75, $88, $41, $9C, $FF, $C5, $03, $51, $99, $AA, $D7,
+ $6C, $9F, $93, $69, $87, $65, $29, $83, $85, $C2, $60, $14, $C4, $C8, $C9, $3B,
+ $14, $DA, $C0, $81, $F0, $1F, $0D, $74, $DE, $92, $22, $AB, $CA, $F7, $FB, $74,
+ $7C, $27, $E6, $F7, $4A, $1B, $7F, $A7, $C3, $9E, $2D, $AE, $8A, $EA, $A6, $E6,
+ $AA, $27, $16, $7D, $61, $F7, $98, $71, $11, $BC, $E2, $50, $A1, $4B, $E5, $5D,
+ $FA, $E5, $0E, $A7, $2C, $9F, $AA, $65, $20, $D3, $D8, $96, $E8, $C8, $7C, $A5,
+ $4E, $48, $44, $FF, $19, $E2, $44, $07, $92, $0B, $D7, $68, $84, $80, $5D, $6A,
+ $78, $64, $45, $CD, $60, $46, $7E, $54, $C1, $13, $7C, $C5, $79, $F1, $C9, $C1,
+ $71, $02, $03, $01, $00, $01, $A3, $81, $FA, $30, $81, $F7, $30, $1D, $06, $03,
+ $55, $1D, $0E, $04, $16, $04, $14, $5F, $9A, $F5, $6E, $5C, $CC, $CC, $74, $9A,
+ $D4, $DD, $7D, $EF, $3F, $DB, $EC, $4C, $80, $2E, $DD, $30, $32, $06, $08, $2B,
+ $06, $01, $05, $05, $07, $01, $01, $04, $26, $30, $24, $30, $22, $06, $08, $2B,
+ $06, $01, $05, $05, $07, $30, $01, $86, $16, $68, $74, $74, $70, $3A, $2F, $2F,
+ $6F, $63, $73, $70, $2E, $74, $68, $61, $77, $74, $65, $2E, $63, $6F, $6D, $30,
+ $12, $06, $03, $55, $1D, $13, $01, $01, $FF, $04, $08, $30, $06, $01, $01, $FF,
+ $02, $01, $00, $30, $3F, $06, $03, $55, $1D, $1F, $04, $38, $30, $36, $30, $34,
+ $A0, $32, $A0, $30, $86, $2E, $68, $74, $74, $70, $3A, $2F, $2F, $63, $72, $6C,
+ $2E, $74, $68, $61, $77, $74, $65, $2E, $63, $6F, $6D, $2F, $54, $68, $61, $77,
+ $74, $65, $54, $69, $6D, $65, $73, $74, $61, $6D, $70, $69, $6E, $67, $43, $41,
+ $2E, $63, $72, $6C, $30, $13, $06, $03, $55, $1D, $25, $04, $0C, $30, $0A, $06,
+ $08, $2B, $06, $01, $05, $05, $07, $03, $08, $30, $0E, $06, $03, $55, $1D, $0F,
+ $01, $01, $FF, $04, $04, $03, $02, $01, $06, $30, $28, $06, $03, $55, $1D, $11,
+ $04, $21, $30, $1F, $A4, $1D, $30, $1B, $31, $19, $30, $17, $06, $03, $55, $04,
+ $03, $13, $10, $54, $69, $6D, $65, $53, $74, $61, $6D, $70, $2D, $32, $30, $34,
+ $38, $2D, $31, $30, $0D, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, $01, $05,
+ $05, $00, $03, $81, $81, $00, $03, $09, $9B, $8F, $79, $EF, $7F, $59, $30, $AA,
+ $EF, $68, $B5, $FA, $E3, $09, $1D, $BB, $4F, $82, $06, $5D, $37, $5F, $A6, $52,
+ $9F, $16, $8D, $EA, $1C, $92, $09, $44, $6E, $F5, $6D, $EB, $58, $7C, $30, $E8,
+ $F9, $69, $8D, $23, $73, $0B, $12, $6F, $47, $A9, $AE, $39, $11, $F8, $2A, $B1,
+ $9B, $B0, $1A, $C3, $8E, $EB, $59, $96, $00, $AD, $CE, $0C, $4D, $B2, $D0, $31,
+ $A6, $08, $5C, $2A, $7A, $FC, $E2, $7A, $1D, $57, $4C, $A8, $65, $18, $E9, $79,
+ $40, $62, $25, $96, $6E, $C7, $C7, $37, $6A, $83, $21, $08, $8E, $41, $EA, $DD,
+ $D9, $57, $3F, $1D, $77, $49, $87, $2A, $16, $06, $5E, $A6, $38, $6A, $22, $12,
+ $A3, $51, $19, $83, $7E, $B6, $30, $82, $04, $A3, $30, $82, $03, $8B, $A0, $03,
+ $02, $01, $02, $02, $10, $0E, $CF, $F4, $38, $C8, $FE, $BF, $35, $6E, $04, $D8,
+ $6A, $98, $1B, $1A, $50, $30, $0D, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01,
+ $01, $05, $05, $00, $30, $5E, $31, $0B, $30, $09, $06, $03, $55, $04, $06, $13,
+ $02, $55, $53, $31, $1D, $30, $1B, $06, $03, $55, $04, $0A, $13, $14, $53, $79,
+ $6D, $61, $6E, $74, $65, $63, $20, $43, $6F, $72, $70, $6F, $72, $61, $74, $69,
+ $6F, $6E, $31, $30, $30, $2E, $06, $03, $55, $04, $03, $13, $27, $53, $79, $6D,
+ $61, $6E, $74, $65, $63, $20, $54, $69, $6D, $65, $20, $53, $74, $61, $6D, $70,
+ $69, $6E, $67, $20, $53, $65, $72, $76, $69, $63, $65, $73, $20, $43, $41, $20,
+ $2D, $20, $47, $32, $30, $1E, $17, $0D, $31, $32, $31, $30, $31, $38, $30, $30,
+ $30, $30, $30, $30, $5A, $17, $0D, $32, $30, $31, $32, $32, $39, $32, $33, $35,
+ $39, $35, $39, $5A, $30, $62, $31, $0B, $30, $09, $06, $03, $55, $04, $06, $13,
+ $02, $55, $53, $31, $1D, $30, $1B, $06, $03, $55, $04, $0A, $13, $14, $53, $79,
+ $6D, $61, $6E, $74, $65, $63, $20, $43, $6F, $72, $70, $6F, $72, $61, $74, $69,
+ $6F, $6E, $31, $34, $30, $32, $06, $03, $55, $04, $03, $13, $2B, $53, $79, $6D,
+ $61, $6E, $74, $65, $63, $20, $54, $69, $6D, $65, $20, $53, $74, $61, $6D, $70,
+ $69, $6E, $67, $20, $53, $65, $72, $76, $69, $63, $65, $73, $20, $53, $69, $67,
+ $6E, $65, $72, $20, $2D, $20, $47, $34, $30, $82, $01, $22, $30, $0D, $06, $09,
+ $2A, $86, $48, $86, $F7, $0D, $01, $01, $01, $05, $00, $03, $82, $01, $0F, $00,
+ $30, $82, $01, $0A, $02, $82, $01, $01, $00, $A2, $63, $0B, $39, $44, $B8, $BB,
+ $23, $A7, $44, $49, $BB, $0E, $FF, $A1, $F0, $61, $0A, $53, $93, $B0, $98, $DB,
+ $AD, $2C, $0F, $4A, $C5, $6E, $FF, $86, $3C, $53, $55, $0F, $15, $CE, $04, $3F,
+ $2B, $FD, $A9, $96, $96, $D9, $BE, $61, $79, $0B, $5B, $C9, $4C, $86, $76, $E5,
+ $E0, $43, $4B, $22, $95, $EE, $C2, $2B, $43, $C1, $9F, $D8, $68, $B4, $8E, $40,
+ $4F, $EE, $85, $38, $B9, $11, $C5, $23, $F2, $64, $58, $F0, $15, $32, $6F, $4E,
+ $57, $A1, $AE, $88, $A4, $02, $D7, $2A, $1E, $CD, $4B, $E1, $DD, $63, $D5, $17,
+ $89, $32, $5B, $B0, $5E, $99, $5A, $A8, $9D, $28, $50, $0E, $17, $EE, $96, $DB,
+ $61, $3B, $45, $51, $1D, $CF, $12, $56, $0B, $92, $47, $FC, $AB, $AE, $F6, $66,
+ $3D, $47, $AC, $70, $72, $E7, $92, $E7, $5F, $CD, $10, $B9, $C4, $83, $64, $94,
+ $19, $BD, $25, $80, $E1, $E8, $D2, $22, $A5, $D0, $BA, $02, $7A, $A1, $77, $93,
+ $5B, $65, $C3, $EE, $17, $74, $BC, $41, $86, $2A, $DC, $08, $4C, $8C, $92, $8C,
+ $91, $2D, $9E, $77, $44, $1F, $68, $D6, $A8, $74, $77, $DB, $0E, $5B, $32, $8B,
+ $56, $8B, $33, $BD, $D9, $63, $C8, $49, $9D, $3A, $C5, $C5, $EA, $33, $0B, $D2,
+ $F1, $A3, $1B, $F4, $8B, $BE, $D9, $B3, $57, $8B, $3B, $DE, $04, $A7, $7A, $22,
+ $B2, $24, $AE, $2E, $C7, $70, $C5, $BE, $4E, $83, $26, $08, $FB, $0B, $BD, $A9,
+ $4F, $99, $08, $E1, $10, $28, $72, $AA, $CD, $02, $03, $01, $00, $01, $A3, $82,
+ $01, $57, $30, $82, $01, $53, $30, $0C, $06, $03, $55, $1D, $13, $01, $01, $FF,
+ $04, $02, $30, $00, $30, $16, $06, $03, $55, $1D, $25, $01, $01, $FF, $04, $0C,
+ $30, $0A, $06, $08, $2B, $06, $01, $05, $05, $07, $03, $08, $30, $0E, $06, $03,
+ $55, $1D, $0F, $01, $01, $FF, $04, $04, $03, $02, $07, $80, $30, $73, $06, $08,
+ $2B, $06, $01, $05, $05, $07, $01, $01, $04, $67, $30, $65, $30, $2A, $06, $08,
+ $2B, $06, $01, $05, $05, $07, $30, $01, $86, $1E, $68, $74, $74, $70, $3A, $2F,
+ $2F, $74, $73, $2D, $6F, $63, $73, $70, $2E, $77, $73, $2E, $73, $79, $6D, $61,
+ $6E, $74, $65, $63, $2E, $63, $6F, $6D, $30, $37, $06, $08, $2B, $06, $01, $05,
+ $05, $07, $30, $02, $86, $2B, $68, $74, $74, $70, $3A, $2F, $2F, $74, $73, $2D,
+ $61, $69, $61, $2E, $77, $73, $2E, $73, $79, $6D, $61, $6E, $74, $65, $63, $2E,
+ $63, $6F, $6D, $2F, $74, $73, $73, $2D, $63, $61, $2D, $67, $32, $2E, $63, $65,
+ $72, $30, $3C, $06, $03, $55, $1D, $1F, $04, $35, $30, $33, $30, $31, $A0, $2F,
+ $A0, $2D, $86, $2B, $68, $74, $74, $70, $3A, $2F, $2F, $74, $73, $2D, $63, $72,
+ $6C, $2E, $77, $73, $2E, $73, $79, $6D, $61, $6E, $74, $65, $63, $2E, $63, $6F,
+ $6D, $2F, $74, $73, $73, $2D, $63, $61, $2D, $67, $32, $2E, $63, $72, $6C, $30,
+ $28, $06, $03, $55, $1D, $11, $04, $21, $30, $1F, $A4, $1D, $30, $1B, $31, $19,
+ $30, $17, $06, $03, $55, $04, $03, $13, $10, $54, $69, $6D, $65, $53, $74, $61,
+ $6D, $70, $2D, $32, $30, $34, $38, $2D, $32, $30, $1D, $06, $03, $55, $1D, $0E,
+ $04, $16, $04, $14, $46, $C6, $69, $A3, $0E, $4A, $14, $1E, $D5, $4C, $DA, $52,
+ $63, $17, $3F, $5E, $36, $BC, $0D, $E6, $30, $1F, $06, $03, $55, $1D, $23, $04,
+ $18, $30, $16, $80, $14, $5F, $9A, $F5, $6E, $5C, $CC, $CC, $74, $9A, $D4, $DD,
+ $7D, $EF, $3F, $DB, $EC, $4C, $80, $2E, $DD, $30, $0D, $06, $09, $2A, $86, $48,
+ $86, $F7, $0D, $01, $01, $05, $05, $00, $03, $82, $01, $01, $00, $78, $3B, $B4,
+ $91, $2A, $00, $4C, $F0, $8F, $62, $30, $37, $78, $A3, $84, $27, $07, $6F, $18,
+ $B2, $DE, $25, $DC, $A0, $D4, $94, $03, $AA, $86, $4E, $25, $9F, $9A, $40, $03,
+ $1C, $DD, $CE, $E3, $79, $CB, $21, $68, $06, $DA, $B6, $32, $B4, $6D, $BF, $F4,
+ $2C, $26, $63, $33, $E4, $49, $64, $6D, $0D, $E6, $C3, $67, $0E, $F7, $05, $A4,
+ $35, $6C, $7C, $89, $16, $C6, $E9, $B2, $DF, $B2, $E9, $DD, $20, $C6, $71, $0F,
+ $CD, $95, $74, $DC, $B6, $5C, $DE, $BD, $37, $1F, $43, $78, $E6, $78, $B5, $CD,
+ $28, $04, $20, $A3, $AA, $F1, $4B, $C4, $88, $29, $91, $0E, $80, $D1, $11, $FC,
+ $DD, $5C, $76, $6E, $4F, $5E, $0E, $45, $46, $41, $6E, $0D, $B0, $EA, $38, $9A,
+ $B1, $3A, $DA, $09, $71, $10, $FC, $1C, $79, $B4, $80, $7B, $AC, $69, $F4, $FD,
+ $9C, $B6, $0C, $16, $2B, $F1, $7F, $5B, $09, $3D, $9B, $5B, $E2, $16, $CA, $13,
+ $81, $6D, $00, $2E, $38, $0D, $A8, $29, $8F, $2C, $E1, $B2, $F4, $5A, $A9, $01,
+ $AF, $15, $9C, $2C, $2F, $49, $1B, $DB, $22, $BB, $C3, $FE, $78, $94, $51, $C3,
+ $86, $B1, $82, $88, $5D, $F0, $3D, $B4, $51, $A1, $79, $33, $2B, $2E, $7B, $B9,
+ $DC, $20, $09, $13, $71, $EB, $6A, $19, $5B, $CF, $E8, $A5, $30, $57, $2C, $89,
+ $49, $3F, $B9, $CF, $7F, $C9, $BF, $3E, $22, $68, $63, $53, $9A, $BD, $69, $74,
+ $AC, $C5, $1D, $3C, $7F, $92, $E0, $C3, $BC, $1C, $D8, $04, $75, $31, $82, $02,
+ $28, $30, $82, $02, $24, $02, $01, $01, $30, $72, $30, $5E, $31, $0B, $30, $09,
+ $06, $03, $55, $04, $06, $13, $02, $55, $53, $31, $1D, $30, $1B, $06, $03, $55,
+ $04, $0A, $13, $14, $53, $79, $6D, $61, $6E, $74, $65, $63, $20, $43, $6F, $72,
+ $70, $6F, $72, $61, $74, $69, $6F, $6E, $31, $30, $30, $2E, $06, $03, $55, $04,
+ $03, $13, $27, $53, $79, $6D, $61, $6E, $74, $65, $63, $20, $54, $69, $6D, $65,
+ $20, $53, $74, $61, $6D, $70, $69, $6E, $67, $20, $53, $65, $72, $76, $69, $63,
+ $65, $73, $20, $43, $41, $20, $2D, $20, $47, $32, $02, $10, $0E, $CF, $F4, $38,
+ $C8, $FE, $BF, $35, $6E, $04, $D8, $6A, $98, $1B, $1A, $50, $30, $09, $06, $05,
+ $2B, $0E, $03, $02, $1A, $05, $00, $A0, $81, $8C, $30, $1A, $06, $09, $2A, $86,
+ $48, $86, $F7, $0D, $01, $09, $03, $31, $0D, $06, $0B, $2A, $86, $48, $86, $F7,
+ $0D, $01, $09, $10, $01, $04, $30, $1C, $06, $09, $2A, $86, $48, $86, $F7, $0D,
+ $01, $09, $05, $31, $0F, $17, $0D, $31, $39, $30, $37, $32, $30, $31, $37, $34,
+ $38, $31, $39, $5A, $30, $23, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, $09,
+ $04, $31, $16, $04, $14, $E0, $63, $5C, $77, $30, $71, $7E, $5C, $D2, $DA, $66,
+ $D3, $E3, $54, $BF, $FD, $7E, $71, $9A, $D0, $30, $2B, $06, $0B, $2A, $86, $48,
+ $86, $F7, $0D, $01, $09, $10, $02, $0C, $31, $1C, $30, $1A, $30, $18, $30, $16,
+ $04, $14, $65, $43, $99, $29, $B6, $79, $73, $EB, $19, $2D, $6F, $F2, $43, $E6,
+ $76, $7A, $DF, $08, $34, $E4, $30, $0D, $06, $09, $2A, $86, $48, $86, $F7, $0D,
+ $01, $01, $01, $05, $00, $04, $82, $01, $00, $2C, $08, $42, $C6, $5E, $59, $40,
+ $85, $85, $C5, $1A, $8B, $30, $DA, $7F, $AE, $A4, $CD, $FC, $49, $69, $EA, $BB,
+ $AF, $26, $E3, $B4, $7D, $33, $92, $A9, $F0, $8F, $9F, $4E, $29, $71, $5F, $3E,
+ $AD, $69, $27, $19, $E0, $AF, $5A, $84, $D1, $81, $AD, $31, $97, $70, $D7, $C5,
+ $24, $BD, $65, $D8, $A1, $C1, $C7, $8C, $1D, $A3, $A7, $3B, $9E, $3C, $75, $87,
+ $79, $1A, $C3, $1A, $AA, $89, $08, $6C, $E3, $6D, $F0, $ED, $12, $E4, $BA, $D0,
+ $23, $A0, $9A, $E3, $9A, $15, $77, $BD, $3E, $C9, $5E, $0E, $66, $EA, $DF, $39,
+ $A9, $CA, $6E, $62, $26, $0A, $B8, $AF, $3E, $09, $51, $A8, $88, $01, $B5, $2F,
+ $AF, $02, $36, $15, $15, $D7, $86, $1E, $7C, $5C, $94, $45, $40, $6E, $7F, $47,
+ $3E, $21, $60, $D9, $DC, $08, $98, $40, $2C, $B0, $A3, $71, $FF, $7A, $96, $9B,
+ $D7, $85, $5A, $D8, $A9, $DD, $B3, $8A, $0E, $A1, $E6, $C7, $BF, $14, $7B, $1D,
+ $9B, $35, $EA, $ED, $68, $EA, $6F, $15, $2A, $FE, $AE, $35, $C1, $19, $2E, $6D,
+ $F5, $6A, $47, $12, $4E, $B1, $78, $D0, $8C, $91, $AA, $23, $A4, $D5, $0C, $9B,
+ $78, $A0, $94, $28, $B6, $1A, $E7, $D9, $6F, $0E, $CD, $80, $C4, $02, $08, $52,
+ $F9, $80, $42, $FB, $0E, $5A, $61, $36, $07, $A5, $8B, $E1, $A1, $BF, $DD, $48,
+ $E0, $4D, $7B, $AB, $0F, $6A, $0F, $39, $C2, $95, $CD, $6E, $9B, $49, $DD, $A3,
+ $0E, $19, $D1, $B9, $01, $87, $25, $F5, $12, $30, $82, $15, $D7, $06, $0A, $2B,
+ $06, $01, $04, $01, $82, $37, $02, $04, $01, $31, $82, $15, $C7, $30, $82, $15,
+ $C3, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, $07, $02, $A0, $82, $15, $B4,
+ $30, $82, $15, $B0, $02, $01, $01, $31, $0F, $30, $0D, $06, $09, $60, $86, $48,
+ $01, $65, $03, $04, $02, $01, $05, $00, $30, $5C, $06, $0A, $2B, $06, $01, $04,
+ $01, $82, $37, $02, $01, $04, $A0, $4E, $30, $4C, $30, $17, $06, $0A, $2B, $06,
+ $01, $04, $01, $82, $37, $02, $01, $0F, $30, $09, $03, $01, $00, $A0, $04, $A2,
+ $02, $80, $00, $30, $31, $30, $0D, $06, $09, $60, $86, $48, $01, $65, $03, $04,
+ $02, $01, $05, $00, $04, $20, $56, $00, $CF, $B2, $93, $A5, $4B, $E3, $42, $B6,
+ $47, $B6, $CA, $DF, $2A, $EF, $7E, $94, $BF, $1B, $2D, $B5, $FB, $1A, $4D, $73,
+ $88, $96, $67, $25, $C8, $99, $A0, $82, $04, $CE, $30, $82, $04, $CA, $30, $82,
+ $02, $B2, $A0, $03, $02, $01, $02, $02, $10, $2F, $A7, $24, $D1, $84, $61, $9A,
+ $B9, $40, $B4, $C6, $A5, $60, $C6, $04, $31, $30, $0D, $06, $09, $2A, $86, $48,
+ $86, $F7, $0D, $01, $01, $0B, $05, $00, $30, $54, $31, $0B, $30, $09, $06, $03,
+ $55, $04, $06, $13, $02, $43, $4E, $31, $15, $30, $13, $06, $03, $55, $04, $0A,
+ $13, $0C, $53, $75, $70, $65, $72, $20, $53, $74, $75, $64, $69, $6F, $31, $2E,
+ $30, $2C, $06, $03, $55, $04, $03, $13, $25, $53, $75, $70, $65, $72, $20, $52,
+ $6F, $6F, $74, $20, $43, $65, $72, $74, $69, $66, $69, $63, $61, $74, $65, $20,
+ $41, $75, $74, $68, $6F, $72, $69, $74, $79, $20, $2D, $20, $47, $32, $30, $1E,
+ $17, $0D, $31, $35, $30, $35, $30, $34, $31, $36, $30, $30, $30, $30, $5A, $17,
+ $0D, $33, $35, $30, $35, $30, $34, $31, $36, $30, $30, $30, $30, $5A, $30, $60,
+ $31, $0B, $30, $09, $06, $03, $55, $04, $06, $13, $02, $43, $4E, $31, $15, $30,
+ $13, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, $09, $01, $16, $06, $4C, $73,
+ $75, $70, $65, $72, $31, $15, $30, $13, $06, $03, $55, $04, $0A, $13, $0C, $53,
+ $75, $70, $65, $72, $20, $53, $74, $75, $64, $69, $6F, $31, $23, $30, $21, $06,
+ $03, $55, $04, $03, $13, $1A, $53, $75, $70, $65, $72, $20, $43, $6F, $64, $65,
+ $20, $53, $69, $67, $6E, $69, $6E, $67, $20, $43, $41, $20, $2D, $20, $47, $32,
+ $30, $82, $01, $22, $30, $0D, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, $01,
+ $01, $05, $00, $03, $82, $01, $0F, $00, $30, $82, $01, $0A, $02, $82, $01, $01,
+ $00, $DD, $1D, $1E, $AE, $62, $65, $5F, $B5, $3C, $04, $2E, $14, $2E, $79, $E4,
+ $94, $51, $5A, $9A, $FD, $82, $57, $AD, $DD, $12, $37, $3A, $95, $FF, $43, $0B,
+ $71, $4A, $63, $3F, $B8, $25, $FC, $91, $DC, $0F, $54, $FB, $39, $76, $E5, $E2,
+ $04, $FF, $7A, $EB, $67, $8B, $D4, $1E, $67, $BB, $E6, $71, $33, $09, $AC, $D5,
+ $BF, $67, $28, $6C, $2F, $4C, $DE, $01, $78, $11, $B5, $5E, $72, $B3, $CB, $3C,
+ $16, $48, $71, $EC, $A5, $97, $31, $13, $45, $32, $1E, $E8, $C5, $99, $CC, $33,
+ $EF, $CB, $4E, $CF, $A9, $E2, $0B, $0C, $E8, $A3, $B8, $BF, $47, $EF, $E0, $4E,
+ $AA, $79, $ED, $35, $F0, $7C, $48, $68, $51, $00, $CD, $B0, $40, $60, $43, $45,
+ $28, $7A, $DF, $84, $13, $A1, $16, $51, $0F, $93, $86, $3F, $53, $A4, $FD, $C5,
+ $BD, $03, $C9, $70, $38, $93, $17, $18, $9C, $20, $7D, $97, $16, $D9, $19, $40,
+ $1B, $35, $22, $63, $4B, $0A, $EF, $E1, $C1, $1E, $8A, $C1, $31, $BE, $CA, $33,
+ $04, $E3, $C8, $F9, $DD, $BB, $A4, $B1, $3E, $1F, $5D, $54, $CC, $E8, $81, $52,
+ $09, $29, $0E, $DE, $BC, $30, $16, $3E, $C3, $2E, $DF, $44, $93, $F5, $4F, $0D,
+ $49, $AB, $8C, $B3, $B8, $FE, $19, $88, $E9, $6B, $BC, $7E, $55, $6B, $B5, $13,
+ $B2, $7E, $C9, $D6, $03, $33, $2F, $A7, $E9, $B5, $45, $BB, $5C, $A5, $C9, $5E,
+ $67, $38, $CC, $18, $2D, $2E, $85, $00, $FE, $1D, $0F, $1F, $E0, $D7, $24, $BF,
+ $AB, $02, $03, $01, $00, $01, $A3, $81, $8B, $30, $81, $88, $30, $81, $85, $06,
+ $03, $55, $1D, $01, $04, $7E, $30, $7C, $80, $10, $7F, $28, $4D, $8C, $3E, $5E,
+ $15, $FF, $B0, $11, $66, $B1, $16, $C8, $E0, $C9, $A1, $56, $30, $54, $31, $0B,
+ $30, $09, $06, $03, $55, $04, $06, $13, $02, $43, $4E, $31, $15, $30, $13, $06,
+ $03, $55, $04, $0A, $13, $0C, $53, $75, $70, $65, $72, $20, $53, $74, $75, $64,
+ $69, $6F, $31, $2E, $30, $2C, $06, $03, $55, $04, $03, $13, $25, $53, $75, $70,
+ $65, $72, $20, $52, $6F, $6F, $74, $20, $43, $65, $72, $74, $69, $66, $69, $63,
+ $61, $74, $65, $20, $41, $75, $74, $68, $6F, $72, $69, $74, $79, $20, $2D, $20,
+ $47, $32, $82, $10, $FE, $1E, $21, $8F, $FB, $D4, $48, $BA, $44, $FB, $30, $CF,
+ $DB, $F6, $57, $72, $30, $0D, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, $01,
+ $0B, $05, $00, $03, $82, $02, $01, $00, $A8, $F1, $42, $48, $8C, $E3, $E3, $8F,
+ $8B, $71, $4E, $50, $34, $2D, $10, $63, $5C, $B1, $5E, $91, $75, $1E, $24, $E1,
+ $9B, $1C, $60, $80, $A4, $91, $60, $B9, $09, $01, $74, $E2, $F7, $A1, $D6, $57,
+ $FF, $75, $F1, $B2, $A2, $CF, $AB, $D1, $77, $67, $EE, $E3, $C4, $57, $CF, $E7,
+ $15, $B5, $CB, $4B, $DF, $2B, $CD, $D4, $DF, $0B, $F1, $9C, $F1, $F2, $5F, $18,
+ $DB, $45, $6F, $60, $19, $FC, $01, $4D, $13, $92, $BC, $B6, $FE, $D2, $BA, $A7,
+ $B2, $D4, $28, $13, $E1, $58, $BD, $E7, $FA, $42, $14, $A3, $B0, $80, $71, $E3,
+ $D1, $FB, $4E, $4B, $FB, $67, $09, $9E, $14, $9F, $52, $8B, $19, $AE, $C6, $B9,
+ $8B, $AD, $D1, $C9, $C1, $B8, $F5, $54, $E4, $78, $29, $B0, $D4, $6B, $5E, $45,
+ $B6, $CC, $CE, $12, $2D, $8A, $6D, $F4, $B3, $E9, $F3, $0C, $7C, $0B, $25, $0A,
+ $C7, $5B, $FA, $48, $29, $1E, $01, $09, $E5, $F9, $CC, $FE, $B9, $CD, $98, $A6,
+ $68, $F5, $62, $9C, $35, $DE, $D6, $0A, $30, $34, $6B, $FD, $34, $5F, $8C, $78,
+ $15, $F5, $99, $FE, $D4, $0D, $C5, $98, $44, $DA, $81, $C1, $36, $40, $BD, $E1,
+ $A5, $3A, $CF, $98, $25, $DA, $CB, $81, $DF, $1E, $73, $93, $15, $A2, $6A, $C8,
+ $E5, $3F, $59, $69, $7C, $9A, $DC, $C7, $BE, $D2, $3C, $B0, $BD, $DA, $B9, $1F,
+ $CE, $95, $DB, $A5, $5B, $24, $46, $7B, $9A, $C3, $FB, $A0, $B0, $1A, $79, $59,
+ $6A, $A1, $91, $AC, $79, $77, $FD, $CF, $9A, $EB, $C2, $27, $17, $BF, $73, $44,
+ $94, $FE, $E6, $7A, $5C, $A7, $83, $98, $4A, $F8, $15, $E2, $1E, $57, $CA, $80,
+ $6E, $7D, $1F, $F0, $A6, $C6, $D5, $9A, $DA, $24, $E6, $35, $7D, $A1, $1E, $BD,
+ $EC, $59, $66, $74, $5B, $3D, $94, $BF, $CE, $70, $12, $D3, $0F, $46, $5C, $E1,
+ $BE, $28, $3C, $7E, $0D, $9E, $A2, $E4, $C3, $D6, $2D, $48, $CB, $DA, $FF, $CD,
+ $FD, $58, $00, $C6, $5D, $6C, $4B, $CB, $49, $58, $2B, $9D, $F7, $92, $D9, $01,
+ $9E, $A1, $A7, $A1, $83, $A0, $FD, $33, $6C, $23, $DD, $31, $56, $95, $A9, $69,
+ $77, $C9, $56, $35, $40, $27, $BC, $D7, $30, $2A, $C0, $52, $91, $32, $2E, $AB,
+ $47, $8D, $44, $FE, $15, $E6, $06, $F1, $F1, $D9, $C3, $1F, $EB, $44, $DB, $71,
+ $03, $D0, $BA, $AE, $5E, $54, $57, $58, $40, $6D, $B1, $39, $E4, $6A, $73, $D2,
+ $37, $87, $34, $7E, $D6, $A2, $9E, $2C, $23, $15, $76, $07, $5C, $3A, $C3, $A5,
+ $C6, $EA, $28, $50, $4F, $4C, $28, $52, $0A, $C1, $F2, $4F, $DD, $82, $24, $5A,
+ $BB, $58, $E4, $0E, $F6, $F0, $21, $3E, $CA, $DA, $D2, $3F, $D4, $F6, $FF, $70,
+ $C2, $0A, $D8, $77, $BD, $62, $2C, $1F, $89, $DD, $54, $98, $03, $4A, $6A, $6D,
+ $30, $06, $5D, $89, $F4, $A2, $2E, $BF, $D8, $BF, $3C, $58, $42, $61, $D7, $7B,
+ $9F, $EF, $B7, $1A, $56, $10, $02, $D3, $BD, $FA, $0B, $C9, $3D, $68, $17, $88,
+ $EC, $99, $10, $29, $32, $7D, $E1, $39, $31, $82, $10, $68, $30, $82, $10, $64,
+ $02, $01, $01, $30, $68, $30, $54, $31, $0B, $30, $09, $06, $03, $55, $04, $06,
+ $13, $02, $43, $4E, $31, $15, $30, $13, $06, $03, $55, $04, $0A, $13, $0C, $53,
+ $75, $70, $65, $72, $20, $53, $74, $75, $64, $69, $6F, $31, $2E, $30, $2C, $06,
+ $03, $55, $04, $03, $13, $25, $53, $75, $70, $65, $72, $20, $52, $6F, $6F, $74,
+ $20, $43, $65, $72, $74, $69, $66, $69, $63, $61, $74, $65, $20, $41, $75, $74,
+ $68, $6F, $72, $69, $74, $79, $20, $2D, $20, $47, $32, $02, $10, $2F, $A7, $24,
+ $D1, $84, $61, $9A, $B9, $40, $B4, $C6, $A5, $60, $C6, $04, $31, $30, $0D, $06,
+ $09, $60, $86, $48, $01, $65, $03, $04, $02, $01, $05, $00, $A0, $81, $A3, $30,
+ $11, $06, $0A, $2A, $86, $48, $86, $F7, $0D, $01, $09, $19, $04, $31, $03, $02,
+ $01, $01, $30, $19, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, $09, $03, $31,
+ $0C, $06, $0A, $2B, $06, $01, $04, $01, $82, $37, $02, $01, $04, $30, $2F, $06,
+ $09, $2A, $86, $48, $86, $F7, $0D, $01, $09, $04, $31, $22, $04, $20, $79, $3C,
+ $36, $8C, $BB, $3F, $D2, $31, $C3, $13, $2A, $EA, $B6, $EE, $41, $54, $7B, $2F,
+ $AB, $13, $ED, $00, $81, $83, $BC, $B8, $86, $C3, $FF, $0F, $53, $FD, $30, $42,
+ $06, $0A, $2B, $06, $01, $04, $01, $82, $37, $02, $01, $0C, $31, $34, $30, $32,
+ $A0, $18, $80, $16, $00, $44, $00, $65, $00, $6C, $00, $70, $00, $68, $00, $69,
+ $00, $20, $00, $4C, $00, $69, $00, $74, $00, $65, $A1, $16, $80, $14, $77, $77,
+ $77, $2E, $65, $6D, $62, $61, $72, $63, $61, $64, $65, $72, $6F, $2E, $63, $6F,
+ $6D, $20, $30, $0D, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, $01, $01, $05,
+ $00, $04, $82, $01, $00, $57, $AA, $90, $05, $EC, $91, $5E, $EB, $60, $FB, $5D,
+ $A7, $1D, $60, $8E, $FB, $54, $F1, $84, $94, $20, $E0, $38, $76, $14, $92, $DA,
+ $C4, $F8, $5B, $09, $C8, $B6, $FC, $74, $C1, $A8, $04, $FA, $A4, $3A, $96, $F0,
+ $53, $A2, $FE, $95, $48, $30, $C9, $62, $24, $EC, $31, $E9, $54, $58, $B2, $85,
+ $B9, $CA, $05, $06, $05, $DF, $B5, $8E, $25, $C8, $69, $BA, $A1, $D6, $16, $75,
+ $7B, $1A, $35, $F1, $8F, $80, $E0, $8F, $CD, $07, $36, $2E, $D8, $00, $75, $76,
+ $FA, $3A, $A3, $E5, $77, $D6, $4E, $DB, $83, $0C, $9D, $CB, $AF, $5B, $E0, $E5,
+ $77, $4D, $F3, $3E, $19, $38, $F7, $5A, $17, $79, $37, $DD, $B7, $61, $3A, $9B,
+ $F8, $3D, $39, $05, $58, $88, $1B, $C3, $CE, $D6, $39, $21, $CD, $15, $18, $B0,
+ $79, $11, $A2, $63, $35, $6A, $C2, $47, $BC, $09, $29, $48, $26, $F3, $55, $9A,
+ $13, $67, $EA, $3F, $57, $02, $50, $B1, $B4, $97, $6F, $2F, $42, $34, $17, $90,
+ $AC, $2A, $7A, $CA, $95, $F7, $94, $EB, $DA, $8C, $86, $5F, $A5, $E6, $D1, $E6,
+ $F1, $FD, $C5, $DF, $21, $28, $84, $1E, $2E, $3E, $DA, $61, $B0, $95, $85, $54,
+ $A5, $71, $EB, $8D, $F7, $B8, $C9, $D4, $F6, $C6, $7B, $8B, $8A, $A0, $CC, $CF,
+ $4D, $BC, $F2, $F3, $E0, $E8, $EE, $2D, $80, $C9, $5A, $09, $54, $81, $33, $AD,
+ $1A, $E8, $0C, $64, $55, $20, $21, $B4, $8F, $C9, $3B, $8B, $86, $ED, $96, $CE,
+ $F0, $D3, $30, $25, $64, $A1, $82, $0E, $2B, $30, $82, $0E, $27, $06, $0A, $2B,
+ $06, $01, $04, $01, $82, $37, $03, $03, $01, $31, $82, $0E, $17, $30, $82, $0E,
+ $13, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, $07, $02, $A0, $82, $0E, $04,
+ $30, $82, $0E, $00, $02, $01, $03, $31, $0D, $30, $0B, $06, $09, $60, $86, $48,
+ $01, $65, $03, $04, $02, $01, $30, $81, $FE, $06, $0B, $2A, $86, $48, $86, $F7,
+ $0D, $01, $09, $10, $01, $04, $A0, $81, $EE, $04, $81, $EB, $30, $81, $E8, $02,
+ $01, $01, $06, $0B, $60, $86, $48, $01, $86, $F8, $45, $01, $07, $17, $03, $30,
+ $21, $30, $09, $06, $05, $2B, $0E, $03, $02, $1A, $05, $00, $04, $14, $8F, $04,
+ $3C, $4B, $89, $CF, $42, $2A, $D8, $54, $DB, $37, $AC, $37, $7D, $0A, $F8, $75,
+ $DF, $81, $02, $14, $38, $13, $F1, $03, $71, $CC, $83, $05, $20, $94, $4C, $AA,
+ $35, $EB, $AA, $0C, $8A, $DF, $83, $F2, $18, $0F, $32, $30, $31, $39, $30, $37,
+ $32, $30, $31, $37, $34, $38, $32, $30, $5A, $30, $03, $02, $01, $1E, $A0, $81,
+ $86, $A4, $81, $83, $30, $81, $80, $31, $0B, $30, $09, $06, $03, $55, $04, $06,
+ $13, $02, $55, $53, $31, $1D, $30, $1B, $06, $03, $55, $04, $0A, $13, $14, $53,
+ $79, $6D, $61, $6E, $74, $65, $63, $20, $43, $6F, $72, $70, $6F, $72, $61, $74,
+ $69, $6F, $6E, $31, $1F, $30, $1D, $06, $03, $55, $04, $0B, $13, $16, $53, $79,
+ $6D, $61, $6E, $74, $65, $63, $20, $54, $72, $75, $73, $74, $20, $4E, $65, $74,
+ $77, $6F, $72, $6B, $31, $31, $30, $2F, $06, $03, $55, $04, $03, $13, $28, $53,
+ $79, $6D, $61, $6E, $74, $65, $63, $20, $53, $48, $41, $32, $35, $36, $20, $54,
+ $69, $6D, $65, $53, $74, $61, $6D, $70, $69, $6E, $67, $20, $53, $69, $67, $6E,
+ $65, $72, $20, $2D, $20, $47, $33, $A0, $82, $0A, $8B, $30, $82, $05, $38, $30,
+ $82, $04, $20, $A0, $03, $02, $01, $02, $02, $10, $7B, $05, $B1, $D4, $49, $68,
+ $51, $44, $F7, $C9, $89, $D2, $9C, $19, $9D, $12, $30, $0D, $06, $09, $2A, $86,
+ $48, $86, $F7, $0D, $01, $01, $0B, $05, $00, $30, $81, $BD, $31, $0B, $30, $09,
+ $06, $03, $55, $04, $06, $13, $02, $55, $53, $31, $17, $30, $15, $06, $03, $55,
+ $04, $0A, $13, $0E, $56, $65, $72, $69, $53, $69, $67, $6E, $2C, $20, $49, $6E,
+ $63, $2E, $31, $1F, $30, $1D, $06, $03, $55, $04, $0B, $13, $16, $56, $65, $72,
+ $69, $53, $69, $67, $6E, $20, $54, $72, $75, $73, $74, $20, $4E, $65, $74, $77,
+ $6F, $72, $6B, $31, $3A, $30, $38, $06, $03, $55, $04, $0B, $13, $31, $28, $63,
+ $29, $20, $32, $30, $30, $38, $20, $56, $65, $72, $69, $53, $69, $67, $6E, $2C,
+ $20, $49, $6E, $63, $2E, $20, $2D, $20, $46, $6F, $72, $20, $61, $75, $74, $68,
+ $6F, $72, $69, $7A, $65, $64, $20, $75, $73, $65, $20, $6F, $6E, $6C, $79, $31,
+ $38, $30, $36, $06, $03, $55, $04, $03, $13, $2F, $56, $65, $72, $69, $53, $69,
+ $67, $6E, $20, $55, $6E, $69, $76, $65, $72, $73, $61, $6C, $20, $52, $6F, $6F,
+ $74, $20, $43, $65, $72, $74, $69, $66, $69, $63, $61, $74, $69, $6F, $6E, $20,
+ $41, $75, $74, $68, $6F, $72, $69, $74, $79, $30, $1E, $17, $0D, $31, $36, $30,
+ $31, $31, $32, $30, $30, $30, $30, $30, $30, $5A, $17, $0D, $33, $31, $30, $31,
+ $31, $31, $32, $33, $35, $39, $35, $39, $5A, $30, $77, $31, $0B, $30, $09, $06,
+ $03, $55, $04, $06, $13, $02, $55, $53, $31, $1D, $30, $1B, $06, $03, $55, $04,
+ $0A, $13, $14, $53, $79, $6D, $61, $6E, $74, $65, $63, $20, $43, $6F, $72, $70,
+ $6F, $72, $61, $74, $69, $6F, $6E, $31, $1F, $30, $1D, $06, $03, $55, $04, $0B,
+ $13, $16, $53, $79, $6D, $61, $6E, $74, $65, $63, $20, $54, $72, $75, $73, $74,
+ $20, $4E, $65, $74, $77, $6F, $72, $6B, $31, $28, $30, $26, $06, $03, $55, $04,
+ $03, $13, $1F, $53, $79, $6D, $61, $6E, $74, $65, $63, $20, $53, $48, $41, $32,
+ $35, $36, $20, $54, $69, $6D, $65, $53, $74, $61, $6D, $70, $69, $6E, $67, $20,
+ $43, $41, $30, $82, $01, $22, $30, $0D, $06, $09, $2A, $86, $48, $86, $F7, $0D,
+ $01, $01, $01, $05, $00, $03, $82, $01, $0F, $00, $30, $82, $01, $0A, $02, $82,
+ $01, $01, $00, $BB, $59, $9D, $59, $55, $4F, $9D, $8C, $72, $5D, $1A, $81, $A2,
+ $EB, $55, $F3, $B0, $01, $AD, $3C, $71, $AC, $32, $8F, $05, $6B, $86, $9A, $27,
+ $00, $32, $97, $6A, $4D, $C9, $64, $14, $4B, $29, $BB, $C2, $D9, $29, $B9, $2E,
+ $EC, $63, $B3, $E1, $CF, $3F, $0B, $56, $90, $F8, $62, $1B, $7E, $EB, $A6, $07,
+ $E2, $DE, $7F, $5E, $6D, $40, $38, $D4, $91, $06, $E7, $41, $7C, $79, $1C, $CB,
+ $CB, $AD, $1B, $BF, $D8, $95, $91, $F3, $F0, $EE, $6C, $F8, $AD, $96, $39, $2E,
+ $7F, $C1, $27, $B8, $78, $39, $C5, $84, $A5, $ED, $ED, $AF, $87, $8E, $CE, $8D,
+ $C7, $6D, $EA, $D2, $98, $B5, $3A, $1F, $1E, $39, $9D, $C3, $F4, $9A, $A8, $F4,
+ $84, $E1, $C4, $D1, $7C, $71, $C6, $06, $29, $B4, $3F, $E4, $83, $0D, $26, $C3,
+ $7B, $08, $3E, $4D, $F9, $0A, $B7, $33, $49, $FF, $CA, $3B, $D4, $F5, $B2, $9B,
+ $4B, $E1, $88, $99, $1A, $F5, $C0, $E9, $33, $14, $D6, $DF, $C7, $80, $DB, $91,
+ $EE, $FE, $BC, $92, $57, $72, $77, $F4, $CD, $A8, $CC, $FE, $09, $F5, $93, $37,
+ $BE, $95, $88, $6A, $C5, $DC, $F4, $B1, $4B, $D4, $CE, $E8, $09, $91, $5F, $B5,
+ $84, $79, $35, $8A, $78, $AC, $19, $32, $8F, $23, $C1, $32, $41, $1B, $59, $0E,
+ $A9, $3E, $B1, $CC, $F9, $D6, $2B, $EF, $B7, $D8, $E4, $D5, $1D, $6D, $11, $3A,
+ $92, $F6, $93, $C9, $9C, $E3, $48, $EE, $BB, $53, $0E, $D4, $36, $97, $86, $78,
+ $C5, $A1, $37, $02, $03, $01, $00, $01, $A3, $82, $01, $77, $30, $82, $01, $73,
+ $30, $0E, $06, $03, $55, $1D, $0F, $01, $01, $FF, $04, $04, $03, $02, $01, $06,
+ $30, $12, $06, $03, $55, $1D, $13, $01, $01, $FF, $04, $08, $30, $06, $01, $01,
+ $FF, $02, $01, $00, $30, $66, $06, $03, $55, $1D, $20, $04, $5F, $30, $5D, $30,
+ $5B, $06, $0B, $60, $86, $48, $01, $86, $F8, $45, $01, $07, $17, $03, $30, $4C,
+ $30, $23, $06, $08, $2B, $06, $01, $05, $05, $07, $02, $01, $16, $17, $68, $74,
+ $74, $70, $73, $3A, $2F, $2F, $64, $2E, $73, $79, $6D, $63, $62, $2E, $63, $6F,
+ $6D, $2F, $63, $70, $73, $30, $25, $06, $08, $2B, $06, $01, $05, $05, $07, $02,
+ $02, $30, $19, $1A, $17, $68, $74, $74, $70, $73, $3A, $2F, $2F, $64, $2E, $73,
+ $79, $6D, $63, $62, $2E, $63, $6F, $6D, $2F, $72, $70, $61, $30, $2E, $06, $08,
+ $2B, $06, $01, $05, $05, $07, $01, $01, $04, $22, $30, $20, $30, $1E, $06, $08,
+ $2B, $06, $01, $05, $05, $07, $30, $01, $86, $12, $68, $74, $74, $70, $3A, $2F,
+ $2F, $73, $2E, $73, $79, $6D, $63, $64, $2E, $63, $6F, $6D, $30, $36, $06, $03,
+ $55, $1D, $1F, $04, $2F, $30, $2D, $30, $2B, $A0, $29, $A0, $27, $86, $25, $68,
+ $74, $74, $70, $3A, $2F, $2F, $73, $2E, $73, $79, $6D, $63, $62, $2E, $63, $6F,
+ $6D, $2F, $75, $6E, $69, $76, $65, $72, $73, $61, $6C, $2D, $72, $6F, $6F, $74,
+ $2E, $63, $72, $6C, $30, $13, $06, $03, $55, $1D, $25, $04, $0C, $30, $0A, $06,
+ $08, $2B, $06, $01, $05, $05, $07, $03, $08, $30, $28, $06, $03, $55, $1D, $11,
+ $04, $21, $30, $1F, $A4, $1D, $30, $1B, $31, $19, $30, $17, $06, $03, $55, $04,
+ $03, $13, $10, $54, $69, $6D, $65, $53, $74, $61, $6D, $70, $2D, $32, $30, $34,
+ $38, $2D, $33, $30, $1D, $06, $03, $55, $1D, $0E, $04, $16, $04, $14, $AF, $63,
+ $D6, $CA, $A3, $4E, $85, $72, $E0, $A7, $BC, $41, $F3, $29, $A2, $38, $7F, $80,
+ $75, $62, $30, $1F, $06, $03, $55, $1D, $23, $04, $18, $30, $16, $80, $14, $B6,
+ $77, $FA, $69, $48, $47, $9F, $53, $12, $D5, $C2, $EA, $07, $32, $76, $07, $D1,
+ $97, $07, $19, $30, $0D, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, $01, $0B,
+ $05, $00, $03, $82, $01, $01, $00, $75, $EA, $B0, $2D, $D5, $34, $19, $5C, $32,
+ $45, $FE, $0E, $E1, $D4, $4F, $A6, $78, $C1, $6F, $D7, $EA, $DD, $DC, $4F, $F3,
+ $A1, $C8, $81, $88, $F7, $A7, $8F, $15, $E6, $40, $29, $AD, $E6, $5D, $F4, $A2,
+ $D9, $56, $64, $84, $71, $30, $2A, $DD, $1E, $61, $17, $66, $20, $56, $06, $98,
+ $19, $8D, $5D, $71, $F2, $F8, $97, $BC, $09, $FD, $1C, $91, $47, $C9, $E2, $E8,
+ $8D, $03, $FB, $CC, $90, $2F, $D6, $0A, $6C, $4E, $33, $EC, $D6, $B4, $93, $C8,
+ $4C, $90, $63, $48, $39, $40, $21, $C4, $DD, $D6, $6E, $89, $98, $3C, $B5, $98,
+ $97, $E8, $A9, $06, $B7, $09, $C9, $8F, $53, $57, $41, $90, $2F, $E1, $1E, $4D,
+ $4E, $DC, $CA, $10, $78, $6C, $42, $6E, $F0, $B6, $C5, $F8, $61, $5C, $52, $F5,
+ $4E, $F6, $6B, $8D, $F7, $4A, $7A, $BE, $F3, $CD, $FD, $03, $D7, $D9, $F6, $03,
+ $A8, $0F, $E3, $53, $F7, $0A, $75, $EC, $C6, $75, $2E, $AA, $66, $85, $04, $99,
+ $B7, $F8, $06, $57, $E1, $C6, $0E, $F6, $E8, $AF, $DA, $EC, $9B, $18, $1F, $AA,
+ $B9, $E3, $3A, $00, $BF, $CE, $8A, $94, $CB, $01, $DB, $9E, $C7, $38, $BB, $0F,
+ $52, $AB, $D1, $E3, $94, $03, $60, $0A, $4D, $A0, $FE, $27, $6D, $14, $32, $FC,
+ $3F, $97, $40, $E1, $BF, $99, $89, $DB, $E4, $39, $14, $BD, $DA, $E4, $D3, $C3,
+ $EA, $2B, $5A, $B3, $95, $58, $55, $04, $7D, $C7, $9A, $EC, $23, $03, $8D, $85,
+ $2A, $D2, $FF, $AE, $A9, $61, $81, $30, $82, $05, $4B, $30, $82, $04, $33, $A0,
+ $03, $02, $01, $02, $02, $10, $7B, $D4, $E5, $AF, $BA, $CC, $07, $3F, $A1, $01,
+ $23, $04, $22, $41, $4D, $12, $30, $0D, $06, $09, $2A, $86, $48, $86, $F7, $0D,
+ $01, $01, $0B, $05, $00, $30, $77, $31, $0B, $30, $09, $06, $03, $55, $04, $06,
+ $13, $02, $55, $53, $31, $1D, $30, $1B, $06, $03, $55, $04, $0A, $13, $14, $53,
+ $79, $6D, $61, $6E, $74, $65, $63, $20, $43, $6F, $72, $70, $6F, $72, $61, $74,
+ $69, $6F, $6E, $31, $1F, $30, $1D, $06, $03, $55, $04, $0B, $13, $16, $53, $79,
+ $6D, $61, $6E, $74, $65, $63, $20, $54, $72, $75, $73, $74, $20, $4E, $65, $74,
+ $77, $6F, $72, $6B, $31, $28, $30, $26, $06, $03, $55, $04, $03, $13, $1F, $53,
+ $79, $6D, $61, $6E, $74, $65, $63, $20, $53, $48, $41, $32, $35, $36, $20, $54,
+ $69, $6D, $65, $53, $74, $61, $6D, $70, $69, $6E, $67, $20, $43, $41, $30, $1E,
+ $17, $0D, $31, $37, $31, $32, $32, $33, $30, $30, $30, $30, $30, $30, $5A, $17,
+ $0D, $32, $39, $30, $33, $32, $32, $32, $33, $35, $39, $35, $39, $5A, $30, $81,
+ $80, $31, $0B, $30, $09, $06, $03, $55, $04, $06, $13, $02, $55, $53, $31, $1D,
+ $30, $1B, $06, $03, $55, $04, $0A, $13, $14, $53, $79, $6D, $61, $6E, $74, $65,
+ $63, $20, $43, $6F, $72, $70, $6F, $72, $61, $74, $69, $6F, $6E, $31, $1F, $30,
+ $1D, $06, $03, $55, $04, $0B, $13, $16, $53, $79, $6D, $61, $6E, $74, $65, $63,
+ $20, $54, $72, $75, $73, $74, $20, $4E, $65, $74, $77, $6F, $72, $6B, $31, $31,
+ $30, $2F, $06, $03, $55, $04, $03, $13, $28, $53, $79, $6D, $61, $6E, $74, $65,
+ $63, $20, $53, $48, $41, $32, $35, $36, $20, $54, $69, $6D, $65, $53, $74, $61,
+ $6D, $70, $69, $6E, $67, $20, $53, $69, $67, $6E, $65, $72, $20, $2D, $20, $47,
+ $33, $30, $82, $01, $22, $30, $0D, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01,
+ $01, $01, $05, $00, $03, $82, $01, $0F, $00, $30, $82, $01, $0A, $02, $82, $01,
+ $01, $00, $AF, $0E, $8A, $AA, $F8, $DC, $BF, $69, $7B, $54, $17, $71, $47, $09,
+ $BD, $8D, $3C, $81, $F8, $74, $15, $77, $67, $90, $9C, $FD, $DE, $4E, $02, $9E,
+ $4B, $76, $F6, $E5, $36, $3E, $65, $D5, $24, $20, $6D, $30, $F9, $DD, $1D, $83,
+ $E9, $3F, $27, $4A, $33, $4E, $6D, $16, $8A, $E4, $8D, $40, $8D, $22, $AA, $BE,
+ $A7, $0B, $1B, $D2, $07, $B6, $3C, $B5, $1A, $24, $28, $F8, $1B, $72, $51, $3D,
+ $C8, $09, $88, $26, $08, $3A, $F9, $FA, $43, $23, $75, $47, $70, $0C, $B3, $5F,
+ $5B, $8F, $08, $1D, $72, $48, $57, $65, $4D, $AF, $02, $3C, $40, $F7, $F4, $DD,
+ $32, $38, $93, $3F, $E5, $2C, $A6, $F3, $59, $23, $CB, $80, $DE, $13, $4D, $F9,
+ $10, $C9, $AA, $0A, $18, $6C, $55, $61, $57, $D1, $F1, $02, $2C, $C4, $B5, $AB,
+ $F2, $6C, $23, $D2, $9F, $0D, $0F, $19, $6C, $AD, $85, $62, $69, $FD, $4E, $85,
+ $C1, $8A, $52, $31, $AB, $5B, $D8, $C9, $74, $52, $E3, $57, $6C, $22, $BF, $55,
+ $7F, $6F, $CA, $06, $AB, $3F, $4A, $B7, $22, $76, $65, $EC, $EC, $36, $F2, $96,
+ $95, $81, $26, $2C, $FD, $BB, $98, $AA, $01, $38, $D3, $AF, $25, $40, $9B, $09,
+ $53, $F0, $29, $57, $85, $58, $5E, $EA, $85, $48, $41, $21, $87, $E5, $DE, $B4,
+ $D3, $26, $B2, $7B, $40, $53, $58, $79, $8E, $52, $31, $06, $4D, $94, $03, $45,
+ $C4, $CE, $3C, $03, $EC, $B7, $00, $F2, $3A, $22, $C5, $B4, $6F, $E5, $EF, $B0,
+ $8A, $9B, $02, $03, $01, $00, $01, $A3, $82, $01, $C7, $30, $82, $01, $C3, $30,
+ $0C, $06, $03, $55, $1D, $13, $01, $01, $FF, $04, $02, $30, $00, $30, $66, $06,
+ $03, $55, $1D, $20, $04, $5F, $30, $5D, $30, $5B, $06, $0B, $60, $86, $48, $01,
+ $86, $F8, $45, $01, $07, $17, $03, $30, $4C, $30, $23, $06, $08, $2B, $06, $01,
+ $05, $05, $07, $02, $01, $16, $17, $68, $74, $74, $70, $73, $3A, $2F, $2F, $64,
+ $2E, $73, $79, $6D, $63, $62, $2E, $63, $6F, $6D, $2F, $63, $70, $73, $30, $25,
+ $06, $08, $2B, $06, $01, $05, $05, $07, $02, $02, $30, $19, $1A, $17, $68, $74,
+ $74, $70, $73, $3A, $2F, $2F, $64, $2E, $73, $79, $6D, $63, $62, $2E, $63, $6F,
+ $6D, $2F, $72, $70, $61, $30, $40, $06, $03, $55, $1D, $1F, $04, $39, $30, $37,
+ $30, $35, $A0, $33, $A0, $31, $86, $2F, $68, $74, $74, $70, $3A, $2F, $2F, $74,
+ $73, $2D, $63, $72, $6C, $2E, $77, $73, $2E, $73, $79, $6D, $61, $6E, $74, $65,
+ $63, $2E, $63, $6F, $6D, $2F, $73, $68, $61, $32, $35, $36, $2D, $74, $73, $73,
+ $2D, $63, $61, $2E, $63, $72, $6C, $30, $16, $06, $03, $55, $1D, $25, $01, $01,
+ $FF, $04, $0C, $30, $0A, $06, $08, $2B, $06, $01, $05, $05, $07, $03, $08, $30,
+ $0E, $06, $03, $55, $1D, $0F, $01, $01, $FF, $04, $04, $03, $02, $07, $80, $30,
+ $77, $06, $08, $2B, $06, $01, $05, $05, $07, $01, $01, $04, $6B, $30, $69, $30,
+ $2A, $06, $08, $2B, $06, $01, $05, $05, $07, $30, $01, $86, $1E, $68, $74, $74,
+ $70, $3A, $2F, $2F, $74, $73, $2D, $6F, $63, $73, $70, $2E, $77, $73, $2E, $73,
+ $79, $6D, $61, $6E, $74, $65, $63, $2E, $63, $6F, $6D, $30, $3B, $06, $08, $2B,
+ $06, $01, $05, $05, $07, $30, $02, $86, $2F, $68, $74, $74, $70, $3A, $2F, $2F,
+ $74, $73, $2D, $61, $69, $61, $2E, $77, $73, $2E, $73, $79, $6D, $61, $6E, $74,
+ $65, $63, $2E, $63, $6F, $6D, $2F, $73, $68, $61, $32, $35, $36, $2D, $74, $73,
+ $73, $2D, $63, $61, $2E, $63, $65, $72, $30, $28, $06, $03, $55, $1D, $11, $04,
+ $21, $30, $1F, $A4, $1D, $30, $1B, $31, $19, $30, $17, $06, $03, $55, $04, $03,
+ $13, $10, $54, $69, $6D, $65, $53, $74, $61, $6D, $70, $2D, $32, $30, $34, $38,
+ $2D, $36, $30, $1D, $06, $03, $55, $1D, $0E, $04, $16, $04, $14, $A5, $13, $01,
+ $A9, $9F, $85, $CC, $1B, $6E, $16, $1E, $5F, $3B, $31, $AA, $79, $36, $00, $7B,
+ $1D, $30, $1F, $06, $03, $55, $1D, $23, $04, $18, $30, $16, $80, $14, $AF, $63,
+ $D6, $CA, $A3, $4E, $85, $72, $E0, $A7, $BC, $41, $F3, $29, $A2, $38, $7F, $80,
+ $75, $62, $30, $0D, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, $01, $0B, $05,
+ $00, $03, $82, $01, $01, $00, $46, $9E, $AF, $F0, $B8, $A2, $5F, $A2, $99, $48,
+ $CF, $A8, $27, $4B, $21, $CD, $B2, $B9, $A6, $72, $70, $63, $2F, $E3, $55, $29,
+ $7B, $39, $46, $4E, $E7, $7E, $65, $06, $58, $8B, $BC, $57, $8A, $92, $0D, $08,
+ $D8, $10, $BA, $36, $24, $FA, $0A, $7B, $FB, $3B, $D3, $62, $BF, $4A, $94, $15,
+ $E6, $82, $DB, $8A, $54, $6D, $FF, $28, $FE, $67, $CF, $71, $3F, $E6, $33, $09,
+ $D9, $A2, $59, $10, $F4, $1E, $4A, $FE, $65, $CC, $DE, $D4, $6B, $E3, $52, $29,
+ $75, $00, $4A, $2B, $A5, $CC, $CB, $9B, $E8, $A9, $4D, $F7, $B4, $17, $59, $92,
+ $41, $C3, $B7, $3F, $86, $E6, $F6, $C0, $7F, $44, $3C, $46, $5C, $17, $5A, $E3,
+ $A4, $3B, $D5, $69, $26, $D5, $21, $7D, $E1, $80, $67, $7E, $62, $AC, $B7, $4E,
+ $2E, $15, $9A, $E5, $9C, $23, $AF, $5B, $11, $EA, $71, $A9, $41, $F9, $0D, $79,
+ $38, $A9, $A1, $0D, $CF, $B4, $B1, $DA, $3E, $9A, $7A, $C7, $22, $C5, $74, $CD,
+ $DF, $47, $09, $86, $C4, $FC, $91, $25, $B2, $1B, $96, $E9, $85, $08, $E8, $DD,
+ $EA, $74, $60, $6E, $60, $A5, $56, $7A, $0D, $C8, $44, $58, $DC, $E6, $F9, $48,
+ $14, $9E, $E5, $BF, $DE, $00, $BD, $77, $B1, $98, $14, $72, $14, $24, $DF, $C7,
+ $11, $2C, $1F, $00, $3F, $C3, $4B, $14, $C6, $67, $1C, $CC, $1E, $06, $A3, $90,
+ $5F, $5C, $54, $8B, $3E, $E3, $33, $5B, $82, $0F, $C5, $B7, $86, $02, $4E, $71,
+ $9F, $E9, $66, $45, $3F, $76, $31, $82, $02, $5A, $30, $82, $02, $56, $02, $01,
+ $01, $30, $81, $8B, $30, $77, $31, $0B, $30, $09, $06, $03, $55, $04, $06, $13,
+ $02, $55, $53, $31, $1D, $30, $1B, $06, $03, $55, $04, $0A, $13, $14, $53, $79,
+ $6D, $61, $6E, $74, $65, $63, $20, $43, $6F, $72, $70, $6F, $72, $61, $74, $69,
+ $6F, $6E, $31, $1F, $30, $1D, $06, $03, $55, $04, $0B, $13, $16, $53, $79, $6D,
+ $61, $6E, $74, $65, $63, $20, $54, $72, $75, $73, $74, $20, $4E, $65, $74, $77,
+ $6F, $72, $6B, $31, $28, $30, $26, $06, $03, $55, $04, $03, $13, $1F, $53, $79,
+ $6D, $61, $6E, $74, $65, $63, $20, $53, $48, $41, $32, $35, $36, $20, $54, $69,
+ $6D, $65, $53, $74, $61, $6D, $70, $69, $6E, $67, $20, $43, $41, $02, $10, $7B,
+ $D4, $E5, $AF, $BA, $CC, $07, $3F, $A1, $01, $23, $04, $22, $41, $4D, $12, $30,
+ $0B, $06, $09, $60, $86, $48, $01, $65, $03, $04, $02, $01, $A0, $81, $A4, $30,
+ $1A, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, $09, $03, $31, $0D, $06, $0B,
+ $2A, $86, $48, $86, $F7, $0D, $01, $09, $10, $01, $04, $30, $1C, $06, $09, $2A,
+ $86, $48, $86, $F7, $0D, $01, $09, $05, $31, $0F, $17, $0D, $31, $39, $30, $37,
+ $32, $30, $31, $37, $34, $38, $32, $30, $5A, $30, $2F, $06, $09, $2A, $86, $48,
+ $86, $F7, $0D, $01, $09, $04, $31, $22, $04, $20, $45, $73, $B2, $C5, $44, $4D,
+ $AC, $68, $C3, $CF, $7C, $EB, $BF, $68, $30, $A7, $ED, $51, $18, $39, $DB, $AC,
+ $26, $B2, $07, $70, $FC, $29, $AA, $E6, $C5, $69, $30, $37, $06, $0B, $2A, $86,
+ $48, $86, $F7, $0D, $01, $09, $10, $02, $2F, $31, $28, $30, $26, $30, $24, $30,
+ $22, $04, $20, $C4, $74, $CE, $76, $00, $7D, $02, $39, $4E, $0D, $A5, $E4, $DE,
+ $7C, $14, $C6, $80, $F9, $E2, $82, $01, $3C, $FE, $F6, $53, $EF, $5D, $B7, $1F,
+ $DF, $61, $F8, $30, $0B, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, $01, $01,
+ $04, $82, $01, $00, $1A, $2B, $CD, $AA, $4F, $73, $CE, $EE, $35, $D4, $77, $1C,
+ $59, $A6, $28, $09, $F8, $2A, $D7, $BE, $58, $55, $D4, $5A, $FB, $EB, $DF, $BC,
+ $97, $CB, $53, $CD, $ED, $12, $1C, $B5, $95, $86, $D3, $FA, $26, $BA, $4D, $AB,
+ $04, $F2, $11, $40, $86, $55, $2D, $5C, $D0, $EE, $2D, $CC, $D8, $29, $1F, $1F,
+ $65, $B4, $AD, $AD, $01, $FA, $2E, $E0, $63, $CF, $D7, $22, $96, $C9, $42, $AE,
+ $E9, $B7, $68, $97, $65, $6F, $B0, $BA, $54, $34, $41, $09, $40, $20, $15, $A5,
+ $B2, $39, $DA, $18, $F5, $78, $F0, $83, $8B, $F4, $C5, $28, $98, $10, $C4, $C9,
+ $31, $2A, $F4, $9D, $71, $8D, $E4, $00, $04, $3C, $7F, $9D, $38, $8E, $70, $54,
+ $4E, $11, $DE, $98, $FF, $B1, $85, $44, $D1, $CB, $21, $C6, $10, $CC, $C3, $2B,
+ $78, $72, $51, $C3, $EB, $AA, $2D, $C4, $3A, $A8, $64, $8C, $19, $C5, $A0, $95,
+ $EE, $B3, $6D, $CB, $11, $78, $74, $4E, $87, $3C, $E8, $35, $92, $53, $D5, $FB,
+ $90, $83, $30, $34, $81, $6E, $B0, $5B, $CE, $A8, $FF, $F3, $31, $CA, $FF, $70,
+ $D7, $AD, $C0, $52, $68, $B6, $90, $53, $14, $D2, $73, $64, $93, $F5, $D4, $2D,
+ $7E, $83, $59, $13, $CE, $EB, $59, $9D, $A0, $D2, $94, $0C, $7B, $05, $DA, $53,
+ $90, $7B, $3B, $A9, $12, $75, $F7, $A2, $66, $9F, $C3, $8E, $C9, $AB, $3E, $95,
+ $4A, $B5, $CE, $11, $3E, $87, $FF, $63, $C7, $93, $CD, $3C, $DF, $3D, $F7, $0B,
+ $C2, $14, $4D, $EA, $00, $00, $00, $00
+ );
+
diff --git a/10.3.2/Activator/PatchData.pas b/10.3.2/Activator/PatchData.pas
new file mode 100644
index 0000000..4ac0440
--- /dev/null
+++ b/10.3.2/Activator/PatchData.pas
@@ -0,0 +1,26 @@
+{ *********************************************************************** }
+{ }
+{ ߵԪ }
+{ }
+{ ƣLsuper 2013.02.16 }
+{ ע }
+{ ˣ }
+{ }
+{ Copyright (c) 1998-2014 Super Studio }
+{ }
+{ *********************************************************************** }
+
+unit PatchData;
+
+interface
+
+uses
+ SysUtils, Classes;
+
+const
+
+{$I PatchData.inc} { ļ }
+
+implementation
+
+end.
diff --git a/10.3.2/Activator/TMainForm.inc b/10.3.2/Activator/TMainForm.inc
new file mode 100644
index 0000000..5de11a9
--- /dev/null
+++ b/10.3.2/Activator/TMainForm.inc
@@ -0,0 +1 @@
+TMainForm = class(TObj)
diff --git a/10.3.2/Activator/TMainFormclass.inc b/10.3.2/Activator/TMainFormclass.inc
new file mode 100644
index 0000000..547a4cd
--- /dev/null
+++ b/10.3.2/Activator/TMainFormclass.inc
@@ -0,0 +1 @@
+TMainForm = class; PMainForm = TMainForm;
diff --git a/10.3.2/Activator/WinUtils.pas b/10.3.2/Activator/WinUtils.pas
new file mode 100644
index 0000000..7168e4e
--- /dev/null
+++ b/10.3.2/Activator/WinUtils.pas
@@ -0,0 +1,383 @@
+{ *********************************************************************** }
+{ }
+{ Win Ԫ }
+{ }
+{ ƣLsuper 2013.04.26 }
+{ ע }
+{ ˣ }
+{ }
+{ Copyright (c) 1998-2014 Super Studio }
+{ }
+{ *********************************************************************** }
+
+unit WinUtils;
+
+{$WARNINGS OFF}
+
+interface
+
+uses
+ SysUtils, Windows;
+
+function GetCommandLineOutput(const ACommandLine, AWorkDir: string;
+ out ExitCode: LongWord): string;
+function GetFileBuildVersion(const AFile: string): Integer;
+function GetShellFolderPath(nFolder: Integer): string;
+function GetWindowsPath: string;
+
+function TaskMessageBox(const AHandle: THandle; const AText, ACaption: string;
+ const Icon, Buttons: Integer): Integer;
+function IsWindowsVista: Boolean;
+
+procedure Delay(ASeconds: Double);
+
+function CreateProcessEx(lpApplicationName: PChar; lpCommandLine: PChar;
+ lpProcessAttributes, lpThreadAttributes: PSecurityAttributes;
+ bInheritHandles: BOOL; dwCreationFlags: DWORD; lpEnvironment: Pointer;
+ lpCurrentDirectory: PChar; const lpStartupInfo: TStartupInfo;
+ var lpProcessInformation: TProcessInformation; const ALibraryName: AnsiString): Boolean;
+function InjectLibraryModule(AProcessID: LongWord; const ALibraryName: AnsiString): Boolean;
+
+procedure LogMessage(const AMessage: string);
+
+procedure ShowMessage(const ACaption, AMessage: string);
+procedure ShowError(const AMessage: string);
+
+procedure SetMainFormHandle(const AHandle: HWND);
+
+implementation
+
+uses
+ ShlObj;
+
+const
+ TD_BUTTON_OK = 01;
+ TD_BUTTON_YES = 02;
+ TD_BUTTON_NO = 04;
+ TD_BUTTON_CANCEL = 08;
+ TD_BUTTON_RETRY = 16;
+ TD_BUTTON_CLOSE = 32;
+
+ TD_ICON_BLANK = 00;
+ TD_ICON_WARNING = 84;
+ TD_ICON_QUESTION = 99;
+ TD_ICON_ERROR = 98;
+ TD_ICON_INFORMATION = 81;
+
+ TD_ICON_SHIELD_QUESTION = 104;
+ TD_ICON_SHIELD_ERROR = 105;
+ TD_ICON_SHIELD_OK = 106;
+ TD_ICON_SHIELD_WARNING = 107;
+
+var
+ MainFormHandle: HWND = 0;
+
+////////////////////////////////////////////////////////////////////////////////
+// ˵ӳn
+// ASeconds -- ӳ
+////////////////////////////////////////////////////////////////////////////////
+procedure Delay(ASeconds: Double);
+ ////////////////////////////////////////////////////////////////////////////////
+ //: Lsuper 2004.11.10
+ //: Ϣѭֹ
+ //
+ ////////////////////////////////////////////////////////////////////////////////
+ procedure ProcessMessages;
+ const
+ WM_QUIT = $0012;
+ var
+ Msg: TMsg;
+ begin
+ while PeekMessage(Msg, 0, 0, 0, PM_REMOVE) do
+ begin
+ if Msg.Message = WM_QUIT then
+ Halt(Msg.wParam);
+ TranslateMessage(Msg);
+ DispatchMessage(Msg);
+ end;
+ end;
+var
+ nTimeOut: TDateTime;
+ nHours, nMins, nSeconds, nMilliSecs: Integer;
+begin
+ nSeconds := Trunc(ASeconds);
+ nMilliSecs := Round(Frac(ASeconds) * 1000);
+ nHours := nSeconds div 3600;
+ nMins := (nSeconds mod 3600) div 60;
+ nSeconds := nSeconds mod 60;
+ nTimeOut := Now + EncodeTime(nHours, nMins, nSeconds, nMilliSecs);
+ // wait until the TimeOut time
+ while Now < nTimeOut do
+ ProcessMessages;
+end;
+
+////////////////////////////////////////////////////////////////////////////////
+//: Lsuper 2003.09.21
+//: ȡе
+//
+////////////////////////////////////////////////////////////////////////////////
+function GetCommandLineOutput(const ACommandLine, AWorkDir: string;
+ out ExitCode: LongWord): string;
+var
+ strCommandLine,
+ strWorkDir: string;
+ strOutLine,
+ strBuffer: AnsiString;
+ bRunResult: Boolean;
+ nBytesRead: Cardinal;
+ nStdOutPipeRead,
+ nStdOutPipeWrite: THandle;
+ PI: TProcessInformation;
+ SA: TSecurityAttributes;
+ SI: TStartupInfo;
+begin
+ with SA do
+ begin
+ nLength := SizeOf(SA);
+ bInheritHandle := True;
+ lpSecurityDescriptor := nil;
+ end;
+ if not CreatePipe(nStdOutPipeRead, nStdOutPipeWrite, @SA, 0) then
+ RaiseLastOSError;
+ try
+ with SI do
+ begin
+ FillChar(SI, SizeOf(SI), 0);
+ cb := SizeOf(SI);
+ dwFlags := STARTF_USESHOWWINDOW or STARTF_USESTDHANDLES;
+ wShowWindow := SW_HIDE;
+ hStdInput := GetStdHandle(STD_INPUT_HANDLE);
+ hStdOutput := nStdOutPipeWrite;
+ hStdError := nStdOutPipeWrite;
+ end;
+ if DirectoryExists(AWorkDir) then
+ strWorkDir := AWorkDir
+ else strWorkDir := GetCurrentDir;
+ strCommandLine := ACommandLine;
+ UniqueString(strCommandLine);
+ bRunResult := CreateProcess(nil, PChar(strCommandLine), nil, nil, True, 0, nil,
+ PChar(strWorkDir), SI, PI);
+ CloseHandle(nStdOutPipeWrite);
+ if bRunResult then
+ try
+ strOutLine := '';
+ SetLength(strBuffer, MAXBYTE);
+ repeat
+ nBytesRead := 0;
+ bRunResult := ReadFile(nStdOutPipeRead, PAnsiChar(strBuffer)^, Length(strBuffer), nBytesRead, nil);
+ if nBytesRead > 0 then
+ strOutLine := strOutLine + Copy(strBuffer, 1, nBytesRead);
+ until not bRunResult or (nBytesRead = 0);
+ WaitForSingleObject(PI.hProcess, INFINITE);
+ GetExitCodeProcess(PI.hProcess, ExitCode);
+ finally
+ CloseHandle(PI.hThread);
+ CloseHandle(PI.hProcess);
+ end
+ else RaiseLastOSError;
+ finally
+ CloseHandle(nStdOutPipeRead);
+ Result := string(strOutLine);
+ end;
+end;
+
+function GetFileBuildVersion(const AFile: string): Integer;
+var
+ nInfoSize, dwHandle: DWORD;
+ cFileInfo: PVSFixedFileInfo;
+ nVerSize: DWORD;
+ strBuffer: AnsiString;
+begin
+ Result := 0;
+ nInfoSize := GetFileVersionInfoSize(PChar(AFile), dwHandle);
+ if nInfoSize = 0 then
+ Exit;
+ SetLength(strBuffer, nInfoSize);
+ if not GetFileVersionInfo(PChar(AFile), dwHandle, nInfoSize, Pointer(strBuffer)) then
+ Exit;
+ if VerQueryValue(Pointer(strBuffer), '\', Pointer(cFileInfo), nVerSize) then
+ Result := LOWORD(cFileInfo.dwFileVersionLS);
+end;
+
+////////////////////////////////////////////////////////////////////////////////
+//ƣLsuper 2010.04.09
+//ܣȡ Shell ļλã GetSpecialFolderPath(CSIDL_COMMON_APPDATA)
+//
+////////////////////////////////////////////////////////////////////////////////
+function GetShellFolderPath(nFolder: Integer): string;
+begin
+ SetLength(Result, MAX_PATH);
+ SHGetSpecialFolderPath(0, PChar(Result), nFolder, False);
+ SetLength(Result, StrLen(PChar(Result)));
+ if (Result <> '') and (Result[Length(Result)] <> '\') then
+ Result := Result + '\';
+end;
+
+function GetWindowsPath: string;
+var
+ nRet: LongWord;
+begin
+ SetLength(Result, MAX_PATH);
+ nRet := GetWindowsDirectory(PChar(Result), MAX_PATH);
+ if nRet = 0 then
+ Result := ''
+ else begin
+ SetLength(Result, nRet);
+ if (Result <> '') and (Result[Length(Result)] <> '\') then
+ Result := Result + '\';
+ end;
+end;
+
+////////////////////////////////////////////////////////////////////////////////
+//ƣLsuper 2013.05.01
+//ܣע
+//
+//ע⣺ 500ms ȴʱ䣬ȷ dll سɹִ
+////////////////////////////////////////////////////////////////////////////////
+function CreateProcessEx(lpApplicationName: PChar; lpCommandLine: PChar;
+ lpProcessAttributes, lpThreadAttributes: PSecurityAttributes;
+ bInheritHandles: BOOL; dwCreationFlags: DWORD; lpEnvironment: Pointer;
+ lpCurrentDirectory: PChar; const lpStartupInfo: TStartupInfo;
+ var lpProcessInformation: TProcessInformation; const ALibraryName: AnsiString): Boolean;
+begin
+ Result := False;
+ if not CreateProcess(lpApplicationName, lpCommandLine, lpProcessAttributes, lpThreadAttributes, bInheritHandles, dwCreationFlags or CREATE_SUSPENDED, lpEnvironment, lpCurrentDirectory, lpStartupInfo, lpProcessInformation) then
+ Exit;
+ Result := InjectLibraryModule(lpProcessInformation.hProcess, ALibraryName);
+{
+ Result := uallHook.InjectLibrary(lpProcessInformation.dwProcessId, PChar(ALibraryName));
+}
+ Sleep(500);
+ ResumeThread(lpProcessInformation.hThread);
+end;
+
+////////////////////////////////////////////////////////////////////////////////
+//ƣLsuper 2013.05.01
+//ܣע DLL
+//
+////////////////////////////////////////////////////////////////////////////////
+function InjectLibraryModule(AProcessID: LongWord; const ALibraryName: AnsiString): Boolean;
+var
+ dwProcessID2: DWord;
+ dwMemSize: DWord;
+ dwWritten: DWord;
+ dwThreadID: DWord;
+ pLLA: Pointer;
+ pTargetMemory: Pointer;
+begin
+ Assert(ALibraryName <> '');
+ Result := False;
+ dwProcessID2 := OpenProcess(PROCESS_ALL_ACCESS, False, AProcessID);
+ if (dwProcessID2 <> 0) then
+ AProcessID := dwProcessID2;
+ dwMemSize := Length(ALibraryName) + 1;
+ pTargetMemory := VirtualAllocEx(AProcessID, nil, dwMemSize, MEM_COMMIT or MEM_RESERVE, PAGE_EXECUTE_READWRITE);
+ pLLA := GetProcAddress(GetModuleHandleA('kernel32.dll'), 'LoadLibraryA');
+ if (pLLA <> nil) and (pTargetMemory <> nil) then
+ begin
+ if WriteProcessMemory(AProcessID, pTargetMemory, PChar(ALibraryName), dwMemSize, dwWritten) and (dwWritten = dwMemSize) then
+ Result := CreateRemoteThread(AProcessID, nil, 0, pLLA, pTargetMemory, 0, dwThreadID) <> 0;
+ end;
+ if (dwProcessID2 <> 0) then
+ CloseHandle(dwProcessID2);
+end;
+
+////////////////////////////////////////////////////////////////////////////////
+//ƣLsuper 2009.10.25
+//ܣжǷ Vista/7
+//
+////////////////////////////////////////////////////////////////////////////////
+function IsWindowsVista: Boolean;
+var
+ hKernel32: HMODULE;
+begin
+ hKernel32 := GetModuleHandle('kernel32');
+ if hKernel32 > 0 then
+ Result := GetProcAddress(hKernel32, 'GetLocaleInfoEx') <> nil
+ else Result := false;
+end;
+
+procedure LogMessage(const AMessage: string);
+begin
+ OutputDebugString(PChar(AMessage));
+end;
+
+procedure SetMainFormHandle(const AHandle: HWND);
+begin
+ MainFormHandle := AHandle;
+end;
+
+procedure ShowError(const AMessage: string);
+begin
+ TaskMessageBox(MainFormHandle, AMessage, 'Error', TD_ICON_ERROR, TD_BUTTON_OK);
+end;
+
+procedure ShowMessage(const ACaption, AMessage: string);
+begin
+ TaskMessageBox(MainFormHandle, AMessage, ACaption, TD_ICON_INFORMATION, TD_BUTTON_OK);
+end;
+
+////////////////////////////////////////////////////////////////////////////////
+//ƣLsuper 2009.10.25
+//: ڲʹõʾԻĺӦ Vista/7 ϵͳ
+//
+//ע⣺ο Application MessageBox Dialogs 룬Զʾжϴ
+// http://www.tmssoftware.com/site/atbdev5.asp
+////////////////////////////////////////////////////////////////////////////////
+function TaskMessageBox(const AHandle: THandle; const AText, ACaption: string;
+ const Icon, Buttons: Integer): Integer;
+const
+ conTaskDialogProcName = 'TaskDialog';
+var
+ DLLHandle: THandle;
+ wTitle, wContent: array[0..1024] of widechar;
+ TaskDialogProc: function(HWND: THandle; hInstance: THandle; cTitle,
+ cDescription, cContent: PWideChar; Buttons: Integer; Icon: Integer;
+ ResButton: PInteger): Integer; cdecl stdcall;
+ Flags: Integer;
+begin
+ Result := 0;
+ if IsWindowsVista then
+ begin
+ DLLHandle := LoadLibrary(comctl32);
+ @TaskDialogProc := GetProcAddress(DLLHandle, conTaskDialogProcName);
+ end
+ else TaskDialogProc := nil;
+ if Assigned(TaskDialogProc) then
+ begin
+ StringToWideChar(ACaption, wTitle, SizeOf(wTitle));
+ StringToWideChar(AText, wContent, SizeOf(wContent));
+ TaskDialogProc(AHandle, 0, wTitle, nil, wContent, Buttons, Icon, @Result);
+ end
+ else begin
+ Flags := 0;
+ if Buttons = TD_BUTTON_OK then
+ Flags := MB_OK;
+ if Buttons = TD_BUTTON_OK or TD_BUTTON_CANCEL then
+ Flags := MB_OKCANCEL;
+ if Buttons = TD_BUTTON_CLOSE or TD_BUTTON_RETRY or TD_BUTTON_CANCEL then
+ Flags := MB_ABORTRETRYIGNORE;
+ if Buttons = TD_BUTTON_YES or TD_BUTTON_NO or TD_BUTTON_CANCEL then
+ Flags := MB_YESNOCANCEL;
+ if Buttons = TD_BUTTON_YES or TD_BUTTON_NO then
+ Flags := MB_YESNO;
+ if Buttons = TD_BUTTON_RETRY or TD_BUTTON_CANCEL then
+ Flags := MB_RETRYCANCEL;
+ case Icon of
+ TD_ICON_BLANK:
+ ;
+ TD_ICON_WARNING, TD_ICON_SHIELD_WARNING:
+ Flags := Flags or MB_ICONWARNING;
+ TD_ICON_QUESTION, TD_ICON_SHIELD_QUESTION:
+ Flags := Flags or MB_ICONQUESTION;
+ TD_ICON_ERROR, TD_ICON_SHIELD_ERROR:
+ Flags := Flags or MB_ICONERROR;
+ TD_ICON_INFORMATION, TD_ICON_SHIELD_OK:
+ Flags := Flags or MB_ICONINFORMATION;
+ end;
+ Result := Windows.MessageBox(AHandle, PChar(AText), PChar(ACaption), Flags);
+ end;
+end;
+
+end.
+
diff --git a/10.3.2/Activator/uses.inc b/10.3.2/Activator/uses.inc
new file mode 100644
index 0000000..62c25ab
--- /dev/null
+++ b/10.3.2/Activator/uses.inc
@@ -0,0 +1,9 @@
+{ KOL MCK } // Do not remove this line!
+{ uses.inc
+ This file is generated automatically - do not modify it manually.
+ It is included to be recognized by compiler, but replacing word
+ with compiler directive <$I uses.inc> fakes auto-completion
+ preventing it from automatic references adding to VCL units into
+ uses clause aimed for KOL environment only. }
+
+uses
diff --git a/10.3.2/Dcu/dirinfo.txt b/10.3.2/Dcu/dirinfo.txt
new file mode 100644
index 0000000..38bc9b2
--- /dev/null
+++ b/10.3.2/Dcu/dirinfo.txt
@@ -0,0 +1 @@
+This directory is intended as a common place for sample application's EXE files
\ No newline at end of file
diff --git a/10.3.2/Keygen/AnsiStrings.pas b/10.3.2/Keygen/AnsiStrings.pas
new file mode 100644
index 0000000..a0e5ad5
--- /dev/null
+++ b/10.3.2/Keygen/AnsiStrings.pas
@@ -0,0 +1,7 @@
+unit AnsiStrings;
+
+interface
+
+implementation
+
+end.
diff --git a/10.3.2/Keygen/FGInt.pas b/10.3.2/Keygen/FGInt.pas
new file mode 100644
index 0000000..e0e032c
--- /dev/null
+++ b/10.3.2/Keygen/FGInt.pas
@@ -0,0 +1,2282 @@
+{License, info, etc
+ ------------------
+This implementation is made by me, Walied Othman, to contact me
+mail to rainwolf@submanifold.be or triade@submanifold.be ,
+always mention wether it 's about the FGInt or about the 6xs,
+preferably in the subject line.
+This source code is free, but only to other free software,
+it's a two-way street, if you use this code in an application from which
+you won't make any money of (e.g. software for the good of mankind)
+then go right ahead, I won't stop you, I do demand acknowledgement for
+my work. However, if you're using this code in a commercial application,
+an application from which you'll make money, then yes, I charge a
+license-fee, as described in the license agreement for commercial use, see
+the textfile in this zip-file.
+If you 're going to use these implementations, let me know, so I ca, put a link
+on my page if desired, I 'm always curious as to see where the spawn of my
+mind ends up in. If any algorithm is patented in your country, you should
+acquire a license before using this software. Modified versions of this
+software must contain an acknowledgement of the original author (=me).
+
+This implementation is available at
+http://www.submanifold.be
+
+copyright 2000, Walied Othman
+This header may not be removed.}
+
+Unit FGInt;
+
+{$H+}
+
+{$WARN COMBINING_SIGNED_UNSIGNED OFF}
+
+Interface
+
+Uses SysUtils, Math;
+
+Type
+ TCompare = (Lt, St, Eq, Er);
+ TSign = (negative, positive);
+ TFGInt = Record
+ Sign : TSign;
+ Number : Array Of LongWord;
+ End;
+
+Procedure zeronetochar8(Var g : AnsiChar; Const x : AnsiString);
+Procedure zeronetochar6(Var g : integer; Const x : AnsiString);
+Procedure initialize8(Var trans : Array Of AnsiString);
+Procedure initialize6(Var trans : Array Of AnsiString);
+Procedure initialize6PGP(Var trans : Array Of AnsiString);
+Procedure ConvertBase256to64(Const str256 : AnsiString; Var str64 : AnsiString);
+Procedure ConvertBase64to256(Const str64 : AnsiString; Var str256 : AnsiString);
+Procedure ConvertBase256to2(Const str256 : AnsiString; Var str2 : AnsiString);
+Procedure ConvertBase64to2(Const str64 : AnsiString; Var str2 : AnsiString);
+Procedure ConvertBase2to256(str2 : AnsiString; Var str256 : AnsiString);
+Procedure ConvertBase2to64(str2 : AnsiString; Var str64 : AnsiString);
+Procedure ConvertBase256StringToHexString(Str256 : AnsiString; Var HexStr : AnsiString);
+Procedure ConvertHexStringToBase256String(HexStr : AnsiString; Var Str256 : AnsiString);
+Procedure PGPConvertBase256to64(Var str256, str64 : AnsiString);
+Procedure PGPConvertBase64to256(str64 : AnsiString; Var str256 : AnsiString);
+Procedure PGPConvertBase64to2(str64 : AnsiString; Var str2 : AnsiString);
+Procedure FGIntToBase2String(Const FGInt : TFGInt; Var S : AnsiString);
+Procedure Base2StringToFGInt(S : AnsiString; Var FGInt : TFGInt);
+Procedure FGIntToBase256String(Const FGInt : TFGInt; Var str256 : AnsiString);
+Procedure Base256StringToFGInt(str256 : AnsiString; Var FGInt : TFGInt);
+Procedure PGPMPIToFGInt(PGPMPI : AnsiString; Var FGInt : TFGInt);
+Procedure FGIntToPGPMPI(FGInt : TFGInt; Var PGPMPI : AnsiString);
+Procedure Base10StringToFGInt(Base10 : AnsiString; Var FGInt : TFGInt);
+Procedure FGIntToBase10String(Const FGInt : TFGInt; Var Base10 : AnsiString);
+Procedure FGIntDestroy(Var FGInt : TFGInt);
+Function FGIntCompareAbs(Const FGInt1, FGInt2 : TFGInt) : TCompare;
+Procedure FGIntAdd(Const FGInt1, FGInt2 : TFGInt; Var Sum : TFGInt);
+Procedure FGIntChangeSign(Var FGInt : TFGInt);
+Procedure FGIntSub(Var FGInt1, FGInt2, dif : TFGInt);
+Procedure FGIntMulByInt(Const FGInt : TFGInt; Var res : TFGInt; by : LongWord);
+Procedure FGIntMulByIntbis(Var FGInt : TFGInt; by : LongWord);
+Procedure FGIntDivByInt(Const FGInt : TFGInt; Var res : TFGInt; by : LongWord; Var modres : LongWord);
+Procedure FGIntDivByIntBis(Var FGInt : TFGInt; by : LongWord; Var modres : LongWord);
+Procedure FGIntModByInt(Const FGInt : TFGInt; by : LongWord; Var modres : LongWord);
+Procedure FGIntAbs(Var FGInt : TFGInt);
+Procedure FGIntCopy(Const FGInt1 : TFGInt; Var FGInt2 : TFGInt);
+Procedure FGIntShiftLeft(Var FGInt : TFGInt);
+Procedure FGIntShiftRight(Var FGInt : TFGInt);
+Procedure FGIntShiftRightBy31(Var FGInt : TFGInt);
+Procedure FGIntShiftLeftBy31Times(Var FGInt : TFGInt; times : LongWord);
+Procedure FGIntAddBis(Var FGInt1 : TFGInt; Const FGInt2 : TFGInt);
+Procedure FGIntSubBis(Var FGInt1 : TFGInt; Const FGInt2 : TFGInt);
+Procedure FGIntMul(Const FGInt1, FGInt2 : TFGInt; Var Prod : TFGInt);
+Procedure FGIntSquare(Const FGInt : TFGInt; Var Square : TFGInt);
+Procedure FGIntExp(Const FGInt, exp : TFGInt; Var res : TFGInt);
+Procedure FGIntFac(Const FGInt : TFGInt; Var res : TFGInt);
+Procedure FGIntShiftLeftBy31(Var FGInt : TFGInt);
+Procedure FGIntDivMod(Var FGInt1, FGInt2, QFGInt, MFGInt : TFGInt);
+Procedure FGIntDiv(Var FGInt1, FGInt2, QFGInt : TFGInt);
+Procedure FGIntMulByIntSubBis(Var FGInt1 : TFGInt; Const FGInt2 : TFGInt; divInt : LongWord);
+Procedure FGIntMod(Var FGInt1, FGInt2, MFGInt : TFGInt);
+Procedure FGIntSquareMod(Var FGInt, Modb, FGIntSM : TFGInt);
+Procedure FGIntAddMod(Var FGInt1, FGInt2, base, FGIntres : TFGInt);
+Procedure FGIntMulMod(Var FGInt1, FGInt2, base, FGIntres : TFGInt);
+Procedure FGIntModExp(Var FGInt, exp, modb, res : TFGInt);
+Procedure FGIntModBis(Const FGInt : TFGInt; Var FGIntOut : TFGInt; b, head : LongWord);
+Procedure FGIntMulModBis(Const FGInt1, FGInt2 : TFGInt; Var Prod : TFGInt; b, head : LongWord);
+Procedure FGIntMontgomeryMod(Const GInt, base, baseInv : TFGInt; Var MGInt : TFGInt; b : Longword; head : LongWord);
+Procedure FGIntMontgomeryModExp(Var FGInt, exp, modb, res : TFGInt);
+Procedure FGIntGCD(Const FGInt1, FGInt2 : TFGInt; Var GCD : TFGInt);
+Procedure FGIntLCM(Const FGInt1, FGInt2 : TFGInt; Var LCM : TFGInt);
+Procedure FGIntTrialDiv9999(Const FGInt : TFGInt; Var ok : boolean);
+Procedure FGIntRandom1(Var Seed, RandomFGInt : TFGInt);
+Procedure FGIntRabinMiller(Var FGIntp : TFGInt; nrtest : Longword; Var ok : boolean);
+Procedure FGIntBezoutBachet(Var FGInt1, FGInt2, a, b : TFGInt);
+Procedure FGIntModInv(Const FGInt1, base : TFGInt; Var Inverse : TFGInt);
+Procedure FGIntPrimetest(Var FGIntp : TFGInt; nrRMtests : integer; Var ok : boolean);
+Procedure FGIntLegendreSymbol(Var a, p : TFGInt; Var L : integer);
+Procedure FGIntSquareRootModP(Square, Prime : TFGInt; Var SquareRoot : TFGInt);
+
+
+
+Implementation
+
+Var
+ primes : Array[1..1228] Of integer =
+ (3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127,
+ 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251,
+ 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389,
+ 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541,
+ 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677,
+ 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839,
+ 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997, 1009,
+ 1013, 1019, 1021, 1031, 1033, 1039, 1049, 1051, 1061, 1063, 1069, 1087, 1091, 1093, 1097, 1103, 1109, 1117, 1123,
+ 1129, 1151, 1153, 1163, 1171, 1181, 1187, 1193, 1201, 1213, 1217, 1223, 1229, 1231, 1237, 1249, 1259, 1277, 1279,
+ 1283, 1289, 1291, 1297, 1301, 1303, 1307, 1319, 1321, 1327, 1361, 1367, 1373, 1381, 1399, 1409, 1423, 1427, 1429,
+ 1433, 1439, 1447, 1451, 1453, 1459, 1471, 1481, 1483, 1487, 1489, 1493, 1499, 1511, 1523, 1531, 1543, 1549, 1553,
+ 1559, 1567, 1571, 1579, 1583, 1597, 1601, 1607, 1609, 1613, 1619, 1621, 1627, 1637, 1657, 1663, 1667, 1669, 1693,
+ 1697, 1699, 1709, 1721, 1723, 1733, 1741, 1747, 1753, 1759, 1777, 1783, 1787, 1789, 1801, 1811, 1823, 1831, 1847,
+ 1861, 1867, 1871, 1873, 1877, 1879, 1889, 1901, 1907, 1913, 1931, 1933, 1949, 1951, 1973, 1979, 1987, 1993, 1997,
+ 1999, 2003, 2011, 2017, 2027, 2029, 2039, 2053, 2063, 2069, 2081, 2083, 2087, 2089, 2099, 2111, 2113, 2129, 2131,
+ 2137, 2141, 2143, 2153, 2161, 2179, 2203, 2207, 2213, 2221, 2237, 2239, 2243, 2251, 2267, 2269, 2273, 2281, 2287,
+ 2293, 2297, 2309, 2311, 2333, 2339, 2341, 2347, 2351, 2357, 2371, 2377, 2381, 2383, 2389, 2393, 2399, 2411, 2417,
+ 2423, 2437, 2441, 2447, 2459, 2467, 2473, 2477, 2503, 2521, 2531, 2539, 2543, 2549, 2551, 2557, 2579, 2591, 2593,
+ 2609, 2617, 2621, 2633, 2647, 2657, 2659, 2663, 2671, 2677, 2683, 2687, 2689, 2693, 2699, 2707, 2711, 2713, 2719,
+ 2729, 2731, 2741, 2749, 2753, 2767, 2777, 2789, 2791, 2797, 2801, 2803, 2819, 2833, 2837, 2843, 2851, 2857, 2861,
+ 2879, 2887, 2897, 2903, 2909, 2917, 2927, 2939, 2953, 2957, 2963, 2969, 2971, 2999, 3001, 3011, 3019, 3023, 3037,
+ 3041, 3049, 3061, 3067, 3079, 3083, 3089, 3109, 3119, 3121, 3137, 3163, 3167, 3169, 3181, 3187, 3191, 3203, 3209,
+ 3217, 3221, 3229, 3251, 3253, 3257, 3259, 3271, 3299, 3301, 3307, 3313, 3319, 3323, 3329, 3331, 3343, 3347, 3359,
+ 3361, 3371, 3373, 3389, 3391, 3407, 3413, 3433, 3449, 3457, 3461, 3463, 3467, 3469, 3491, 3499, 3511, 3517, 3527,
+ 3529, 3533, 3539, 3541, 3547, 3557, 3559, 3571, 3581, 3583, 3593, 3607, 3613, 3617, 3623, 3631, 3637, 3643, 3659,
+ 3671, 3673, 3677, 3691, 3697, 3701, 3709, 3719, 3727, 3733, 3739, 3761, 3767, 3769, 3779, 3793, 3797, 3803, 3821,
+ 3823, 3833, 3847, 3851, 3853, 3863, 3877, 3881, 3889, 3907, 3911, 3917, 3919, 3923, 3929, 3931, 3943, 3947, 3967,
+ 3989, 4001, 4003, 4007, 4013, 4019, 4021, 4027, 4049, 4051, 4057, 4073, 4079, 4091, 4093, 4099, 4111, 4127, 4129,
+ 4133, 4139, 4153, 4157, 4159, 4177, 4201, 4211, 4217, 4219, 4229, 4231, 4241, 4243, 4253, 4259, 4261, 4271, 4273,
+ 4283, 4289, 4297, 4327, 4337, 4339, 4349, 4357, 4363, 4373, 4391, 4397, 4409, 4421, 4423, 4441, 4447, 4451, 4457,
+ 4463, 4481, 4483, 4493, 4507, 4513, 4517, 4519, 4523, 4547, 4549, 4561, 4567, 4583, 4591, 4597, 4603, 4621, 4637,
+ 4639, 4643, 4649, 4651, 4657, 4663, 4673, 4679, 4691, 4703, 4721, 4723, 4729, 4733, 4751, 4759, 4783, 4787, 4789,
+ 4793, 4799, 4801, 4813, 4817, 4831, 4861, 4871, 4877, 4889, 4903, 4909, 4919, 4931, 4933, 4937, 4943, 4951, 4957,
+ 4967, 4969, 4973, 4987, 4993, 4999, 5003, 5009, 5011, 5021, 5023, 5039, 5051, 5059, 5077, 5081, 5087, 5099, 5101,
+ 5107, 5113, 5119, 5147, 5153, 5167, 5171, 5179, 5189, 5197, 5209, 5227, 5231, 5233, 5237, 5261, 5273, 5279, 5281,
+ 5297, 5303, 5309, 5323, 5333, 5347, 5351, 5381, 5387, 5393, 5399, 5407, 5413, 5417, 5419, 5431, 5437, 5441, 5443,
+ 5449, 5471, 5477, 5479, 5483, 5501, 5503, 5507, 5519, 5521, 5527, 5531, 5557, 5563, 5569, 5573, 5581, 5591, 5623,
+ 5639, 5641, 5647, 5651, 5653, 5657, 5659, 5669, 5683, 5689, 5693, 5701, 5711, 5717, 5737, 5741, 5743, 5749, 5779,
+ 5783, 5791, 5801, 5807, 5813, 5821, 5827, 5839, 5843, 5849, 5851, 5857, 5861, 5867, 5869, 5879, 5881, 5897, 5903,
+ 5923, 5927, 5939, 5953, 5981, 5987, 6007, 6011, 6029, 6037, 6043, 6047, 6053, 6067, 6073, 6079, 6089, 6091, 6101,
+ 6113, 6121, 6131, 6133, 6143, 6151, 6163, 6173, 6197, 6199, 6203, 6211, 6217, 6221, 6229, 6247, 6257, 6263, 6269,
+ 6271, 6277, 6287, 6299, 6301, 6311, 6317, 6323, 6329, 6337, 6343, 6353, 6359, 6361, 6367, 6373, 6379, 6389, 6397,
+ 6421, 6427, 6449, 6451, 6469, 6473, 6481, 6491, 6521, 6529, 6547, 6551, 6553, 6563, 6569, 6571, 6577, 6581, 6599,
+ 6607, 6619, 6637, 6653, 6659, 6661, 6673, 6679, 6689, 6691, 6701, 6703, 6709, 6719, 6733, 6737, 6761, 6763, 6779,
+ 6781, 6791, 6793, 6803, 6823, 6827, 6829, 6833, 6841, 6857, 6863, 6869, 6871, 6883, 6899, 6907, 6911, 6917, 6947,
+ 6949, 6959, 6961, 6967, 6971, 6977, 6983, 6991, 6997, 7001, 7013, 7019, 7027, 7039, 7043, 7057, 7069, 7079, 7103,
+ 7109, 7121, 7127, 7129, 7151, 7159, 7177, 7187, 7193, 7207, 7211, 7213, 7219, 7229, 7237, 7243, 7247, 7253, 7283,
+ 7297, 7307, 7309, 7321, 7331, 7333, 7349, 7351, 7369, 7393, 7411, 7417, 7433, 7451, 7457, 7459, 7477, 7481, 7487,
+ 7489, 7499, 7507, 7517, 7523, 7529, 7537, 7541, 7547, 7549, 7559, 7561, 7573, 7577, 7583, 7589, 7591, 7603, 7607,
+ 7621, 7639, 7643, 7649, 7669, 7673, 7681, 7687, 7691, 7699, 7703, 7717, 7723, 7727, 7741, 7753, 7757, 7759, 7789,
+ 7793, 7817, 7823, 7829, 7841, 7853, 7867, 7873, 7877, 7879, 7883, 7901, 7907, 7919, 7927, 7933, 7937, 7949, 7951,
+ 7963, 7993, 8009, 8011, 8017, 8039, 8053, 8059, 8069, 8081, 8087, 8089, 8093, 8101, 8111, 8117, 8123, 8147, 8161,
+ 8167, 8171, 8179, 8191, 8209, 8219, 8221, 8231, 8233, 8237, 8243, 8263, 8269, 8273, 8287, 8291, 8293, 8297, 8311,
+ 8317, 8329, 8353, 8363, 8369, 8377, 8387, 8389, 8419, 8423, 8429, 8431, 8443, 8447, 8461, 8467, 8501, 8513, 8521,
+ 8527, 8537, 8539, 8543, 8563, 8573, 8581, 8597, 8599, 8609, 8623, 8627, 8629, 8641, 8647, 8663, 8669, 8677, 8681,
+ 8689, 8693, 8699, 8707, 8713, 8719, 8731, 8737, 8741, 8747, 8753, 8761, 8779, 8783, 8803, 8807, 8819, 8821, 8831,
+ 8837, 8839, 8849, 8861, 8863, 8867, 8887, 8893, 8923, 8929, 8933, 8941, 8951, 8963, 8969, 8971, 8999, 9001, 9007,
+ 9011, 9013, 9029, 9041, 9043, 9049, 9059, 9067, 9091, 9103, 9109, 9127, 9133, 9137, 9151, 9157, 9161, 9173, 9181,
+ 9187, 9199, 9203, 9209, 9221, 9227, 9239, 9241, 9257, 9277, 9281, 9283, 9293, 9311, 9319, 9323, 9337, 9341, 9343,
+ 9349, 9371, 9377, 9391, 9397, 9403, 9413, 9419, 9421, 9431, 9433, 9437, 9439, 9461, 9463, 9467, 9473, 9479, 9491,
+ 9497, 9511, 9521, 9533, 9539, 9547, 9551, 9587, 9601, 9613, 9619, 9623, 9629, 9631, 9643, 9649, 9661, 9677, 9679,
+ 9689, 9697, 9719, 9721, 9733, 9739, 9743, 9749, 9767, 9769, 9781, 9787, 9791, 9803, 9811, 9817, 9829, 9833, 9839,
+ 9851, 9857, 9859, 9871, 9883, 9887, 9901, 9907, 9923, 9929, 9931, 9941, 9949, 9967, 9973);
+ chr64 : Array[1..64] Of AnsiChar = ('a', 'A', 'b', 'B', 'c', 'C', 'd', 'D', 'e', 'E', 'f', 'F',
+ 'g', 'G', 'h', 'H', 'i', 'I', 'j', 'J', 'k', 'K', 'l', 'L', 'm', 'M', 'n', 'N', 'o', 'O', 'p',
+ 'P', 'q', 'Q', 'r', 'R', 's', 'S', 't', 'T', 'u', 'U', 'v', 'V', 'w', 'W', 'x', 'X', 'y', 'Y',
+ 'z', 'Z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '+', '=');
+ PGPchr64 : Array[1..64] Of AnsiChar = ('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',
+ 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f',
+ 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y',
+ 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '+', '/');
+
+
+
+Procedure zeronetochar8(Var g : AnsiChar; Const x : AnsiString);
+Var
+ i : Integer;
+ b : byte;
+Begin
+ b := 0;
+ For i := 1 To 8 Do
+ Begin
+ If copy(x, i, 1) = '1' Then
+ b := b Or (1 Shl (8 - I));
+ End;
+ g := AnsiChar(b);
+End;
+
+
+Procedure zeronetochar6(Var g : integer; Const x : AnsiString);
+Var
+ I : Integer;
+Begin
+ G := 0;
+ For I := 1 To Length(X) Do
+ Begin
+ If I > 6 Then
+ Break;
+ If X[I] <> '0' Then
+ G := G Or (1 Shl (6 - I));
+ End;
+ Inc(G);
+End;
+
+
+Procedure initialize8(Var trans : Array Of AnsiString);
+Var
+ c1, c2, c3, c4, c5, c6, c7, c8 : integer;
+ x : AnsiString;
+ g : AnsiChar;
+Begin
+ For c1 := 0 To 1 Do
+ For c2 := 0 To 1 Do
+ For c3 := 0 To 1 Do
+ For c4 := 0 To 1 Do
+ For c5 := 0 To 1 Do
+ For c6 := 0 To 1 Do
+ For c7 := 0 To 1 Do
+ For c8 := 0 To 1 Do
+ Begin
+ x := AnsiChar(48+c1) + AnsiChar(48+c2) + AnsiChar(48+c3) + AnsiChar(48+c4) + AnsiChar(48+c5) + AnsiChar(48+c6) + AnsiChar(48+c7) + AnsiChar(48+c8);
+ zeronetochar8(g, x);
+ trans[ord(g)] := x;
+ End;
+End;
+
+
+Procedure initialize6(Var trans : Array Of AnsiString);
+Var
+ c1, c2, c3, c4, c5, c6 : integer;
+ x : AnsiString;
+ g : integer;
+Begin
+ For c1 := 0 To 1 Do
+ For c2 := 0 To 1 Do
+ For c3 := 0 To 1 Do
+ For c4 := 0 To 1 Do
+ For c5 := 0 To 1 Do
+ For c6 := 0 To 1 Do
+ Begin
+ x := AnsiChar(48+c1) + AnsiChar(48+c2) + AnsiChar(48+c3) + AnsiChar(48+c4) + AnsiChar(48+c5) + AnsiChar(48+c6);
+ zeronetochar6(g, x);
+ trans[ord(chr64[g])] := x;
+ End;
+End;
+
+Procedure initialize6PGP(Var trans : Array Of AnsiString);
+Var
+ c1, c2, c3, c4, c5, c6 : integer;
+ x : AnsiString;
+ g : integer;
+Begin
+ For c1 := 0 To 1 Do
+ For c2 := 0 To 1 Do
+ For c3 := 0 To 1 Do
+ For c4 := 0 To 1 Do
+ For c5 := 0 To 1 Do
+ For c6 := 0 To 1 Do
+ Begin
+ x := AnsiChar(48+c1) + AnsiChar(48+c2) + AnsiChar(48+c3) + AnsiChar(48+c4) + AnsiChar(48+c5) + AnsiChar(48+c6);
+ zeronetochar6(g, x);
+ trans[ord(PGPchr64[g])] := x;
+ End;
+End;
+
+
+// Convert base 8 strings to base 6 strings and visa versa
+
+Procedure ConvertBase256to64(Const str256 : AnsiString; Var str64 : AnsiString);
+Var
+ temp : AnsiString;
+ trans : Array[0..255] Of AnsiString;
+ i, len6 : longint;
+ g : integer;
+Begin
+ initialize8(trans);
+ temp := '';
+ For i := 1 To length(str256) Do temp := temp + trans[ord(str256[i])];
+ While (length(temp) Mod 6) <> 0 Do temp := temp + '0';
+ len6 := length(temp) Div 6;
+ str64 := '';
+ For i := 1 To len6 Do
+ Begin
+ zeronetochar6(g, copy(temp, 1, 6));
+ str64 := str64 + chr64[g];
+ delete(temp, 1, 6);
+ End;
+End;
+
+
+Procedure ConvertBase64to256(Const str64 : AnsiString; Var str256 : AnsiString);
+Var
+ temp : AnsiString;
+ trans : Array[0..255] Of AnsiString;
+ i, len8 : longint;
+ g : AnsiChar;
+Begin
+ initialize6(trans);
+ temp := '';
+ For i := 1 To length(str64) Do temp := temp + trans[ord(str64[i])];
+ str256 := '';
+ len8 := length(temp) Div 8;
+ For i := 1 To len8 Do
+ Begin
+ zeronetochar8(g, copy(temp, 1, 8));
+ str256 := str256 + g;
+ delete(temp, 1, 8);
+ End;
+End;
+
+
+// Convert base 8 & 6 bit strings to base 2 strings and visa versa
+
+Procedure ConvertBase256to2(Const str256 : AnsiString; Var str2 : AnsiString);
+Var
+ trans : Array[0..255] Of AnsiString;
+ i : longint;
+Begin
+ str2 := '';
+ initialize8(trans);
+ For i := 1 To length(str256) Do str2 := str2 + trans[ord(str256[i])];
+End;
+
+
+Procedure ConvertBase64to2(Const str64 : AnsiString; Var str2 : AnsiString);
+Var
+ trans : Array[0..255] Of AnsiString;
+ i : longint;
+Begin
+ str2 := '';
+ initialize6(trans);
+ For i := 1 To length(str64) Do str2 := str2 + trans[ord(str64[i])];
+End;
+
+
+Procedure ConvertBase2to256(str2 : AnsiString; Var str256 : AnsiString);
+Var
+ i, len8 : longint;
+ g : AnsiChar;
+Begin
+ str256 := '';
+ While (length(str2) Mod 8) <> 0 Do str2 := '0' + str2;
+ len8 := length(str2) Div 8;
+ For i := 1 To len8 Do
+ Begin
+ zeronetochar8(g, copy(str2, 1, 8));
+ str256 := str256 + g;
+ delete(str2, 1, 8);
+ End;
+End;
+
+
+Procedure ConvertBase2to64(str2 : AnsiString; Var str64 : AnsiString);
+Var
+ i, len6 : longint;
+ g : integer;
+Begin
+ str64 := '';
+ While (length(str2) Mod 6) <> 0 Do str2 := '0' + str2;
+ len6 := length(str2) Div 6;
+ For i := 1 To len6 Do
+ Begin
+ zeronetochar6(g, copy(str2, 1, 6));
+ str64 := str64 + chr64[g];
+ delete(str2, 1, 6);
+ End;
+End;
+
+
+// Convert base 256 strings to base 16 (HexaDecimal) strings and visa versa
+
+Procedure ConvertBase256StringToHexString(Str256 : AnsiString; Var HexStr : AnsiString);
+Var
+ i : longint;
+ b : byte;
+Begin
+ HexStr := '';
+ For i := 1 To length(str256) Do
+ Begin
+ b := ord(str256[i]);
+ If (b Shr 4) < 10 Then HexStr := HexStr + AnsiChar(48 + (b Shr 4))
+ Else HexStr := HexStr + AnsiChar(55 + (b Shr 4));
+ If (b And 15) < 10 Then HexStr := HexStr + AnsiChar(48 + (b And 15))
+ Else HexStr := HexStr + AnsiChar(55 + (b And 15));
+ End;
+End;
+
+
+Procedure ConvertHexStringToBase256String(HexStr : AnsiString; Var Str256 : AnsiString);
+Var
+ i : longint;
+ b, h1, h2 : byte;
+ temp : AnsiString;
+Begin
+ Str256 := '';
+ If (length(Hexstr) mod 2) = 1 Then temp := '0' + HexStr Else temp := HexStr;
+ For i := 1 To (length(temp) Div 2) Do
+ Begin
+ h2 := ord(temp[2 * i]);
+ h1 := ord(temp[2 * i - 1]);
+ If h1 < 58 Then
+ b := ((h1 - 48) Shl 4)
+ Else
+ b := ((h1 - 55) Shl 4);
+ If h2 < 58 Then
+ b := (b Or (h2 - 48))
+ Else
+ b := (b Or ((h2 - 55) and 15));
+ Str256 := Str256 + AnsiChar(b);
+ End;
+End;
+
+
+// Convert base 256 strings to base 64 strings and visa versa, PGP style
+
+Procedure PGPConvertBase256to64(Var str256, str64 : AnsiString);
+Var
+ temp, x, a : AnsiString;
+ i, len6 : longint;
+ g : integer;
+ trans : Array[0..255] Of AnsiString;
+Begin
+ initialize8(trans);
+ temp := '';
+ For i := 1 To length(str256) Do temp := temp + trans[ord(str256[i])];
+ If (length(temp) Mod 6) = 0 Then a := '' Else
+ If (length(temp) Mod 6) = 4 Then
+ Begin
+ temp := temp + '00';
+ a := '='
+ End
+ Else
+ Begin
+ temp := temp + '0000';
+ a := '=='
+ End;
+ str64 := '';
+ len6 := length(temp) Div 6;
+ For i := 1 To len6 Do
+ Begin
+ x := copy(temp, 1, 6);
+ zeronetochar6(g, x);
+ str64 := str64 + PGPchr64[g];
+ delete(temp, 1, 6);
+ End;
+ str64 := str64 + a;
+End;
+
+
+Procedure PGPConvertBase64to256(str64 : AnsiString; Var str256 : AnsiString);
+Var
+ temp, x : AnsiString;
+ i, j, len8 : longint;
+ g : AnsiChar;
+ trans : Array[0..255] Of AnsiString;
+Begin
+ initialize6PGP(trans);
+ temp := '';
+ str256 := '';
+ If str64[length(str64) - 1] = '=' Then j := 2 Else
+ If str64[length(str64)] = '=' Then j := 1 Else j := 0;
+ For i := 1 To (length(str64) - j) Do temp := temp + trans[ord(str64[i])];
+ If j <> 0 Then delete(temp, length(temp) - 2 * j + 1, 2 * j);
+ len8 := length(temp) Div 8;
+ For i := 1 To len8 Do
+ Begin
+ x := copy(temp, 1, 8);
+ zeronetochar8(g, x);
+ str256 := str256 + g;
+ delete(temp, 1, 8);
+ End;
+End;
+
+// Convert base 64 strings to base 2 strings, PGP style
+
+
+Procedure PGPConvertBase64to2(str64 : AnsiString; Var str2 : AnsiString);
+Var
+ i, j : longint;
+ trans : Array[0..255] Of AnsiString;
+Begin
+ str2 := '';
+ initialize6(trans);
+ If str64[length(str64) - 1] = '=' Then j := 2 Else
+ If str64[length(str64)] = '=' Then j := 1 Else j := 0;
+ For i := 1 To (length(str64) - j) Do str2 := str2 + trans[ord(str64[i])];
+ delete(str2, length(str2) - 2 * j + 1, 2 * j);
+End;
+
+
+// Convert a FGInt to a binary AnsiString (base 2) & visa versa
+
+Procedure FGIntToBase2String(Const FGInt : TFGInt; Var S : AnsiString);
+Var
+ i : LongWord;
+ j : integer;
+Begin
+ S := '';
+ For i := 1 To FGInt.Number[0] Do
+ Begin
+ For j := 0 To 30 Do
+ If (1 And (FGInt.Number[i] Shr j)) = 1 Then
+ S := '1' + S
+ Else
+ S := '0' + S;
+ End;
+ While (length(S) > 1) And (S[1] = '0') Do
+ delete(S, 1, 1);
+ If S = '' Then S := '0';
+End;
+
+
+Procedure Base2StringToFGInt(S : AnsiString; Var FGInt : TFGInt);
+Var
+ i, j, size : LongWord;
+Begin
+ While (S[1] = '0') And (length(S) > 1) Do
+ delete(S, 1, 1);
+ size := length(S) Div 31;
+ If (length(S) Mod 31) <> 0 Then size := size + 1;
+ SetLength(FGInt.Number, (size + 1));
+ FGInt.Number[0] := size;
+ j := 1;
+ FGInt.Number[j] := 0;
+ i := 0;
+ While length(S) > 0 Do
+ Begin
+ If S[length(S)] = '1' Then
+ FGInt.Number[j] := FGInt.Number[j] Or (1 Shl i);
+ i := i + 1;
+ If i = 31 Then
+ Begin
+ i := 0;
+ j := j + 1;
+ If j <= size Then FGInt.Number[j] := 0;
+ End;
+ delete(S, length(S), 1);
+ End;
+ FGInt.Sign := positive;
+End;
+
+
+// Convert a FGInt to an base 256 AnsiString & visa versa
+
+Procedure FGIntToBase256String(Const FGInt : TFGInt; Var str256 : AnsiString);
+Var
+ temp1 : AnsiString;
+ i, len8 : LongWord;
+ g : AnsiChar;
+Begin
+ FGIntToBase2String(FGInt, temp1);
+ While (length(temp1) Mod 8) <> 0 Do temp1 := '0' + temp1;
+ len8 := length(temp1) Div 8;
+ str256 := '';
+ For i := 1 To len8 Do
+ Begin
+ zeronetochar8(g, copy(temp1, 1, 8));
+ str256 := str256 + g;
+ delete(temp1, 1, 8);
+ End;
+End;
+
+
+Procedure Base256StringToFGInt(str256 : AnsiString; Var FGInt : TFGInt);
+Var
+ temp1 : AnsiString;
+ i : longint;
+ trans : Array[0..255] Of AnsiString;
+Begin
+ temp1 := '';
+ initialize8(trans);
+ For i := 1 To length(str256) Do temp1 := temp1 + trans[ord(str256[i])];
+ While (temp1[1] = '0') And (temp1 <> '0') Do delete(temp1, 1, 1);
+ Base2StringToFGInt(temp1, FGInt);
+End;
+
+// Convert an MPI (Multiple Precision Integer, PGP style) to an FGInt &
+// visa versa
+
+Procedure PGPMPIToFGInt(PGPMPI : AnsiString; Var FGInt : TFGInt);
+Var
+ temp : AnsiString;
+Begin
+ temp := PGPMPI;
+ delete(temp, 1, 2);
+ Base256StringToFGInt(temp, FGInt);
+End;
+
+
+Procedure FGIntToPGPMPI(FGInt : TFGInt; Var PGPMPI : AnsiString);
+Var
+ len, i : word;
+ c : AnsiChar;
+ b : byte;
+Begin
+ FGIntToBase256String(FGInt, PGPMPI);
+ len := length(PGPMPI) * 8;
+ c := PGPMPI[1];
+ For i := 7 Downto 0 Do If (ord(c) Shr i) = 0 Then len := len - 1 Else break;
+ b := len Mod 256;
+ PGPMPI := AnsiChar(b) + PGPMPI;
+ b := len Div 256;
+ PGPMPI := AnsiChar(b) + PGPMPI;
+End;
+
+
+// Convert a base 10 AnsiString to a FGInt
+
+Procedure Base10StringToFGInt(Base10 : AnsiString; Var FGInt : TFGInt);
+Var
+ i, size : LongWord;
+ j : word;
+ S, x : AnsiString;
+ sign : TSign;
+
+ Procedure GIntDivByIntBis1(Var GInt : TFGInt; by : LongWord; Var modres : word);
+ Var
+ i, size, rest, temp : LongWord;
+ Begin
+ size := GInt.Number[0];
+ temp := 0;
+ For i := size Downto 1 Do
+ Begin
+ temp := temp * 10000;
+ rest := temp + GInt.Number[i];
+ GInt.Number[i] := rest Div by;
+ temp := rest Mod by;
+ End;
+ modres := temp;
+ While (GInt.Number[size] = 0) And (size > 1) Do
+ size := size - 1;
+ If size <> GInt.Number[0] Then
+ Begin
+ SetLength(GInt.Number, size + 1);
+ GInt.Number[0] := size;
+ End;
+ End;
+
+Begin
+ While (Not (Base10[1] In ['-', '0'..'9'])) And (length(Base10) > 1) Do
+ delete(Base10, 1, 1);
+ If copy(Base10, 1, 1) = '-' Then
+ Begin
+ Sign := negative;
+ delete(Base10, 1, 1);
+ End
+ Else
+ Sign := positive;
+ While (length(Base10) > 1) And (copy(Base10, 1, 1) = '0') Do
+ delete(Base10, 1, 1);
+ size := length(Base10) Div 4;
+ If (length(Base10) Mod 4) <> 0 Then size := size + 1;
+ SetLength(FGInt.Number, size + 1);
+ FGInt.Number[0] := size;
+ For i := 1 To (size - 1) Do
+ Begin
+ x := copy(Base10, length(Base10) - 3, 4);
+ FGInt.Number[i] := StrToInt(string(x));
+ delete(Base10, length(Base10) - 3, 4);
+ End;
+ FGInt.Number[size] := StrToInt(string(Base10));
+
+ S := '';
+ While (FGInt.Number[0] <> 1) Or (FGInt.Number[1] <> 0) Do
+ Begin
+ GIntDivByIntBis1(FGInt, 2, j);
+ S := AnsiString(inttostr(j)) + S;
+ End;
+ If S = '' Then S := '0';
+ FGIntDestroy(FGInt);
+ Base2StringToFGInt(S, FGInt);
+ FGInt.Sign := sign;
+End;
+
+
+// Convert a FGInt to a base 10 AnsiString
+
+Procedure FGIntToBase10String(Const FGInt : TFGInt; Var Base10 : AnsiString);
+Var
+ S : AnsiString;
+ j : LongWord;
+ temp : TFGInt;
+Begin
+ FGIntCopy(FGInt, temp);
+ Base10 := '';
+ While (temp.Number[0] > 1) Or (temp.Number[1] > 0) Do
+ Begin
+ FGIntDivByIntBis(temp, 10000, j);
+ S := AnsiString(IntToStr(j));
+ While Length(S) < 4 Do
+ S := '0' + S;
+ Base10 := S + Base10;
+ End;
+ Base10 := '0' + Base10;
+ While (length(Base10) > 1) And (Base10[1] = '0') Do
+ delete(Base10, 1, 1);
+ If FGInt.Sign = negative Then Base10 := '-' + Base10;
+End;
+
+
+// Destroy a FGInt to free memory
+
+Procedure FGIntDestroy(Var FGInt : TFGInt);
+Begin
+ FGInt.Number := Nil;
+End;
+
+
+// Compare 2 FGInts in absolute value, returns
+// Lt if FGInt1 > FGInt2, St if FGInt1 < FGInt2, Eq if FGInt1 = FGInt2,
+// Er otherwise
+
+Function FGIntCompareAbs(Const FGInt1, FGInt2 : TFGInt) : TCompare;
+Var
+ size1, size2, i : LongWord;
+Begin
+ FGIntCompareAbs := Er;
+ size1 := FGInt1.Number[0];
+ size2 := FGInt2.Number[0];
+ If size1 > size2 Then FGIntCompareAbs := Lt Else
+ If size1 < size2 Then FGIntCompareAbs := St Else
+ Begin
+ i := size2;
+ While (FGInt1.Number[i] = FGInt2.Number[i]) And (i > 1) Do i := i - 1;
+ If FGInt1.Number[i] = FGInt2.Number[i] Then FGIntCompareAbs := Eq Else
+ If FGInt1.Number[i] < FGInt2.Number[i] Then FGIntCompareAbs := St Else
+ If FGInt1.Number[i] > FGInt2.Number[i] Then FGIntCompareAbs := Lt;
+ End;
+End;
+
+
+// Add 2 FGInts, FGInt1 + FGInt2 = Sum
+
+Procedure FGIntAdd(Const FGInt1, FGInt2 : TFGInt; Var Sum : TFGInt);
+Var
+ i, size1, size2, size, rest, Trest : LongWord;
+Begin
+ size1 := FGInt1.Number[0];
+ size2 := FGInt2.Number[0];
+ If size1 < size2 Then
+ FGIntAdd(FGInt2, FGInt1, Sum)
+ Else
+ Begin
+ If FGInt1.Sign = FGInt2.Sign Then
+ Begin
+ Sum.Sign := FGInt1.Sign;
+ setlength(Sum.Number, (size1 + 2));
+ rest := 0;
+ For i := 1 To size2 Do
+ Begin
+ Trest := FGInt1.Number[i];
+ Trest := Trest + FGInt2.Number[i];
+ Trest := Trest + rest;
+ Sum.Number[i] := Trest And 2147483647;
+ rest := Trest Shr 31;
+ End;
+ For i := (size2 + 1) To size1 Do
+ Begin
+ Trest := FGInt1.Number[i] + rest;
+ Sum.Number[i] := Trest And 2147483647;
+ rest := Trest Shr 31;
+ End;
+ size := size1 + 1;
+ Sum.Number[0] := size;
+ Sum.Number[size] := rest;
+ While (Sum.Number[size] = 0) And (size > 1) Do
+ size := size - 1;
+ If Sum.Number[0] <> size Then SetLength(Sum.Number, size + 1);
+ Sum.Number[0] := size;
+ End
+ Else
+ Begin
+ If FGIntCompareAbs(FGInt2, FGInt1) = Lt Then
+ FGIntAdd(FGInt2, FGInt1, Sum)
+ Else
+ Begin
+ SetLength(Sum.Number, (size1 + 1));
+ rest := 0;
+ For i := 1 To size2 Do
+ Begin
+ Trest := 2147483648;
+ TRest := Trest + FGInt1.Number[i];
+ TRest := Trest - FGInt2.Number[i];
+ TRest := Trest - rest;
+ Sum.Number[i] := Trest And 2147483647;
+ If (Trest > 2147483647) Then
+ rest := 0
+ Else
+ rest := 1;
+ End;
+ For i := (size2 + 1) To size1 Do
+ Begin
+ Trest := 2147483648;
+ TRest := Trest + FGInt1.Number[i];
+ TRest := Trest - rest;
+ Sum.Number[i] := Trest And 2147483647;
+ If (Trest > 2147483647) Then
+ rest := 0
+ Else
+ rest := 1;
+ End;
+ size := size1;
+ While (Sum.Number[size] = 0) And (size > 1) Do
+ size := size - 1;
+ If size <> size1 Then SetLength(Sum.Number, size + 1);
+ Sum.Number[0] := size;
+ Sum.Sign := FGInt1.Sign;
+ End;
+ End;
+ End;
+End;
+
+
+
+Procedure FGIntChangeSign(Var FGInt : TFGInt);
+Begin
+ If FGInt.Sign = negative Then FGInt.Sign := positive Else FGInt.Sign := negative;
+End;
+
+
+// Substract 2 FGInts, FGInt1 - FGInt2 = dif
+
+Procedure FGIntSub(Var FGInt1, FGInt2, dif : TFGInt);
+Begin
+ FGIntChangeSign(FGInt2);
+ FGIntAdd(FGInt1, FGInt2, dif);
+ FGIntChangeSign(FGInt2);
+End;
+
+
+// multiply a FGInt by an integer, FGInt * by = res, by < 2147483648
+
+Procedure FGIntMulByInt(Const FGInt : TFGInt; Var res : TFGInt; by : LongWord);
+Var
+ i, size, rest : LongWord;
+ Trest : int64;
+Begin
+ size := FGInt.Number[0];
+ setlength(res.Number, (size + 2));
+ rest := 0;
+ For i := 1 To size Do
+ Begin
+ Trest := FGInt.Number[i];
+ TRest := Trest * by;
+ TRest := Trest + rest;
+ res.Number[i] := Trest And 2147483647;
+ rest := Trest Shr 31;
+ End;
+ If rest <> 0 Then
+ Begin
+ size := size + 1;
+ Res.Number[size] := rest;
+ End
+ Else
+ SetLength(Res.Number, size + 1);
+ Res.Number[0] := size;
+ Res.Sign := FGInt.Sign;
+End;
+
+
+// multiply a FGInt by an integer, FGInt * by = res, by < 1000000000
+
+Procedure FGIntMulByIntbis(Var FGInt : TFGInt; by : LongWord);
+Var
+ i, size, rest : LongWord;
+ Trest : int64;
+Begin
+ size := FGInt.Number[0];
+ Setlength(FGInt.Number, size + 2);
+ rest := 0;
+ For i := 1 To size Do
+ Begin
+ Trest := FGInt.Number[i];
+ TRest := Trest * by;
+ TRest := Trest + rest;
+ FGInt.Number[i] := Trest And 2147483647;
+ rest := Trest Shr 31;
+ End;
+ If rest <> 0 Then
+ Begin
+ size := size + 1;
+ FGInt.Number[size] := rest;
+ End
+ Else
+ SetLength(FGInt.Number, size + 1);
+ FGInt.Number[0] := size;
+End;
+
+
+// divide a FGInt by an integer, FGInt = res * by + modres
+
+Procedure FGIntDivByInt(Const FGInt : TFGInt; Var res : TFGInt; by : LongWord; Var modres : LongWord);
+Var
+ i, size : LongWord;
+ rest : int64;
+Begin
+ size := FGInt.Number[0];
+ setlength(res.Number, (size + 1));
+ modres := 0;
+ For i := size Downto 1 Do
+ Begin
+ rest := modres;
+ rest := rest Shl 31;
+ rest := rest Or FGInt.Number[i];
+ res.Number[i] := rest Div by;
+ modres := rest Mod by;
+ End;
+ While (res.Number[size] = 0) And (size > 1) Do
+ size := size - 1;
+ If size <> FGInt.Number[0] Then SetLength(res.Number, size + 1);
+ res.Number[0] := size;
+ Res.Sign := FGInt.Sign;
+ If FGInt.sign = negative Then modres := by - modres;
+End;
+
+
+// divide a FGInt by an integer, FGInt = FGInt * by + modres
+
+Procedure FGIntDivByIntBis(Var FGInt : TFGInt; by : LongWord; Var modres : LongWord);
+Var
+ i, size : LongWord;
+ temp, rest : int64;
+Begin
+ size := FGInt.Number[0];
+ temp := 0;
+ For i := size Downto 1 Do
+ Begin
+ temp := temp Shl 31;
+ rest := temp Or FGInt.Number[i];
+ FGInt.Number[i] := rest Div by;
+ temp := rest Mod by;
+ End;
+ modres := temp;
+ While (FGInt.Number[size] = 0) And (size > 1) Do
+ size := size - 1;
+ If size <> FGInt.Number[0] Then
+ Begin
+ SetLength(FGInt.Number, size + 1);
+ FGInt.Number[0] := size;
+ End;
+End;
+
+
+// Reduce a FGInt modulo by (=an integer), FGInt mod by = modres
+
+Procedure FGIntModByInt(Const FGInt : TFGInt; by : LongWord; Var modres : LongWord);
+Var
+ i, size : LongWord;
+ temp, rest : int64;
+Begin
+ size := FGInt.Number[0];
+ temp := 0;
+ For i := size Downto 1 Do
+ Begin
+ temp := temp Shl 31;
+ rest := temp Or FGInt.Number[i];
+ temp := rest Mod by;
+ End;
+ modres := temp;
+ If FGInt.sign = negative Then modres := by - modres;
+End;
+
+
+// Returns the FGInt in absolute value
+
+Procedure FGIntAbs(Var FGInt : TFGInt);
+Begin
+ FGInt.Sign := positive;
+End;
+
+
+// Copy a FGInt1 into FGInt2
+
+Procedure FGIntCopy(Const FGInt1 : TFGInt; Var FGInt2 : TFGInt);
+Begin
+ FGInt2.Sign := FGInt1.Sign;
+ FGInt2.Number := Nil;
+ FGInt2.Number := Copy(FGInt1.Number, 0, FGInt1.Number[0] + 1);
+End;
+
+
+// Shift the FGInt to the left in base 2 notation, ie FGInt = FGInt * 2
+
+Procedure FGIntShiftLeft(Var FGInt : TFGInt);
+Var
+ l, m, i, size : LongWord;
+Begin
+ size := FGInt.Number[0];
+ l := 0;
+ For i := 1 To Size Do
+ Begin
+ m := FGInt.Number[i] Shr 30;
+ FGInt.Number[i] := ((FGInt.Number[i] Shl 1) Or l) And 2147483647;
+ l := m;
+ End;
+ If l <> 0 Then
+ Begin
+ setlength(FGInt.Number, size + 2);
+ FGInt.Number[size + 1] := l;
+ FGInt.Number[0] := size + 1;
+ End;
+End;
+
+
+// Shift the FGInt to the right in base 2 notation, ie FGInt = FGInt div 2
+
+Procedure FGIntShiftRight(Var FGInt : TFGInt);
+Var
+ l, m, i, size : LongWord;
+Begin
+ size := FGInt.Number[0];
+ l := 0;
+ For i := size Downto 1 Do
+ Begin
+ m := FGInt.Number[i] And 1;
+ FGInt.Number[i] := (FGInt.Number[i] Shr 1) Or l;
+ l := m Shl 30;
+ End;
+ If (FGInt.Number[size] = 0) And (size > 1) Then
+ Begin
+ setlength(FGInt.Number, size);
+ FGInt.Number[0] := size - 1;
+ End;
+End;
+
+
+// FGInt = FGInt / 2147483648
+
+Procedure FGIntShiftRightBy31(Var FGInt : TFGInt);
+Var
+ size, i : LongWord;
+Begin
+ size := FGInt.Number[0];
+ If size > 1 Then
+ Begin
+ For i := 1 To size - 1 Do
+ Begin
+ FGInt.Number[i] := FGInt.Number[i + 1];
+ End;
+ SetLength(FGInt.Number, Size);
+ FGInt.Number[0] := size - 1;
+ End
+ Else
+ FGInt.Number[1] := 0;
+End;
+
+
+// FGInt1 = FGInt1 + FGInt2, FGInt1 > FGInt2
+
+Procedure FGIntAddBis(Var FGInt1 : TFGInt; Const FGInt2 : TFGInt);
+Var
+ i, size1, size2, Trest, rest : LongWord;
+Begin
+ size1 := FGInt1.Number[0];
+ size2 := FGInt2.Number[0];
+ rest := 0;
+ For i := 1 To size2 Do
+ Begin
+ Trest := FGInt1.Number[i] + FGInt2.Number[i] + rest;
+ rest := Trest Shr 31;
+ FGInt1.Number[i] := Trest And 2147483647;
+ End;
+ For i := size2 + 1 To size1 Do
+ Begin
+ Trest := FGInt1.Number[i] + rest;
+ rest := Trest Shr 31;
+ FGInt1.Number[i] := Trest And 2147483647;
+ End;
+ If rest <> 0 Then
+ Begin
+ SetLength(FGInt1.Number, size1 + 2);
+ FGInt1.Number[0] := size1 + 1;
+ FGInt1.Number[size1 + 1] := rest;
+ End;
+End;
+
+
+// FGInt1 = FGInt1 - FGInt2, use only when 0 < FGInt2 < FGInt1
+
+Procedure FGIntSubBis(Var FGInt1 : TFGInt; Const FGInt2 : TFGInt);
+Var
+ i, size1, size2, rest, Trest : LongWord;
+Begin
+ size1 := FGInt1.Number[0];
+ size2 := FGInt2.Number[0];
+ rest := 0;
+ For i := 1 To size2 Do
+ Begin
+ Trest := (2147483648 Or FGInt1.Number[i]) - FGInt2.Number[i] - rest;
+ If (Trest > 2147483647) Then
+ rest := 0
+ Else
+ rest := 1;
+ FGInt1.Number[i] := Trest And 2147483647;
+ End;
+ For i := size2 + 1 To size1 Do
+ Begin
+ Trest := (2147483648 Or FGInt1.Number[i]) - rest;
+ If (Trest > 2147483647) Then
+ rest := 0
+ Else
+ rest := 1;
+ FGInt1.Number[i] := Trest And 2147483647;
+ End;
+ i := size1;
+ While (FGInt1.Number[i] = 0) And (i > 1) Do
+ i := i - 1;
+ If i <> size1 Then
+ Begin
+ SetLength(FGInt1.Number, i + 1);
+ FGInt1.Number[0] := i;
+ End;
+End;
+
+
+// Multiply 2 FGInts, FGInt1 * FGInt2 = Prod
+
+Procedure FGIntMul(Const FGInt1, FGInt2 : TFGInt; Var Prod : TFGInt);
+Var
+ i, j, size, size1, size2, rest : LongWord;
+ Trest : int64;
+Begin
+ size1 := FGInt1.Number[0];
+ size2 := FGInt2.Number[0];
+ size := size1 + size2;
+ SetLength(Prod.Number, (size + 1));
+ For i := 1 To size Do
+ Prod.Number[i] := 0;
+
+ For i := 1 To size2 Do
+ Begin
+ rest := 0;
+ For j := 1 To size1 Do
+ Begin
+ Trest := FGInt1.Number[j];
+ Trest := Trest * FGInt2.Number[i];
+ Trest := Trest + Prod.Number[j + i - 1];
+ Trest := Trest + rest;
+ Prod.Number[j + i - 1] := Trest And 2147483647;
+ rest := Trest Shr 31;
+ End;
+ Prod.Number[i + size1] := rest;
+ End;
+
+ Prod.Number[0] := size;
+ While (Prod.Number[size] = 0) And (size > 1) Do
+ size := size - 1;
+ If size <> Prod.Number[0] Then
+ Begin
+ SetLength(Prod.Number, size + 1);
+ Prod.Number[0] := size;
+ End;
+ If FGInt1.Sign = FGInt2.Sign Then
+ Prod.Sign := Positive
+ Else
+ prod.Sign := negative;
+End;
+
+
+// Square a FGInt, FGInt?= Square
+
+Procedure FGIntSquare(Const FGInt : TFGInt; Var Square : TFGInt);
+Var
+ size, size1, i, j, rest : LongWord;
+ Trest : int64;
+Begin
+ size1 := FGInt.Number[0];
+ size := 2 * size1;
+ SetLength(Square.Number, (size + 1));
+ Square.Number[0] := size;
+ For i := 1 To size Do
+ Square.Number[i] := 0;
+ For i := 1 To size1 Do
+ Begin
+ Trest := FGInt.Number[i];
+ Trest := Trest * FGInt.Number[i];
+ Trest := Trest + Square.Number[2 * i - 1];
+ Square.Number[2 * i - 1] := Trest And 2147483647;
+ rest := Trest Shr 31;
+ For j := i + 1 To size1 Do
+ Begin
+ Trest := FGInt.Number[i] Shl 1;
+ Trest := Trest * FGInt.Number[j];
+ Trest := Trest + Square.Number[i + j - 1];
+ Trest := Trest + rest;
+ Square.Number[i + j - 1] := Trest And 2147483647;
+ rest := Trest Shr 31;
+ End;
+ Square.Number[i + size1] := rest;
+ End;
+ Square.Sign := positive;
+ While (Square.Number[size] = 0) And (size > 1) Do
+ size := size - 1;
+ If size <> (2 * size1) Then
+ Begin
+ SetLength(Square.Number, size + 1);
+ Square.Number[0] := size;
+ End;
+End;
+
+
+// Exponentiate a FGInt, FGInt^exp = res
+
+Procedure FGIntExp(Const FGInt, exp : TFGInt; Var res : TFGInt);
+Var
+ temp2, temp3 : TFGInt;
+ S : AnsiString;
+ i : LongWord;
+Begin
+ FGIntToBase2String(exp, S);
+ If S[length(S)] = '0' Then Base10StringToFGInt('1', res) Else FGIntCopy(FGInt, res);
+ FGIntCopy(FGInt, temp2);
+ If length(S) > 1 Then
+ For i := (length(S) - 1) Downto 1 Do
+ Begin
+ FGIntSquare(temp2, temp3);
+ FGIntCopy(temp3, temp2);
+ If S[i] = '1' Then
+ Begin
+ FGIntMul(res, temp2, temp3);
+ FGIntCopy(temp3, res);
+ End;
+ End;
+End;
+
+
+// Compute FGInt! = FGInt * (FGInt - 1) * (FGInt - 2) * ... * 3 * 2 * 1
+
+Procedure FGIntFac(Const FGInt : TFGInt; Var res : TFGInt);
+Var
+ one, temp, temp1 : TFGInt;
+Begin
+ FGIntCopy(FGInt, temp);
+ Base10StringToFGInt('1', res);
+ Base10StringToFGInt('1', one);
+
+ While Not (FGIntCompareAbs(temp, one) = Eq) Do
+ Begin
+ FGIntMul(temp, res, temp1);
+ FGIntCopy(temp1, res);
+ FGIntSubBis(temp, one);
+ End;
+
+ FGIntDestroy(one);
+ FGIntDestroy(temp);
+End;
+
+
+// FGInt = FGInt * 2147483648
+
+Procedure FGIntShiftLeftBy31(Var FGInt : TFGInt);
+Var
+ f1, f2 : LongWord;
+ i, size : longint;
+Begin
+ size := FGInt.Number[0];
+ SetLength(FGInt.Number, size + 2);
+ f1 := 0;
+ For i := 1 To (size + 1) Do
+ Begin
+ f2 := FGInt.Number[i];
+ FGInt.Number[i] := f1;
+ f1 := f2;
+ End;
+ FGInt.Number[0] := size + 1;
+End;
+
+Procedure FGIntShiftLeftBy31Times(Var FGInt : TFGInt; times : LongWord);
+Var
+ i, size : longint;
+Begin
+ size := FGInt.Number[0];
+ SetLength(FGInt.Number, size + 1 + times);
+ For i := size Downto 1 Do
+ Begin
+ FGInt.Number[i + times] := FGInt.Number[i];
+ End;
+ For i := 1 To times Do
+ Begin
+ FGInt.Number[i] := 0;
+ End;
+ FGInt.Number[0] := size + times;
+End;
+
+
+// Divide 2 FGInts, FGInt1 = FGInt2 * QFGInt + MFGInt, MFGInt is always positive
+
+Procedure FGIntDivMod(Var FGInt1, FGInt2, QFGInt, MFGInt : TFGInt);
+Var
+ one, zero, temp1 : TFGInt;
+ s1, s2 : TSign;
+ j, s, t : LongWord;
+ i, k : int64;
+Begin
+ s1 := FGInt1.Sign;
+ s2 := FGInt2.Sign;
+ FGIntAbs(FGInt1);
+ FGIntAbs(FGInt2);
+ FGIntCopy(FGInt1, MFGInt);
+ FGIntCopy(FGInt2, temp1);
+
+ If FGIntCompareAbs(FGInt1, FGInt2) <> St Then
+ Begin
+ s := FGInt1.Number[0] - FGInt2.Number[0];
+ SetLength(QFGInt.Number, (s + 2));
+ QFGInt.Number[0] := s + 1;
+ For t := 1 To s Do
+ Begin
+ FGIntShiftLeftBy31(temp1);
+ QFGInt.Number[t] := 0;
+ End;
+ j := s + 1;
+ QFGInt.Number[j] := 0;
+ While FGIntCompareAbs(MFGInt, FGInt2) <> St Do
+ Begin
+ While FGIntCompareAbs(MFGInt, temp1) <> St Do
+ Begin
+ If MFGInt.Number[0] > temp1.Number[0] Then
+ Begin
+ i := MFGInt.Number[MFGInt.Number[0]];
+ i := i Shl 31;
+ i := i + MFGInt.Number[MFGInt.Number[0] - 1];
+ i := i Div (temp1.Number[temp1.Number[0]] + 1);
+ End
+ Else
+// i := MFGInt.Number[MFGInt.Number[0]] Div (temp1.Number[temp1.Number[0]] + 1);
+ Begin
+ If (MFGInt.Number[0] > 1) And (FGInt2.Number[0] > 1) Then
+ Begin
+ i := MFGInt.Number[MFGInt.Number[0]];
+ i := i Shl 31;
+ i := i + MFGInt.Number[MFGInt.Number[0] - 1];
+ k := temp1.Number[temp1.Number[0]];
+ k := k shl 31;
+ k := k + temp1.Number[temp1.Number[0] - 1] + 1;
+ i := i Div k;
+ End
+ Else
+ i := MFGInt.Number[MFGInt.Number[0]] Div (temp1.Number[temp1.Number[0]] + 1);
+ End;
+ If (i <> 0) Then
+ Begin
+ FGIntMulByIntSubBis(MFGInt, temp1, i);
+ QFGInt.Number[j] := QFGInt.Number[j] + i;
+ End
+ Else
+ Begin
+ QFGInt.Number[j] := QFGInt.Number[j] + 1;
+ FGIntSubBis(MFGInt, temp1);
+ End;
+ End;
+ If MFGInt.Number[0] <= temp1.Number[0] Then
+ If FGIntCompareAbs(temp1, FGInt2) <> Eq Then
+ Begin
+ FGIntShiftRightBy31(temp1);
+ j := j - 1;
+ End;
+ End;
+ End
+ Else
+ Base10StringToFGInt('0', QFGInt);
+ s := QFGInt.Number[0];
+ While (s > 1) And (QFGInt.Number[s] = 0) Do
+ s := s - 1;
+ If s < QFGInt.Number[0] Then
+ Begin
+ setlength(QFGInt.Number, s + 1);
+ QFGInt.Number[0] := s;
+ End;
+ QFGInt.Sign := positive;
+
+ FGIntDestroy(temp1);
+ Base10StringToFGInt('0', zero);
+ Base10StringToFGInt('1', one);
+ If s1 = negative Then
+ Begin
+ If FGIntCompareAbs(MFGInt, zero) <> Eq Then
+ Begin
+ FGIntadd(QFGInt, one, temp1);
+ FGIntDestroy(QFGInt);
+ FGIntCopy(temp1, QFGInt);
+ FGIntDestroy(temp1);
+ FGIntsub(FGInt2, MFGInt, temp1);
+ FGIntDestroy(MFGInt);
+ FGIntCopy(temp1, MFGInt);
+ FGIntDestroy(temp1);
+ End;
+ If s2 = positive Then QFGInt.Sign := negative;
+ End
+ Else
+ QFGInt.Sign := s2;
+ FGIntDestroy(one);
+ FGIntDestroy(zero);
+
+ FGInt1.Sign := s1;
+ FGInt2.Sign := s2;
+End;
+
+
+// Same as above but doesn 't compute MFGInt
+
+Procedure FGIntDiv(Var FGInt1, FGInt2, QFGInt : TFGInt);
+Var
+ one, zero, temp1, MFGInt : TFGInt;
+ s1, s2 : TSign;
+ j, s, t : LongWord;
+ i, k : int64;
+Begin
+ s1 := FGInt1.Sign;
+ s2 := FGInt2.Sign;
+ FGIntAbs(FGInt1);
+ FGIntAbs(FGInt2);
+ FGIntCopy(FGInt1, MFGInt);
+ FGIntCopy(FGInt2, temp1);
+
+ If FGIntCompareAbs(FGInt1, FGInt2) <> St Then
+ Begin
+ s := FGInt1.Number[0] - FGInt2.Number[0];
+ SetLength(QFGInt.Number, (s + 2));
+ QFGInt.Number[0] := s + 1;
+ For t := 1 To s Do
+ Begin
+ FGIntShiftLeftBy31(temp1);
+ QFGInt.Number[t] := 0;
+ End;
+ j := s + 1;
+ QFGInt.Number[j] := 0;
+ While FGIntCompareAbs(MFGInt, FGInt2) <> St Do
+ Begin
+ While FGIntCompareAbs(MFGInt, temp1) <> St Do
+ Begin
+ If MFGInt.Number[0] > temp1.Number[0] Then
+ Begin
+ i := MFGInt.Number[MFGInt.Number[0]];
+ i := i Shl 31;
+ i := i + MFGInt.Number[MFGInt.Number[0] - 1];
+ i := i Div (temp1.Number[temp1.Number[0]] + 1);
+ End
+ Else
+// i := MFGInt.Number[MFGInt.Number[0]] Div (temp1.Number[temp1.Number[0]] + 1);
+ Begin
+ If (MFGInt.Number[0] > 1) And (FGInt2.Number[0] > 1) Then
+ Begin
+ i := MFGInt.Number[MFGInt.Number[0]];
+ i := i Shl 31;
+ i := i + MFGInt.Number[MFGInt.Number[0] - 1];
+ k := temp1.Number[temp1.Number[0]];
+ k := k shl 31;
+ k := k + temp1.Number[temp1.Number[0] - 1] + 1;
+ i := i Div k;
+ End
+ Else
+ i := MFGInt.Number[MFGInt.Number[0]] Div (temp1.Number[temp1.Number[0]] + 1);
+ End;
+ If (i <> 0) Then
+ Begin
+ FGIntMulByIntSubBis(MFGInt, temp1, i);
+ QFGInt.Number[j] := QFGInt.Number[j] + i;
+ End
+ Else
+ Begin
+ QFGInt.Number[j] := QFGInt.Number[j] + 1;
+ FGIntSubBis(MFGInt, temp1);
+ End;
+ End;
+ If MFGInt.Number[0] <= temp1.Number[0] Then
+ If FGIntCompareAbs(temp1, FGInt2) <> Eq Then
+ Begin
+ FGIntShiftRightBy31(temp1);
+ j := j - 1;
+ End;
+ End;
+ End
+ Else
+ Base10StringToFGInt('0', QFGInt);
+ s := QFGInt.Number[0];
+ While (s > 1) And (QFGInt.Number[s] = 0) Do
+ s := s - 1;
+ If s < QFGInt.Number[0] Then
+ Begin
+ setlength(QFGInt.Number, s + 1);
+ QFGInt.Number[0] := s;
+ End;
+ QFGInt.Sign := positive;
+
+ FGIntDestroy(temp1);
+ Base10StringToFGInt('0', zero);
+ Base10StringToFGInt('1', one);
+ If s1 = negative Then
+ Begin
+ If FGIntCompareAbs(MFGInt, zero) <> Eq Then
+ Begin
+ FGIntadd(QFGInt, one, temp1);
+ FGIntDestroy(QFGInt);
+ FGIntCopy(temp1, QFGInt);
+ FGIntDestroy(temp1);
+ FGIntsub(FGInt2, MFGInt, temp1);
+ FGIntDestroy(MFGInt);
+ FGIntCopy(temp1, MFGInt);
+ FGIntDestroy(temp1);
+ End;
+ If s2 = positive Then QFGInt.Sign := negative;
+ End
+ Else
+ QFGInt.Sign := s2;
+ FGIntDestroy(one);
+ FGIntDestroy(zero);
+ FGIntDestroy(MFGInt);
+
+ FGInt1.Sign := s1;
+ FGInt2.Sign := s2;
+End;
+
+
+
+// FGInt1 = FGInt1 - divInt * FGInt2, use only when 0 < FGInt2 < FGInt1
+
+Procedure FGIntMulByIntSubBis(Var FGInt1 : TFGInt; Const FGInt2 : TFGInt; divInt : LongWord);
+Var
+ i, size1, size2, rest, Trest, mRest : LongWord;
+ mTmpRest : int64;
+Begin
+ size1 := FGInt1.Number[0];
+ size2 := FGInt2.Number[0];
+ rest := 0;
+ mRest := 0;
+ For i := 1 To size2 Do
+ Begin
+ mTmpRest := FGInt2.Number[i];
+ mTmpRest := mTmpRest * divInt;
+ mTmpRest := mTmpRest + mRest;
+ Trest := (2147483648 Or FGInt1.Number[i]) - (mTmpRest And 2147483647) - rest;
+ If (Trest > 2147483647) Then
+ rest := 0
+ Else
+ rest := 1;
+ mRest := mTmpRest shr 31;
+ FGInt1.Number[i] := Trest And 2147483647;
+ End;
+ For i := size2 + 1 To size1 Do
+ Begin
+ Trest := (2147483648 Or FGInt1.Number[i]) - mRest - rest;
+ If (Trest > 2147483647) Then
+ rest := 0
+ Else
+ rest := 1;
+ mRest := mRest shr 31;
+ FGInt1.Number[i] := Trest And 2147483647;
+ End;
+ i := size1;
+ While (FGInt1.Number[i] = 0) And (i > 1) Do
+ i := i - 1;
+ If i <> size1 Then
+ Begin
+ SetLength(FGInt1.Number, i + 1);
+ FGInt1.Number[0] := i;
+ End;
+End;
+
+
+
+Procedure FGIntMod(Var FGInt1, FGInt2, MFGInt : TFGInt);
+Var
+ zero, temp1 : TFGInt;
+ s1, s2 : TSign;
+ s: LongWord;
+ i, j : int64;
+Begin
+ s1 := FGInt1.Sign;
+ s2 := FGInt2.Sign;
+ FGIntAbs(FGInt1);
+ FGIntAbs(FGInt2);
+ FGIntCopy(FGInt1, MFGInt);
+ FGIntCopy(FGInt2, temp1);
+
+ If FGIntCompareAbs(FGInt1, FGInt2) <> St Then
+ Begin
+ s := FGInt1.Number[0] - FGInt2.Number[0];
+// For t := 1 To s Do
+ FGIntShiftLeftBy31Times(temp1,s);
+ While FGIntCompareAbs(MFGInt, FGInt2) <> St Do
+ Begin
+ While FGIntCompareAbs(MFGInt, temp1) <> St Do
+ Begin
+ If MFGInt.Number[0] > temp1.Number[0] Then
+ Begin
+ i := MFGInt.Number[MFGInt.Number[0]];
+ i := i Shl 31;
+ i := i + MFGInt.Number[MFGInt.Number[0] - 1];
+ i := i Div (temp1.Number[temp1.Number[0]] + 1);
+ End
+ Else
+// i := MFGInt.Number[MFGInt.Number[0]] Div (temp1.Number[temp1.Number[0]] + 1);
+ Begin
+ If (MFGInt.Number[0] > 1) And (FGInt2.Number[0] > 1) Then
+ Begin
+ i := MFGInt.Number[MFGInt.Number[0]];
+ i := i Shl 31;
+ i := i + MFGInt.Number[MFGInt.Number[0] - 1];
+ j := temp1.Number[temp1.Number[0]];
+ j := j shl 31;
+ j := j + temp1.Number[temp1.Number[0] - 1] + 1;
+ i := i Div j;
+ End
+ Else
+ i := MFGInt.Number[MFGInt.Number[0]] Div (temp1.Number[temp1.Number[0]] + 1);
+ End;
+ If (i <> 0) Then
+ Begin
+ FGIntMulByIntSubBis(MFGInt, temp1, i);
+ End
+ Else
+ FGIntSubBis(MFGInt, temp1);
+ End;
+ If MFGInt.Number[0] <= temp1.Number[0] Then
+ If FGIntCompareAbs(temp1, FGInt2) <> Eq Then FGIntShiftRightBy31(temp1);
+ End;
+ End;
+
+ FGIntDestroy(temp1);
+ Base10StringToFGInt('0', zero);
+ If s1 = negative Then
+ Begin
+ If FGIntCompareAbs(MFGInt, zero) <> Eq Then
+ Begin
+ FGIntSub(FGInt2, MFGInt, temp1);
+ FGIntDestroy(MFGInt);
+ FGIntCopy(temp1, MFGInt);
+ FGIntDestroy(temp1);
+ End;
+ End;
+ FGIntDestroy(zero);
+
+ FGInt1.Sign := s1;
+ FGInt2.Sign := s2;
+End;
+
+
+// Square a FGInt modulo Modb, FGInt^2 mod Modb = FGIntSM
+
+Procedure FGIntSquareMod(Var FGInt, Modb, FGIntSM : TFGInt);
+Var
+ temp : TFGInt;
+Begin
+ FGIntSquare(FGInt, temp);
+ FGIntMod(temp, Modb, FGIntSM);
+ FGIntDestroy(temp);
+End;
+
+
+// Add 2 FGInts modulo base, (FGInt1 + FGInt2) mod base = FGIntres
+
+Procedure FGIntAddMod(Var FGInt1, FGInt2, base, FGIntres : TFGInt);
+Var
+ temp : TFGInt;
+Begin
+ FGIntadd(FGInt1, FGInt2, temp);
+ FGIntMod(temp, base, FGIntres);
+ FGIntDestroy(temp);
+End;
+
+
+// Multiply 2 FGInts modulo base, (FGInt1 * FGInt2) mod base = FGIntres
+
+Procedure FGIntMulMod(Var FGInt1, FGInt2, base, FGIntres : TFGInt);
+Var
+ temp : TFGInt;
+Begin
+ FGIntMul(FGInt1, FGInt2, temp);
+ FGIntMod(temp, base, FGIntres);
+ FGIntDestroy(temp);
+End;
+
+
+// Exponentiate 2 FGInts modulo base, (FGInt1 ^ FGInt2) mod modb = res
+
+Procedure FGIntModExp(Var FGInt, exp, modb, res : TFGInt);
+Var
+ temp2, temp3 : TFGInt;
+ i : LongWord;
+ S : AnsiString;
+Begin
+ If (Modb.Number[1] Mod 2) = 1 Then
+ Begin
+ FGIntMontgomeryModExp(FGInt, exp, modb, res);
+ exit;
+ End;
+ FGIntToBase2String(exp, S);
+ Base10StringToFGInt('1', res);
+ FGIntcopy(FGInt, temp2);
+
+ For i := length(S) Downto 1 Do
+ Begin
+ If S[i] = '1' Then
+ Begin
+ FGIntmulMod(res, temp2, modb, temp3);
+ FGIntCopy(temp3, res);
+ End;
+ FGIntSquareMod(temp2, Modb, temp3);
+ FGIntCopy(temp3, temp2);
+ End;
+ FGIntDestroy(temp2);
+End;
+
+
+// Procedures for Montgomery Exponentiation
+
+Procedure FGIntModBis(Const FGInt : TFGInt; Var FGIntOut : TFGInt; b, head : LongWord);
+Var
+ i : LongWord;
+Begin
+ If b <= FGInt.Number[0] Then
+ Begin
+ SetLength(FGIntOut.Number, (b + 1));
+ For i := 0 To b Do
+ FGIntOut.Number[i] := FGInt.Number[i];
+ FGIntOut.Number[b] := FGIntOut.Number[b] And head;
+ i := b;
+ While (FGIntOut.Number[i] = 0) And (i > 1) Do
+ i := i - 1;
+ If i < b Then SetLength(FGIntOut.Number, i + 1);
+ FGIntOut.Number[0] := i;
+ FGIntOut.Sign := positive;
+ End
+ Else
+ FGIntCopy(FGInt, FGIntOut);
+End;
+
+
+Procedure FGIntMulModBis(Const FGInt1, FGInt2 : TFGInt; Var Prod : TFGInt; b, head : LongWord);
+Var
+ i, j, size, size1, size2, t, rest : LongWord;
+ Trest : int64;
+Begin
+ size1 := FGInt1.Number[0];
+ size2 := FGInt2.Number[0];
+ size := min(b, size1 + size2);
+ SetLength(Prod.Number, (size + 1));
+ For i := 1 To size Do
+ Prod.Number[i] := 0;
+
+ For i := 1 To size2 Do
+ Begin
+ rest := 0;
+ t := min(size1, b - i + 1);
+ For j := 1 To t Do
+ Begin
+ Trest := FGInt1.Number[j];
+ Trest := Trest * FGInt2.Number[i];
+ Trest := Trest + Prod.Number[j + i - 1];
+ Trest := Trest + rest;
+ Prod.Number[j + i - 1] := Trest And 2147483647;
+ rest := Trest Shr 31;
+ End;
+ If (i + size1) <= b Then Prod.Number[i + size1] := rest;
+ End;
+
+ Prod.Number[0] := size;
+ If size = b Then Prod.Number[b] := Prod.Number[b] And head;
+ While (Prod.Number[size] = 0) And (size > 1) Do
+ size := size - 1;
+ If size < Prod.Number[0] Then
+ Begin
+ SetLength(Prod.Number, size + 1);
+ Prod.Number[0] := size;
+ End;
+ If FGInt1.Sign = FGInt2.Sign Then
+ Prod.Sign := Positive
+ Else
+ prod.Sign := negative;
+End;
+
+
+Procedure FGIntMontgomeryMod(Const GInt, base, baseInv : TFGInt; Var MGInt : TFGInt; b : Longword; head : LongWord);
+Var
+ m, temp, temp1 : TFGInt;
+ r : LongWord;
+Begin
+ FGIntModBis(GInt, temp, b, head);
+ FGIntMulModBis(temp, baseInv, m, b, head);
+ FGIntMul(m, base, temp1);
+ FGIntDestroy(temp);
+ FGIntAdd(temp1, GInt, temp);
+ FGIntDestroy(temp1);
+ MGInt.Number := copy(temp.Number, b - 1, temp.Number[0] - b + 2);
+ MGInt.Sign := positive;
+ MGInt.Number[0] := temp.Number[0] - b + 1;
+ FGIntDestroy(temp);
+ If (head Shr 30) = 0 Then FGIntDivByIntBis(MGInt, head + 1, r)
+ Else FGIntShiftRightBy31(MGInt);
+ If FGIntCompareAbs(MGInt, base) <> St Then FGIntSubBis(MGInt, base);
+ FGIntDestroy(temp);
+ FGIntDestroy(m);
+End;
+
+
+Procedure FGIntMontgomeryModExp(Var FGInt, exp, modb, res : TFGInt);
+Var
+ temp2, temp3, baseInv, r, zero : TFGInt;
+ i, j, t, b, head : LongWord;
+ S: AnsiString;
+Begin
+ Base2StringToFGInt('0', zero);
+ FGIntMod(FGInt, modb, res);
+ If FGIntCompareAbs(res, zero)=Eq then
+ Begin
+ FGIntDestroy(zero);
+ Exit;
+ End else FGIntDestroy(res);
+ FGIntDestroy(zero);
+
+ FGIntToBase2String(exp, S);
+ t := modb.Number[0];
+ b := t;
+
+ If (modb.Number[t] Shr 30) = 1 Then t := t + 1;
+ SetLength(r.Number, (t + 1));
+ r.Number[0] := t;
+ r.Sign := positive;
+ For i := 1 To t Do
+ r.Number[i] := 0;
+ If t = modb.Number[0] Then
+ Begin
+ head := 2147483647;
+ For j := 29 Downto 0 Do
+ Begin
+ head := head Shr 1;
+ If (modb.Number[t] Shr j) = 1 Then
+ Begin
+ r.Number[t] := 1 Shl (j + 1);
+ break;
+ End;
+ End;
+ End
+ Else
+ Begin
+ r.Number[t] := 1;
+ head := 2147483647;
+ End;
+
+ FGIntModInv(modb, r, temp2);
+ If temp2.Sign = negative Then
+ FGIntCopy(temp2, BaseInv)
+ Else
+ Begin
+ FGIntCopy(r, BaseInv);
+ FGIntSubBis(BaseInv, temp2);
+ End;
+// FGIntBezoutBachet(r, modb, temp2, BaseInv);
+ FGIntAbs(BaseInv);
+ FGIntDestroy(temp2);
+ FGIntMod(r, modb, res);
+ FGIntMulMod(FGInt, res, modb, temp2);
+ FGIntDestroy(r);
+
+ For i := length(S) Downto 1 Do
+ Begin
+ If S[i] = '1' Then
+ Begin
+ FGIntmul(res, temp2, temp3);
+ FGIntDestroy(res);
+ FGIntMontgomeryMod(temp3, modb, baseinv, res, b, head);
+ FGIntDestroy(temp3);
+ End;
+ FGIntSquare(temp2, temp3);
+ FGIntDestroy(temp2);
+ FGIntMontgomeryMod(temp3, modb, baseinv, temp2, b, head);
+ FGIntDestroy(temp3);
+ End;
+ FGIntDestroy(temp2);
+ FGIntMontgomeryMod(res, modb, baseinv, temp3, b, head);
+ FGIntCopy(temp3, res);
+ FGIntDestroy(temp3);
+ FGIntDestroy(baseinv);
+End;
+
+
+// Compute the Greatest Common Divisor of 2 FGInts
+
+Procedure FGIntGCD(Const FGInt1, FGInt2 : TFGInt; Var GCD : TFGInt);
+Var
+ k : TCompare;
+ zero, temp1, temp2, temp3 : TFGInt;
+Begin
+ k := FGIntCompareAbs(FGInt1, FGInt2);
+ If (k = Eq) Then FGIntCopy(FGInt1, GCD) Else
+ If (k = St) Then FGIntGCD(FGInt2, FGInt1, GCD) Else
+ Begin
+ Base10StringToFGInt('0', zero);
+ FGIntCopy(FGInt1, temp1);
+ FGIntCopy(FGInt2, temp2);
+ While (temp2.Number[0] <> 1) Or (temp2.Number[1] <> 0) Do
+ Begin
+ FGIntMod(temp1, temp2, temp3);
+ FGIntCopy(temp2, temp1);
+ FGIntCopy(temp3, temp2);
+ FGIntDestroy(temp3);
+ End;
+ FGIntCopy(temp1, GCD);
+ FGIntDestroy(temp2);
+ FGIntDestroy(zero);
+ End;
+End;
+
+
+// Compute the Least Common Multiple of 2 FGInts
+
+Procedure FGIntLCM(Const FGInt1, FGInt2 : TFGInt; Var LCM : TFGInt);
+Var
+ temp1, temp2 : TFGInt;
+Begin
+ FGIntGCD(FGInt1, FGInt2, temp1);
+ FGIntmul(FGInt1, FGInt2, temp2);
+ FGIntdiv(temp2, temp1, LCM);
+ FGIntDestroy(temp1);
+ FGIntDestroy(temp2);
+End;
+
+
+// Trialdivision of a FGInt upto 9999 and stopping when a divisor is found, returning ok=false
+
+Procedure FGIntTrialDiv9999(Const FGInt : TFGInt; Var ok : boolean);
+Var
+ j : LongWord;
+ i : integer;
+Begin
+ If ((FGInt.Number[1] Mod 2) = 0) Then ok := false
+ Else
+ Begin
+ i := 0;
+ ok := true;
+ While ok And (i < 1228) Do
+ Begin
+ i := i + 1;
+ FGIntmodbyint(FGInt, primes[i], j);
+ If j = 0 Then ok := false;
+ End;
+ End;
+End;
+
+
+// A prng
+
+Procedure FGIntRandom1(Var Seed, RandomFGInt : TFGInt);
+Var
+ temp, base : TFGInt;
+Begin
+ Base10StringToFGInt('281474976710656', base);
+ Base10StringToFGInt('44485709377909', temp);
+ FGIntMulMod(seed, temp, base, RandomFGInt);
+ FGIntDestroy(temp);
+ FGIntDestroy(base);
+End;
+
+
+// Perform a Rabin Miller Primality Test nrtest times on FGIntp, returns ok=true when FGIntp passes the test
+
+Procedure FGIntRabinMiller(Var FGIntp : TFGInt; nrtest : Longword; Var ok : boolean);
+Var
+ j, b, i : LongWord;
+ m, z, temp1, temp2, temp3, zero, one, two, pmin1 : TFGInt;
+ ok1, ok2 : boolean;
+Begin
+ randomize;
+ Base10StringToFGInt('0', zero);
+ Base10StringToFGInt('1', one);
+ Base10StringToFGInt('2', two);
+ FGIntsub(FGIntp, one, temp1);
+ FGIntsub(FGIntp, one, pmin1);
+
+ b := 0;
+ While (temp1.Number[1] Mod 2) = 0 Do
+ Begin
+ b := b + 1;
+ FGIntShiftRight(temp1);
+ End;
+ m := temp1;
+
+ i := 0;
+ ok := true;
+ Randomize;
+ While (i < nrtest) And ok Do
+ Begin
+ j := 0;
+ i := i + 1;
+ Base10StringToFGInt(AnsiString(inttostr(Primes[Random(1227) + 1])), temp2);
+ FGIntMontGomeryModExp(temp2, m, FGIntp, z);
+ FGIntDestroy(temp2);
+ ok1 := (FGIntCompareAbs(z, one) = Eq);
+ ok2 := (FGIntCompareAbs(z, pmin1) = Eq);
+ If Not (ok1 Or ok2) Then
+ Begin
+
+ While (ok And (j < b)) Do
+ Begin
+ If (j > 0) And ok1 Then ok := false
+ Else
+ Begin
+ j := j + 1;
+ If (j < b) And (Not ok2) Then
+ Begin
+ FGIntSquaremod(z, FGIntp, temp3);
+ FGIntCopy(temp3, z);
+ ok1 := (FGIntCompareAbs(z, one) = Eq);
+ ok2 := (FGIntCompareAbs(z, pmin1) = Eq);
+ If ok2 Then j := b;
+ End
+ Else If (Not ok2) And (j >= b) Then ok := false;
+ End;
+ End;
+
+ End
+ End;
+
+ FGIntDestroy(zero);
+ FGIntDestroy(one);
+ FGIntDestroy(two);
+ FGIntDestroy(m);
+ FGIntDestroy(z);
+ FGIntDestroy(pmin1);
+End;
+
+
+// Compute the coefficients from the Bezout Bachet theorem, FGInt1 * a + FGInt2 * b = GCD(FGInt1, FGInt2)
+
+Procedure FGIntBezoutBachet(Var FGInt1, FGInt2, a, b : TFGInt);
+Var
+ zero, r1, r2, r3, ta, gcd, temp, temp1, temp2 : TFGInt;
+Begin
+ If FGIntCompareAbs(FGInt1, FGInt2) <> St Then
+ Begin
+ FGIntcopy(FGInt1, r1);
+ FGIntcopy(FGInt2, r2);
+ Base10StringToFGInt('0', zero);
+ Base10StringToFGInt('1', a);
+ Base10StringToFGInt('0', ta);
+
+ Repeat
+ FGIntdivmod(r1, r2, temp, r3);
+ FGIntDestroy(r1);
+ r1 := r2;
+ r2 := r3;
+
+ FGIntmul(ta, temp, temp1);
+ FGIntsub(a, temp1, temp2);
+ FGIntCopy(ta, a);
+ FGIntCopy(temp2, ta);
+ FGIntDestroy(temp1);
+
+ FGIntDestroy(temp);
+ Until FGIntCompareAbs(r3, zero) = Eq;
+
+ FGIntGCD(FGInt1, FGInt2, gcd);
+ FGIntmul(a, FGInt1, temp1);
+ FGIntsub(gcd, temp1, temp2);
+ FGIntDestroy(temp1);
+ FGIntdiv(temp2, FGInt2, b);
+ FGIntDestroy(temp2);
+
+ FGIntDestroy(ta);
+ FGIntDestroy(r1);
+ FGIntDestroy(r2);
+ FGIntDestroy(gcd);
+ End
+ Else FGIntBezoutBachet(FGInt2, FGInt1, b, a);
+End;
+
+
+// Find the (multiplicative) Modular inverse of a FGInt in a finite ring
+// of additive order base
+
+Procedure FGIntModInv(Const FGInt1, base : TFGInt; Var Inverse : TFGInt);
+Var
+ zero, one, r1, r2, r3, tb, gcd, temp, temp1, temp2 : TFGInt;
+Begin
+ Base10StringToFGInt('1', one);
+ FGIntGCD(FGInt1, base, gcd);
+ If FGIntCompareAbs(one, gcd) = Eq Then
+ Begin
+ FGIntcopy(base, r1);
+ FGIntcopy(FGInt1, r2);
+ Base10StringToFGInt('0', zero);
+ Base10StringToFGInt('0', inverse);
+ Base10StringToFGInt('1', tb);
+
+ Repeat
+ FGIntDestroy(r3);
+ FGIntdivmod(r1, r2, temp, r3);
+ FGIntCopy(r2, r1);
+ FGIntCopy(r3, r2);
+
+ FGIntmul(tb, temp, temp1);
+ FGIntsub(inverse, temp1, temp2);
+ FGIntDestroy(inverse);
+ FGIntDestroy(temp1);
+ FGIntCopy(tb, inverse);
+ FGIntCopy(temp2, tb);
+
+ FGIntDestroy(temp);
+ Until FGIntCompareAbs(r3, zero) = Eq;
+
+ If inverse.Sign = negative Then
+ Begin
+ FGIntadd(base, inverse, temp);
+ FGIntCopy(temp, inverse);
+ End;
+
+ FGIntDestroy(tb);
+ FGIntDestroy(r1);
+ FGIntDestroy(r2);
+ End;
+ FGIntDestroy(gcd);
+ FGIntDestroy(one);
+End;
+
+
+// Perform a (combined) primality test on FGIntp consisting of a trialdivision upto 8192,
+// if the FGInt passes perform nrRMtests Rabin Miller primality tests, returns ok when a
+// FGInt is probably prime
+
+Procedure FGIntPrimetest(Var FGIntp : TFGInt; nrRMtests : integer; Var ok : boolean);
+Begin
+ FGIntTrialdiv9999(FGIntp, ok);
+ If ok Then FGIntRabinMiller(FGIntp, nrRMtests, ok);
+End;
+
+
+// Computes the Legendre symbol for a any number and
+// p a prime, returns 0 if p divides a, 1 if a is a
+// quadratic residu mod p, -1 if a is a quadratic
+// nonresidu mod p
+
+Procedure FGIntLegendreSymbol(Var a, p : TFGInt; Var L : integer);
+Var
+ temp1, temp2, temp3, temp4, temp5, zero, one : TFGInt;
+ i : LongWord;
+ ok1, ok2 : boolean;
+Begin
+ Base10StringToFGInt('0', zero);
+ Base10StringToFGInt('1', one);
+ FGIntMod(a, p, temp1);
+ If FGIntCompareAbs(zero, temp1) = Eq Then
+ Begin
+ FGIntDestroy(temp1);
+ L := 0;
+ End
+ Else
+ Begin
+ FGIntDestroy(temp1);
+ FGIntCopy(p, temp1);
+ FGIntCopy(a, temp2);
+ L := 1;
+ While FGIntCompareAbs(temp2, one) <> Eq Do
+ Begin
+ If (temp2.Number[1] Mod 2) = 0 Then
+ Begin
+ FGIntSquare(temp1, temp3);
+ FGIntSub(temp3, one, temp4);
+ FGIntDestroy(temp3);
+ FGIntDivByInt(temp4, temp3, 8, i);
+ If (temp3.Number[1] Mod 2) = 0 Then ok1 := false Else ok1 := true;
+ FGIntDestroy(temp3);
+ FGIntDestroy(temp4);
+ If ok1 = true Then L := L * (-1);
+ FGIntDivByIntBis(temp2, 2, i);
+ End
+ Else
+ Begin
+ FGIntSub(temp1, one, temp3);
+ FGIntSub(temp2, one, temp4);
+ FGIntMul(temp3, temp4, temp5);
+ FGIntDestroy(temp3);
+ FGIntDestroy(temp4);
+ FGIntDivByInt(temp5, temp3, 4, i);
+ If (temp3.Number[1] Mod 2) = 0 Then ok2 := false Else ok2 := true;
+ FGIntDestroy(temp5);
+ FGIntDestroy(temp3);
+ If ok2 = true Then L := L * (-1);
+ FGIntMod(temp1, temp2, temp3);
+ FGIntCopy(temp2, temp1);
+ FGIntCopy(temp3, temp2);
+ End;
+ End;
+ FGIntDestroy(temp1);
+ FGIntDestroy(temp2);
+ End;
+ FGIntDestroy(zero);
+ FGIntDestroy(one);
+End;
+
+
+// Compute a square root modulo a prime number
+// SquareRoot^2 mod Prime = Square
+
+Procedure FGIntSquareRootModP(Square, Prime : TFGInt; Var SquareRoot : TFGInt);
+Var
+ one, n, b, s, r, temp, temp1, temp2, temp3 : TFGInt;
+ a, i, j : longint;
+ L : Integer;
+Begin
+ Base2StringToFGInt('1', one);
+ Base2StringToFGInt('10', n);
+ a := 0;
+ FGIntLegendreSymbol(n, Prime, L);
+ While L <> -1 Do
+ Begin
+ FGIntAddBis(n, one);
+ FGIntLegendreSymbol(n, Prime, L);
+ End;
+ FGIntCopy(Prime, s);
+ s.Number[1] := s.Number[1] - 1;
+ While (s.Number[1] Mod 2) = 0 Do
+ Begin
+ FGIntShiftRight(s);
+ a := a + 1;
+ End;
+ FGIntMontgomeryModExp(n, s, Prime, b);
+ FGIntAdd(s, one, temp);
+ FGIntShiftRight(temp);
+ FGIntMontgomeryModExp(Square, temp, Prime, r);
+ FGIntDestroy(temp);
+ FGIntModInv(Square, Prime, temp1);
+
+ For i := 0 To (a - 2) Do
+ Begin
+ FGIntSquareMod(r, Prime, temp2);
+ FGIntMulMod(temp1, temp2, Prime, temp);
+ FGIntDestroy(temp2);
+ For j := 1 To (a - i - 2) Do
+ Begin
+ FGIntSquareMod(temp, Prime, temp2);
+ FGIntDestroy(temp);
+ FGIntCopy(temp2, temp);
+ FGIntDestroy(temp2);
+ End;
+ If FGIntCompareAbs(temp, one) <> Eq Then
+ Begin
+ FGIntMulMod(r, b, Prime, temp3);
+ FGIntDestroy(r);
+ FGIntCopy(temp3, r);
+ FGIntDestroy(temp3);
+ End;
+ FGIntDestroy(temp);
+ FGIntDestroy(temp2);
+ If i = (a - 2) Then break;
+ FGIntSquareMod(b, Prime, temp3);
+ FGIntDestroy(b);
+ FGIntCopy(temp3, b);
+ FGIntDestroy(temp3);
+ End;
+
+ FGIntCopy(r, SquareRoot);
+ FGIntDestroy(r);
+ FGIntDestroy(s);
+ FGIntDestroy(b);
+ FGIntDestroy(temp1);
+ FGIntDestroy(one);
+ FGIntDestroy(n);
+End;
+
+
+End.
diff --git a/10.3.2/Keygen/RadKeygen.pas b/10.3.2/Keygen/RadKeygen.pas
new file mode 100644
index 0000000..a06b88e
--- /dev/null
+++ b/10.3.2/Keygen/RadKeygen.pas
@@ -0,0 +1,328 @@
+unit RadKeygen;
+
+interface
+
+uses
+ SysUtils, Classes, Windows, Registry, SHFolder, Sha1, FGInt, RadVersion, RadLicense;
+
+ function GenerateSerialNumber():string;
+ function GetRegistrationCode():string;
+ function GenerateLicenseFile(SerialNumber,RegistrationCode:string;RadStudioVersion:PRadStudioVersion;var FileName:string):Boolean;
+
+implementation
+
+function GetAppDataPath():string;
+var
+ Path:array [0..MAX_PATH-1] of Char;
+begin
+ if Succeeded(SHGetFolderPath(0, CSIDL_COMMON_APPDATA, 0, 0, @Path[0])) then
+ Result:=string(Path)
+ else
+ Result:='';
+end;
+
+function GenerateSerialNumber():string;
+const
+ StrMap:string='ABC2DE34FGHJKLM5NPQRST6U7VWX8YZ9';
+ ByteMap:array[0..255] of Byte=($00, $07, $0E, $09, $1C, $1B, $12, $15, $38, $3F,
+ $36, $31, $24, $23, $2A, $2D, $70, $77, $7E, $79,
+ $6C, $6B, $62, $65, $48, $4F, $46, $41, $54, $53,
+ $5A, $5D, $E0, $E7, $EE, $E9, $FC, $FB, $F2, $F5,
+ $D8, $DF, $D6, $D1, $C4, $C3, $CA, $CD, $90, $97,
+ $9E, $99, $8C, $8B, $82, $85, $A8, $AF, $A6, $A1,
+ $B4, $B3, $BA, $BD, $C7, $C0, $C9, $CE, $DB, $DC,
+ $D5, $D2, $FF, $F8, $F1, $F6, $E3, $E4, $ED, $EA,
+ $B7, $B0, $B9, $BE, $AB, $AC, $A5, $A2, $8F, $88,
+ $81, $86, $93, $94, $9D, $9A, $27, $20, $29, $2E,
+ $3B, $3C, $35, $32, $1F, $18, $11, $16, $03, $04,
+ $0D, $0A, $57, $50, $59, $5E, $4B, $4C, $45, $42,
+ $6F, $68, $61, $66, $73, $74, $7D, $7A, $89, $8E,
+ $87, $80, $95, $92, $9B, $9C, $B1, $B6, $BF, $B8,
+ $AD, $AA, $A3, $A4, $F9, $FE, $F7, $F0, $E5, $E2,
+ $EB, $EC, $C1, $C6, $CF, $C8, $DD, $DA, $D3, $D4,
+ $69, $6E, $67, $60, $75, $72, $7B, $7C, $51, $56,
+ $5F, $58, $4D, $4A, $43, $44, $19, $1E, $17, $10,
+ $05, $02, $0B, $0C, $21, $26, $2F, $28, $3D, $3A,
+ $33, $34, $4E, $49, $40, $47, $52, $55, $5C, $5B,
+ $76, $71, $78, $7F, $6A, $6D, $64, $63, $3E, $39,
+ $30, $37, $22, $25, $2C, $2B, $06, $01, $08, $0F,
+ $1A, $1D, $14, $13, $AE, $A9, $A0, $A7, $B2, $B5,
+ $BC, $BB, $96, $91, $98, $9F, $8A, $8D, $84, $83,
+ $DE, $D9, $D0, $D7, $C2, $C5, $CC, $CB, $E6, $E1,
+ $E8, $EF, $FA, $FD, $F4, $F3);
+var
+ i,v1,v2,v3,v4,v5,v6,v7,v8,v9:Integer;
+ SumValue:string;
+ ByteArray:array[0..19] of Byte;
+begin
+ Randomize();
+ v1:=0;
+ v2:=0;
+ v3:=0;
+ v4:=0;
+ v5:=1;
+ v6:=8217;
+ v7:=53;
+ v8:= Random(32) shl 8;
+ v8:=v8 xor Random(32);
+ v8:= v8 mod $10000;
+ SumValue:=Format('%d',[v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8]);
+ v9:=0;
+
+ for i := 0 to Length(SumValue)-1 do
+ begin
+ v9:=v9 xor ByteMap[Ord(SumValue[i+1])];
+ end;
+ ByteArray[0] := ((v8 shr 1) and 8) or ((v8 shr 5) and 4) or (2 * v5 and 2);
+ ByteArray[1] := ((v7 shr 1) and 16) or ((v7 shr 4) and 8) or ((v6 shr 5) and 2) or ((v6 shr 8) and 1);
+ ByteArray[2] := (2 * v7 and 16) or (8 * v8 and 8) or ((v5 shr 1) and 4) or ((v6 shr 4) and 2) or (v3 and 1);
+ ByteArray[3] := (4 * v5 and 16);
+ ByteArray[4] := (4 * v9 and 16) or ((v6 shr 4) and 8);
+ ByteArray[5] := (8 * v4 and 8) or ((v8 shr 1) and 4) or ((v8 shr 12) and 2);
+ ByteArray[6] := ((v9 shr 3) and 8) or ((v8 shr 4) and 4) or (2 * v1 and 2);
+ ByteArray[7] := ((v8 shr 11) and 16) or ((v8 shr 7) and 8) or (4 * v6 and 4) or ((v5 shr 3) and 2);
+ ByteArray[8] := ((v8 shr 7) and 16) or ((v6 shr 1) and 1);
+ ByteArray[9] := (4 * v6 and 16) or (v9 and 8) or (v8 and 4);
+ ByteArray[10] := ((v8 shr 9) and 8);
+ ByteArray[11] := (4 * v9 and 8) or (4 * v9 and 4) or (v8 and 2) or ((v8 shr 5) and 1);
+ ByteArray[12] := ((v8 shr 8) and 1);
+ ByteArray[13] := ((v6 shr 7) and 16) or ((v9 shr 7) and 1);
+ ByteArray[14] := (2 * v7 and 2) or ((v7 shr 1) and 1);
+ ByteArray[15] := (v6 and 8) or ((v6 shr 2) and 4) or ((v8 shr 9) and 1);
+ ByteArray[16] := (16 * v2 and 16) or (2 * v7 and 8) or ((v5 shr 1) and 1);
+ ByteArray[17] := ((v9 shr 3) and 2);
+ ByteArray[18] := (v7 and 16) or ((v6 shr 6) and 8) or ((v6 shr 8) and 4) or ((v8 shr 13) and 2) or ((v9 shr 5) and 1);
+ ByteArray[19] := ((v6 shr 9) and 16) or ((v7 shr 3) and 8) or ((v6 shr 11) and 2);
+
+ Result:='';
+ for i := 0 to Length(ByteArray)-1 do
+ begin
+ if (i=4) or (i=10) or (i=16) then Result:=Result+'-';
+ Result:=Result+StrMap[ByteArray[i]+1];
+ end;
+end;
+
+function GetRegistrationCode():string;
+
+ function GetKey():DWORD;
+ const
+ KeyMap:string='ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890X';
+ var
+ ComputerName:array[0..MAX_PATH-1] of Char;
+ Key:string;
+ nSize:Cardinal;
+ i,j:Integer;
+ begin
+ Result:=$ED864640;
+ if (GetComputerName(@ComputerName[0],nSize)=False) then
+ Key:='localhost'
+ else
+ Key:=string(ComputerName);
+
+ Key:=UpperCase(Key);
+ for i := 0 to Length(Key)-1 do
+ begin
+ for j := 0 to Length(KeyMap)-1 do
+ begin
+ if (Key[i+1]=KeyMap[j+1]) then Break;
+ end;
+ if j>=Length(KeyMap) then
+ Result:=Result+16*88
+ else
+ Result:=Result+16*Ord(KeyMap[36-j]);
+ end;
+ end;
+
+var
+ FileName:string;
+ MemoryStream:TMemoryStream;
+ dwVerify,dwSize:DWORD;
+ pBuf,p:PByte;
+ i,j,eax,ebx,esi:Cardinal;
+
+begin
+ Result:='';
+ MemoryStream:=TMemoryStream.Create;
+ try
+ if GetAppDataPath<>'' then
+ begin
+ FileName:=GetAppDataPath+'\Embarcadero\.licenses\.cg_license';
+ if FileExists(FileName) then
+ begin
+ MemoryStream.LoadFromFile(FileName);
+ end
+ else
+ begin
+ FileName:=GetAppDataPath+'\Embarcadero\.cg_license';
+ if FileExists(FileName) then
+ begin
+ MemoryStream.LoadFromFile(FileName);
+ end;
+ end;
+ end;
+ if MemoryStream.Size>8 then
+ begin
+ MemoryStream.Position:=0;
+ MemoryStream.Read(dwVerify,SizeOf(dwVerify));
+ MemoryStream.Read(dwSize,SizeOf(dwSize));
+ dwVerify:=(Swap(loWord(dwVerify)) shl 16) or Swap(HiWord(dwVerify));
+ dwSize:=(Swap(loWord(dwSize)) shl 16) or Swap(HiWord(dwSize));
+ pBuf:=AllocMem(dwSize);
+ MemoryStream.Read(pBuf^,dwSize);
+ p:=pBuf;
+ eax:=GetKey();
+ for i := 0 to dwSize-1 do
+ begin
+ esi:=p^;
+ if (esi and $80)=$80 then esi:=esi or $ffffff00;
+ ebx:=(eax shr 24) and $FF;
+ p^:=p^ xor ebx;
+ inc(p);
+ eax:=eax xor esi;
+ ebx:=eax shl 8;
+ eax:=eax xor ebx;
+ ebx:=eax shl 16;
+ eax:= eax xor ebx;
+ ebx:=eax shl 24;
+ eax:=eax xor ebx;
+ end;
+ eax:=eax and $7FFFFFFF;
+ if eax=dwVerify then
+ begin
+ for i := 0 to dwSize-1 do
+ begin
+ if PByte(Cardinal(pBuf)+i)^=36 then Break; //$
+ end;
+ Inc(i);
+ j:=0;
+ while (i13) and (j<10) do
+ begin
+ Result:=Result+Chr(PByte(Cardinal(pBuf)+i)^);
+ Inc(i);
+ inc(j);
+ end;
+ end;
+ FreeMem(pBuf,dwSize);
+ end;
+ finally
+ MemoryStream.Free;
+ end;
+end;
+
+function GenerateLicenseFile(SerialNumber,RegistrationCode:string;RadStudioVersion:PRadStudioVersion;var FileName:string):Boolean;
+const
+ ModStr:string='8EBD9E688D7106E57BCF63D41BADCE133FEB4CDB718F48F7BF39F6A26EB60BAE'+
+ '0E930DC984FDED2537750C9DCFBB87D7AC7F3AA4D65D9E35C2D277BCB0ECDCA0'+
+ '2D7DAE739AC8BCAE86914F6E77C17A82C77438421FC315DC38F09C7E840AF41E'+
+ '663C5562222E661ED22578A234B58481F862CEABF477C89AE70F15134F83BC7E'+
+ 'C2EF57E7274EB74353DE22283113485D9803D4050EF46DB1467EE9D066B104EB'+
+ '385D3C36BD29B58E237E22C0BE66D450BDFCED524481B6DCE3F83BBEC547F926'+
+ 'AD23057504DEDB9723EBFD26218167AAC79485FF608F8881D9A6AF5C57BE9A2F'+
+ 'B52047ABA92F806955580517F6D147BA1FD5DB3EEF1CEE4CA250D1C0FA824CD9';
+ ExpStr:string='7E8325B1791B628766F2EB82057E4895DB234C1D7B4B09DB3B8BBE433D68F075'+
+ '36C9B38096F51088D9DC4E7058BBD7AC9A60B1B383A3BA23E026F6A53112DE80'+
+ 'C191115BB9268DC509D424D8BE1FA7DBDDB7EE5CFD15C57C48A349B1008B4CCE'+
+ 'DCC240D31784945260E3814612FD871242FA203F5C1006A6F47FF3A807E3B4DE'+
+ '39535FB5523ABED7B4337606E69245EC13BF9B553FD6F45B0FD290D7CBBEB8C8'+
+ 'DF2252DE7EB6A83A679873CC9842B52A093ED00742F11CD23CB5278873253E79'+
+ '0E30B16AC72B7ACF9824B568ED971D768B95CA9D4C9A40C884542B8696AADF58'+
+ '184CE6376E51451EF8D266ECA691ECAB25E15AA8E527312755A55C2B7D390AD9';
+var
+ Slip,Tmp:AnsiString;
+ Len,v2,v5:Cardinal;
+ FGInt,exp,modb,res:TFGInt;
+ i:Integer;
+ Stream:TMemoryStream;
+ SearchRec:TSearchRec;
+begin
+ Result:=False;
+ if (Trim(SerialNumber)='') or (Trim(RegistrationCode)='') or
+ (TryStrToInt(Trim(RegistrationCode),i)=False) then Exit;
+
+ Slip:=AnsiString(CreateLicenseText(SerialNumber,RegistrationCode,RadStudioVersion));
+
+ Len:= Length(Slip);
+ Len:=(Swap(loWord(Len)) shl 16) or Swap(HiWord(Len));
+ Tmp:=PChar(@Len)^+(PChar(@Len)+1)^+(PChar(@Len)+2)^+(PChar(@Len)+3)^+Slip;
+ Tmp:='01'+StringOfChar('F',66)+'00'+UpperCase(SHA1Print(SHA1String(Tmp)));
+
+ ConvertHexStringToBase256String(Tmp,Tmp);
+ Base256StringToFGInt(Tmp,FGInt);
+
+ ConvertHexStringToBase256String(ExpStr,Tmp);
+ Base256StringToFGInt(Tmp,exp);
+
+ ConvertHexStringToBase256String(ModStr,Tmp);
+ Base256StringToFGInt(Tmp,modb);
+
+ FGIntModExp(FGInt,exp,modb,res);
+ FGIntToBase256String(res,Tmp);
+ PGPConvertBase256to64(Tmp,Tmp);
+
+ FGIntDestroy(FGInt);
+ FGIntDestroy(exp);
+ FGIntDestroy(modb);
+ FGIntDestroy(res);
+
+ Slip:=StringReplace(Slip,'e.sign'#10'0'#10,'e.sign'#10'CgeEeu66fCgQJBaqKQwwyiqyHYb22nc2VZRmQVasSDnZAtB/QTLt0CYdgdN16XCz/Nt032fMwTsytchG0l2UeA=='#10,[rfReplaceAll]);
+ Slip:=StringReplace(Slip,'e.sign2'#10'0'#10,'e.sign2'#10'JWKzOwTKBL+zOP5wrouG5ta/mH+Fvsgb7hb8oJTzu4r3gK/6sh95zKAWKiydqsgvV9pxPXTAlkxv9wAecqJKTQ=='#10,[rfReplaceAll]);
+ Slip:=StringReplace(Slip,'e.sign3'#10'0'#10,'e.sign3'#10+Tmp+#10,[rfReplaceAll]);
+
+ v2:=$E7F931C2;
+ for i := 0 to Length(Slip) - 1 do
+ begin
+ Slip[i+1]:= AnsiChar(Chr(Ord(Slip[i+1]) xor ((v2 shr 24) and $FF)));
+ v5:=Ord(Slip[i+1]);
+ if (v5 and $80)=$80 then v5:=v5 or $ffffff00;
+ v5:= v5 xor v2;
+ v5:=(v5 shl 8) xor v5;
+ v5:=(v5 shl 16) xor v5;
+ v5:=(v5 shl 24) xor v5;
+ v2:=v5;
+ end;
+
+ v2:=(Swap(loWord(v2)) shl 16) or Swap(HiWord(v2));
+ Len:=Length(Slip);
+ Len:=(Swap(loWord(Len)) shl 16) or Swap(HiWord(Len));
+
+ Stream:=TMemoryStream.Create;
+ try
+ Stream.Write(v2,4);
+ Stream.Write(Len,4);
+ Stream.Write(Slip[1],Length(Slip));
+ if (FileName='') or (not DirectoryExists(ExtractFilePath(FileName))) then
+ begin
+ if DirectoryExists(GetAppDataPath+'\Embarcadero') then
+ begin
+ Tmp:=Format('%s\Embarcadero\.%d_%d.19*.slip',[GetAppDataPath,RadStudioVersion^.LicHostPID,RadStudioVersion^.LicHostSKU]);
+{
+ if (FindFirst(Tmp,faAnyFile,SearchRec)=0) and
+ (MessageBox(0,PAnsiChar(Format('Do you want to Delete the old slip file int %s folder',[GetAppDataPath])), 'Rad Studio Keygen',MB_YESNO + MB_ICONQUESTION) = IDYES) then
+}
+ if (FindFirst(Tmp,faAnyFile,SearchRec)=0) then
+ begin
+ DeleteFile(PAnsiChar(Format('%s\Embarcadero\%s',[GetAppDataPath,SearchRec.Name])));
+ while FindNext(SearchRec)=0 do
+ begin
+ DeleteFile(PAnsiChar(Format('%s\Embarcadero\%s',[GetAppDataPath,SearchRec.Name])));
+ end;
+ end;
+ SysUtils.FindClose(SearchRec);
+ FileName:=Format('%s\Embarcadero\.%d_%d.19%d%d%d%d%d%d%d%d%d%d%d.slip',[GetAppDataPath,RadStudioVersion^.LicHostPID,RadStudioVersion^.LicHostSKU,
+ Random(10),Random(10),Random(10),Random(10),Random(10),
+ Random(10),Random(10),Random(10),Random(10),Random(10),Random(10)]);
+ end
+ else
+ FileName:=ExtractFileDir(ParamStr(0))+'\RAD Studio Activation.slip';
+ end;
+ Stream.SaveToFile(FileName);
+{
+ PatchmOasisRuntime(RadStudioVersion);
+}
+ Result:=True;
+ finally
+ Stream.Free;
+ end;
+end;
+
+end.
diff --git a/10.3.2/Keygen/RadLicense.pas b/10.3.2/Keygen/RadLicense.pas
new file mode 100644
index 0000000..ba1a3cf
--- /dev/null
+++ b/10.3.2/Keygen/RadLicense.pas
@@ -0,0 +1,248 @@
+unit RadLicense;
+
+interface
+
+uses RadVersion,SysUtils;
+
+function CreateLicenseText(SerialNumber,ActiveCode:string;RadStudioVersion:PRadStudioVersion):string;
+
+implementation
+
+function CreateLicenseText(SerialNumber,ActiveCode:string;RadStudioVersion:PRadStudioVersion):string;
+var
+ pid,skuid:string;
+begin
+ pid:=IntToStr(RadStudioVersion^.LicHostPID);
+ skuid:=IntToStr(RadStudioVersion^.LicHostSKU);
+
+ Result:='11'#10;
+ Result:=Result+'e.pkg'#10'Embarcadero RAD Studio '+ RadStudioVersion^.LicVerStr +' Architect'#10;
+ Result:=Result+'e.pt'#10'10'#10;
+ Result:=Result+'e.sign'#10'0'#10;
+ Result:=Result+'e.sign2'#10'0'#10;
+ Result:=Result+'e.sign3'#10'0'#10;
+ Result:=Result+'export.allowed'#10'0'#10;
+ Result:=Result+'import.allowed'#10'1'#10;
+ Result:=Result+'import.silent'#10'1'#10;
+ Result:=Result+'licensed.serialno'#10+SerialNumber+#10;
+ Result:=Result+'nodelock.node'#10'0'#10;
+ Result:=Result+'nodelock.session'#10+ActiveCode+#10;
+
+ Result:=Result+'4'#10;
+
+ Result:=Result+'26'#10;
+ Result:=Result+'active'#10'T'#10;
+ Result:=Result+'beta'#10'0'#10;
+ Result:=Result+'exportable'#10'0'#10;
+ Result:=Result+'hostpid'#10+pid+#10;
+ Result:=Result+'hostskuid'#10+skuid+#10;
+ Result:=Result+'internaluse'#10'0'#10;
+ Result:=Result+'naggy'#10'0'#10;
+ Result:=Result+'noncommercial'#10'0'#10;
+ Result:=Result+'noncommercial_label'#10'No'#10;
+ Result:=Result+'platform'#10'1'#10;
+ Result:=Result+'platform_label'#10'Windows'#10;
+ Result:=Result+'product'#10'2000'#10;
+ Result:=Result+'productid'#10+ RadStudioVersion^.LicDelphiPID +#10;
+ Result:=Result+'productid_label'#10'Delphi '+ RadStudioVersion^.LicVerStr +#10;
+ Result:=Result+'productsku'#10+skuid+#10;
+ Result:=Result+'productsku_label'#10'Architect'#10;
+ Result:=Result+'rndkey'#10'15687805'#10;
+ Result:=Result+'serialno'#10+SerialNumber+#10;
+ Result:=Result+'sku'#10+skuid+#10;
+ Result:=Result+'templicense'#10'0'#10;
+ Result:=Result+'termtype'#10'0'#10;
+ Result:=Result+'termtype_label'#10'Unlimited'#10;
+ Result:=Result+'title'#10'Delphi '+ RadStudioVersion^.LicVerStr +' Architect'#10;
+ Result:=Result+'trial'#10'0'#10;
+ Result:=Result+'upgrade'#10'0'#10;
+ Result:=Result+'version'#10'26'#10;
+ Result:=Result+'27'#10;
+ Result:=Result+'Android'#10'T'#10;
+ Result:=Result+'DESIGNDIAGRAMS'#10'TRUE'#10;
+ Result:=Result+'DESIGNPROJECTS'#10'TRUE'#10;
+ Result:=Result+'Desktop'#10'T'#10;
+ Result:=Result+'FULLQA'#10'TRUE'#10;
+ Result:=Result+'FulliOS'#10'T'#10;
+ Result:=Result+'Linux64'#10'T'#10;
+ Result:=Result+'MODELLING'#10'TRUE'#10;
+ Result:=Result+'Mobile'#10'T'#10;
+ Result:=Result+'OSX32'#10'T'#10;
+ Result:=Result+'OSX64'#10'T'#10;
+ Result:=Result+'Win32'#10'T'#10;
+ Result:=Result+'Win64'#10'T'#10;
+ Result:=Result+'a100'#10'MakeThingsHappen'#10;
+ Result:=Result+'a1000'#10'PrintMoreMoney'#10;
+ Result:=Result+'a101'#10'ImGivinItAllShesGot'#10;
+ Result:=Result+'a200'#10'StampIt'#10;
+ Result:=Result+'a250'#10'ItsToolTimeBaby'#10;
+ Result:=Result+'a300'#10'TheMalteseFalcon'#10;
+ Result:=Result+'a301'#10'GlueSolvent'#10;
+ Result:=Result+'hostsuite'#10+pid+#10;
+ Result:=Result+'iOSDevice'#10'T'#10;
+ Result:=Result+'iOSDevice32'#10'T'#10;
+ Result:=Result+'iOSDevice64'#10'T'#10;
+ Result:=Result+'iOSSimulator'#10'T'#10;
+ Result:=Result+'updatelevel'#10'0.0'#10;
+ Result:=Result+'updates'#10'1'#10;
+
+ Result:=Result+'26'#10;
+ Result:=Result+'active'#10'T'#10;
+ Result:=Result+'beta'#10'0'#10;
+ Result:=Result+'exportable'#10'0'#10;
+ Result:=Result+'hostpid'#10+pid+#10;
+ Result:=Result+'hostskuid'#10+skuid+#10;
+ Result:=Result+'internaluse'#10'0'#10;
+ Result:=Result+'naggy'#10'0'#10;
+ Result:=Result+'noncommercial'#10'0'#10;
+ Result:=Result+'noncommercial_label'#10'No'#10;
+ Result:=Result+'platform'#10'1'#10;
+ Result:=Result+'platform_label'#10'Windows'#10;
+ Result:=Result+'product'#10'4000'#10;
+ Result:=Result+'productid'#10+ RadStudioVersion^.LicCBuilderPID +#10;
+ Result:=Result+'productid_label'#10'C++Builder '+ RadStudioVersion^.LicVerStr +#10;
+ Result:=Result+'productsku'#10+skuid+#10;
+ Result:=Result+'productsku_label'#10'Architect'#10; //Architect
+ Result:=Result+'rndkey'#10'15687805'#10;
+ Result:=Result+'serialno'#10+SerialNumber+#10;
+ Result:=Result+'sku'#10+skuid+#10;
+ Result:=Result+'templicense'#10'0'#10;
+ Result:=Result+'termtype'#10'0'#10;
+ Result:=Result+'termtype_label'#10'Unlimited'#10;
+ Result:=Result+'title'#10'C++Builder '+ RadStudioVersion^.LicVerStr +' Architect'#10;
+ Result:=Result+'trial'#10'0'#10;
+ Result:=Result+'upgrade'#10'0'#10;
+ Result:=Result+'version'#10'20'#10;
+ Result:=Result+'26'#10;
+ Result:=Result+'Android'#10'T'#10;
+ Result:=Result+'DESIGNDIAGRAMS'#10'TRUE'#10;
+ Result:=Result+'DESIGNPROJECTS'#10'TRUE'#10;
+ Result:=Result+'Desktop'#10'T'#10;
+ Result:=Result+'FULLQA'#10'TRUE'#10;
+ Result:=Result+'FulliOS'#10'T'#10;
+ Result:=Result+'MODELLING'#10'TRUE'#10;
+ Result:=Result+'Mobile'#10'T'#10;
+ Result:=Result+'OSX32'#10'T'#10;
+ Result:=Result+'OSX64'#10'T'#10;
+ Result:=Result+'Win32'#10'T'#10;
+ Result:=Result+'Win64'#10'T'#10;
+ Result:=Result+'a100'#10'MakeThingsHappen'#10;
+ Result:=Result+'a1000'#10'PrintMoreMoney'#10;
+ Result:=Result+'a101'#10'ImGivinItAllShesGot'#10;
+ Result:=Result+'a200'#10'StampIt'#10;
+ Result:=Result+'a250'#10'ItsToolTimeBaby'#10;
+ Result:=Result+'a300'#10'TheMalteseFalcon'#10;
+ Result:=Result+'a301'#10'GlueSolvent'#10;
+ Result:=Result+'hostsuite'#10+pid+#10;
+ Result:=Result+'iOSDevice'#10'T'#10;
+ Result:=Result+'iOSDevice32'#10'T'#10;
+ Result:=Result+'iOSDevice64'#10'T'#10;
+ Result:=Result+'iOSSimulator'#10'T'#10;
+ Result:=Result+'updatelevel'#10'0.0'#10;
+ Result:=Result+'updates'#10'1'#10;
+
+ Result:=Result+'26'#10;
+ Result:=Result+'active'#10'T'#10;
+ Result:=Result+'beta'#10'0'#10;
+ Result:=Result+'exportable'#10'0'#10;
+ Result:=Result+'hostpid'#10+pid+#10;
+ Result:=Result+'hostskuid'#10+skuid+#10;
+ Result:=Result+'internaluse'#10'0'#10;
+ Result:=Result+'naggy'#10'0'#10;
+ Result:=Result+'noncommercial'#10'0'#10;
+ Result:=Result+'noncommercial_label'#10'No'#10;
+ Result:=Result+'platform'#10'0'#10;
+ Result:=Result+'platform_label'#10'Cross Platform'#10;
+ Result:=Result+'product'#10'7000'#10;
+ Result:=Result+'productid'#10'7112'#10;
+ Result:=Result+'productid_label'#10'InterBase 2017'#10; //InterBase 2017
+ Result:=Result+'productsku'#10'0'#10;
+ Result:=Result+'productsku_label'#10'Server'#10; //Server
+ Result:=Result+'rndkey'#10'15687805'#10;
+ Result:=Result+'serialno'#10+SerialNumber+#10;
+ Result:=Result+'sku'#10'0'#10;
+ Result:=Result+'templicense'#10'0'#10;
+ Result:=Result+'termtype'#10'0'#10;
+ Result:=Result+'termtype_label'#10'Unlimited'#10;
+ Result:=Result+'title'#10'InterBase 2017 Server'#10; //InterBase 2017 Server
+ Result:=Result+'trial'#10'0'#10;
+ Result:=Result+'upgrade'#10'0'#10;
+ Result:=Result+'version'#10'7'#10;
+ Result:=Result+'21'#10;
+ Result:=Result+'changeView'#10'1'#10;
+ Result:=Result+'connectionMonitoring'#10'1'#10;
+ Result:=Result+'connectionsPerUser'#10'200'#10;
+ Result:=Result+'customVarId'#10' '#10;
+ Result:=Result+'databaseAccess'#10'1'#10;
+ Result:=Result+'dbEncryption'#10'1'#10;
+ Result:=Result+'ddlOperations'#10'1'#10;
+ Result:=Result+'devLicense'#10'1'#10;
+ Result:=Result+'externalFileAccess'#10'1'#10;
+ Result:=Result+'internetAccess'#10'1'#10;
+ Result:=Result+'languages'#10'ALL'#10;
+ Result:=Result+'licensedCpus'#10'32'#10;
+ Result:=Result+'licensedUsers'#10'5000'#10;
+ Result:=Result+'nodeID'#10' '#10;
+ Result:=Result+'otwEncryption'#10'1'#10;
+ Result:=Result+'remoteAccess'#10'1'#10;
+ Result:=Result+'serverAccess'#10'1'#10;
+ Result:=Result+'togoAccess'#10'0'#10;
+ Result:=Result+'updatelevel'#10'0.0'#10;
+ Result:=Result+'useAddons'#10'0'#10;
+ Result:=Result+'version'#10'13.3'#10;
+
+ Result:=Result+'26'#10;
+ Result:=Result+'active'#10'T'#10;
+ Result:=Result+'beta'#10'0'#10;
+ Result:=Result+'exportable'#10'0'#10;
+ Result:=Result+'hostpid'#10+pid+#10;
+ Result:=Result+'hostskuid'#10+skuid+#10;
+ Result:=Result+'internaluse'#10'0'#10;
+ Result:=Result+'naggy'#10'0'#10;
+ Result:=Result+'noncommercial'#10'0'#10;
+ Result:=Result+'noncommercial_label'#10'No'#10;
+ Result:=Result+'platform'#10'0'#10;
+ Result:=Result+'platform_label'#10'All'#10;
+ Result:=Result+'product'#10'7000'#10;
+ Result:=Result+'productid'#10'7112'#10;
+ Result:=Result+'productid_label'#10'InterBase 2017'#10; //InterBase 2017
+ Result:=Result+'productsku'#10'16'#10;
+ Result:=Result+'productsku_label'#10'ToGo Edition'#10; //ToGo Edition
+ Result:=Result+'rndkey'#10'15687805'#10;
+ Result:=Result+'serialno'#10+SerialNumber+#10;
+ Result:=Result+'sku'#10'16'#10;
+ Result:=Result+'templicense'#10'0'#10;
+ Result:=Result+'termtype'#10'0'#10;
+ Result:=Result+'termtype_label'#10'Unlimited'#10;
+ Result:=Result+'title'#10'InterBase 2017 ToGo Edition'#10; //InterBase 2017 ToGo Edition
+ Result:=Result+'trial'#10'0'#10;
+ Result:=Result+'upgrade'#10'0'#10;
+ Result:=Result+'version'#10'7'#10;
+ Result:=Result+'21'#10;
+ Result:=Result+'changeView'#10'1'#10;
+ Result:=Result+'connectionMonitoring'#10'1'#10;
+ Result:=Result+'connectionsPerUser'#10'200'#10;
+ Result:=Result+'customVarId'#10' '#10;
+ Result:=Result+'databaseAccess'#10'1'#10;
+ Result:=Result+'dbEncryption'#10'1'#10;
+ Result:=Result+'ddlOperations'#10'1'#10;
+ Result:=Result+'devLicense'#10'1'#10;
+ Result:=Result+'externalFileAccess'#10'1'#10;
+ Result:=Result+'internetAccess'#10'1'#10;
+ Result:=Result+'languages'#10'ALL'#10;
+ Result:=Result+'licensedCpus'#10'32'#10;
+ Result:=Result+'licensedUsers'#10'5000'#10;
+ Result:=Result+'nodeID'#10' '#10;
+ Result:=Result+'otwEncryption'#10'1'#10;
+ Result:=Result+'remoteAccess'#10'1'#10;
+ Result:=Result+'serverAccess'#10'1'#10;
+ Result:=Result+'togoAccess'#10'1'#10;
+ Result:=Result+'updatelevel'#10'0.0'#10;
+ Result:=Result+'useAddons'#10'0'#10;
+ Result:=Result+'version'#10'13.3'#10;
+
+ Result:=Result+'1'#10;
+ Result:=Result+'updatelevel'#10'0.0'#10;
+end;
+
+end.
diff --git a/10.3.2/Keygen/RadVersion.pas b/10.3.2/Keygen/RadVersion.pas
new file mode 100644
index 0000000..52196cd
--- /dev/null
+++ b/10.3.2/Keygen/RadVersion.pas
@@ -0,0 +1,85 @@
+unit RadVersion;
+
+interface
+uses Windows,Classes,SysUtils;
+type
+ TPatchInfo=record
+ Crc:DWORD;
+ Sha1:string;
+ PatchOffset:DWORD;
+ FinalizeArrayOffset:DWORD;
+ end;
+
+ TRadStudioVersion=record
+ Name:string; // Rad Studio 10.2 Tokyo Update2
+ Ver:string; // 25.0.29039.2004
+ BDSVersion:string; // 19.0
+ LicVerStr:string; // 10.2 Tokyo
+ LicHostPID:Integer; // 8219
+ LicHostSKU:Integer; // 52
+ LicDelphiPID:string; // 2025
+ LicCBuilderPID:string; // 4022
+ BdsPatchInfo:TPatchInfo;
+ LicenseManagerPatchInfo:TPatchInfo;
+ mOasisRuntimePatchInfo:TPatchInfo;
+ SetupGUID:string;
+ ISOUrl:string;
+ ISOMd5:string;
+ end;
+ PRadStudioVersion=^TRadStudioVersion;
+var
+ RadStudioVersionList:TStringList;
+implementation
+
+procedure InitRadStudioVersion(VerList:TStringList);
+var
+ RadStudioVersion:PRadStudioVersion;
+begin
+ New(RadStudioVersion);
+ with RadStudioVersion^ do
+ begin
+ Name := 'Rad Studio 10.3 Rio 4364 Architect';
+ Ver := '26.0.32429.4364';
+ BDSVersion := '20.0';
+ LicVerStr := '10.3';
+ LicHostPID := 8220;
+ LicHostSKU := 53;
+ LicDelphiPID := '2026';
+ LicCBuilderPID := '4023';
+ BdsPatchInfo.Crc := $C426EC4A;
+ BdsPatchInfo.Sha1 := '43BB879FE9EFD7B8752F2B5D99DF31F7CD948D68';
+ BdsPatchInfo.PatchOffset := $1F724;
+ BdsPatchInfo.FinalizeArrayOffset := $11EF7C;
+ LicenseManagerPatchInfo.Crc := $0D512F70;
+ LicenseManagerPatchInfo.Sha1 := '8D16D4521BCC12D537EB20B33864654E7A5B81C0';
+ LicenseManagerPatchInfo.PatchOffset := $1F002C;
+ LicenseManagerPatchInfo.FinalizeArrayOffset := $6227A4;
+ mOasisRuntimePatchInfo.Sha1 := '101FC6D71A1DDEAF3B079477560DD0307ADE3C80';
+ mOasisRuntimePatchInfo.PatchOffset := $0016CFE9;
+ SetupGUID := '{426A3606-6CB8-4CF8-87A8-44388377C47D}';
+ ISOUrl := 'http://altd.embarcadero.com/download/radstudio/10.3/delphicbuilder10_3_0_94364.iso';
+ ISOMd5 := '0882D58CB53A7D0A828CC45D06C6ECD0';
+ end;
+ VerList.AddObject(RadStudioVersion^.Name, TObject(RadStudioVersion));
+end;
+
+procedure FinallyRadStudioVersion(VerList:TStringList);
+var
+ RadStudioVersion:PRadStudioVersion;
+begin
+ while VerList.Count>0 do
+ begin
+ RadStudioVersion:=PRadStudioVersion(VerList.Objects[0]);
+ if RadStudioVersion<>nil then Dispose(RadStudioVersion);
+ VerList.Delete(0);
+ end;
+end;
+
+initialization
+ RadStudioVersionList:= TStringList.Create;
+ InitRadStudioVersion(RadStudioVersionList);
+finalization
+ FinallyRadStudioVersion(RadStudioVersionList);
+ FreeAndNil(RadStudioVersionList);
+
+end.
diff --git a/10.3.2/Keygen/Sha1.pas b/10.3.2/Keygen/Sha1.pas
new file mode 100644
index 0000000..2029e4f
--- /dev/null
+++ b/10.3.2/Keygen/Sha1.pas
@@ -0,0 +1,251 @@
+{
+
+***************************************************
+* A binary compatible SHA1 implementation *
+* written by Dave Barton (davebarton@bigfoot.com) *
+***************************************************
+* 160bit hash size *
+***************************************************
+
+}
+unit SHA1;
+
+interface
+uses
+ Windows,SysUtils;
+
+type
+ TSHA1Digest = array[0..19] of byte;
+ TSHA1Context = record
+ Hash: array[0..4] of DWord;
+ Hi, Lo: integer;
+ Buffer: array[0..63] of byte;
+ Index: integer;
+ end;
+
+procedure SHA1Init(var Context: TSHA1Context);
+procedure SHA1Update(var Context: TSHA1Context; Buffer: pointer; Len: integer);
+procedure SHA1Final(var Context: TSHA1Context; var Digest: TSHA1Digest);
+
+
+function SHA1String(M: AnsiString): TSHA1Digest;
+function SHA1File(N: string): TSHA1Digest;
+function SHA1Print(Digest: TSHA1Digest): AnsiString;
+
+//******************************************************************************
+implementation
+{
+$R-
+}
+
+function LRot16(X: Word; c: longint): Word;
+begin
+ LRot16 := (X shl c) or (X shr (16 - c));
+end;
+
+
+function RRot16(X: Word; c: longint): Word;
+begin
+ RRot16 := (X shr c) or (X shl (16 - c));
+end;
+
+
+function LRot32(X: DWord; c: longint): DWord;
+begin
+ LRot32 := (X shl c) or (X shr (32 - c));
+end;
+
+
+function RRot32(X: DWord; c: longint): DWord;
+begin
+ RRot32 := (X shr c) or (X shl (32 - c));
+end;
+
+
+
+//******************************************************************************
+
+function F1(x, y, z: DWord): DWord;
+begin
+ Result := z xor (x and (y xor z));
+end;
+
+function F2(x, y, z: DWord): DWord;
+begin
+ Result := x xor y xor z;
+end;
+
+function F3(x, y, z: DWord): DWord;
+begin
+ Result := (x and y) or (z and (x or y));
+end;
+
+//******************************************************************************
+
+function RB(A: DWord): DWord;
+begin
+ Result := (A shr 24) or ((A shr 8) and $FF00) or ((A shl 8) and $FF0000) or (A shl 24);
+end;
+
+procedure SHA1Compress(var Data: TSHA1Context);
+var
+ A, B, C, D, E, T: DWord;
+ W: array[0..79] of DWord;
+ i: integer;
+begin
+ Move(Data.Buffer, W, Sizeof(Data.Buffer));
+ for i := 0 to 15 do
+ W[i] := RB(W[i]);
+ for i := 16 to 79 do
+ W[i] := LRot32(W[i - 3] xor W[i - 8] xor W[i - 14] xor W[i - 16], 1);
+ A := Data.Hash[0]; B := Data.Hash[1]; C := Data.Hash[2]; D := Data.Hash[3]; E := Data.Hash[4];
+ for i := 0 to 19 do
+ begin
+ T := LRot32(A, 5) + F1(B, C, D) + E + W[i] + $5A827999;
+ E := D; D := C; C := LRot32(B, 30); B := A; A := T;
+ end;
+ for i := 20 to 39 do
+ begin
+ T := LRot32(A, 5) + F2(B, C, D) + E + W[i] + $6ED9EBA1;
+ E := D; D := C; C := LRot32(B, 30); B := A; A := T;
+ end;
+ for i := 40 to 59 do
+ begin
+ T := LRot32(A, 5) + F3(B, C, D) + E + W[i] + $8F1BBCDC;
+ E := D; D := C; C := LRot32(B, 30); B := A; A := T;
+ end;
+ for i := 60 to 79 do
+ begin
+ T := LRot32(A, 5) + F2(B, C, D) + E + W[i] + $CA62C1D6;
+ E := D; D := C; C := LRot32(B, 30); B := A; A := T;
+ end;
+ Data.Hash[0] := Data.Hash[0] + A;
+ Data.Hash[1] := Data.Hash[1] + B;
+ Data.Hash[2] := Data.Hash[2] + C;
+ Data.Hash[3] := Data.Hash[3] + D;
+ Data.Hash[4] := Data.Hash[4] + E;
+ FillChar(W, Sizeof(W), 0);
+ FillChar(Data.Buffer, Sizeof(Data.Buffer), 0);
+end;
+
+//******************************************************************************
+
+procedure SHA1Init(var Context: TSHA1Context);
+begin
+ Context.Hi := 0; Context.Lo := 0;
+ Context.Index := 0;
+ FillChar(Context.Buffer, Sizeof(Context.Buffer), 0);
+ Context.Hash[0] := $67452301;
+ Context.Hash[1] := $EFCDAB89;
+ Context.Hash[2] := $98BADCFE;
+ Context.Hash[3] := $10325476;
+ Context.Hash[4] := $C3D2E1F0;
+end;
+
+//******************************************************************************
+
+procedure SHA1UpdateLen(var Context: TSHA1Context; Len: integer);
+var
+ i, k: integer;
+begin
+ for k := 0 to 7 do
+ begin
+ i := Context.Lo;
+ Inc(Context.Lo, Len);
+ if Context.Lo < i then
+ Inc(Context.Hi);
+ end;
+end;
+
+//******************************************************************************
+
+procedure SHA1Update(var Context: TSHA1Context; Buffer: pointer; Len: integer);
+type
+ PByte = ^Byte;
+begin
+ SHA1UpdateLen(Context, Len);
+ while Len > 0 do
+ begin
+ Context.Buffer[Context.Index] := PByte(Buffer)^;
+ Inc(PByte(Buffer));
+ Inc(Context.Index);
+ Dec(Len);
+ if Context.Index = 64 then
+ begin
+ Context.Index := 0;
+ SHA1Compress(Context);
+ end;
+ end;
+end;
+
+//******************************************************************************
+
+procedure SHA1Final(var Context: TSHA1Context; var Digest: TSHA1Digest);
+type
+ PDWord = ^DWord;
+begin
+ Context.Buffer[Context.Index] := $80;
+ if Context.Index >= 56 then
+ SHA1Compress(Context);
+ PDWord(@Context.Buffer[56])^ := RB(Context.Hi);
+ PDWord(@Context.Buffer[60])^ := RB(Context.Lo);
+ SHA1Compress(Context);
+ Context.Hash[0] := RB(Context.Hash[0]);
+ Context.Hash[1] := RB(Context.Hash[1]);
+ Context.Hash[2] := RB(Context.Hash[2]);
+ Context.Hash[3] := RB(Context.Hash[3]);
+ Context.Hash[4] := RB(Context.Hash[4]);
+ Move(Context.Hash, Digest, Sizeof(Digest));
+ FillChar(Context, Sizeof(Context), 0);
+end;
+
+
+function SHA1String(M: AnsiString): TSHA1Digest;
+var
+ Context: TSHA1Context;
+begin
+ SHA1Init(Context);
+ SHA1Update(Context, PAnsiChar(M), length(M));
+ SHA1Final(Context, Result);
+end;
+
+function SHA1File(N: string): TSHA1Digest;
+var
+ FileHandle: THandle;
+ MapHandle: THandle;
+ ViewPointer: pointer;
+ Context: TSHA1Context;
+begin
+ SHA1Init(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
+ SHA1Update(Context, ViewPointer, GetFileSize(FileHandle, nil));
+ finally
+ UnmapViewOfFile(ViewPointer);
+ end;
+ finally
+ CloseHandle(MapHandle);
+ end;
+ finally
+ CloseHandle(FileHandle);
+ end;
+ SHA1Final(Context, Result);
+end;
+
+function SHA1Print(Digest: TSHA1Digest): AnsiString;
+var
+ I: byte;
+const
+ Digits: array[0..15] of AnsiChar =
+ ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f');
+begin
+ Result := '';
+ for I := 0 to 19 do Result := Result + Digits[(Digest[I] shr 4) and $0F] + Digits[Digest[I] and $0F];
+end;
+
+end.
\ No newline at end of file
diff --git a/10.3.2/Release/Activator.exe b/10.3.2/Release/Activator.exe
new file mode 100644
index 0000000..0427cc6
Binary files /dev/null and b/10.3.2/Release/Activator.exe differ
diff --git a/10.3.2/Release/Readme.txt b/10.3.2/Release/Readme.txt
new file mode 100644
index 0000000..ffa3e2a
--- /dev/null
+++ b/10.3.2/Release/Readme.txt
@@ -0,0 +1,37 @@
+为了便于在 Lite 15.x 中使用大侠们的特别补丁,初步写成这个:Activator.exe
+
+他的主要作用:
+
+1、整合各位大虾的 Keygen
+2、相对原始部署方式,这个 Activator 实现“一键激活”!
+
+使用方法:
+
+1、执行 Activator.exe
+
+发布历史:
+
+2019.07.22 - v15.2.1
+
+1、根据 26.0.34749.6593 原版制作,基于 RADStudioKeyPatch.exe 的成果
+2、根据 wg961423 的反馈完善对 macOS64 的支持
+
+2019.02.16 - v15.1
+
+1、根据 26.0.33219.4899 原版制作,基于 RADStudioKeyPatch_Lite.exe 的成果
+
+2018.11.26 - v15.0
+
+1、根据 26.0.32429.4364 原版制作,基于 RadStudioKeygenSourceCodeV10.3.4364.rar 的成果
+
+已知问题:
+
+1、在一些操作系统上如果出现安全提示,直接确定即可。
+
+特别感谢:
+
+1、elseif, tonzi, freecat, unis, x-force, cjack, c5soft 等大侠的特别补丁,感谢诸位我知道的不知道的的大虾们的辛勤劳动!
+2、iny、nevergrief、snakejiao、star5、tintin1943、ti9er、wang_80919、wuxiangyang、wg961423 等等我知道的不知道的的网友们的热情测试!
+3、andreas hausladen 等大虾们的无私贡献!
+
+O(∩_∩)O~